java/trunk/conditions/src/main/java/org/hps/conditions
--- 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
--- 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
--- 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);