LISTSERV mailing list manager LISTSERV 16.5

Help for HPS-SVN Archives


HPS-SVN Archives

HPS-SVN Archives


HPS-SVN@LISTSERV.SLAC.STANFORD.EDU


View:

Message:

[

First

|

Previous

|

Next

|

Last

]

By Topic:

[

First

|

Previous

|

Next

|

Last

]

By Author:

[

First

|

Previous

|

Next

|

Last

]

Font:

Proportional Font

LISTSERV Archives

LISTSERV Archives

HPS-SVN Home

HPS-SVN Home

HPS-SVN  March 2015

HPS-SVN March 2015

Subject:

r2290 - in /java/trunk: conditions/src/main/java/org/hps/conditions/api/ conditions/src/main/java/org/hps/conditions/cli/ conditions/src/main/java/org/hps/conditions/database/ conditions/src/main/java/org/hps/conditions/ecal/ conditions/src/main/java/org/hps/conditions/svt/ conditions/src/test/java/org/hps/conditions/ conditions/src/test/java/org/hps/conditions/beam/ conditions/src/test/java/org/hps/conditions/ecal/ conditions/src/test/java/org/hps/conditions/svt/ ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/util/ ecal-readout-sim/src/main/java/org/hps/readout/ecal/daqconfig/ users/src/main/java/org/hps/users/celentan/

From:

[log in to unmask]

Reply-To:

Notification of commits to the hps svn repository <[log in to unmask]>

Date:

Fri, 6 Mar 2015 04:54:21 -0000

Content-Type:

text/plain

Parts/Attachments:

Parts/Attachments

text/plain (1123 lines)

Author: [log in to unmask]
Date: Thu Mar  5 20:54:08 2015
New Revision: 2290

Log:
Replace usage of getConditions() method with getCachedConditions() and remove some methods from the HPS conditions API.  Fix up TableRegistry so it properly maps types to lists instead of single meta data objects.  This checkin also includes some minor modifications to logging in the conditions manager including setting of default level to INFO and addition of more debugging messages mostly at FINE level.  HPSJAVA-449, HPSJAVA-452

Modified:
    java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsRecord.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/ConditionsSeriesConverter.java
    java/trunk/conditions/src/main/java/org/hps/conditions/database/DatabaseConditionsManager.java
    java/trunk/conditions/src/main/java/org/hps/conditions/database/TableRegistry.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/svt/AbstractSvtConditionsConverter.java
    java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtBadChannel.java
    java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtChannel.java
    java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtConditionsConverter.java
    java/trunk/conditions/src/main/java/org/hps/conditions/svt/TestRunSvtConditionsConverter.java
    java/trunk/conditions/src/test/java/org/hps/conditions/EngRunConditionsTest.java
    java/trunk/conditions/src/test/java/org/hps/conditions/beam/BeamCurrentTest.java
    java/trunk/conditions/src/test/java/org/hps/conditions/ecal/EcalLedTest.java
    java/trunk/conditions/src/test/java/org/hps/conditions/svt/SvtConfigurationTest.java
    java/trunk/conditions/src/test/java/org/hps/conditions/svt/SvtDaqMappingTest.java
    java/trunk/conditions/src/test/java/org/hps/conditions/svt/TestRunSvtDaqMappingTest.java
    java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/util/DatabaseCheck.java
    java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/daqconfig/FADCConfig.java
    java/trunk/users/src/main/java/org/hps/users/celentan/LedAnalysis.java

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	Thu Mar  5 20:54:08 2015
@@ -163,7 +163,7 @@
     public void insert() throws ConditionsObjectException {
         if (fieldValues.size() == 0)
             throw new ConditionsObjectException("There are no field values to insert.");
-        TableMetaData tableMetaData = DatabaseConditionsManager.getInstance().findTableMetaData(ConditionsRecordCollection.class);
+        TableMetaData tableMetaData = DatabaseConditionsManager.getInstance().findTableMetaData(ConditionsRecordCollection.class).get(0);
         if (tableMetaData == null) {
             throw new ConditionsObjectException("Failed to get meta data for ConditionsRecord.");
         }

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	Thu Mar  5 20:54:08 2015
@@ -57,7 +57,7 @@
         conditionsManager = DatabaseConditionsManager.getInstance();
         
         // User specified tag of conditions records.
-        if (this.commandLine.hasOption("T")) {
+        if (this.commandLine.hasOption("T")) {            
             conditionsManager.setTag(commandLine.getOptionValue("T"));
         }
                
@@ -102,12 +102,15 @@
         
         // Did the user specify a table to use?
         if (userConditionsKey == null) {
+            ps.println("printing all conditions");
             // Use all table names if there was not one specified.
             conditionsRecords.addAll(conditionsManager.getConditionsRecords());
         } else {            
+            ps.println("printing conditions with name: " + userConditionsKey);
             // Get records only for the user specified table name.
             conditionsRecords.addAll(conditionsManager.findConditionsRecords(userConditionsKey));
         }
+        System.out.println(conditionsRecords.size() + " conditions records found");
         
         // Sort the records by key (table name).
         conditionsRecords.sortByKey();
@@ -143,7 +146,10 @@
             }
                                
             // Use only the single collection which would be seen by a user job for this run number and key.
-            ConditionsObjectCollection<?> collection = conditionsManager.getCollection(tableMetaData.getCollectionClass());  
+            ConditionsObjectCollection<?> collection = conditionsManager.getCachedConditions(
+                    tableMetaData.getCollectionClass(), 
+                    tableMetaData.getTableName()).getCachedData();
+             
             collectionList.add(collection);
         
             // Print out all the collection data to console or file.

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	Thu Mar  5 20:54:08 2015
@@ -74,8 +74,8 @@
             reopenedConnection = true;
         }
         
-        // Get the TableMetaData for the type.
-        TableMetaData tableMetaData = databaseConditionsManager.findTableMetaData(getType());    
+        // Get the TableMetaData from the table name.
+        TableMetaData tableMetaData = databaseConditionsManager.findTableMetaData(name);    
         
         // Get the ConditionsRecordCollection with the run number assignments.
         ConditionsRecordCollection conditionsRecords = databaseConditionsManager.findConditionsRecords(name);
@@ -115,7 +115,7 @@
             throw new RuntimeException(e);
         }
 
