Commit in projects/lcsim/trunk on MAIN
conditions/src/main/java/org/lcsim/conditions/ConditionsManagerImplementation.java+7-23243 -> 3244
users/src/main/java/org/lcsim/users/jeremym/IgnoreRunNumbersDriver.java+12added 3244
+19-2
1 added + 1 modified, total 2 files
Temporary workaround for when many run numbers in one job causes memory leak.

projects/lcsim/trunk/conditions/src/main/java/org/lcsim/conditions
ConditionsManagerImplementation.java 3243 -> 3244
--- projects/lcsim/trunk/conditions/src/main/java/org/lcsim/conditions/ConditionsManagerImplementation.java	2014-08-08 22:44:13 UTC (rev 3243)
+++ projects/lcsim/trunk/conditions/src/main/java/org/lcsim/conditions/ConditionsManagerImplementation.java	2014-08-11 18:31:50 UTC (rev 3244)
@@ -21,6 +21,7 @@
     private int run;
     private List<ConditionsListener> listenerList = new ArrayList<ConditionsListener>();
     private static final Logger logger = Logger.getLogger(ConditionsManagerImplementation.class.getName());
+    boolean ignoreRunNumbers = false;
 
     /**
      * The default implementation of ConditionsManager. This implementation does
@@ -34,7 +35,7 @@
     }
 
     public void setDetector(String detectorName, int run) throws ConditionsNotFoundException {
-        if (this.run != run || !detectorName.equals(this.detectorName)) {
+        if ((!ignoreRunNumbers && this.run != run) || !detectorName.equals(this.detectorName)) {
             ConditionsReader newReader = null;
             if (reader == null) {
                 newReader = ConditionsReader.create(this, detectorName, run);
@@ -122,7 +123,7 @@
             cl.conditionsChanged(event);
     }
 
-    InputStream open(String name, String type) throws IOException {
+    protected InputStream open(String name, String type) throws IOException {
         if (reader == null)
             throw new IOException("Detector description has not been set");
         return reader.open(name, type);
@@ -145,4 +146,8 @@
     protected ConditionsReader getConditionsReader() {
         return reader;
     }
+    
+    public void setIgnoreRunNumbers(boolean ignoreRunNumbers) {
+        this.ignoreRunNumbers = ignoreRunNumbers;
+    }
 }
\ No newline at end of file

projects/lcsim/trunk/users/src/main/java/org/lcsim/users/jeremym
IgnoreRunNumbersDriver.java added at 3244
--- projects/lcsim/trunk/users/src/main/java/org/lcsim/users/jeremym/IgnoreRunNumbersDriver.java	                        (rev 0)
+++ projects/lcsim/trunk/users/src/main/java/org/lcsim/users/jeremym/IgnoreRunNumbersDriver.java	2014-08-11 18:31:50 UTC (rev 3244)
@@ -0,0 +1,12 @@
+package org.lcsim.users.jeremym;
+
+import org.lcsim.conditions.ConditionsManager;
+import org.lcsim.conditions.ConditionsManagerImplementation;
+import org.lcsim.util.Driver;
+
+
+public class IgnoreRunNumbersDriver extends Driver {    
+    public void startOfData() {
+        ((ConditionsManagerImplementation)ConditionsManager.defaultInstance()).setIgnoreRunNumbers(true);
+    }        
+}
SVNspam 0.1


Use REPLY-ALL to reply to list

To unsubscribe from the LCDET-SVN list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCDET-SVN&A=1