Author: [log in to unmask]
Date: Wed Dec 10 19:18:35 2014
New Revision: 1685
Log:
Modify the conditions API by adding a better base type for object collections. (This required touching a lot of code that used the objects from these collections.)
Added:
java/trunk/conditions/src/main/java/org/hps/conditions/api/AbstractConditionsObjectCollection.java
- copied, changed from r1678, java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsObjectCollection.java
Removed:
java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsObjectCollection.java
Modified:
java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsObjectException.java
java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsRecord.java
java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsSeries.java
java/trunk/conditions/src/main/java/org/hps/conditions/beam/BeamCurrent.java
java/trunk/conditions/src/main/java/org/hps/conditions/cli/CommandLineTool.java
java/trunk/conditions/src/main/java/org/hps/conditions/cli/PrintCommand.java
java/trunk/conditions/src/main/java/org/hps/conditions/database/ConditionsObjectConverter.java
java/trunk/conditions/src/main/java/org/hps/conditions/database/ConditionsRecordConverter.java
java/trunk/conditions/src/main/java/org/hps/conditions/database/ConditionsSeriesConverter.java
java/trunk/conditions/src/main/java/org/hps/conditions/database/DatabaseConditionsManager.java
java/trunk/conditions/src/main/java/org/hps/conditions/database/TableMetaData.java
java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalBadChannel.java
java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalCalibration.java
java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalChannel.java
java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalConditions.java
java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalConditionsConverter.java
java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalGain.java
java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalLed.java
java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalTimeShift.java
java/trunk/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtChannel.java
java/trunk/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtConditions.java
java/trunk/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtConditionsConverter.java
java/trunk/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtDaqMapping.java
java/trunk/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtT0Shift.java
java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtAlignmentConstant.java
java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtBadChannel.java
java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtCalibration.java
java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtChannel.java
java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtConditions.java
java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtConfiguration.java
java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtDaqMapping.java
java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtDetectorSetup.java
java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtGain.java
java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtShapeFitParameters.java
java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtT0Shift.java
java/trunk/conditions/src/main/java/org/hps/conditions/svt/TestRunSvtChannel.java
java/trunk/conditions/src/main/java/org/hps/conditions/svt/TestRunSvtConditions.java
java/trunk/conditions/src/main/java/org/hps/conditions/svt/TestRunSvtDaqMapping.java
java/trunk/conditions/src/main/java/org/hps/conditions/svt/TestRunSvtDetectorSetup.java
java/trunk/conditions/src/main/java/org/hps/conditions/svt/TestRunSvtT0Shift.java
java/trunk/conditions/src/test/java/org/hps/conditions/ConditionsObjectTest.java
java/trunk/conditions/src/test/java/org/hps/conditions/beam/BeamCurrentTest.java
java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalCalibrationsDriver.java
Copied: java/trunk/conditions/src/main/java/org/hps/conditions/api/AbstractConditionsObjectCollection.java (from r1678, java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsObjectCollection.java)
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsObjectCollection.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/api/AbstractConditionsObjectCollection.java Wed Dec 10 19:18:35 2014
@@ -1,65 +1,57 @@
package org.hps.conditions.api;
import java.sql.SQLException;
-import java.util.Collections;
-import java.util.Iterator;
import java.util.LinkedHashSet;
-import java.util.Set;
import org.hps.conditions.database.DatabaseConditionsManager;
import org.hps.conditions.database.TableMetaData;
-public class ConditionsObjectCollection<ObjectType extends ConditionsObject> implements Iterable<ObjectType> {
+public class AbstractConditionsObjectCollection<ObjectType extends ConditionsObject> extends LinkedHashSet<ObjectType> {
- protected Set<ObjectType> objects = new LinkedHashSet<ObjectType>();
- protected TableMetaData tableMetaData;
+ protected TableMetaData tableMetaData = null;
protected int collectionId = -1;
- protected ConditionsRecord conditionsRecord;
-
- protected ConditionsObjectCollection() {
+ protected ConditionsRecord conditionsRecord = null;
+
+ public AbstractConditionsObjectCollection() {
}
-
- public ConditionsObjectCollection(TableMetaData tableMetaData, int collectionId) {
+
+ public AbstractConditionsObjectCollection(ConditionsRecord conditionsRecord, TableMetaData tableMetaData) {
+ this.conditionsRecord = conditionsRecord;
this.tableMetaData = tableMetaData;
- this.collectionId = collectionId;
+ this.collectionId = conditionsRecord.getCollectionId();
}
-
- public ObjectType get(int index) {
- Iterator<ObjectType> iterator = objects.iterator();
- ObjectType current = iterator.next();
- for (int i = 0; i < index; i++) {
- current = iterator.next();
+
+ public AbstractConditionsObjectCollection(ConditionsRecord conditionsRecord, TableMetaData tableMetaData, int collectionID) {
+ this.conditionsRecord = conditionsRecord;
+ this.tableMetaData = tableMetaData;
+ this.collectionId = collectionID;
+ }
+
+ public void setTableMetaData(TableMetaData tableMetaData) {
+ /**
+ * Setting this more than once is disallowed.
+ */
+ if (this.tableMetaData != null) {
+ throw new RuntimeException("The table meta data cannot be reset.");
}
- return current;
+ this.tableMetaData = tableMetaData;
}
-
- public Set<ObjectType> getObjects() {
- return Collections.unmodifiableSet(objects);
+
+ public void setConditionsRecord(ConditionsRecord conditionsRecord) {
+ /**
+ * Setting this more than once is disallowed.
+ */
+ if (this.conditionsRecord != null) {
+ throw new RuntimeException("The table meta data cannot be reset.");
+ }
+ this.conditionsRecord = conditionsRecord;
}
-
- public boolean contains(Object object) {
- return getObjects().contains(object);
- }
-
- // TODO: Should check here if object has an existing collection ID that is
- // different from this collection's, in which case this collection becomes "mixed" and
- // it should be flagged as read only.
- public void add(ObjectType object) throws ConditionsObjectException {
- if (objects.contains(object)) {
- throw new IllegalArgumentException("Collection already contains this object.");
+
+ public boolean add(ObjectType object) {
+ if (contains(object)) {
+ throw new IllegalArgumentException("Cannot add duplicate object " + object);
}
- try {
- // Only assign a collection ID to the object if this collection has a valid ID
- // and the object does not have one already.
- if (getCollectionId() != -1)
- object.setCollectionId(getCollectionId());
- } catch (ConditionsObjectException x) {
- throw new IllegalArgumentException("Error assigning collection ID to object.", x);
- }
- // Set the table meta data on the object if it does not have any.
- if (object.getTableMetaData() == null && tableMetaData != null)
- object.setTableMetaData(tableMetaData);
- objects.add(object);
+ return super.add(object);
}
public TableMetaData getTableMetaData() {
@@ -69,60 +61,46 @@
public int getCollectionId() {
return collectionId;
}
-
- // TODO: Should this also insert new records that do not exist?
- // TODO: This operation should lock the table.
- public void update() throws ConditionsObjectException {
- for (ConditionsObject object : objects) {
- object.update();
+
+ public ConditionsRecord getConditionsRecord() {
+ return conditionsRecord;
+ }
+
+ public void setCollectionId(int collectionId) throws ConditionsObjectException {
+ if (collectionId != -1) {
+ throw new ConditionsObjectException("The collectionId already has the value " + collectionId + " and cannot be reset.");
}
+ this.collectionId = collectionId;
}
-
- // TODO: This does not need to loop. It should just call delete on the collection ID value.
- public void delete() throws ConditionsObjectException {
- // TODO: Replace with call to a deleteCollection DatabaseConditionsManager method.
- for (ConditionsObject object : objects) {
- object.delete();
- }
- }
-
- // TODO: This should not loop. It should select all the objects with a matching collection ID
- // from the database replacing the current contents of the collection (if any).
- public void select() throws ConditionsObjectException, SQLException {
- // TODO: Replace with call to a selectCollection DatabaseConditionsManager method.
- for (ConditionsObject object : objects) {
- object.select();
- }
- }
-
+
public void insert() throws ConditionsObjectException, SQLException {
DatabaseConditionsManager.getInstance().insertCollection(this);
}
-
- public void setCollectionId(int collectionId) throws ConditionsObjectException {
- if (this.collectionId != -1)
- throw new ConditionsObjectException("The collection ID is already set.");
- this.collectionId = collectionId;
- for (ConditionsObject object : this.objects) {
- object.setCollectionId(this.collectionId);
- }
+
+ // Should select all records into the collection by collection ID.
+ public int select() {
+ System.out.println("implement me");
+ return -1;
}
-
- public void setTableMetaData(TableMetaData tableMetaData) {
- this.tableMetaData = tableMetaData;
+
+ // Should delete all records by collection ID in the database and clear the local objects.
+ public int delete() {
+ System.out.println("implement me");
+ return -1;
}
-
- @Override
- public Iterator<ObjectType> iterator() {
- return objects.iterator();
- }
+
+ // Should update objects in the database with their values in the set.
+ public int update() {
+ System.out.println("implement me");
+ return -1;
+ }
public String toString() {
StringBuffer buffer = new StringBuffer();
- for (ConditionsObject object : this.getObjects()) {
+ for (ConditionsObject object : this) {
buffer.append(object.toString());
buffer.append('\n');
}
return buffer.toString();
- }
+ }
}
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsObjectException.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsObjectException.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsObjectException.java Wed Dec 10 19:18:35 2014
@@ -13,6 +13,10 @@
public ConditionsObjectException(String message) {
super(message);
}
+
+ public ConditionsObjectException(String message, Throwable cause) {
+ super(message, cause);
+ }
public ConditionsObjectException(String message, ConditionsObject object) {
super(message);
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsRecord.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsRecord.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsRecord.java Wed Dec 10 19:18:35 2014
@@ -1,5 +1,8 @@
package org.hps.conditions.api;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
import java.util.Date;
import java.util.List;
@@ -18,14 +21,64 @@
/**
* Collection type.
*/
- public static class ConditionsRecordCollection extends ConditionsObjectCollection<ConditionsRecord> {
- /**
- * Since ConditionsRecord collections are always "mixed", meaning the
- * collection ID values are usually all going to be different, the
- * default behavior of the super class is overridden.
- */
- public void add(ConditionsRecord record) {
- objects.add(record);
+ public static class ConditionsRecordCollection extends AbstractConditionsObjectCollection<ConditionsRecord> {
+
+ public List<ConditionsRecord> sortedByUpdated() {
+ List<ConditionsRecord> list = new ArrayList<ConditionsRecord>(this);
+ Collections.sort(list, new UpdatedComparator());
+ return list;
+ }
+
+ public List<ConditionsRecord> sortedByCreated() {
+ List<ConditionsRecord> list = new ArrayList<ConditionsRecord>(this);
+ Collections.sort(list, new CreatedComparator());
+ return list;
+ }
+
+ public List<ConditionsRecord> sortedByRunStart() {
+ List<ConditionsRecord> list = new ArrayList<ConditionsRecord>(this);
+ Collections.sort(list, new RunStartComparator());
+ return list;
+ }
+
+ private static class RunStartComparator implements Comparator<ConditionsRecord> {
+ @Override
+ public int compare(ConditionsRecord c1, ConditionsRecord c2) {
+ if (c1.getRunStart() < c2.getRunStart()) {
+ return -1;
+ } else if (c1.getRunStart() > c2.getRunStart()) {
+ return 1;
+ }
+ return 0;
+ }
+ }
+
+ private static class UpdatedComparator implements Comparator<ConditionsRecord> {
+ @Override
+ public int compare(ConditionsRecord c1, ConditionsRecord c2) {
+ Date date1 = c1.getUpdated();
+ Date date2 = c2.getUpdated();
+ if (date1.before(date2)) {
+ return -1;
+ } else if (date1.after(date2)) {
+ return 1;
+ }
+ return 0;
+ }
+ }
+
+ private static class CreatedComparator implements Comparator<ConditionsRecord> {
+ @Override
+ public int compare(ConditionsRecord c1, ConditionsRecord c2) {
+ Date date1 = c1.getCreated();
+ Date date2 = c2.getCreated();
+ if (date1.before(date2)) {
+ return -1;
+ } else if (date1.after(date2)) {
+ return 1;
+ }
+ return 0;
+ }
}
}
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsSeries.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsSeries.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsSeries.java Wed Dec 10 19:18:35 2014
@@ -13,13 +13,13 @@
@SuppressWarnings("rawtypes")
public class ConditionsSeries {
- List<ConditionsObjectCollection> collections = new ArrayList<ConditionsObjectCollection>();
+ List<AbstractConditionsObjectCollection> collections = new ArrayList<AbstractConditionsObjectCollection>();
- public ConditionsObjectCollection getCollection(int series) {
+ public AbstractConditionsObjectCollection getCollection(int series) {
return collections.get(series);
}
- public int addCollection(ConditionsObjectCollection collection) {
+ public int addCollection(AbstractConditionsObjectCollection collection) {
if (collections.contains(collection))
throw new IllegalArgumentException("The collection is already registered with this object.");
collections.add(collection);
@@ -30,15 +30,15 @@
return collections.size();
}
- public ConditionsObjectCollection findCollection(ConditionsRecord record) {
- for (ConditionsObjectCollection collection : collections) {
+ public AbstractConditionsObjectCollection findCollection(ConditionsRecord record) {
+ for (AbstractConditionsObjectCollection collection : collections) {
if (collection.conditionsRecord == record)
return collection;
}
return null;
}
- public List<ConditionsObjectCollection> getCollections() {
+ public List<AbstractConditionsObjectCollection> getCollections() {
return collections;
}
}
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/beam/BeamCurrent.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/beam/BeamCurrent.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/beam/BeamCurrent.java Wed Dec 10 19:18:35 2014
@@ -1,7 +1,7 @@
package org.hps.conditions.beam;
import org.hps.conditions.api.AbstractConditionsObject;
-import org.hps.conditions.api.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObjectCollection;
/**
* This class is a simple data holder for the integrated beam current condition.
@@ -9,7 +9,7 @@
*/
public final class BeamCurrent extends AbstractConditionsObject {
- public static class BeamCurrentCollection extends ConditionsObjectCollection<BeamCurrent> {
+ public static class BeamCurrentCollection extends AbstractConditionsObjectCollection<BeamCurrent> {
}
/**
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/cli/CommandLineTool.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/cli/CommandLineTool.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/cli/CommandLineTool.java Wed Dec 10 19:18:35 2014
@@ -23,6 +23,7 @@
*
* @author Jeremy McCormick <[log in to unmask]>
*/
+// TODO: Add detector name and run number as arguments on the basic tool rather than sub-commands.
public class CommandLineTool {
Options options = new Options();
@@ -99,7 +100,7 @@
conditionsManager.setXmlConfig(xmlConfigFile);
if (verbose)
System.out.println("using XML config file " + xmlConfigFile.getPath());
- }
+ }
conditionsManager.openConnection();
}
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/cli/PrintCommand.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/cli/PrintCommand.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/cli/PrintCommand.java Wed Dec 10 19:18:35 2014
@@ -7,7 +7,7 @@
import java.io.PrintStream;
import org.apache.commons.cli.Option;
-import org.hps.conditions.api.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObjectCollection;
import org.hps.conditions.api.ConditionsRecord;
import org.hps.conditions.api.ConditionsSeries;
import org.hps.conditions.api.ConditionsRecord.ConditionsRecordCollection;
@@ -99,8 +99,8 @@
}
ps.println();
- for (ConditionsObjectCollection collection : series.getCollections()) {
- for (Object object : collection.getObjects()) {
+ for (AbstractConditionsObjectCollection collection : series.getCollections()) {
+ for (Object object : collection) {
ps.print(object.toString());
ps.println();
}
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/database/ConditionsObjectConverter.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/database/ConditionsObjectConverter.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/database/ConditionsObjectConverter.java Wed Dec 10 19:18:35 2014
@@ -1,11 +1,15 @@
package org.hps.conditions.database;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
-
+import java.util.ArrayList;
+import java.util.List;
+
+import org.hps.conditions.api.AbstractConditionsObjectCollection;
import org.hps.conditions.api.ConditionsObject;
-import org.hps.conditions.api.ConditionsObjectCollection;
import org.hps.conditions.api.ConditionsObjectException;
import org.hps.conditions.api.ConditionsRecord;
import org.hps.conditions.api.ConditionsRecord.ConditionsRecordCollection;
@@ -17,36 +21,41 @@
* <p>
* Implementation of default conversion from database tables to a
* {@link ConditionsObject} class.
- * </p>
* <p>
* This class actually returns collections and not individual objects.
- * </p>
*
* @author Jeremy McCormick <[log in to unmask]>
*
- * @param <T> The type of the returned data which should be a class extending
- * {@link ConditionsObjectCollection}.
+ * @param <T> The type of the returned data which should be a class extending {@link AbstractConditionsObjectCollection}.
*/
-// FIXME: This class should only allow one collection to be returned and not mix
-// the database records together.
-// TODO: This class can probably be removed in favor of using the
-// ConditionsSeriesConverter in all cases.
public abstract class ConditionsObjectConverter<T> implements ConditionsConverter<T> {
+ // This is the strategy used for disambiguating multiple overlapping conditions sets.
+ enum MultipleRecordsStrategy {
+ LAST_UPDATED,
+ LAST_CREATED,
+ LATEST_RUN_START,
+ COMBINE,
+ ERROR
+ }
+
+ MultipleRecordsStrategy multiStrat = MultipleRecordsStrategy.LAST_UPDATED;
+
public ConditionsObjectConverter() {
}
+
+ public void setMultipleRecordsStrategy(MultipleRecordsStrategy multiStrat) {
+ this.multiStrat = multiStrat;
+ }
/**
- * Classes that extend this must define this method to specify what type the
- * converter is able to handle.
+ * Child classes must extend this method to specify what type the converter handles.
* @return The Class that this converter handles.
*/
- public abstract Class getType();
+ public abstract Class<T> getType();
@SuppressWarnings({ "unchecked", "rawtypes" })
public T getData(ConditionsManager conditionsManager, String name) {
-
- // System.out.println("finding conditions for key " + name + " ...");
// Get the DatabaseConditionsManager which is required for using this converter.
DatabaseConditionsManager databaseConditionsManager = DatabaseConditionsManager.getInstance();
@@ -56,39 +65,52 @@
if (tableMetaData == null)
throw new RuntimeException("Table meta data for " + name + " was not found.");
- // Create a collection to return.
- ConditionsObjectCollection collection = createCollection(tableMetaData);
-
- // Get the ConditionsRecord with the meta-data, which will use the
- // current run
- // number from the manager.
+ // Get the ConditionsRecordCollection with the run number assignments.
ConditionsRecordCollection conditionsRecords = databaseConditionsManager.findConditionsRecords(name);
-
- if (conditionsRecords.getObjects().size() == 0) {
- // There were no records returned, which is a fatal error.
- throw new RuntimeException("No conditions found with key: " + name);
- } else if (conditionsRecords.getObjects().size() > 1) {
- // There were multiple records returned.
- if (!allowMultipleCollections())
- // If there are multiple records returned but this is not
- // allowed by the
- // converter, then this is a fatal error.
- throw new RuntimeException("Multiple conditions records returned but this is not allowed.");
+
+ // By default use all conditions records, which works if there is a single one, or if the COMBINE strategy is being used.
+ List<ConditionsRecord> filteredList = new ArrayList<ConditionsRecord>(conditionsRecords);
+
+ // Now we need to determine which ConditionsRecord objects to use according to configuration.
+ if (conditionsRecords.size() == 0) {
+ // No conditions records were found, and this is an error.
+ throw new RuntimeException("No conditions were found with key " + name);
} else {
- // There was a single conditions record so the collection
- // information can be
- // set meaningfully.
- try {
- collection.setCollectionId(conditionsRecords.get(0).getCollectionId());
- collection.setTableMetaData(tableMetaData);
- } catch (ConditionsObjectException e) {
- throw new RuntimeException(e);
- }
- }
-
- // Loop over conditions records. This will usually just be one record.
- for (ConditionsRecord conditionsRecord : conditionsRecords.getObjects()) {
-
+ /*
+ * Figure out which disambiguation strategy to use.
+ */
+ if (multiStrat.equals(MultipleRecordsStrategy.LAST_UPDATED)) {
+ // Use the conditions set with the latest updated date.
+ filteredList = conditionsRecords.sortedByUpdated();
+ } else if (multiStrat.equals(MultipleRecordsStrategy.LAST_CREATED)){
+ // Use the conditions set with the latest created date.
+ filteredList = conditionsRecords.sortedByCreated();
+ } else if (multiStrat.equals(MultipleRecordsStrategy.LATEST_RUN_START)) {
+ // Use the conditions set with the greatest run start value.
+ filteredList = conditionsRecords.sortedByRunStart();
+ } else if (multiStrat.equals(MultipleRecordsStrategy.ERROR)) {
+ // The converter has been configured to throw an error when this happens!
+ throw new RuntimeException("Multiple ConditionsRecord object found for conditions key " + name);
+ }
+ }
+
+ // Create a collection of objects to to return.
+ AbstractConditionsObjectCollection collection = null;
+
+ try {
+ ConditionsRecord conditionsRecord = null;
+ if (filteredList.size() == 1) {
+ // If there is a single ConditionsRecord, then it can be assigned to the collection.
+ conditionsRecord = filteredList.get(0);
+ }
+ collection = createCollection(conditionsRecord, tableMetaData);
+ } catch (ConditionsObjectException e) {
+ throw new RuntimeException(e);
+ }
+
+ // Loop over all records, which could just be a single one.
+ for (ConditionsRecord conditionsRecord : filteredList) {
+
// Get the table name.
String tableName = conditionsRecord.getTableName();
@@ -98,30 +120,24 @@
// Build a select query.
String query = QueryBuilder.buildSelect(tableName, collectionId, tableMetaData.getFieldNames(), "id ASC");
- // Query the database.
+ // Query the database to get the conditions collection's rows.
ResultSet resultSet = databaseConditionsManager.selectQuery(query);
try {
- // Loop over rows.
+ // Loop over the rows.
while (resultSet.next()) {
- // Create new ConditionsObject.
+ // Create a new ConditionsObject from this row.
ConditionsObject newObject = createConditionsObject(resultSet, tableMetaData);
- // Add new object to collection, which will also assign it a
- // collection ID if applicable.
+ // Add the object to the collection.
collection.add(newObject);
}
- } catch (SQLException | ConditionsObjectException e) {
+ } catch (SQLException e) {
throw new RuntimeException(e);
}
}
-
- // Return new collection.
+
return (T) collection;
- }
-
- public boolean allowMultipleCollections() {
- return true;
}
static final ConditionsObject createConditionsObject(ResultSet resultSet, TableMetaData tableMetaData) throws SQLException {
@@ -152,13 +168,38 @@
return newObject;
}
- static final ConditionsObjectCollection<?> createCollection(TableMetaData tableMetaData) {
- ConditionsObjectCollection<?> collection;
+ static final AbstractConditionsObjectCollection<?> createCollection(ConditionsRecord conditionsRecord, TableMetaData tableMetaData) throws ConditionsObjectException {
+ AbstractConditionsObjectCollection<?> collection;
try {
collection = tableMetaData.getCollectionClass().newInstance();
+ if (conditionsRecord != null) {
+ collection.setConditionsRecord(conditionsRecord);
+ collection.setTableMetaData(tableMetaData);
+ }
} catch (InstantiationException | IllegalAccessException e) {
- throw new RuntimeException(e);
+ throw new ConditionsObjectException("Error creating conditions object collection.", e);
}
return collection;
}
+
+ // This would only work if every collection class had a constructor with the proper arguments.
+ /*
+ static final AbstractConditionsObjectCollection<?> createCollection(ConditionsRecord conditionsRecord, TableMetaData tableMetaData) throws ConditionsObjectException {
+ AbstractConditionsObjectCollection<?> collection;
+ try {
+ collection = tableMetaData.getCollectionClass().newInstance();
+ Class<?> collectionClass = tableMetaData.getCollectionClass();
+ try {
+ Constructor<?> constructor = collectionClass.getDeclaredConstructor(ConditionsRecord.class, TableMetaData.class);
+ collection = (AbstractConditionsObjectCollection) constructor.newInstance(new Object[] { conditionsRecord, tableMetaData } );
+ } catch (NoSuchMethodException | SecurityException | InvocationTargetException e) {
+ e.printStackTrace();
+ throw new ConditionsObjectException("Error creating conditions object collection.", e);
+ }
+ } catch (InstantiationException | IllegalAccessException e) {
+ throw new RuntimeException(e);
+ }
+ return collection;
+ }
+ */
}
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/database/ConditionsRecordConverter.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/database/ConditionsRecordConverter.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/database/ConditionsRecordConverter.java Wed Dec 10 19:18:35 2014
@@ -3,17 +3,14 @@
import java.sql.ResultSet;
import java.sql.SQLException;
+import org.hps.conditions.api.AbstractConditionsObjectCollection;
import org.hps.conditions.api.ConditionsObject;
-import org.hps.conditions.api.ConditionsObjectCollection;
-import org.hps.conditions.api.ConditionsObjectException;
import org.hps.conditions.api.ConditionsRecord.ConditionsRecordCollection;
import org.lcsim.conditions.ConditionsManager;
/**
* Read ConditionsRecord objects from the conditions database.
* @author Jeremy McCormick <[log in to unmask]>
- * @version $Id: ConditionsRecordConverter.java,v 1.5 2013/10/15 23:24:47 jeremy
- * Exp $
*/
class ConditionsRecordConverter extends ConditionsObjectConverter<ConditionsRecordCollection> {
@@ -38,7 +35,7 @@
ResultSet resultSet = databaseConditionsManager.selectQuery(query);
// Create a collection to return.
- ConditionsObjectCollection collection;
+ AbstractConditionsObjectCollection collection;
try {
collection = tableMetaData.getCollectionClass().newInstance();
} catch (InstantiationException | IllegalAccessException e) {
@@ -48,11 +45,7 @@
try {
while (resultSet.next()) {
ConditionsObject conditionsRecord = ConditionsObjectConverter.createConditionsObject(resultSet, tableMetaData);
- try {
- collection.add(conditionsRecord);
- } catch (ConditionsObjectException e) {
- throw new RuntimeException(e);
- }
+ collection.add(conditionsRecord);
}
} catch (SQLException x) {
throw new RuntimeException("Database error", x);
@@ -69,8 +62,4 @@
public Class<ConditionsRecordCollection> getType() {
return ConditionsRecordCollection.class;
}
-
- public boolean allowMultipleCollections() {
- return true;
- }
}
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/database/ConditionsSeriesConverter.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/database/ConditionsSeriesConverter.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/database/ConditionsSeriesConverter.java Wed Dec 10 19:18:35 2014
@@ -4,7 +4,7 @@
import java.sql.SQLException;
import org.hps.conditions.api.ConditionsObject;
-import org.hps.conditions.api.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObjectCollection;
import org.hps.conditions.api.ConditionsObjectException;
import org.hps.conditions.api.ConditionsRecord;
import org.hps.conditions.api.ConditionsRecord.ConditionsRecordCollection;
@@ -59,21 +59,18 @@
ConditionsSeries series = new ConditionsSeries();
// Get the ConditionsRecord with the meta-data, which will use the
- // current run
- // number from the manager.
+ // current run number from the manager.
ConditionsRecordCollection conditionsRecords = conditionsManager.findConditionsRecords(conditionsKey);
// Loop over conditions records. This will usually just be one record.
- for (ConditionsRecord conditionsRecord : conditionsRecords.getObjects()) {
+ for (ConditionsRecord conditionsRecord : conditionsRecords) {
- ConditionsObjectCollection collection = ConditionsRecordConverter.createCollection(tableMetaData);
-
+ AbstractConditionsObjectCollection collection;
try {
- collection.setCollectionId(conditionsRecord.getCollectionId());
+ collection = ConditionsRecordConverter.createCollection(conditionsRecord, tableMetaData);
} catch (ConditionsObjectException e) {
throw new RuntimeException(e);
}
- collection.setTableMetaData(tableMetaData);
// Get the table name.
String tableName = conditionsRecord.getTableName();
@@ -97,7 +94,7 @@
// collection ID if applicable.
collection.add(newObject);
}
- } catch (SQLException | ConditionsObjectException e) {
+ } catch (SQLException e) {
throw new RuntimeException(e);
}
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/database/DatabaseConditionsManager.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/database/DatabaseConditionsManager.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/database/DatabaseConditionsManager.java Wed Dec 10 19:18:35 2014
@@ -22,8 +22,8 @@
import java.util.logging.Level;
import java.util.logging.Logger;
+import org.hps.conditions.api.AbstractConditionsObjectCollection;
import org.hps.conditions.api.ConditionsObject;
-import org.hps.conditions.api.ConditionsObjectCollection;
import org.hps.conditions.api.ConditionsObjectException;
import org.hps.conditions.api.ConditionsRecord;
import org.hps.conditions.api.ConditionsRecord.ConditionsRecordCollection;
@@ -133,7 +133,7 @@
* Class constructor.
*/
public DatabaseConditionsManager() {
- logger.setLevel(Level.FINE);
+ logger.setLevel(Level.FINER);
registerConditionsConverter(new DetectorConditionsConverter());
setupConnectionFromSystemProperty();
register();
@@ -179,7 +179,6 @@
logger.config("host " + connectionParameters.getHostname());
logger.config("port " + connectionParameters.getPort());
logger.config("user " + connectionParameters.getUser());
- //logger.config("password " + connectionParameters.getPassword());
logger.config("database " + connectionParameters.getDatabase());
connection = connectionParameters.createConnection();
logger.config("successfuly created connection");
@@ -233,7 +232,7 @@
*/
// TODO: This should distinguish among multiple conditions sets of the same type by using the one with the most recent date
// in its ConditionsRecord.
- public <CollectionType extends ConditionsObjectCollection> CollectionType getCollection(Class<CollectionType> type) {
+ public <CollectionType extends AbstractConditionsObjectCollection> CollectionType getCollection(Class<CollectionType> type) {
TableMetaData metaData = this.findTableMetaData(type).get(0);
if (metaData == null) {
throw new RuntimeException("Table name data for condition of type " + type.getSimpleName() + " was not found.");
@@ -264,12 +263,12 @@
}
if (!this.isFrozen) {
if (!detectorName.equals(this.getDetector())) {
- logger.fine("detector name is different");
+ logger.finest("detector name is different");
}
if (runNumber != this.getRun()) {
- logger.fine("run number is different");
+ logger.finest("run number is different");
}
- logger.fine("setDetector with new detector " + detectorName + " and run #" + runNumber);
+ logger.info("setDetector with new detector " + detectorName + " and run #" + runNumber);
logger.fine("old detector " + this.getDetector() + " and run #" + this.getRun());
initialize(detectorName, runNumber);
} else {
@@ -292,7 +291,7 @@
*/
protected void initialize(String detectorName, int runNumber) throws ConditionsNotFoundException {
- logger.log(Level.CONFIG, "initializing " + getClass().getSimpleName() + " with detector " + detectorName + " and run number " + runNumber);
+ logger.config("initializing " + getClass().getSimpleName() + " with detector " + detectorName + " and run number " + runNumber);
// Did the user not specify a config?
if (resourceConfig == null && fileConfig == null) {
@@ -565,9 +564,9 @@
*/
public ConditionsRecordCollection findConditionsRecords(String name) {
ConditionsRecordCollection runConditionsRecords = getConditionsData(ConditionsRecordCollection.class, TableConstants.CONDITIONS_RECORD);
- logger.fine("searching for condition " + name + " in " + runConditionsRecords.getObjects().size() + " records");
+ logger.fine("searching for condition " + name + " in " + runConditionsRecords.size() + " records");
ConditionsRecordCollection foundConditionsRecords = new ConditionsRecordCollection();
- for (ConditionsRecord record : runConditionsRecords.getObjects()) {
+ for (ConditionsRecord record : runConditionsRecords) {
if (record.getName().equals(name)) {
if (tag == null || (tag != null && record.getTag().equals(tag))) {
foundConditionsRecords.add(record);
@@ -576,8 +575,8 @@
}
}
}
- if (foundConditionsRecords.getObjects().size() > 0) {
- for (ConditionsRecord record : foundConditionsRecords.getObjects()) {
+ if (foundConditionsRecords.size() > 0) {
+ for (ConditionsRecord record : foundConditionsRecords) {
logger.fine("found ConditionsRecord with key " + name + '\n' + record.toString());
}
}
@@ -613,11 +612,11 @@
this.tag = tag;
}
- public <ObjectType extends ConditionsObject> void insertCollection(ConditionsObjectCollection<ObjectType> collection) throws SQLException {
+ public <ObjectType extends ConditionsObject> void insertCollection(AbstractConditionsObjectCollection<ObjectType> collection) throws SQLException {
if (collection == null) {
throw new IllegalArgumentException("The collection is null.");
}
- if (collection.getObjects().size() == 0) {
+ if (collection.size() == 0) {
throw new IllegalArgumentException("The collection is empty.");
}
if (collection.getTableMetaData() == null) {
@@ -631,18 +630,18 @@
throw new RuntimeException(e);
}
}
- logger.fine("inserting collection with ID " + collection.getCollectionId()
+ logger.info("inserting collection with ID " + collection.getCollectionId()
+ " and key " + collection.getTableMetaData().getKey() + " into table " + tableMetaData.getTableName());
try {
connection.setAutoCommit(false);
logger.finest("starting insert transaction");
- String sql = QueryBuilder.buildPreparedInsert(collection.get(0));
+ String sql = QueryBuilder.buildPreparedInsert(collection.iterator().next());
PreparedStatement preparedStatement =
connection.prepareStatement(sql);
logger.finest("using prepared statement: " + sql);
logger.finest("preparing updates");
- for (ConditionsObject object : collection.getObjects()) {
+ for (ConditionsObject object : collection) {
preparedStatement.setObject(1, object.getCollectionId());
int parameterIndex = 2;
for (Entry<String,Object> entry : object.getFieldValues().entrySet()) {
@@ -662,7 +661,7 @@
connection.setAutoCommit(true);
}
}
-
+
private void setupEcal() {
logger.config("setting up ECAL conditions on detector");
EcalConditions conditions = getCachedConditions(EcalConditions.class, ECAL_CONDITIONS).getCachedData();
@@ -683,7 +682,6 @@
logger.config("done loading SVT detector conditions");
}
-
/**
* Check if connected to the database.
* @return true if connected
@@ -816,13 +814,13 @@
throw new RuntimeException(e);
}
- Class<? extends ConditionsObjectCollection<?>> collectionClass;
+ Class<? extends AbstractConditionsObjectCollection<?>> collectionClass;
Class<?> rawCollectionClass;
try {
rawCollectionClass = Class.forName(collectionName);
- if (!ConditionsObjectCollection.class.isAssignableFrom(rawCollectionClass))
+ if (!AbstractConditionsObjectCollection.class.isAssignableFrom(rawCollectionClass))
throw new RuntimeException("The class " + rawCollectionClass.getSimpleName() + " does not extend ConditionsObjectCollection.");
- collectionClass = (Class<? extends ConditionsObjectCollection<?>>) rawCollectionClass;
+ collectionClass = (Class<? extends AbstractConditionsObjectCollection<?>>) rawCollectionClass;
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/database/TableMetaData.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/database/TableMetaData.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/database/TableMetaData.java Wed Dec 10 19:18:35 2014
@@ -4,7 +4,7 @@
import java.util.Set;
import org.hps.conditions.api.ConditionsObject;
-import org.hps.conditions.api.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObjectCollection;
/**
* <p>
@@ -14,7 +14,7 @@
* </p>
* <p>
* It also has references to the implementation classes which are used to map
- * the data onto {@link ConditionsObject} and {@link ConditionsObjectCollection}
+ * the data onto {@link ConditionsObject} and {@link AbstractConditionsObjectCollection}
* s.
* </p>
*
@@ -26,7 +26,7 @@
String tableName;
String key;
Class<? extends ConditionsObject> objectClass;
- Class<? extends ConditionsObjectCollection<?>> collectionClass;
+ Class<? extends AbstractConditionsObjectCollection<?>> collectionClass;
Set<String> fieldNames = new LinkedHashSet<String>();
/**
@@ -35,7 +35,7 @@
* @param objectClass The type of object for the data mapping.
* @param collectionClass The type of collection for the data mapping.
*/
- TableMetaData(String key, String tableName, Class<? extends ConditionsObject> objectClass, Class<? extends ConditionsObjectCollection<?>> collectionClass) {
+ public TableMetaData(String key, String tableName, Class<? extends ConditionsObject> objectClass, Class<? extends AbstractConditionsObjectCollection<?>> collectionClass) {
this.key = key;
this.tableName = tableName;
this.objectClass = objectClass;
@@ -54,7 +54,7 @@
* Get the type of collection this table maps onto.
* @return
*/
- public Class<? extends ConditionsObjectCollection<?>> getCollectionClass() {
+ public Class<? extends AbstractConditionsObjectCollection<?>> getCollectionClass() {
return collectionClass;
}
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 Wed Dec 10 19:18:35 2014
@@ -1,7 +1,7 @@
package org.hps.conditions.ecal;
import org.hps.conditions.api.AbstractConditionsObject;
-import org.hps.conditions.api.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObjectCollection;
/**
* This class represents an ECAL channel that is considered "bad" which means it
@@ -9,7 +9,7 @@
*/
public final class EcalBadChannel extends AbstractConditionsObject {
- public static class EcalBadChannelCollection extends ConditionsObjectCollection<EcalBadChannel> {
+ public static class EcalBadChannelCollection extends AbstractConditionsObjectCollection<EcalBadChannel> {
}
int getChannelId() {
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalCalibration.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalCalibration.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalCalibration.java Wed Dec 10 19:18:35 2014
@@ -1,7 +1,7 @@
package org.hps.conditions.ecal;
import org.hps.conditions.api.AbstractConditionsObject;
-import org.hps.conditions.api.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObjectCollection;
/**
* This class is a simplistic representation of ECal pedestal and noise values
@@ -14,7 +14,7 @@
*/
public final class EcalCalibration extends AbstractConditionsObject {
- public static class EcalCalibrationCollection extends ConditionsObjectCollection<EcalCalibration> {
+ public static class EcalCalibrationCollection extends AbstractConditionsObjectCollection<EcalCalibration> {
}
public EcalCalibration() {
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalChannel.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalChannel.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalChannel.java Wed Dec 10 19:18:35 2014
@@ -5,7 +5,7 @@
import org.hps.conditions.api.AbstractConditionsObject;
import org.hps.conditions.api.AbstractIdentifier;
-import org.hps.conditions.api.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObjectCollection;
import org.hps.conditions.api.ConditionsObjectException;
import org.lcsim.detector.identifier.ExpandedIdentifier;
import org.lcsim.detector.identifier.IExpandedIdentifier;
@@ -123,7 +123,7 @@
/**
* A collection of {@link EcalChannel} objects.
*/
- public static class EcalChannelCollection extends ConditionsObjectCollection<EcalChannel> {
+ public static class EcalChannelCollection extends AbstractConditionsObjectCollection<EcalChannel> {
// Identifier maps for fast lookup.
Map<Long, EcalChannel> daqMap = new HashMap<Long, EcalChannel>();
@@ -136,7 +136,7 @@
* access to the Detector API.
*/
@Override
- public void add(EcalChannel channel) throws ConditionsObjectException {
+ public boolean add(EcalChannel channel) {
super.add(channel);
DaqId daqId = channel.createDaqId();
if (daqId.isValid())
@@ -144,6 +144,7 @@
ChannelId channelId = channel.createChannelId();
if (channelId.isValid())
channelMap.put(channelId.encode(), channel);
+ return true;
}
/**
@@ -152,7 +153,7 @@
* @param system The system ID of the subdetector.
*/
void buildGeometryMap(IIdentifierHelper helper, int system) {
- for (EcalChannel channel : this.objects) {
+ for (EcalChannel channel : this) {
GeometryId geometryId = channel.createGeometryId(helper, system);
geometryMap.put(geometryId.encode(), channel);
}
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalConditions.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalConditions.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalConditions.java Wed Dec 10 19:18:35 2014
@@ -109,7 +109,7 @@
buff.append('\n');
// Loop over all channels.
- for (EcalChannel channel : channelMap.getObjects()) {
+ for (EcalChannel channel : channelMap) {
EcalChannelConstants constants = getChannelConstants(channel);
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 Wed Dec 10 19:18:35 2014
@@ -46,7 +46,7 @@
// 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()) {
+ for (EcalGain gain : gains) {
ChannelId channelId = new ChannelId(new int[] { gain.getChannelId() });
EcalChannel channel = channels.findChannel(channelId);
conditions.getChannelConstants(channel).setGain(gain);
@@ -55,7 +55,7 @@
// Get the ECal bad channels and add them to the conditions set
try {
EcalBadChannelCollection badChannels = dbConditionsManager.getCollection(EcalBadChannelCollection.class);
- for (EcalBadChannel badChannel : badChannels.getObjects()) {
+ for (EcalBadChannel badChannel : badChannels) {
ChannelId channelId = new ChannelId(new int[] { badChannel.getChannelId() });
EcalChannel channel = channels.findChannel(channelId);
conditions.getChannelConstants(channel).setBadChannel(true);
@@ -67,7 +67,7 @@
// 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()) {
+ for (EcalCalibration calibration : calibrations) {
ChannelId channelId = new ChannelId(new int[] { calibration.getChannelId() });
EcalChannel channel = channels.findChannel(channelId);
conditions.getChannelConstants(channel).setCalibration(calibration);
@@ -76,7 +76,7 @@
// 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()) {
+ for (EcalTimeShift timeShift : timeShifts) {
ChannelId channelId = new ChannelId(new int[] { timeShift.getChannelId() });
EcalChannel channel = channels.findChannel(channelId);
conditions.getChannelConstants(channel).setTimeShift(timeShift);
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalGain.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalGain.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalGain.java Wed Dec 10 19:18:35 2014
@@ -1,7 +1,7 @@
package org.hps.conditions.ecal;
import org.hps.conditions.api.AbstractConditionsObject;
-import org.hps.conditions.api.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObjectCollection;
/**
* A simplistic representation of gain values from the ECal conditions database.
@@ -10,7 +10,7 @@
*/
public final class EcalGain extends AbstractConditionsObject {
- public static class EcalGainCollection extends ConditionsObjectCollection<EcalGain> {
+ public static class EcalGainCollection extends AbstractConditionsObjectCollection<EcalGain> {
}
/**
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalLed.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalLed.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalLed.java Wed Dec 10 19:18:35 2014
@@ -1,7 +1,7 @@
package org.hps.conditions.ecal;
import org.hps.conditions.api.AbstractConditionsObject;
-import org.hps.conditions.api.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObjectCollection;
/**
* A conditions class for representing the setup of the LED system in the ECAL
@@ -13,7 +13,7 @@
/**
* Generic collection class for these objects.
*/
- public static class EcalLedCollection extends ConditionsObjectCollection<EcalLed> {
+ public static class EcalLedCollection extends AbstractConditionsObjectCollection<EcalLed> {
}
/**
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalTimeShift.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalTimeShift.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalTimeShift.java Wed Dec 10 19:18:35 2014
@@ -1,7 +1,7 @@
package org.hps.conditions.ecal;
import org.hps.conditions.api.AbstractConditionsObject;
-import org.hps.conditions.api.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObjectCollection;
/**
* This class represents a time shift calibration value for an ECAL channel.
@@ -12,7 +12,7 @@
/**
* A collection of {@link EcalTimeShift} objects.
*/
- public static class EcalTimeShiftCollection extends ConditionsObjectCollection<EcalTimeShift> {
+ public static class EcalTimeShiftCollection extends AbstractConditionsObjectCollection<EcalTimeShift> {
}
/**
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtChannel.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtChannel.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtChannel.java Wed Dec 10 19:18:35 2014
@@ -5,13 +5,11 @@
import java.util.Map;
import org.hps.conditions.api.AbstractConditionsObject;
-import org.hps.conditions.api.ConditionsObjectCollection;
-import org.hps.conditions.api.ConditionsObjectException;
+import org.hps.conditions.api.AbstractConditionsObjectCollection;
import org.hps.util.Pair;
/**
- * This abstract class provides basic setup information for an SVT sensor
- * channel.
+ * This abstract class provides basic setup information for an SVT sensor channel.
*
* @author Omar Moreno <[log in to unmask]>
*/
@@ -20,7 +18,7 @@
// TODO: Put constants into their own class
public static final int MAX_NUMBER_OF_SAMPLES = 6;
- public static abstract class AbstractSvtChannelCollection<T extends AbstractSvtChannel> extends ConditionsObjectCollection<T> {
+ public static abstract class AbstractSvtChannelCollection<T extends AbstractSvtChannel> extends AbstractConditionsObjectCollection<T> {
Map<Integer, T> channelMap = new HashMap<Integer, T>();
@@ -30,7 +28,7 @@
*
* @param A channel of a type extending {@link AbstractSvtChannel}
*/
- public void add(T channel) {
+ public boolean add(T channel) {
// If it doesn't exist, add the channel to the channel map
if (channelMap.containsKey(channel.getChannelID())) {
@@ -39,11 +37,7 @@
channelMap.put(channel.getChannelID(), channel);
// Add to the collection
- try {
- super.add(channel);
- } catch (ConditionsObjectException e) {
- throw new RuntimeException(e);
- }
+ return super.add(channel);
}
/**
@@ -73,7 +67,7 @@
*/
public String toString() {
StringBuffer buff = new StringBuffer();
- for (T channel : this.getObjects()) {
+ for (T channel : this) {
buff.append(channel.toString() + '\n');
}
return buff.toString();
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtConditions.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtConditions.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtConditions.java Wed Dec 10 19:18:35 2014
@@ -39,7 +39,7 @@
*/
public ChannelConstants getChannelConstants(AbstractSvtChannel channel) {
// This channel must come from the map.
- if (!channelMap.getObjects().contains(channel)) {
+ if (!channelMap.contains(channel)) {
System.err.println("[ " + this.getClass().getSimpleName() + " ]: Channel not found in map => " + channel);
throw new IllegalArgumentException("Channel was not found in map.");
}
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtConditionsConverter.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtConditionsConverter.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtConditionsConverter.java Wed Dec 10 19:18:35 2014
@@ -36,14 +36,14 @@
// Get the SVT calibrations (baseline, noise) from the conditions
// database
SvtCalibrationCollection calibrations = dbConditionsManager.getCollection(SvtCalibrationCollection.class);
- for (SvtCalibration calibration : calibrations.getObjects()) {
+ for (SvtCalibration calibration : calibrations) {
AbstractSvtChannel channel = conditions.getChannelMap().findChannel(calibration.getChannelID());
conditions.getChannelConstants(channel).setCalibration(calibration);
}
// Get the Channel pulse fit parameters from the conditions database
SvtShapeFitParametersCollection shapeFitParametersCollection = dbConditionsManager.getCollection(SvtShapeFitParametersCollection.class);
- for (SvtShapeFitParameters shapeFitParameters : shapeFitParametersCollection.getObjects()) {
+ for (SvtShapeFitParameters shapeFitParameters : shapeFitParametersCollection) {
AbstractSvtChannel channel = conditions.getChannelMap().findChannel(shapeFitParameters.getChannelID());
conditions.getChannelConstants(channel).setShapeFitParameters(shapeFitParameters);
}
@@ -53,7 +53,7 @@
// notify the user and move on.
try {
SvtBadChannelCollection badChannels = dbConditionsManager.getCollection(SvtBadChannelCollection.class);
- for (SvtBadChannel badChannel : badChannels.getObjects()) {
+ for (SvtBadChannel badChannel : badChannels) {
AbstractSvtChannel channel = conditions.getChannelMap().findChannel(badChannel.getChannelId());
conditions.getChannelConstants(channel).setBadChannel(true);
}
@@ -63,7 +63,7 @@
// Get the gains and offsets from the conditions database
SvtGainCollection channelGains = dbConditionsManager.getCollection(SvtGainCollection.class);
- for (SvtGain channelGain : channelGains.getObjects()) {
+ for (SvtGain channelGain : channelGains) {
int channelId = channelGain.getChannelID();
AbstractSvtChannel channel = conditions.getChannelMap().findChannel(channelId);
conditions.getChannelConstants(channel).setGain(channelGain);
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtDaqMapping.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtDaqMapping.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtDaqMapping.java Wed Dec 10 19:18:35 2014
@@ -2,7 +2,7 @@
import org.lcsim.detector.tracker.silicon.HpsSiSensor;
import org.hps.conditions.api.AbstractConditionsObject;
-import org.hps.conditions.api.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObjectCollection;
import org.hps.util.Pair;
/**
@@ -13,7 +13,7 @@
*/
public abstract class AbstractSvtDaqMapping extends AbstractConditionsObject {
- public static abstract class AbstractSvtDaqMappingCollection<T extends AbstractSvtDaqMapping> extends ConditionsObjectCollection<T> {
+ public static abstract class AbstractSvtDaqMappingCollection<T extends AbstractSvtDaqMapping> extends AbstractConditionsObjectCollection<T> {
/**
* Flag values for top or bottom half.
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtT0Shift.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtT0Shift.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtT0Shift.java Wed Dec 10 19:18:35 2014
@@ -1,7 +1,7 @@
package org.hps.conditions.svt;
import org.hps.conditions.api.AbstractConditionsObject;
-import org.hps.conditions.api.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObjectCollection;
import org.hps.util.Pair;
/**
@@ -12,7 +12,7 @@
*/
public class AbstractSvtT0Shift extends AbstractConditionsObject {
- public static abstract class AbstractSvtT0ShiftCollection<T extends AbstractSvtT0Shift> extends ConditionsObjectCollection<T> {
+ public static abstract class AbstractSvtT0ShiftCollection<T extends AbstractSvtT0Shift> extends AbstractConditionsObjectCollection<T> {
/**
* Get the t0 shift associated with a given DAQ pair
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtAlignmentConstant.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtAlignmentConstant.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtAlignmentConstant.java Wed Dec 10 19:18:35 2014
@@ -1,7 +1,7 @@
package org.hps.conditions.svt;
import org.hps.conditions.api.AbstractConditionsObject;
-import org.hps.conditions.api.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObjectCollection;
/**
* <p>
@@ -20,7 +20,7 @@
*/
public class SvtAlignmentConstant extends AbstractConditionsObject {
- public static class SvtAlignmentCollection extends ConditionsObjectCollection<SvtAlignmentConstant> {
+ public static class SvtAlignmentCollection extends AbstractConditionsObjectCollection<SvtAlignmentConstant> {
}
/** Top or bottom half. */
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 Wed Dec 10 19:18:35 2014
@@ -1,11 +1,11 @@
package org.hps.conditions.svt;
import org.hps.conditions.api.AbstractConditionsObject;
-import org.hps.conditions.api.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObjectCollection;
public final class SvtBadChannel extends AbstractConditionsObject {
- public static class SvtBadChannelCollection extends ConditionsObjectCollection<SvtBadChannel> {
+ public static class SvtBadChannelCollection extends AbstractConditionsObjectCollection<SvtBadChannel> {
}
public int getChannelId() {
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtCalibration.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtCalibration.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtCalibration.java Wed Dec 10 19:18:35 2014
@@ -1,7 +1,7 @@
package org.hps.conditions.svt;
import org.hps.conditions.api.AbstractConditionsObject;
-import org.hps.conditions.api.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObjectCollection;
import static org.hps.conditions.svt.SvtChannel.MAX_NUMBER_OF_SAMPLES;
@@ -13,7 +13,7 @@
*/
public final class SvtCalibration extends AbstractConditionsObject {
- public static class SvtCalibrationCollection extends ConditionsObjectCollection<SvtCalibration> {
+ public static class SvtCalibrationCollection extends AbstractConditionsObjectCollection<SvtCalibration> {
}
/**
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtChannel.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtChannel.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtChannel.java Wed Dec 10 19:18:35 2014
@@ -27,7 +27,7 @@
List<SvtChannel> channels = new ArrayList<SvtChannel>();
int febID = pair.getFirstElement();
int febHybridID = pair.getSecondElement();
- for (SvtChannel channel : this.getObjects()) {
+ for (SvtChannel channel : this) {
if (channel.getFebID() == febID && channel.getFebHybridID() == febHybridID) {
channels.add(channel);
}
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtConditions.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtConditions.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtConditions.java Wed Dec 10 19:18:35 2014
@@ -117,7 +117,7 @@
}
buff.append('\n');
// Loop over channels.
- for (SvtChannel channel : this.getChannelMap().getObjects()) {
+ for (SvtChannel channel : this.getChannelMap()) {
// Get the conditions for the channel.
ChannelConstants constants = getChannelConstants(channel);
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtConfiguration.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtConfiguration.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtConfiguration.java Wed Dec 10 19:18:35 2014
@@ -6,7 +6,7 @@
import java.io.InputStream;
import org.hps.conditions.api.AbstractConditionsObject;
-import org.hps.conditions.api.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObjectCollection;
import org.jdom.Document;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
@@ -18,7 +18,7 @@
*/
public class SvtConfiguration extends AbstractConditionsObject {
- public static class SvtConfigurationCollection extends ConditionsObjectCollection<SvtConfiguration> {
+ public static class SvtConfigurationCollection extends AbstractConditionsObjectCollection<SvtConfiguration> {
}
/**
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtDaqMapping.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtDaqMapping.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtDaqMapping.java Wed Dec 10 19:18:35 2014
@@ -24,7 +24,7 @@
public Pair<Integer, Integer> getDaqPair(HpsSiSensor sensor) {
String svtHalf = sensor.isTopLayer() ? TOP_HALF : BOTTOM_HALF;
- for (SvtDaqMapping object : this.getObjects()) {
+ for (SvtDaqMapping object : this) {
if (svtHalf.equals(object.getSvtHalf()) && object.getLayerNumber() == sensor.getLayerNumber() && object.getSide().equals(sensor.getSide())) {
@@ -46,7 +46,7 @@
*/
public String getOrientation(Pair<Integer, Integer> daqPair) {
- for (SvtDaqMapping daqMapping : this.getObjects()) {
+ for (SvtDaqMapping daqMapping : this) {
if (daqPair.getFirstElement() == daqMapping.getFebID() && daqPair.getSecondElement() == daqMapping.getFebHybridID()) {
return daqMapping.getOrientation();
@@ -76,7 +76,7 @@
buff.append('\n');
buff.append("----------------------");
buff.append('\n');
- for (SvtDaqMapping object : getObjects()) {
+ for (SvtDaqMapping object : this) {
buff.append(object.getFebID());
buff.append(" ");
buff.append(object.getFebHybridID());
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtDetectorSetup.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtDetectorSetup.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtDetectorSetup.java Wed Dec 10 19:18:35 2014
@@ -43,7 +43,7 @@
List<HpsSiSensor> sensors = subdetector.getDetectorElement().findDescendants(HpsSiSensor.class);
logger.info("setting up " + sensors.size() + " SVT sensors");
SvtChannelCollection channelMap = conditions.getChannelMap();
- logger.info("channel map has " + conditions.getChannelMap().getObjects().size() + " entries");
+ logger.info("channel map has " + conditions.getChannelMap().size() + " entries");
SvtDaqMappingCollection daqMap = conditions.getDaqMap();
SvtT0ShiftCollection t0Shifts = conditions.getT0Shifts();
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtGain.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtGain.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtGain.java Wed Dec 10 19:18:35 2014
@@ -1,7 +1,7 @@
package org.hps.conditions.svt;
import org.hps.conditions.api.AbstractConditionsObject;
-import org.hps.conditions.api.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObjectCollection;
/**
* This class represents gain measurements for a single SVT channel.
@@ -9,7 +9,7 @@
*/
public final class SvtGain extends AbstractConditionsObject {
- public static class SvtGainCollection extends ConditionsObjectCollection<SvtGain> {
+ public static class SvtGainCollection extends AbstractConditionsObjectCollection<SvtGain> {
}
/**
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtShapeFitParameters.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtShapeFitParameters.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtShapeFitParameters.java Wed Dec 10 19:18:35 2014
@@ -1,7 +1,7 @@
package org.hps.conditions.svt;
import org.hps.conditions.api.AbstractConditionsObject;
-import org.hps.conditions.api.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObjectCollection;
/**
* This class encapsulates the shape fit parameters for an SVT channel.
@@ -11,7 +11,7 @@
*/
public final class SvtShapeFitParameters extends AbstractConditionsObject {
- public static class SvtShapeFitParametersCollection extends ConditionsObjectCollection<SvtShapeFitParameters> {
+ public static class SvtShapeFitParametersCollection extends AbstractConditionsObjectCollection<SvtShapeFitParameters> {
}
/**
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtT0Shift.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtT0Shift.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtT0Shift.java Wed Dec 10 19:18:35 2014
@@ -24,7 +24,7 @@
public SvtT0Shift getT0Shift(Pair<Integer, Integer> pair) {
int febID = pair.getFirstElement();
int febHybridID = pair.getSecondElement();
- for (SvtT0Shift t0Shift : this.getObjects()) {
+ for (SvtT0Shift t0Shift : this) {
if (t0Shift.getFebID() == febID && t0Shift.getFebHybridID() == febHybridID) {
return t0Shift;
}
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/svt/TestRunSvtChannel.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/svt/TestRunSvtChannel.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/svt/TestRunSvtChannel.java Wed Dec 10 19:18:35 2014
@@ -15,7 +15,7 @@
List<TestRunSvtChannel> channels = new ArrayList<TestRunSvtChannel>();
int fpga = pair.getFirstElement();
int hybrid = pair.getSecondElement();
- for (TestRunSvtChannel channel : this.getObjects()) {
+ for (TestRunSvtChannel channel : this) {
if (channel.getFpgaID() == fpga && channel.getHybridID() == hybrid) {
channels.add(channel);
}
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/svt/TestRunSvtConditions.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/svt/TestRunSvtConditions.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/svt/TestRunSvtConditions.java Wed Dec 10 19:18:35 2014
@@ -119,7 +119,7 @@
}
buff.append('\n');
// Loop over channels.
- for (TestRunSvtChannel channel : this.getChannelMap().getObjects()) {
+ for (TestRunSvtChannel channel : this.getChannelMap()) {
System.out.println("Channel: " + channel.toString());
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/svt/TestRunSvtDaqMapping.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/svt/TestRunSvtDaqMapping.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/svt/TestRunSvtDaqMapping.java Wed Dec 10 19:18:35 2014
@@ -24,7 +24,7 @@
public Pair<Integer, Integer> getDaqPair(HpsSiSensor sensor) {
String svtHalf = sensor.isTopLayer() ? TOP_HALF : BOTTOM_HALF;
- for (TestRunSvtDaqMapping daqMapping : this.getObjects()) {
+ for (TestRunSvtDaqMapping daqMapping : this) {
if (svtHalf.equals(daqMapping.getSvtHalf()) && daqMapping.getLayerNumber() == sensor.getLayerNumber()) {
@@ -45,7 +45,7 @@
*/
public String getOrientation(Pair<Integer, Integer> daqPair) {
- for (TestRunSvtDaqMapping daqMapping : this.getObjects()) {
+ for (TestRunSvtDaqMapping daqMapping : this) {
if (daqPair.getFirstElement() == ((TestRunSvtDaqMapping) daqMapping).getFpgaID() && daqPair.getSecondElement() == ((TestRunSvtDaqMapping) daqMapping).getHybridID()) {
return daqMapping.getOrientation();
@@ -73,7 +73,7 @@
buffer.append('\n');
buffer.append("----------------------");
buffer.append('\n');
- for (TestRunSvtDaqMapping daqMapping : getObjects()) {
+ for (TestRunSvtDaqMapping daqMapping : this) {
TestRunSvtDaqMapping testRunDaqMapping = (TestRunSvtDaqMapping) daqMapping;
buffer.append(testRunDaqMapping.getFpgaID());
buffer.append(" ");
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/svt/TestRunSvtDetectorSetup.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/svt/TestRunSvtDetectorSetup.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/svt/TestRunSvtDetectorSetup.java Wed Dec 10 19:18:35 2014
@@ -44,7 +44,7 @@
List<HpsSiSensor> sensors = subdetector.getDetectorElement().findDescendants(HpsSiSensor.class);
logger.info("setting up " + sensors.size() + " SVT sensors");
TestRunSvtChannelCollection channelMap = conditions.getChannelMap();
- logger.info("channel map has " + channelMap.getObjects().size() + " entries");
+ logger.info("channel map has " + channelMap.size() + " entries");
TestRunSvtDaqMappingCollection daqMap = conditions.getDaqMap();
TestRunSvtT0ShiftCollection t0Shifts = conditions.getT0Shifts();
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/svt/TestRunSvtT0Shift.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/svt/TestRunSvtT0Shift.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/svt/TestRunSvtT0Shift.java Wed Dec 10 19:18:35 2014
@@ -25,7 +25,7 @@
int fpgaID = pair.getFirstElement();
int hybridID = pair.getSecondElement();
- for (TestRunSvtT0Shift t0Shift : this.getObjects()) {
+ for (TestRunSvtT0Shift t0Shift : this) {
if (t0Shift.getFpgaID() == fpgaID && t0Shift.getHybridID() == hybridID) {
return t0Shift;
}
Modified: java/trunk/conditions/src/test/java/org/hps/conditions/ConditionsObjectTest.java
=============================================================================
--- java/trunk/conditions/src/test/java/org/hps/conditions/ConditionsObjectTest.java (original)
+++ java/trunk/conditions/src/test/java/org/hps/conditions/ConditionsObjectTest.java Wed Dec 10 19:18:35 2014
@@ -15,6 +15,7 @@
*
* @author Jeremy McCormick <[log in to unmask]>
*/
+// FIXME: This test is berken. It should probably be removed.
public class ConditionsObjectTest extends TestCase {
public void testBasicOperations() throws ConditionsObjectException {
@@ -25,7 +26,8 @@
TableMetaData tableMetaData = conditionsManager.findTableMetaData(TableConstants.SVT_GAINS);
int collectionId = conditionsManager.getNextCollectionID(tableMetaData.getTableName());
SvtGainCollection collection = new SvtGainCollection();
- collection.setTableMetaData(tableMetaData);
+ // FIXME: This can't be done through a setter anymore!
+ //collection.setTableMetaData(tableMetaData);
try {
collection.setCollectionId(collectionId);
} catch (ConditionsObjectException e) {
Modified: java/trunk/conditions/src/test/java/org/hps/conditions/beam/BeamCurrentTest.java
=============================================================================
--- java/trunk/conditions/src/test/java/org/hps/conditions/beam/BeamCurrentTest.java (original)
+++ java/trunk/conditions/src/test/java/org/hps/conditions/beam/BeamCurrentTest.java Wed Dec 10 19:18:35 2014
@@ -79,7 +79,7 @@
if (currentRun != event.getRunNumber()) {
currentRun = event.getRunNumber();
BeamCurrentCollection collection = ConditionsManager.defaultInstance().getCachedConditions(BeamCurrentCollection.class, BEAM_CURRENT).getCachedData();
- BeamCurrent beamCurrent = collection.get(0);
+ BeamCurrent beamCurrent = collection.iterator().next();
System.out.println("Run " + event.getRunNumber() + " has integrated beam current " + beamCurrent.getIntegratedBeamCurrent() + " nC.");
assertEquals("Wrong beam current for run.", beamCurrentAnswerKey.get(currentRun), beamCurrent.getIntegratedBeamCurrent());
}
Modified: java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalCalibrationsDriver.java
=============================================================================
--- java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalCalibrationsDriver.java (original)
+++ java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalCalibrationsDriver.java Wed Dec 10 19:18:35 2014
@@ -127,7 +127,7 @@
ecalConditions = conditionsManager.getCachedConditions(EcalConditions.class, TableConstants.ECAL_CONDITIONS).getCachedData();
// Create a histogram for every ECAL channel.
- for (EcalChannel channel : ecalConditions.getChannelCollection().getObjects()) {
+ for (EcalChannel channel : ecalConditions.getChannelCollection()) {
aida.histogram1D("ECAL Channel " + channel.getChannelId(), 300, 0, 300.);
}
}
@@ -178,7 +178,7 @@
calibrations.setTableMetaData(tableMetaData);
// Loop over all ECAL channels.
- for (EcalChannel channel : ecalConditions.getChannelCollection().getObjects()) {
+ for (EcalChannel channel : ecalConditions.getChannelCollection()) {
// Get the histogram with ADC distribution for this channel.
IHistogram1D histogram = aida.histogram1D("ECAL Channel " + channel.getChannelId());
@@ -205,12 +205,7 @@
// Create a new calibration object and add it to the collection, using mean for pedestal
// and sigma for noise.
- EcalCalibration calibration = new EcalCalibration(channelId, mean, sigma);
- try {
- calibrations.add(calibration);
- } catch (ConditionsObjectException e) {
- throw new RuntimeException(e);
- }
+ calibrations.add(new EcalCalibration(channelId, mean, sigma));
}
// Get the list of field names for the header.
|