-        databaseConditionsManager.getLogger().info("loading conditions set..." + '\n' + conditionsRecord);
+        DatabaseConditionsManager.getLogger().info("loading conditions set..." + '\n' + conditionsRecord);
                                
         // Get the table name.
         String tableName = conditionsRecord.getTableName();

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	Thu Mar  5 20:54:08 2015
@@ -59,7 +59,7 @@
         }
         
         // Get the table meta data for the collection type.
-        TableMetaData tableMetaData = conditionsManager.findTableMetaData(collectionType);
+        TableMetaData tableMetaData = conditionsManager.findTableMetaData(tableName);
         if (tableMetaData == null) {
             throw new RuntimeException("Table meta data for " + collectionType + " was not found.");
         }

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	Thu Mar  5 20:54:08 2015
@@ -62,12 +62,12 @@
 public class DatabaseConditionsManager extends ConditionsManagerImplementation {
 
     // Initialize logger.
-    protected static Logger logger = LogUtil.create(DatabaseConditionsManager.class.getName(), new DefaultLogFormatter(), Level.FINER);
-
-    // Registry of conditions converters.
+    protected static Logger logger = LogUtil.create(DatabaseConditionsManager.class.getName(), new DefaultLogFormatter(), Level.INFO);
+
+    // Global registry of conditions converters.
     protected ConverterRegistry converters = ConverterRegistry.create();
     
-    // Registry of table meta data.
+    // Global registry of table meta data.
     protected TableRegistry tableRegistry = TableRegistry.create();
     
     // Connection configuration.
@@ -88,13 +88,7 @@
     
     // Max run number for the Test Run.
     protected static final int TEST_RUN_MAX_RUN = 1365;
-    
-    // The default Test Run detector.
-    private static final String DEFAULT_TEST_RUN_DETECTOR = "HPS-TestRun-v8-5";
-
-    // The default Engineering Run detector.
-    private static final String DEFAULT_ENG_RUN_DETECTOR = "HPS-Proposal2014-v8-6pt6";
-    
+        
     // Detector setup.
     protected String detectorName;
     protected String ecalName = "Ecal";
@@ -134,7 +128,7 @@
         ConditionsManager.setDefaultConditionsManager(this);
         setRun(-1);
         for (ConditionsObjectConverter converter : converters.values()) {
-            //logger.config("registering converter for " + converter.getType());
+            //logger.fine("registering converter for " + converter.getType());
             registerConditionsConverter(converter);
         }
         addConditionsListener(svtSetup);
@@ -145,7 +139,7 @@
      * @param level The log level.
      */
     public void setLogLevel(Level level) {        
-        logger.config("setting log level to " + level);
+        logger.config("setting log level to " + level); 
         logger.setLevel(level);
         logger.getHandlers()[0].setLevel(level);
         svtSetup.setLogLevel(level);
@@ -157,6 +151,8 @@
      */
     public static DatabaseConditionsManager getInstance() {
 
+        logger.fine("setting up new conditions manager instance");
+        
         // Is there no manager installed yet?
         if (!ConditionsManager.isSetup()) {
             // Create a new instance if necessary.
@@ -168,6 +164,8 @@
         if (!(manager instanceof DatabaseConditionsManager)) {
             throw new RuntimeException("The default ConditionsManager has the wrong type.");
         }
+        
+        logger.fine("instance initialized succesfully");
 
         return (DatabaseConditionsManager) manager;
     }
@@ -201,7 +199,7 @@
             isConnected = true;                        
             openedConnection = true;
         } 
-        logger.info("connection opened");
+        logger.info("connection opened successfully");
         
         // Flag to indicate whether an existing connection was used or not.
         return openedConnection;
@@ -211,6 +209,7 @@
      * Close the database connection.
      */
     public void closeConnection() {
+        logger.fine("closing connection");
         if (connection != null) {
             try {
                 if (!connection.isClosed()) {
@@ -245,44 +244,20 @@
     public 
     <ObjectType extends ConditionsObject, CollectionType extends ConditionsObjectCollection<ObjectType>> 
     ConditionsSeries<ObjectType, CollectionType> getConditionsSeries(Class<CollectionType> collectionType, String tableName) {
-        TableMetaData tableInfo = tableRegistry.findByCollectionType(collectionType);
-        if (tableInfo == null) {
-            throw new IllegalArgumentException("No table meta data found for collection type: " + collectionType);
-        }
-        Class<? extends ConditionsObject> objectType = tableInfo.getObjectClass();
-        ConditionsSeriesConverter<ObjectType, CollectionType> converter = 
-                new ConditionsSeriesConverter(objectType, collectionType);
+        
+        TableMetaData metaData = tableRegistry.get(tableName);
+        if (metaData == null) {
+            throw new IllegalArgumentException("No table metadata found for type " + collectionType.getName());
+        }
+        if (!metaData.getCollectionClass().equals(collectionType)) {
+            throw new IllegalArgumentException("The type " + collectionType.getName() 
+                    + " does not match the class " + metaData.getCollectionClass().getName() + " from the meta data");
+        }               
+        Class<? extends ConditionsObject> objectType = metaData.getObjectClass();        
+        ConditionsSeriesConverter<ObjectType, CollectionType> converter = new ConditionsSeriesConverter(objectType, collectionType);
         return converter.createSeries(tableName);
     }
-    
-    /**
-     * Get a conditions series using the default table name for the data.
-     * @param collectionType The type of collection.
-     * @return The conditions series.
-     */
-    public 
-    <ObjectType extends ConditionsObject, CollectionType extends ConditionsObjectCollection<ObjectType>> 
-    ConditionsSeries<ObjectType, CollectionType> getConditionsSeries(Class<CollectionType> collectionType) {
-        TableMetaData tableInfo = findTableMetaData(collectionType); 
-        return getConditionsSeries((Class<CollectionType>)tableInfo.getCollectionClass(), tableInfo.getTableName());
-    }
-    
-    /**
-     * Get a given collection of the given type from the conditions database
-     * using the default table name.
-     * @param type The type of the conditions data.
-     * @return A collection of objects of the given type from the conditions database
-     */
-    public <CollectionType extends ConditionsObjectCollection> CollectionType getCollection(Class<CollectionType> type) {
-        TableMetaData metaData = tableRegistry.findByCollectionType(type);
-        if (metaData == null) {
-            throw new RuntimeException("Table name data for condition of type " + type.getSimpleName() + " was not found.");
-        }
-        String tableName = metaData.getTableName();
-        CollectionType conditionsCollection = getCachedConditions(type, tableName).getCachedData();
-        return conditionsCollection;
-    }
-    
+            
     /**
      * Get conditions data by class and name.
      * @param type The class of the conditions.
@@ -290,7 +265,7 @@
      * @return The conditions or null if does not exist.
      */
     public <T> T getConditionsData(Class<T> type, String name) {
-        logger.info("getting conditions " + name + " of type " + type.getSimpleName());
+        logger.fine("getting conditions " + name + " of type " + type.getSimpleName());
         return getCachedConditions(type, name).getCachedData();
     }
 
@@ -303,13 +278,15 @@
     @Override
     public void setDetector(String detectorName, int runNumber) throws ConditionsNotFoundException {
 
+        logger.finest("setDetector " + detectorName + " with run number " + runNumber);
+        
         if (detectorName == null) {
             throw new IllegalArgumentException("The detectorName argument is null.");
         }
                 
         if (!isInitialized || !detectorName.equals(getDetector()) || runNumber != getRun()) {
             if (!isFrozen) {
-                logger.info("new detector " + detectorName + " and run #" + runNumber);             
+                logger.info("new detector " + detectorName + " and run #" + runNumber);
                 initialize(detectorName, runNumber);
             } else {
                 logger.finest("Conditions changed but will be ignored because manager is frozen.");
@@ -340,7 +317,7 @@
      */
     protected void initialize(String detectorName, int runNumber) throws ConditionsNotFoundException {
         
-        logger.info("initializing detector " + detectorName + " and run " + runNumber);
+        logger.config("initializing with detector " + detectorName + " and run " + runNumber);
         
         // Is not configured yet?
         if (!isConfigured) {
@@ -357,25 +334,29 @@
         }
 
         // Register the converters for this initialization.
+        logger.fine("registering converters");
         registerConverters();
     
         // Enable or disable the setup of the SVT detector.
+        logger.fine("enabling SVT setup: " + setupSvtDetector);
         svtSetup.setEnabled(setupSvtDetector);
 
         // Open the database connection.
         openConnection();
         
         // Call the super class's setDetector method to construct the detector object and activate conditions listeners.
+        logger.fine("activating default conditions manager");
         super.setDetector(detectorName, runNumber);
                         
         // Should all conditions sets be cached?
         if (cacheAllConditions) {
             // Cache the conditions sets of all registered converters.
-            logger.info("caching all conditions sets ...");
+            logger.fine("caching all conditions sets ...");
             cacheConditionsSets();
         }
                 
         if (closeConnectionAfterInitialize) {
+            logger.fine("closing connection after initialization");
             // Close the connection. 
             closeConnection();
         }
@@ -384,7 +365,7 @@
         if (freezeAfterInitialize) {
             // Freeze the conditions system so subsequent updates will be ignored.
             freeze();
-            logger.info("frozen after initialize");
+            logger.config("system was frozen after initialization");
         }
         
         isInitialized = true;
@@ -592,24 +573,45 @@
      * @return The set of matching conditions records.
      */
     public ConditionsRecordCollection findConditionsRecords(String name) {
-        ConditionsRecordCollection runConditionsRecords = getCollection(ConditionsRecordCollection.class);
-        logger.fine("searching for condition " + name + " in " + runConditionsRecords.size() + " records");
-        ConditionsRecordCollection foundConditionsRecords = new ConditionsRecordCollection();
+        ConditionsRecordCollection runConditionsRecords = getCachedConditions(ConditionsRecordCollection.class, "conditions").getCachedData();
+        logger.fine("searching for conditions with name " + name + " in " + runConditionsRecords.size() + " records");
+        ConditionsRecordCollection foundConditionsRecords = new ConditionsRecordCollection();        
         for (ConditionsRecord record : runConditionsRecords) {
             if (record.getName().equals(name)) {
-                if (tag == null || (tag != null && record.getTag().equals(tag))) {
+                if (matchesTag(record)) {
                     foundConditionsRecords.add(record);
+                    logger.finer("found matching conditions record " + record.getRowId());
                 } else {
-                    logger.fine("rejected ConditionsRecord " + record.getRowId() + " because of non-matching tag " + record.getTag());
+                    logger.finer("conditions record " + record.getRowId() + " rejected from non-matching tag " + record.getTag());
                 }
             }
         }
-        if (foundConditionsRecords.size() > 0) {
-            for (ConditionsRecord record : foundConditionsRecords) {
-                logger.info("found ConditionsRecord with key " + name + '\n' + record.toString());
-            }
-        }
+        logger.fine("found " + foundConditionsRecords.size() + " conditions records matching tag " + tag);
         return foundConditionsRecords;
+    }
+    
+    /**
+     * True if the conditions record matches the current tag.
+     * @param record The conditions record.
+     * @return True if conditions record matches the currently used tag.
+     */
+    boolean matchesTag(ConditionsRecord record) {
+        if (this.tag == null) {
+            // If there is no tag set then all records pass.
+            return true;
+        }
+        String recordTag = record.getTag();
+        if (recordTag == null) {
+            // If there is a tag set but the record has no tag, it is rejected.
+            return false;
+        }
+        if (tag.equals(recordTag)) {
+            // If the tags match, the record is accepted.
+            return true;
+        } else {
+            // Tags do not match so record is rejected.
+            return false;
+        }
     }
     
     /**
@@ -627,22 +629,35 @@
      */
     // FIXME: This should use a cache created in initialize rather than do a find every time.
     public ConditionsRecordCollection getConditionsRecords() {
+        logger.finer("getting conditions records ...");
         ConditionsRecordCollection conditionsRecords = new ConditionsRecordCollection();
         for (TableMetaData tableMetaData : tableRegistry.values()) {
             try {
                 ConditionsRecordCollection foundConditionsRecords = findConditionsRecords(tableMetaData.getKey());
+                logger.finer("found " + foundConditionsRecords.size() + " collections with name " + tableMetaData.getKey());
                 conditionsRecords.addAll(foundConditionsRecords); 
             } catch (Exception e) {
+                e.printStackTrace();
                 logger.warning(e.getMessage());
             }
         }        
+        logger.finer("found " + conditionsRecords + " conditions records");
+        logger.getHandlers()[0].flush();
         return conditionsRecords;
     }
     
+    /**
+     * Get the combined ECAL conditions for this run.
+     * @return The combined ECAL conditions.
+     */
     public EcalConditions getEcalConditions() {
         return this.getCachedConditions(EcalConditions.class, "ecal_conditions").getCachedData();
     }
     
+    /**
+     * Get the combined SVT conditions for this run.
+     * @return The combined SVT conditions.
+     */
     public SvtConditions getSvtConditions() {
         return this.getCachedConditions(SvtConditions.class, "svt_conditions").getCachedData();
     }
@@ -654,9 +669,9 @@
     public void freeze() {
         if (getDetector() != null && getRun() != -1) {
             isFrozen = true;
-            logger.config("The conditions system has been frozen and will ignore subsequent updates.");
+            logger.config("conditions system is frozen");
         } else {
-            logger.warning("The conditions system cannot be frozen now because it is not initialized yet.");
+            logger.warning("conditions system cannot be frozen because it is not initialized yet");
         }
     }
     
@@ -665,6 +680,7 @@
      */
     public void unfreeze() {
         isFrozen = false;
+        logger.info("conditions system unfrozen");
     }
     
     /**
@@ -684,6 +700,7 @@
             throw new IllegalArgumentException("The ecalName is null");
         }
         this.ecalName = ecalName;
+        logger.info("ECAL name set to " + ecalName);
     }
     
     /**
@@ -695,6 +712,7 @@
             throw new IllegalArgumentException("The svtName is null");
         }
         this.svtName = svtName;
+        logger.info("SVT name set to " + ecalName);
     }
     
     /**
@@ -703,6 +721,7 @@
      */
     public void setTag(String tag) {
         this.tag = tag;
+        logger.info("using conditions tag: " + tag);
     }
 
     /**
@@ -721,9 +740,9 @@
         }
 
         TableMetaData tableMetaData = collection.getTableMetaData();
-        if (tableMetaData == null) {            
-            tableMetaData = tableRegistry.findByCollectionType(collection.getClass()); 
-            if (tableMetaData == null) {
+        if (tableMetaData == null) {
+            List<TableMetaData> metaDataList = tableRegistry.findByCollectionType(collection.getClass());             
+            if (metaDataList == null) {
                 // This is a fatal error because no meta data is available for the type.
                 throw new ConditionsObjectException("Failed to find meta data for type: " + collection.getClass());
             }
@@ -747,10 +766,10 @@
         
         try {
             connection.setAutoCommit(false);
-            logger.finest("starting insert transaction");
+            logger.fine("starting insert transaction");
             String sql = QueryBuilder.buildPreparedInsert(tableMetaData.getTableName(), collection.iterator().next());
             preparedStatement = connection.prepareStatement(sql);
-            logger.finest("using prepared statement: " + sql);
+            logger.fine("using prepared statement: " + sql);
             int collectionId = collection.getCollectionId();
             for (ConditionsObject object : collection) {
                 preparedStatement.setObject(1, collectionId);
@@ -762,7 +781,7 @@
                 preparedStatement.executeUpdate();
             }
             connection.commit();
-            logger.finest("committed transaction");
+            logger.fine("committed transaction");
         } catch (Exception e) {
             e.printStackTrace();
             logger.warning(e.getMessage());
@@ -788,23 +807,7 @@
     public boolean isConnected() {
         return isConnected;
     }
-    
-    /**
-     * Get the default detector name for the Test Run.
-     * @return The default detector name for the Test Run.
-     */
-    public static String getDefaultTestRunDetectorName() {
-        return DEFAULT_TEST_RUN_DETECTOR;
-    }
-    
-    /**
-     * Get the default detector name for the Engineering Run.
-     * @return The default detector name for the Engineering Run.
-     */
-    public static String getDefaultEngRunDetectorName() {
-        return DEFAULT_ENG_RUN_DETECTOR;
-    }
-        
+              
     /**
      * Get the Logger for this class, which can be used by related sub-classes
      * if they do not have their own logger.
@@ -830,7 +833,7 @@
      * @param type The collection type.
      * @return The table information or null if does not exist.
      */
-    public TableMetaData findTableMetaData(Class<?> type) {
+    public List<TableMetaData> findTableMetaData(Class<?> type) {
         return tableRegistry.findByCollectionType(type);
     }
     
@@ -908,7 +911,8 @@
                 throw new RuntimeException("Connection properties file from " + CONNECTION_PROPERTY + " does not exist.");
             }
             setConnectionProperties(f);
-        }
+            logger.info("connection setup from system property " + CONNECTION_PROPERTY + " = " + systemPropertiesConnectionPath);
+        }        
     }
 
     /**
@@ -965,11 +969,14 @@
         element = node.getChild("closeConnectionAfterInitialize");
         if (element != null) {
             closeConnectionAfterInitialize = Boolean.parseBoolean(element.getText());
+            logger.config("closeConnectionAfterInitialize = " + closeConnectionAfterInitialize);
         }
         
         element = node.getChild("loginTimeout");
         if (element != null) {
-            DriverManager.setLoginTimeout(Integer.parseInt(element.getText()));
+            Integer timeout = Integer.parseInt(element.getText());
+            DriverManager.setLoginTimeout(timeout);
+            logger.config("loginTimeout = " + timeout);
         }
     }
 }

Modified: java/trunk/conditions/src/main/java/org/hps/conditions/database/TableRegistry.java
 =============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/database/TableRegistry.java	(original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/database/TableRegistry.java	Thu Mar  5 20:54:08 2015
@@ -1,7 +1,8 @@
 package org.hps.conditions.database;
 
+import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.Map;
+import java.util.List;
 import java.util.Set;
 
 import org.hps.conditions.api.AbstractConditionsObjectCollection;
@@ -14,35 +15,53 @@
  */
 public final class TableRegistry extends HashMap<String, TableMetaData> {
     
-    protected Map<Class<? extends ConditionsObject>, TableMetaData> objectTypeMap =
-            new HashMap<Class<? extends ConditionsObject>, TableMetaData>();
+    static class ObjectTypeMap extends HashMap<Class<? extends ConditionsObject>, List<TableMetaData>> {
+        void add(Class<? extends ConditionsObject> type, TableMetaData metaData) {
+            if (this.get(type) == null) {
+                this.put(type, new ArrayList<TableMetaData>());
+            }
+            this.get(type).add(metaData);
+        }
+    }
     
-    protected Map<Class<? extends AbstractConditionsObjectCollection<?>>, TableMetaData> collectionTypeMap =
-            new HashMap<Class<? extends AbstractConditionsObjectCollection<?>>, TableMetaData>();
+    static class CollectionTypeMap extends HashMap<Class<? extends AbstractConditionsObjectCollection<?>>, List<TableMetaData>> {
+        void add(Class<? extends AbstractConditionsObjectCollection<?>> type, TableMetaData metaData) {
+            if (this.get(type) == null) {
+                this.put(type, new ArrayList<TableMetaData>());                                    
+            }
+            this.get(type).add(metaData);
+        }        
+    }
     
+    ObjectTypeMap objectTypeMap = new ObjectTypeMap();
+    CollectionTypeMap collectionTypeMap = new CollectionTypeMap();
+        
     private TableRegistry() {
     }
     
     static TableRegistry create() {
         TableRegistry registry = new TableRegistry();
         for (Class<? extends ConditionsObject> objectType : ConditionsObjectUtilities.findConditionsObjectTypes()) {
-            String name = ConditionsObjectUtilities.getTableNames(objectType)[0];
             Class<? extends AbstractConditionsObjectCollection<?>> collectionType = 
                     ConditionsObjectUtilities.getCollectionType(objectType);
-            Set<String> fieldNames = ConditionsObjectUtilities.getFieldNames(objectType);
-            TableMetaData data = new TableMetaData(name, name, objectType, collectionType, fieldNames); 
-            registry.put(name, data);
-            registry.objectTypeMap.put(objectType, data);
-            registry.collectionTypeMap.put(collectionType, data);
+            Set<String> fieldNames = ConditionsObjectUtilities.getFieldNames(objectType);            
+            for (String name : ConditionsObjectUtilities.getTableNames(objectType)) {    
+                
+                // Create a meta data mapping for each table name in the class description.
+                TableMetaData data = new TableMetaData(name, name, objectType, collectionType, fieldNames);
+                registry.put(name, data);                               
+                registry.objectTypeMap.add(objectType, data);
+                registry.collectionTypeMap.add(collectionType, data);                  
+            }            
         }
         return registry;
     }
-    
-    TableMetaData findByObjectType(Class<? extends ConditionsObject> objectType) {
+          
+    List<TableMetaData> findByObjectType(Class<? extends ConditionsObject> objectType) {
         return objectTypeMap.get(objectType);
     }
     
-    TableMetaData findByCollectionType(Class<?> collectionType) {
+    List<TableMetaData> findByCollectionType(Class<?> collectionType) {
         return collectionTypeMap.get(collectionType);
     }
     

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 Mar  5 20:54:08 2015
@@ -11,7 +11,7 @@
  * This class represents an ECAL channel that is considered "bad" which means it
  * should not be used in reconstruction.
  */
-@Table(names = {"ecal_bad_channels"})
+@Table(names = {"ecal_bad_channels", "test_run_ecal_bad_channels"})
 @Converter(multipleCollectionsAction = MultipleCollectionsAction.LAST_UPDATED)
 public final class EcalBadChannel extends AbstractConditionsObject {
 

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	Thu Mar  5 20:54:08 2015
@@ -16,7 +16,7 @@
  * 
  * @author Jeremy McCormick <[log in to unmask]>
  */
-@Table(names = {"ecal_calibrations"})
+@Table(names = {"ecal_calibrations", "test_run_ecal_calibrations", "ecal_hardware_calibrations"})
 @Converter(multipleCollectionsAction = MultipleCollectionsAction.LAST_CREATED)
 public final class EcalCalibration extends AbstractConditionsObject {
 

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	Thu Mar  5 20:54:08 2015
@@ -28,7 +28,7 @@
  * 
  * @author Jeremy McCormick <[log in to unmask]>
  */
-@Table(names = {"ecal_channels"})
+@Table(names = {"ecal_channels", "test_run_ecal_channels"})
 @Converter(multipleCollectionsAction = MultipleCollectionsAction.LAST_CREATED, converter = EcalChannel.EcalChannelConverter.class)
 public final class EcalChannel extends AbstractConditionsObject {
     

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	Thu Mar  5 20:54:08 2015
@@ -4,6 +4,8 @@
 import java.util.Map;
 
 import org.hps.conditions.ecal.EcalChannel.EcalChannelCollection;
+import org.lcsim.detector.converter.compact.EcalCrystal;
+import org.lcsim.detector.converter.compact.HPSEcalAPI;
 import org.lcsim.geometry.Subdetector;
 
 /**
@@ -19,12 +21,16 @@
  */
 public final class EcalConditions {
 
-    /** Channel map. */
+    // Channel collection.
     EcalChannelCollection channelCollection = new EcalChannelCollection();
 
-    /** Map between channels and conditions data. */
+    // Map between channels and their conditions data.
     Map<EcalChannel, EcalChannelConstants> channelConstants = new HashMap<EcalChannel, EcalChannelConstants>();
 
+    // Map between geometry stations and channel.
+    EcalCrystalChannelMap crystalMap;
+    
+    // Reference to the current ECAL subdetector in the geometry.
     Subdetector subdetector;
     
     /**
@@ -34,7 +40,7 @@
         if (subdetector == null) {
             throw new IllegalArgumentException("The subdetector argument is null.");
         }
-        this.subdetector = subdetector;
+        this.subdetector = subdetector;        
     }
 
     /**
@@ -42,7 +48,10 @@
      * @param channels The channel map.
      */
     void setChannelCollection(EcalChannelCollection channelCollection) {
-        this.channelCollection = channelCollection;        
+        this.channelCollection = channelCollection;
+        
+        // Build the map between crystals and channels.
+        crystalMap = new EcalCrystalChannelMap((HPSEcalAPI)subdetector.getDetectorElement(), channelCollection);
     }
 
     /**
@@ -52,11 +61,20 @@
     public EcalChannelCollection getChannelCollection() {
         return channelCollection;
     }
+    
+    /**
+     * Get the channel information for a geometric crystal.
+     * @param crystal The geometric crystal.
+     * @return The channel information or null if does not exist.
+     */
+    public EcalChannel getChannel(EcalCrystal crystal) {
+        return crystalMap.getEcalChannel(crystal);
+    }
         
     /**
      * Get the conditions constants for a specific channel. These will be
      * created if they do not exist for the given channel, BUT only channels in
-     * the current channel map are allowed as an argument.
+     * the channel map are accepted as an argument.
      * @param channel The ECAL channel.
      * @return The conditions constants for the channel.
      * @throws IllegalArgumentException if channel does not exist in the 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	Thu Mar  5 20:54:08 2015
@@ -30,23 +30,23 @@
     static Logger logger = LogUtil.create(AbstractSvtConditionsConverter.class);
     
     protected EcalChannelCollection getEcalChannelCollection(DatabaseConditionsManager manager) {
-        return manager.getCollection(EcalChannelCollection.class);
+        return manager.getCachedConditions(EcalChannelCollection.class, "ecal_channels").getCachedData();
     }
     
     protected EcalGainCollection getEcalGainCollection(DatabaseConditionsManager manager) {
-        return manager.getCollection(EcalGainCollection.class);
+        return manager.getCachedConditions(EcalGainCollection.class, "ecal_gains").getCachedData();
     }
         
     protected ConditionsSeries<EcalBadChannel, EcalBadChannelCollection> getEcalBadChannelSeries(DatabaseConditionsManager manager) {
-        return manager.getConditionsSeries(EcalBadChannelCollection.class);
+        return manager.getConditionsSeries(EcalBadChannelCollection.class, "ecal_bad_channels");
     }
     
     protected EcalCalibrationCollection getEcalCalibrationCollection(DatabaseConditionsManager manager) {
-        return manager.getCollection(EcalCalibrationCollection.class);
+        return manager.getCachedConditions(EcalCalibrationCollection.class, "ecal_calibrations").getCachedData();
     }
     
     protected EcalTimeShiftCollection getEcalTimeShiftCollection(DatabaseConditionsManager manager) {
-        return manager.getCollection(EcalTimeShiftCollection.class);
+        return manager.getCachedConditions(EcalTimeShiftCollection.class, "ecal_time_shifts").getCachedData();
     }
         
     /**

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	Thu Mar  5 20:54:08 2015
@@ -12,7 +12,7 @@
  * 
  * @author Jeremy McCormick <[log in to unmask]>
  */
-@Table(names = {"ecal_gains", "test_run_ecal_gains"})
+@Table(names = {"ecal_gains", "test_run_ecal_gains", "ecal_hardware_gains"})
 @Converter(multipleCollectionsAction = MultipleCollectionsAction.LAST_CREATED)
 public final class EcalGain extends AbstractConditionsObject {
 

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	Thu Mar  5 20:54:08 2015
@@ -13,7 +13,7 @@
  * @author Jeremy McCormick <[log in to unmask]>
  */
 @Table(names = "ecal_leds")
-@Converter(multipleCollectionsAction = MultipleCollectionsAction.ERROR)
+@Converter(multipleCollectionsAction = MultipleCollectionsAction.LAST_CREATED)
 public class EcalLed extends AbstractConditionsObject {
 
     /**

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	Thu Mar  5 20:54:08 2015
@@ -27,23 +27,23 @@
     static Logger logger = LogUtil.create(AbstractSvtConditionsConverter.class);
 
     protected SvtShapeFitParametersCollection getSvtShapeFitParametersCollection(DatabaseConditionsManager manager) {
-        return manager.getCollection(SvtShapeFitParametersCollection.class);
+        return manager.getCachedConditions(SvtShapeFitParametersCollection.class, "svt_shape_fit_parameters").getCachedData();
     }
     
     protected SvtBadChannelCollection getSvtBadChannelCollection(DatabaseConditionsManager manager) {
-        return manager.getCollection(SvtBadChannelCollection.class);
+        return manager.getCachedConditions(SvtBadChannelCollection.class, "svt_bad_channels").getCachedData();
     }
     
     protected ConditionsSeries<SvtBadChannel, SvtBadChannelCollection> getSvtBadChannelSeries(DatabaseConditionsManager manager) {
-        return manager.getConditionsSeries(SvtBadChannelCollection.class);
+        return manager.getConditionsSeries(SvtBadChannelCollection.class, "svt_bad_channels");
     }
     
     protected SvtCalibrationCollection getSvtCalibrationCollection(DatabaseConditionsManager manager) {
-        return manager.getCollection(SvtCalibrationCollection.class);
+        return manager.getCachedConditions(SvtCalibrationCollection.class, "svt_calibrations").getCachedData();
     }
     
     protected SvtGainCollection getSvtGainCollection(DatabaseConditionsManager manager) {
-        return manager.getCollection(SvtGainCollection.class);
+        return manager.getCachedConditions(SvtGainCollection.class, "svt_gains").getCachedData();
     }
     
     /**

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 Mar  5 20:54:08 2015
@@ -7,7 +7,7 @@
 import org.hps.conditions.database.MultipleCollectionsAction;
 import org.hps.conditions.database.Table;
 
-@Table(names = {"svt_bad_channels", "test_run_svt_bad_channels"})
+@Table(names = {/*"svt_bad_channels",*/ "test_run_svt_bad_channels"})
 @Converter(multipleCollectionsAction = MultipleCollectionsAction.LAST_CREATED)
 public final class SvtBadChannel extends AbstractConditionsObject {
 

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	Thu Mar  5 20:54:08 2015
@@ -3,8 +3,6 @@
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
-
-import org.lcsim.conditions.ConditionsManager.ConditionsNotFoundException;
 
 import org.hps.conditions.database.Converter;
 import org.hps.conditions.database.Field;
@@ -19,7 +17,7 @@
  * @author Omar Moreno <[log in to unmask]>
  */
 @Table(names = { "svt_channels" })
-@Converter(multipleCollectionsAction = MultipleCollectionsAction.ERROR)
+@Converter(multipleCollectionsAction = MultipleCollectionsAction.LAST_CREATED)
 public final class SvtChannel extends AbstractSvtChannel {
 
     public static class SvtChannelCollection extends AbstractSvtChannel.AbstractSvtChannelCollection<SvtChannel> {

Modified: java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtConditionsConverter.java
 =============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtConditionsConverter.java	(original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtConditionsConverter.java	Thu Mar  5 20:54:08 2015
@@ -31,18 +31,18 @@
         DatabaseConditionsManager dbConditionsManager = (DatabaseConditionsManager) manager;
 
         // Get the channel map from the conditions database
-        SvtChannelCollection channels = dbConditionsManager.getCollection(SvtChannelCollection.class);
+        SvtChannelCollection channels = dbConditionsManager.getCachedConditions(SvtChannelCollection.class, "svt_channels").getCachedData();
 
         // Create the SVT conditions object to use to encapsulate SVT condition
         // collections
         conditions.setChannelMap(channels);
 
         // Get the DAQ map from the conditions database
-        SvtDaqMappingCollection daqMap = dbConditionsManager.getCollection(SvtDaqMappingCollection.class);
+        SvtDaqMappingCollection daqMap = dbConditionsManager.getCachedConditions(SvtDaqMappingCollection.class, "svt_daq_map").getCachedData();
         conditions.setDaqMap(daqMap);
 
         // Get the collection of T0 shifts from the conditions database
-        SvtT0ShiftCollection t0Shifts = dbConditionsManager.getCollection(SvtT0ShiftCollection.class);
+        SvtT0ShiftCollection t0Shifts = dbConditionsManager.getCachedConditions(SvtT0ShiftCollection.class, "svt_t0_shifts").getCachedData();
         conditions.setT0Shifts(t0Shifts);
 
         conditions = super.getData(manager, name);

Modified: java/trunk/conditions/src/main/java/org/hps/conditions/svt/TestRunSvtConditionsConverter.java
 =============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/svt/TestRunSvtConditionsConverter.java	(original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/svt/TestRunSvtConditionsConverter.java	Thu Mar  5 20:54:08 2015
@@ -45,18 +45,18 @@
         DatabaseConditionsManager dbConditionsManager = (DatabaseConditionsManager) manager;
 
         // Get the channel map from the conditions database
-        TestRunSvtChannelCollection channels = dbConditionsManager.getCollection(TestRunSvtChannelCollection.class);
+        TestRunSvtChannelCollection channels = dbConditionsManager.getCachedConditions(TestRunSvtChannelCollection.class, "test_run_svt_channels").getCachedData();
 
         // Create the SVT conditions object to use to encapsulate SVT condition
         // collections
         conditions.setChannelMap(channels);
 
         // Get the DAQ map from the conditions database
-        TestRunSvtDaqMappingCollection daqMap = dbConditionsManager.getCollection(TestRunSvtDaqMappingCollection.class);
+        TestRunSvtDaqMappingCollection daqMap = dbConditionsManager.getCachedConditions(TestRunSvtDaqMappingCollection.class, "test_run_svt_daq_map").getCachedData();
         conditions.setDaqMap(daqMap);
 
         // Get the collection of T0 shifts from the conditions database
-        TestRunSvtT0ShiftCollection t0Shifts = dbConditionsManager.getCollection(TestRunSvtT0ShiftCollection.class);
+        TestRunSvtT0ShiftCollection t0Shifts = dbConditionsManager.getCachedConditions(TestRunSvtT0ShiftCollection.class, "test_run_svt_t0_shifts").getCachedData();
         conditions.setT0Shifts(t0Shifts);
 
         conditions = super.getData(manager, name);

Modified: java/trunk/conditions/src/test/java/org/hps/conditions/EngRunConditionsTest.java
 =============================================================================
--- java/trunk/conditions/src/test/java/org/hps/conditions/EngRunConditionsTest.java	(original)
+++ java/trunk/conditions/src/test/java/org/hps/conditions/EngRunConditionsTest.java	Thu Mar  5 20:54:08 2015
@@ -82,17 +82,17 @@
             
             DatabaseConditionsManager conditionsManager = DatabaseConditionsManager.getInstance();                       
             
-            EcalChannelCollection channels = conditionsManager.getCollection(EcalChannelCollection.class);
+            EcalChannelCollection channels = conditionsManager.getCachedConditions(EcalChannelCollection.class, "ecal_channels").getCachedData();
             assertEquals("Wrong number of channels.", nChannels, channels.size());
             assertEquals("Wrong channel collection ID.", 2, channels.getConditionsRecord().getCollectionId());
             checkRunNumbers(channels);
             
-            EcalGainCollection gains = conditionsManager.getCollection(EcalGainCollection.class);
+            EcalGainCollection gains = conditionsManager.getCachedConditions(EcalGainCollection.class, "ecal_gains").getCachedData();
             assertEquals("Wrong number of gains.", nChannels, gains.size());
             assertEquals("Wrong gains collection ID.", 4, gains.getConditionsRecord().getCollectionId());
             checkRunNumbers(gains);
             
-            EcalCalibrationCollection calibrations = conditionsManager.getCollection(EcalCalibrationCollection.class);
+            EcalCalibrationCollection calibrations = conditionsManager.getCachedConditions(EcalCalibrationCollection.class, "ecal_calibrations").getCachedData();
             assertEquals("Wrong number of calibrations.", nChannels, calibrations.size());
             assertEquals("Wrong calibrations collection ID.", 4, calibrations.getConditionsRecord().getCollectionId());
             checkRunNumbers(calibrations);

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	Thu Mar  5 20:54:08 2015
@@ -75,7 +75,8 @@
         public void process(EventHeader event) {
             if (currentRun != event.getRunNumber()) {
                 currentRun = event.getRunNumber();
-                BeamCurrentCollection collection = DatabaseConditionsManager.getInstance().getCollection(BeamCurrentCollection.class);
+                BeamCurrentCollection collection = 
+                        DatabaseConditionsManager.getInstance().getCachedConditions(BeamCurrentCollection.class, "beam_current").getCachedData();
                 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/conditions/src/test/java/org/hps/conditions/ecal/EcalLedTest.java
 =============================================================================
--- java/trunk/conditions/src/test/java/org/hps/conditions/ecal/EcalLedTest.java	(original)
+++ java/trunk/conditions/src/test/java/org/hps/conditions/ecal/EcalLedTest.java	Thu Mar  5 20:54:08 2015
@@ -29,13 +29,13 @@
         DatabaseConditionsManager manager = DatabaseConditionsManager.getInstance();
         
         // LED channel information.
-        EcalLedCollection leds = manager.getCollection(EcalLedCollection.class);
+        EcalLedCollection leds = manager.getCachedConditions(EcalLedCollection.class, "ecal_leds").getCachedData();
         for (EcalLed led : leds) {    	
         	System.out.println(led);
         }
         
         // LED calibration data.
-        EcalLedCalibrationCollection calibrations = manager.getCollection(EcalLedCalibrationCollection.class);
+        EcalLedCalibrationCollection calibrations = manager.getCachedConditions(EcalLedCalibrationCollection.class, "ecal_led_calibrations").getCachedData();
         for (EcalLedCalibration calibration : calibrations) {        
             System.out.println(calibration);
         }

Modified: java/trunk/conditions/src/test/java/org/hps/conditions/svt/SvtConfigurationTest.java
 =============================================================================
--- java/trunk/conditions/src/test/java/org/hps/conditions/svt/SvtConfigurationTest.java	(original)
+++ java/trunk/conditions/src/test/java/org/hps/conditions/svt/SvtConfigurationTest.java	Thu Mar  5 20:54:08 2015
@@ -15,7 +15,7 @@
 
     public void testSvtConfiguration() {
         DatabaseConditionsManager manager = DatabaseConditionsManager.getInstance();
-        SvtConfigurationCollection collection = manager.getCollection(SvtConfigurationCollection.class);
+        SvtConfigurationCollection collection = manager.getCachedConditions(SvtConfigurationCollection.class, "svt_configurations").getCachedData();
 
         for (SvtConfiguration config : collection) {
             Document doc = null;

Modified: java/trunk/conditions/src/test/java/org/hps/conditions/svt/SvtDaqMappingTest.java
 =============================================================================
--- java/trunk/conditions/src/test/java/org/hps/conditions/svt/SvtDaqMappingTest.java	(original)
+++ java/trunk/conditions/src/test/java/org/hps/conditions/svt/SvtDaqMappingTest.java	Thu Mar  5 20:54:08 2015
@@ -30,7 +30,7 @@
         DatabaseConditionsManager conditionsManager = new DatabaseConditionsManager();
         conditionsManager.setDetector("HPS-Proposal2014-v7-2pt2", 0);
 
-        SvtDaqMappingCollection daqMappingCollection = conditionsManager.getCollection(SvtDaqMappingCollection.class);
+        SvtDaqMappingCollection daqMappingCollection = conditionsManager.getCachedConditions(SvtDaqMappingCollection.class, "svt_daq_map").getCachedData();
 
         int totalSensors = 0;
         int febHybridID;

Modified: java/trunk/conditions/src/test/java/org/hps/conditions/svt/TestRunSvtDaqMappingTest.java
 =============================================================================
--- java/trunk/conditions/src/test/java/org/hps/conditions/svt/TestRunSvtDaqMappingTest.java	(original)
+++ java/trunk/conditions/src/test/java/org/hps/conditions/svt/TestRunSvtDaqMappingTest.java	Thu Mar  5 20:54:08 2015
@@ -37,7 +37,7 @@
         conditionsManager.setXmlConfig("/org/hps/conditions/config/conditions_database_testrun_2012.xml");
         conditionsManager.setDetector("HPS-TestRun-v5", 1351);
 
-        TestRunSvtDaqMappingCollection daqMappingCollection = conditionsManager.getCollection(TestRunSvtDaqMappingCollection.class);
+        TestRunSvtDaqMappingCollection daqMappingCollection = conditionsManager.getCachedConditions(TestRunSvtDaqMappingCollection.class, "test_run_svt_daq_map").getCachedData();
 
         int totalSensors = 0;
         this.printDebug("");

Modified: java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/util/DatabaseCheck.java
 =============================================================================
--- java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/util/DatabaseCheck.java	(original)
+++ java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/util/DatabaseCheck.java	Thu Mar  5 20:54:08 2015
@@ -46,7 +46,7 @@
 		
 		// Get the list of EcalChannel objects.
 		EcalChannelCollection channels = ecalConditions.getChannelCollection();
-		EcalLedCollection leds = conditionsManager.getCollection(EcalLedCollection.class);
+		EcalLedCollection leds = conditionsManager.getCachedConditions(EcalLedCollection.class, "ecal_leds").getCachedData();
 		
 		// Map the LED objects to their channels.
 		Map<Integer, EcalLed> ledMap = new HashMap<Integer, EcalLed>();

Modified: java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/daqconfig/FADCConfig.java
 =============================================================================
--- java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/daqconfig/FADCConfig.java	(original)
+++ java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/daqconfig/FADCConfig.java	Thu Mar  5 20:54:08 2015
@@ -55,7 +55,7 @@
 		
 		// Get the channel collection from the database.
 		DatabaseConditionsManager database = DatabaseConditionsManager.getInstance();
-		EcalChannelCollection channels = database.getCollection(EcalChannelCollection.class);
+		EcalChannelCollection channels = database.getCachedConditions(EcalChannelCollection.class, "ecal_channels").getCachedData();
 		
 		// Create a mapping of calorimeter crystal positions to their
 		// corresponding channels. Also place the mapped values into

Modified: java/trunk/users/src/main/java/org/hps/users/celentan/LedAnalysis.java
 =============================================================================
--- java/trunk/users/src/main/java/org/hps/users/celentan/LedAnalysis.java	(original)
+++ java/trunk/users/src/main/java/org/hps/users/celentan/LedAnalysis.java	Thu Mar  5 20:54:08 2015
@@ -122,11 +122,9 @@
 	    LedTopMap = new HashMap< Integer , Integer >(); //key: ecal channel ID. Value: 
 	    LedBotMap = new HashMap< Integer , Integer >();	
 		
-        ChannelCollection = conditionsManager.getCollection(EcalChannelCollection.class);	
-		LedCollection = conditionsManager.getCollection(EcalLedCollection.class);
-	//	ecalConditions = conditionsManager.getCachedConditions(EcalConditions.class, TableConstants.ECAL_CONDITIONS).getCachedData();
-		ecalConditions = conditionsManager.getEcalConditions();
-		
+        ChannelCollection = conditionsManager.getCachedConditions(EcalChannelCollection.class, "ecal_channels").getCachedData();	
+		LedCollection = conditionsManager.getCachedConditions(EcalLedCollection.class, "ecal_leds").getCachedData();
+		ecalConditions = conditionsManager.getEcalConditions();		
 		
 		for (EcalChannel channel : ChannelCollection){
 			chid = channel.getChannelId();

Top of Message | Previous Page | Permalink

Advanced Options


Options

Log In

Log In

Get Password

Get Password


Search Archives

Search Archives


Subscribe or Unsubscribe

Subscribe or Unsubscribe


Archives

November 2017
August 2017
July 2017
January 2017
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
December 2013
November 2013

ATOM RSS1 RSS2



LISTSERV.SLAC.STANFORD.EDU

Secured by F-Secure Anti-Virus CataList Email List Search Powered by the LISTSERV Email List Manager

Privacy Notice, Security Notice and Terms of Use