Author: [log in to unmask]
Date: Thu Jan 1 23:20:40 2015
New Revision: 1826
Log:
Handle bad channel sets with a series rather than single collection.
Modified:
java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalBadChannel.java
java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalConditionsConverter.java
java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtBadChannel.java
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalBadChannel.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalBadChannel.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalBadChannel.java Thu Jan 1 23:20:40 2015
@@ -12,7 +12,7 @@
* should not be used in reconstruction.
*/
@Table(names = {"ecal_bad_channels"})
-@Converter(multipleCollectionsAction = MultipleCollectionsAction.COMBINE)
+@Converter(multipleCollectionsAction = MultipleCollectionsAction.LAST_UPDATED)
public final class EcalBadChannel extends AbstractConditionsObject {
public static class EcalBadChannelCollection extends AbstractConditionsObjectCollection<EcalBadChannel> {
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalConditionsConverter.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalConditionsConverter.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalConditionsConverter.java Thu Jan 1 23:20:40 2015
@@ -2,6 +2,8 @@
import java.util.logging.Logger;
+import org.hps.conditions.api.ConditionsObjectCollection;
+import org.hps.conditions.api.ConditionsSeries;
import org.hps.conditions.database.DatabaseConditionsManager;
import org.hps.conditions.ecal.EcalBadChannel.EcalBadChannelCollection;
import org.hps.conditions.ecal.EcalCalibration.EcalCalibrationCollection;
@@ -33,9 +35,9 @@
protected EcalGainCollection getEcalGainCollection(DatabaseConditionsManager manager) {
return manager.getCollection(EcalGainCollection.class);
}
-
- protected EcalBadChannelCollection getEcalBadChannelCollection(DatabaseConditionsManager manager) {
- return manager.getCollection(EcalBadChannelCollection.class);
+
+ protected ConditionsSeries<EcalBadChannel, EcalBadChannelCollection> getEcalBadChannelSeries(DatabaseConditionsManager manager) {
+ return manager.getConditionsSeries(EcalBadChannelCollection.class);
}
protected EcalCalibrationCollection getEcalCalibrationCollection(DatabaseConditionsManager manager) {
@@ -72,18 +74,12 @@
conditions.getChannelConstants(channel).setGain(gain);
}
- // Get the ECal bad channels and add them to the conditions set
- EcalBadChannelCollection badChannels = null;
- try {
- badChannels = getEcalBadChannelCollection(databaseConditionsManager);
- } catch (RuntimeException e) {
- databaseConditionsManager.getLogger().warning(e.getMessage());
- }
- if (badChannels != null) {
+ ConditionsSeries<EcalBadChannel, EcalBadChannelCollection> badChannelSeries =
+ getEcalBadChannelSeries(databaseConditionsManager);
+ // FIXME: How to get EcalBadChannelCollection here instead for the collection type?
+ // API of ConditionsSeries and ConditionsSeriesConverter needs to be changed!
+ for (ConditionsObjectCollection<EcalBadChannel> badChannels : badChannelSeries) {
for (EcalBadChannel badChannel : badChannels) {
- if (badChannel == null) {
- throw new RuntimeException("The badChannel points to null.");
- }
ChannelId channelId = new ChannelId(new int[] { badChannel.getChannelId() });
EcalChannel channel = channels.findChannel(channelId);
conditions.getChannelConstants(channel).setBadChannel(true);
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtBadChannel.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtBadChannel.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtBadChannel.java Thu Jan 1 23:20:40 2015
@@ -8,7 +8,7 @@
import org.hps.conditions.database.Table;
@Table(names = {"svt_bad_channels", "test_run_svt_bad_channels"})
-@Converter(multipleCollectionsAction = MultipleCollectionsAction.COMBINE)
+@Converter(multipleCollectionsAction = MultipleCollectionsAction.LAST_CREATED)
public final class SvtBadChannel extends AbstractConditionsObject {
public static class SvtBadChannelCollection extends AbstractConditionsObjectCollection<SvtBadChannel> {
|