java/trunk/conditions/src/main/java/org/hps/conditions
--- java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsDriver.java 2014-04-03 16:35:03 UTC (rev 442)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsDriver.java 2014-04-03 16:36:52 UTC (rev 443)
@@ -7,7 +7,6 @@
import org.hps.conditions.ecal.EcalConditionsLoader;
import org.hps.conditions.svt.SvtConditions;
import org.hps.conditions.svt.SvtConditionsLoader;
-import org.lcsim.conditions.ConditionsManager.ConditionsNotFoundException;
import org.lcsim.conditions.ConditionsReader;
import org.lcsim.geometry.Detector;
import org.lcsim.util.Driver;
@@ -21,7 +20,7 @@
public class ConditionsDriver extends Driver {
// Static instance of the manager.
- static DatabaseConditionsManager _manager;
+ static DatabaseConditionsManager manager;
// Default conditions system XML config, which is for the Test Run 2012 database.
String _defaultConfigResource =
@@ -30,22 +29,17 @@
// Default database connection parameters, which points to the SLAC development database.
static String _defaultConnectionResource =
"/org/hps/conditions/config/conditions_database_testrun_2012_connection.properties";
-
- // The default starting run number which should be used to setup the conditions system before
- // events are processed.
- int _defaultRunNumber = -1;
-
- boolean _wasSetup = false;
-
+
/**
* Constructor which initializes the conditions manager with
* default connection parameters and configuration.
*/
public ConditionsDriver() {
- _manager = new DatabaseConditionsManager();
- _manager.setConnectionResource(_defaultConnectionResource);
- _manager.configure(_defaultConfigResource);
- _manager.register();
+ System.out.println("ConditionsDriver.ctor");
+ manager = new DatabaseConditionsManager();
+ manager.setConnectionResource(_defaultConnectionResource);
+ manager.configure(_defaultConfigResource);
+ manager.register();
}
/**
@@ -53,7 +47,7 @@
* @param resource the configuration resource
*/
public void setConfigResource(String resource) {
- _manager.configure(resource);
+ manager.configure(resource);
}
/**
@@ -61,18 +55,10 @@
* @param resource the connection resource
*/
public void setConnectionResource(String resource) {
- _manager.setConnectionResource(resource);
+ manager.setConnectionResource(resource);
}
-
+
/**
- * Set the default starting run number.
- * @param defaultRunNumber the default run number
- */
- public void setDefaultRunNumber(int defaultRunNumber) {
- _defaultRunNumber = defaultRunNumber;
- }
-
- /**
* Set the class of the conditions reader to use.
*/
public void setConditionsReaderClass(String className) {
@@ -80,7 +66,7 @@
Object object = Class.forName(className).newInstance();
ConditionsReader reader = (ConditionsReader)object;
if (reader != null)
- _manager.setBaseConditionsReader(reader);
+ manager.setBaseConditionsReader(reader);
else
throw new IllegalArgumentException("The class " + className + " is not a ConditionsReader.");
} catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
@@ -92,19 +78,8 @@
* This method updates a new detector with SVT and ECal conditions data.
*/
public void detectorChanged(Detector detector) {
-
- // FIXME: This is atrocious to call from here but I'm not sure where else to put it.
- if (!_wasSetup) {
- try {
- _manager.setDetector(detector.getDetectorName(), _defaultRunNumber);
- } catch (ConditionsNotFoundException e) {
- throw new RuntimeException(e);
- }
- _wasSetup = true;
- }
-
// Load conditions onto the detector.
- loadSvtConditions(detector);
+ loadSvtConditions(detector);
loadEcalConditions(detector);
}
@@ -113,7 +88,7 @@
* @param detector The detector to update.
*/
private void loadSvtConditions(Detector detector) {
- SvtConditions conditions = _manager.getCachedConditions(SvtConditions.class, SVT_CONDITIONS).getCachedData();
+ SvtConditions conditions = manager.getCachedConditions(SvtConditions.class, SVT_CONDITIONS).getCachedData();
SvtConditionsLoader loader = new SvtConditionsLoader();
loader.load(detector, conditions);
}
@@ -123,8 +98,12 @@
* @param detector The detector to update.
*/
private void loadEcalConditions(Detector detector) {
- EcalConditions conditions = _manager.getCachedConditions(EcalConditions.class, ECAL_CONDITIONS).getCachedData();
+ EcalConditions conditions = manager.getCachedConditions(EcalConditions.class, ECAL_CONDITIONS).getCachedData();
EcalConditionsLoader loader = new EcalConditionsLoader();
loader.load(detector, conditions);
}
+
+ public void endOfData() {
+ manager.closeConnection();
+ }
}