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();