Author: [log in to unmask]
Date: Sat Mar 14 12:04:08 2015
New Revision: 2445
Log:
Update so condition collections and the corresponding conditions records are loaded to the conditions database.
Modified:
java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtConditionsLoader.java
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtConditionsLoader.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtConditionsLoader.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtConditionsLoader.java Sat Mar 14 12:04:08 2015
@@ -11,13 +11,15 @@
import org.apache.commons.cli.ParseException;
import org.apache.commons.cli.PosixParser;
-import org.lcsim.conditions.ConditionsManager.ConditionsNotFoundException;
import org.lcsim.util.log.DefaultLogFormatter;
import org.lcsim.util.log.LogUtil;
+import org.lcsim.conditions.ConditionsManager.ConditionsNotFoundException;
import org.hps.conditions.api.ConditionsRecord;
import org.hps.conditions.database.DatabaseConditionsManager;
import org.hps.conditions.database.TableMetaData;
+import org.hps.conditions.svt.SvtCalibration.SvtCalibrationCollection;
+import org.hps.conditions.svt.SvtChannel.SvtChannelCollection;
import org.hps.conditions.svt.SvtConditionsReader;
import org.hps.conditions.svt.SvtDaqMapping.SvtDaqMappingCollection;
@@ -29,7 +31,7 @@
public class SvtConditionsLoader {
// Initialize the logger
- private static Logger logger = LogUtil.create(SvtConditionsLoader.class.getSimpleName(),
+ private static Logger logger = LogUtil.create(SvtConditionsLoader.class.getName(),
new DefaultLogFormatter(), Level.INFO);
//-----------------//
@@ -41,6 +43,8 @@
// Table names
public static final String DAQ_MAP_TABLE_NAME = "svt_daq_map";
+ public static final String CALIBRATIONS_TABLE_NAME = "svt_calibrations";
+ public static final String SVT_CHANNELS_TABLE_NAME = "svt_channels";
//-----------------//
//-----------------//
@@ -95,9 +99,40 @@
// If a calibrations file has been specified, parse it and load them
// to the conditions database.
if (commandLine.hasOption("c")) {
- File inputFile = new File(commandLine.getOptionValue("c"));
+ File calibrationFile = new File(commandLine.getOptionValue("c"));
+ logger.info("Loading calibrations from file " + calibrationFile.getAbsolutePath());
try {
- reader.parseCalibrations(inputFile);
+
+ // Parse the calibration file and retrieve the calibrations
+ // collection.
+ reader.parseCalibrations(calibrationFile);
+ SvtCalibrationCollection calibrations = reader.getSvtCalibrationCollection();
+
+ // Set the table meta data
+ TableMetaData tableMetaData = DatabaseConditionsManager.getInstance().findTableMetaData(SvtConditionsLoader.CALIBRATIONS_TABLE_NAME);
+ calibrations.setTableMetaData(tableMetaData);
+
+ // Set the collection ID
+ int collectionID = DatabaseConditionsManager.getInstance().getNextCollectionID(SvtConditionsLoader.CALIBRATIONS_TABLE_NAME);
+ calibrations.setCollectionId(collectionID);
+ logger.info("Using collection ID " + collectionID);
+
+ // Load the calibrations
+ calibrations.insert();
+ logger.info("A total of " + calibrations.size() + " SvtCalibrations were loaded successfully into the database.");
+
+ // Create a conditions record associated with the set of
+ // conditions that were just loaded
+ ConditionsRecord conditionsRecord = new ConditionsRecord(
+ calibrations.getCollectionId(),
+ runNumber,
+ 99999,
+ SvtConditionsLoader.CALIBRATIONS_TABLE_NAME,
+ SvtConditionsLoader.CALIBRATIONS_TABLE_NAME,
+ "Pedestals and noise. Loaded using SvtConditionsLoader.",
+ "eng_run");
+ conditionsRecord.insert();
+
} catch (Exception e) {
throw new RuntimeException("Couldn't parse calibration file.", e);
}
@@ -111,7 +146,8 @@
try {
// Parse the DAQ map file
- SvtDaqMappingCollection daqMapping = reader.parseDaqMap(daqMapFile);
+ reader.parseDaqMap(daqMapFile);
+ SvtDaqMappingCollection daqMapping = reader.getDaqMapCollection();
// Set the table meta data
TableMetaData tableMetaData = DatabaseConditionsManager.getInstance().findTableMetaData(SvtConditionsLoader.DAQ_MAP_TABLE_NAME);
@@ -136,6 +172,33 @@
SvtConditionsLoader.DAQ_MAP_TABLE_NAME,
SvtConditionsLoader.DAQ_MAP_TABLE_NAME,
"Engineering run DAQ map. Loaded using SvtConditionsLoader.",
+ "eng_run");
+ conditionsRecord.insert();
+
+ logger.info("Loading the collection of SvtChannel's");
+ SvtChannelCollection svtChannels = reader.getSvtChannelCollection();
+
+ // Set the table meta data
+ tableMetaData = DatabaseConditionsManager.getInstance().findTableMetaData(SvtConditionsLoader.SVT_CHANNELS_TABLE_NAME);
+ svtChannels.setTableMetaData(tableMetaData);
+
+ // Set the collection ID
+ collectionID = DatabaseConditionsManager.getInstance().getNextCollectionID(SvtConditionsLoader.SVT_CHANNELS_TABLE_NAME);
+ svtChannels.setCollectionId(collectionID);
+ logger.info("Using collection ID " + collectionID);
+
+ svtChannels.insert();
+ logger.info("A total of " + svtChannels.size() + " SvtChannels were successfully loaded into the database.");
+
+ // Create a conditions record associated with the set of
+ // conditions that were just loaded
+ conditionsRecord = new ConditionsRecord(
+ svtChannels.getCollectionId(),
+ runNumber,
+ 99999,
+ SvtConditionsLoader.SVT_CHANNELS_TABLE_NAME,
+ SvtConditionsLoader.SVT_CHANNELS_TABLE_NAME,
+ "Engineering run SVT channel IDs. Loaded using SvtConditionsLoader.",
"eng_run");
conditionsRecord.insert();
|