Print

Print


Commit in java/trunk/conditions/src/main/java/org/hps/conditions on MAIN
ConditionsDriver.java+22-5422 -> 423
DatabaseConditionsManager.java+6-6422 -> 423
deprecated/TestRunConditionsReader.java+5-1422 -> 423
+33-12
3 modified files
Add ability to set the ConditionsReader class of the ConditionsDriver e.g. so TestRunConditionsReader can be used.

java/trunk/conditions/src/main/java/org/hps/conditions
ConditionsDriver.java 422 -> 423
--- java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsDriver.java	2014-03-31 22:54:40 UTC (rev 422)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsDriver.java	2014-03-31 22:55:04 UTC (rev 423)
@@ -1,16 +1,17 @@
 package org.hps.conditions;
 
-import org.lcsim.conditions.ConditionsManager;
-import org.lcsim.geometry.Detector;
+import static org.hps.conditions.TableConstants.ECAL_CONDITIONS;
+import static org.hps.conditions.TableConstants.SVT_CONDITIONS;
+
 import org.hps.conditions.ecal.EcalConditions;
 import org.hps.conditions.ecal.EcalConditionsLoader;
 import org.hps.conditions.svt.SvtConditions;
 import org.hps.conditions.svt.SvtConditionsLoader;
+import org.lcsim.conditions.ConditionsManager;
+import org.lcsim.conditions.ConditionsReader;
+import org.lcsim.geometry.Detector;
 import org.lcsim.util.Driver;
 
-import static org.hps.conditions.TableConstants.SVT_CONDITIONS;
-import static org.hps.conditions.TableConstants.ECAL_CONDITIONS;
-
 /**
  * This {@link org.lcsim.util.Driver} loads conditions onto an HPS detector.
  * @author Jeremy McCormick <[log in to unmask]>
@@ -56,6 +57,22 @@
     }
     
     /**
+     * Set the class of the conditions reader to use.
+     */
+    public void setConditionsReaderClass(String className) {        
+        try {
+            Object object = Class.forName(className).newInstance();
+            ConditionsReader reader = (ConditionsReader)object;
+            if (reader != null)
+                _manager.setBaseConditionsReader(reader);
+            else 
+                throw new IllegalArgumentException("The class " + className + " does not extend ConditionsReader.");
+        } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
+            throw new RuntimeException(e);
+        }
+    }
+    
+    /**
      * Hook for start of data, which will initialize the conditions
      * system if it has not been properly setup yet.     
      */

java/trunk/conditions/src/main/java/org/hps/conditions
DatabaseConditionsManager.java 422 -> 423
--- java/trunk/conditions/src/main/java/org/hps/conditions/DatabaseConditionsManager.java	2014-03-31 22:54:40 UTC (rev 422)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/DatabaseConditionsManager.java	2014-03-31 22:55:04 UTC (rev 423)
@@ -58,6 +58,7 @@
     String _conditionsTableName;
     boolean _wasConfigured = false;
     boolean _isConnected = false;
+    static DatabaseConditionsManager _instance;
 
     /**
      * Class constructor, which is only package accessible.
@@ -98,14 +99,16 @@
      */
     void register() {
         ConditionsManager.setDefaultConditionsManager(this);
+        _instance = this;
     }
 
     /**
-     * Get the static instance of this class.
+     * Get the static instance of this class, which must have been
+     * registered first from a call to {@link #register()}.
      * @return The static instance of the manager.
      */
     public static DatabaseConditionsManager getInstance() {
-        return (DatabaseConditionsManager)ConditionsManager.defaultInstance();
+        return _instance;
     }
     
     /**
@@ -141,7 +144,6 @@
      * @param name The name of the conditions set.
      * @return The conditions or null if does not exist.
      */
-    // TODO: Need to check if this returns null or will throw an exception if does not exist.
     public <T> T getConditionsData(Class<T> type, String name) {
         _logger.fine("getting conditions " + name + " of type " + type.getSimpleName());
         return getCachedConditions(type, name).getCachedData();
@@ -420,9 +422,7 @@
         // Load the converter classes.
         loadConverters(config);        
         
-        // Open a connection to the database.
-        //openConnection();
-        
+        // Set configured state to true.
         _wasConfigured = true;
     }
     

java/trunk/conditions/src/main/java/org/hps/conditions/deprecated
TestRunConditionsReader.java 422 -> 423
--- java/trunk/conditions/src/main/java/org/hps/conditions/deprecated/TestRunConditionsReader.java	2014-03-31 22:54:40 UTC (rev 422)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/deprecated/TestRunConditionsReader.java	2014-03-31 22:55:04 UTC (rev 423)
@@ -19,9 +19,13 @@
 
     private String detectorName = null;
 
+    public TestRunConditionsReader() {
+    }
+    
+    // FIXME: The reader argument is never used anywhere so this ctor is not needed.
     public TestRunConditionsReader(ConditionsReader reader) {
     }
-
+    
     public InputStream open(String name, String type) throws IOException {
         
         //System.out.println(this.getClass().getSimpleName() + ".open - " + name + ", " + type);
SVNspam 0.1