Author: [log in to unmask] Date: Thu Oct 30 16:55:21 2014 New Revision: 1360 Log: Update to use the DatabaseConditionsManager getCollection method. Modified: java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/main/java/org/hps/conditions/ecal/EcalConditionsConverter.java Modified: java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/main/java/org/hps/conditions/ecal/EcalConditionsConverter.java ============================================================================= --- java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/main/java/org/hps/conditions/ecal/EcalConditionsConverter.java (original) +++ java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/main/java/org/hps/conditions/ecal/EcalConditionsConverter.java Thu Oct 30 16:55:21 2014 @@ -1,11 +1,4 @@ package org.hps.conditions.ecal; - -import static org.hps.conditions.TableConstants.ECAL_BAD_CHANNELS; -import static org.hps.conditions.TableConstants.ECAL_CALIBRATIONS; -import static org.hps.conditions.TableConstants.ECAL_CHANNELS; -import static org.hps.conditions.TableConstants.ECAL_GAINS; -import static org.hps.conditions.TableConstants.ECAL_TIME_SHIFTS; - import org.lcsim.conditions.ConditionsConverter; import org.lcsim.conditions.ConditionsManager; @@ -17,18 +10,16 @@ import org.hps.conditions.ecal.EcalGain.EcalGainCollection; import org.hps.conditions.ecal.EcalTimeShift.EcalTimeShiftCollection; import org.hps.conditions.DatabaseConditionsManager; -import org.hps.conditions.TableMetaData; /** - * This class loads all ecal conditions into an {@link EcalConditions} object from the + * This class loads all ECal conditions into an {@link EcalConditions} object from the * database, based on the current run number known by the conditions manager. * * @author Jeremy McCormick <[log in to unmask]> + * @author Omar Moreno <[log in to unmask]> */ public final class EcalConditionsConverter implements ConditionsConverter<EcalConditions> { - private TableMetaData metaData = null; - private String tableName = null; /** * Create ECAL conditions object containing all data for the current run. @@ -37,92 +28,46 @@ DatabaseConditionsManager dbConditionsManager = (DatabaseConditionsManager) manager; - // Get the table name containing the Ecal channel map from the database - // configuration. If it doesn't exist, use the default value. - metaData = dbConditionsManager.findTableMetaData(EcalChannelCollection.class); - if(metaData != null){ - tableName = metaData.getTableName(); - } else { - tableName = ECAL_CHANNELS; - } - // Get the Ecal channel map from the conditions database - EcalChannelCollection channels = manager.getCachedConditions(EcalChannelCollection.class, tableName).getCachedData(); + // Get the ECal channel map from the conditions database + EcalChannelCollection channels = dbConditionsManager.getCollection(EcalChannelCollection.class); - // Create the Ecal conditions object that will be used to encapsulate - // Ecal conditions collections + // Create the ECal conditions object that will be used to encapsulate + // ECal conditions collections EcalConditions conditions = new EcalConditions(); // Set the channel map. conditions.setChannelCollection(channels); - System.out.println("channel collection size = " + channels.getObjects().size()); - - // Get the table name containing the Ecal gains from the database - // configuration. If it doesn't exist, use the default value. - metaData = dbConditionsManager.findTableMetaData(EcalGainCollection.class); - if(metaData != null){ - tableName = metaData.getTableName(); - } else { - tableName = ECAL_GAINS; - } - // Add the gains - EcalGainCollection gains = manager.getCachedConditions(EcalGainCollection.class, tableName).getCachedData(); + // Get the ECal gains from the conditions database and add them to the conditions set + EcalGainCollection gains = dbConditionsManager.getCollection(EcalGainCollection.class); for (EcalGain gain : gains.getObjects()) { ChannelId channelId = new ChannelId(new int[] {gain.getChannelId()}); EcalChannel channel = channels.findChannel(channelId); conditions.getChannelConstants(channel).setGain(gain); } - // Get the table name containing the Ecal bad channel map from the - // database configuration. If it doesn't exist, use the default value. - metaData = dbConditionsManager.findTableMetaData(EcalBadChannelCollection.class); - if(metaData != null){ - tableName = metaData.getTableName(); - } else { - tableName = ECAL_BAD_CHANNELS; - } - - // Add bad channels. - // FIXME: This should be changed to catch a conditions record not found - // exception instead of a runtime exception + // Get the ECal bad channels and add them to the conditions set try { - EcalBadChannelCollection badChannels = manager.getCachedConditions(EcalBadChannelCollection.class, tableName).getCachedData(); + EcalBadChannelCollection badChannels = dbConditionsManager.getCollection(EcalBadChannelCollection.class); for (EcalBadChannel badChannel : badChannels.getObjects()) { ChannelId channelId = new ChannelId(new int[] {badChannel.getChannelId()}); EcalChannel channel = channels.findChannel(channelId); conditions.getChannelConstants(channel).setBadChannel(true); } } catch(RuntimeException e){ - e.printStackTrace(); + System.out.println("[ " + conditions.getClass().getSimpleName() + "]: A set of bad channels were not found!"); } - - // Get the table name containing the Ecal calibrations (pedestal, noise) - // from the database configuration. If it doesn't exist, use the default value. - metaData = dbConditionsManager.findTableMetaData(EcalCalibrationCollection.class); - if(metaData != null){ - tableName = metaData.getTableName(); - } else { - tableName = ECAL_CALIBRATIONS; - } - // Add calibrations including pedestal and noise values. - EcalCalibrationCollection calibrations = manager.getCachedConditions(EcalCalibrationCollection.class, tableName).getCachedData(); + // Get the ECal calibrations from the conditions database and add them to the conditions set. + EcalCalibrationCollection calibrations = dbConditionsManager.getCollection(EcalCalibrationCollection.class); for (EcalCalibration calibration : calibrations.getObjects()) { ChannelId channelId = new ChannelId(new int[] {calibration.getChannelId()}); EcalChannel channel = channels.findChannel(channelId); conditions.getChannelConstants(channel).setCalibration(calibration); } - // Get the table name containing the Ecal calibrations (pedestal, noise) - // from the database configuration. If it doesn't exist, use the default value. - metaData = dbConditionsManager.findTableMetaData(EcalTimeShiftCollection.class); - if(metaData != null){ - tableName = metaData.getTableName(); - } else { - tableName = ECAL_TIME_SHIFTS; - } - // Add time shifts. - EcalTimeShiftCollection timeShifts = manager.getCachedConditions(EcalTimeShiftCollection.class, tableName).getCachedData(); + // Get the ECal time shifts from the conditions database and add them to the conditions set. + EcalTimeShiftCollection timeShifts = dbConditionsManager.getCollection(EcalTimeShiftCollection.class); for (EcalTimeShift timeShift : timeShifts.getObjects()) { ChannelId channelId = new ChannelId(new int[] {timeShift.getChannelId()}); EcalChannel channel = channels.findChannel(channelId);