Print

Print


Author: [log in to unmask]
Date: Mon Nov 17 13:34:39 2014
New Revision: 1541

Log:
Reorganize conditions module classes with better package assignments.  Integrate setup of Detector into conditions system so ConditionsDriver is not required any longer.

Added:
    java/trunk/conditions/src/main/java/org/hps/conditions/api/
    java/trunk/conditions/src/main/java/org/hps/conditions/api/AbstractConditionsObject.java
      - copied, changed from r1522, java/trunk/conditions/src/main/java/org/hps/conditions/AbstractConditionsObject.java
    java/trunk/conditions/src/main/java/org/hps/conditions/api/AbstractIdentifier.java
      - copied, changed from r1522, java/trunk/conditions/src/main/java/org/hps/conditions/AbstractIdentifier.java
    java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsObject.java
      - copied, changed from r1522, java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsObject.java
    java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsObjectCollection.java
      - copied, changed from r1522, java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsObjectCollection.java
    java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsObjectException.java
      - copied, changed from r1522, java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsObjectException.java
    java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsRecord.java
      - copied, changed from r1522, java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsRecord.java
    java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsSeries.java
      - copied, changed from r1522, java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsSeries.java
    java/trunk/conditions/src/main/java/org/hps/conditions/api/FieldValueMap.java
    java/trunk/conditions/src/main/java/org/hps/conditions/database/
    java/trunk/conditions/src/main/java/org/hps/conditions/database/ConditionsObjectConverter.java
      - copied, changed from r1522, java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsObjectConverter.java
    java/trunk/conditions/src/main/java/org/hps/conditions/database/ConditionsRecordConverter.java
      - copied, changed from r1522, java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsRecordConverter.java
    java/trunk/conditions/src/main/java/org/hps/conditions/database/ConditionsSeriesConverter.java
      - copied, changed from r1522, java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsSeriesConverter.java
    java/trunk/conditions/src/main/java/org/hps/conditions/database/ConnectionParameters.java
      - copied, changed from r1522, java/trunk/conditions/src/main/java/org/hps/conditions/ConnectionParameters.java
    java/trunk/conditions/src/main/java/org/hps/conditions/database/DatabaseConditionsManager.java
      - copied, changed from r1526, java/trunk/conditions/src/main/java/org/hps/conditions/DatabaseConditionsManager.java
    java/trunk/conditions/src/main/java/org/hps/conditions/database/QueryBuilder.java
      - copied, changed from r1522, java/trunk/conditions/src/main/java/org/hps/conditions/QueryBuilder.java
    java/trunk/conditions/src/main/java/org/hps/conditions/database/TableConstants.java
      - copied, changed from r1522, java/trunk/conditions/src/main/java/org/hps/conditions/TableConstants.java
    java/trunk/conditions/src/main/java/org/hps/conditions/database/TableMetaData.java
      - copied, changed from r1522, java/trunk/conditions/src/main/java/org/hps/conditions/TableMetaData.java
    java/trunk/conditions/src/test/java/org/hps/conditions/EcalDetectorSetupTest.java
      - copied, changed from r1522, java/trunk/conditions/src/test/java/org/hps/conditions/ecal/EcalDetectorSetupTest.java
    java/trunk/conditions/src/test/java/org/hps/conditions/SvtDetectorSetupTest.java
      - copied, changed from r1522, java/trunk/conditions/src/test/java/org/hps/conditions/svt/SvtDetectorSetupTest.java
    java/trunk/conditions/src/test/java/org/hps/conditions/TestRunSvtDetectorSetupTest.java
      - copied, changed from r1522, java/trunk/conditions/src/test/java/org/hps/conditions/svt/TestRunSvtDetectorSetupTest.java
Removed:
    java/trunk/conditions/src/main/java/org/hps/conditions/AbstractConditionsObject.java
    java/trunk/conditions/src/main/java/org/hps/conditions/AbstractIdentifier.java
    java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsObject.java
    java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsObjectCollection.java
    java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsObjectConverter.java
    java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsObjectException.java
    java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsObjectUtil.java
    java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsRecord.java
    java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsRecordConverter.java
    java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsSeries.java
    java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsSeriesConverter.java
    java/trunk/conditions/src/main/java/org/hps/conditions/ConnectionParameters.java
    java/trunk/conditions/src/main/java/org/hps/conditions/DatabaseConditionsManager.java
    java/trunk/conditions/src/main/java/org/hps/conditions/QueryBuilder.java
    java/trunk/conditions/src/main/java/org/hps/conditions/TableConstants.java
    java/trunk/conditions/src/main/java/org/hps/conditions/TableMetaData.java
    java/trunk/conditions/src/test/java/org/hps/conditions/ecal/EcalDetectorSetupTest.java
    java/trunk/conditions/src/test/java/org/hps/conditions/svt/SvtDetectorSetupTest.java
    java/trunk/conditions/src/test/java/org/hps/conditions/svt/TestRunSvtDetectorSetupTest.java
Modified:
    java/trunk/conditions/src/main/java/org/hps/conditions/AbstractConditionsDriver.java
    java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsDriver.java
    java/trunk/conditions/src/main/java/org/hps/conditions/TestRunConditionsDriver.java
    java/trunk/conditions/src/main/java/org/hps/conditions/beam/BeamConverterRegistry.java
    java/trunk/conditions/src/main/java/org/hps/conditions/beam/BeamCurrent.java
    java/trunk/conditions/src/main/java/org/hps/conditions/cli/AddCommand.java
    java/trunk/conditions/src/main/java/org/hps/conditions/cli/CommandLineTool.java
    java/trunk/conditions/src/main/java/org/hps/conditions/cli/LoadCommand.java
    java/trunk/conditions/src/main/java/org/hps/conditions/cli/PrintCommand.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/EcalConditionsUtil.java
    java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalConverterRegistry.java
    java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalDetectorSetup.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/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/SvtConditionsConverter.java
    java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtConfiguration.java
    java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtConverterRegistry.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/TestRunSvtConditionsConverter.java
    java/trunk/conditions/src/main/java/org/hps/conditions/svt/TestRunSvtDetectorSetup.java
    java/trunk/conditions/src/main/resources/org/hps/conditions/config/conditions_database_testrun_2012.xml
    java/trunk/conditions/src/main/resources/org/hps/conditions/config/conditions_dev.xml
    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/conditions/src/test/java/org/hps/conditions/ecal/EcalConditionsConverterTest.java
    java/trunk/conditions/src/test/java/org/hps/conditions/svt/SvtBadChannelTest.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/TestRunSvtConditionsConverterTest.java
    java/trunk/conditions/src/test/java/org/hps/conditions/svt/TestRunSvtDaqMappingTest.java

Modified: java/trunk/conditions/src/main/java/org/hps/conditions/AbstractConditionsDriver.java
 =============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/AbstractConditionsDriver.java	(original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/AbstractConditionsDriver.java	Mon Nov 17 13:34:39 2014
@@ -1,7 +1,8 @@
 package org.hps.conditions;
 
-import static org.hps.conditions.TableConstants.ECAL_CONDITIONS;
+import static org.hps.conditions.database.TableConstants.ECAL_CONDITIONS;
 
+import org.hps.conditions.database.DatabaseConditionsManager;
 import org.hps.conditions.ecal.EcalConditions;
 import org.hps.conditions.ecal.EcalDetectorSetup;
 import org.lcsim.conditions.ConditionsManager;

Modified: java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsDriver.java
 =============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsDriver.java	(original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsDriver.java	Mon Nov 17 13:34:39 2014
@@ -1,7 +1,8 @@
 package org.hps.conditions;
 
-import static org.hps.conditions.TableConstants.SVT_CONDITIONS;
+import static org.hps.conditions.database.TableConstants.SVT_CONDITIONS;
 
+import org.hps.conditions.database.DatabaseConditionsManager;
 import org.hps.conditions.svt.SvtConditions;
 import org.hps.conditions.svt.SvtDetectorSetup;
 import org.lcsim.geometry.Detector;

Modified: java/trunk/conditions/src/main/java/org/hps/conditions/TestRunConditionsDriver.java
 =============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/TestRunConditionsDriver.java	(original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/TestRunConditionsDriver.java	Mon Nov 17 13:34:39 2014
@@ -1,6 +1,6 @@
 package org.hps.conditions;
 
-import static org.hps.conditions.TableConstants.SVT_CONDITIONS;
+import static org.hps.conditions.database.TableConstants.SVT_CONDITIONS;
 
 import org.hps.conditions.svt.TestRunSvtConditions;
 import org.hps.conditions.svt.TestRunSvtDetectorSetup;

Copied: java/trunk/conditions/src/main/java/org/hps/conditions/api/AbstractConditionsObject.java (from r1522, java/trunk/conditions/src/main/java/org/hps/conditions/AbstractConditionsObject.java)
 =============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/AbstractConditionsObject.java	(original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/api/AbstractConditionsObject.java	Mon Nov 17 13:34:39 2014
@@ -1,9 +1,14 @@
-package org.hps.conditions;
+package org.hps.conditions.api;
 
 import java.sql.ResultSet;
 import java.sql.ResultSetMetaData;
 import java.sql.SQLException;
 import java.util.List;
+
+import org.hps.conditions.database.DatabaseConditionsManager;
+import org.hps.conditions.database.DatabaseUtilities;
+import org.hps.conditions.database.QueryBuilder;
+import org.hps.conditions.database.TableMetaData;
 
 /**
  * The abstract implementation of {@link ConditionsObject}.
@@ -97,7 +102,7 @@
         } catch (SQLException e) {
             throw new ConditionsObjectException(e.getMessage(), this);
         }
-        DatabaseConditionsManager.close(resultSet);
+        DatabaseUtilities.close(resultSet);
         resultSet = null;
     }
 
@@ -181,4 +186,6 @@
         }
         return sb.toString();
     }
+    
+    
 }

Copied: java/trunk/conditions/src/main/java/org/hps/conditions/api/AbstractIdentifier.java (from r1522, java/trunk/conditions/src/main/java/org/hps/conditions/AbstractIdentifier.java)
 =============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/AbstractIdentifier.java	(original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/api/AbstractIdentifier.java	Mon Nov 17 13:34:39 2014
@@ -1,4 +1,4 @@
-package org.hps.conditions;
+package org.hps.conditions.api;
 
 /**
  * This class is a simplistic representation of a packaged identifier for use in

Copied: java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsObject.java (from r1522, java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsObject.java)
 =============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsObject.java	(original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsObject.java	Mon Nov 17 13:34:39 2014
@@ -1,6 +1,6 @@
-package org.hps.conditions;
+package org.hps.conditions.api;
 
-import java.util.LinkedHashMap;
+import org.hps.conditions.database.TableMetaData;
 
 /**
  * This is an ORM interface for accessing conditions database information by
@@ -132,20 +132,5 @@
      * Set the object to read only mode. This cannot be changed back once it is
      * set.
      */
-    void setIsReadOnly();
-
-    /**
-     * Simple class extending <code>java.lang.Map</code> that maps field names
-     * to values.
-     */
-    public static final class FieldValueMap extends LinkedHashMap<String, Object> {
-
-        Object[] valuesToArray() {
-            return values().toArray();
-        }
-
-        String[] fieldsToArray() {
-            return keySet().toArray(new String[] {});
-        }
-    }
+    void setIsReadOnly();   
 }

Copied: java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsObjectCollection.java (from r1522, java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsObjectCollection.java)
 =============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsObjectCollection.java	(original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsObjectCollection.java	Mon Nov 17 13:34:39 2014
@@ -1,10 +1,12 @@
-package org.hps.conditions;
+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.TableMetaData;
 
 public class ConditionsObjectCollection<ObjectType extends ConditionsObject> implements Iterable<ObjectType> {
 
@@ -163,5 +165,5 @@
     @Override
     public Iterator<ObjectType> iterator() {
         return objects.iterator();
-    }
+    }       
 }

Copied: java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsObjectException.java (from r1522, java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsObjectException.java)
 =============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsObjectException.java	(original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsObjectException.java	Mon Nov 17 13:34:39 2014
@@ -1,4 +1,5 @@
-package org.hps.conditions;
+package org.hps.conditions.api;
+
 
 /**
  * Generic Exception type throw by methods of {@link ConditionsObject} or other

Copied: java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsRecord.java (from r1522, java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsRecord.java)
 =============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsRecord.java	(original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsRecord.java	Mon Nov 17 13:34:39 2014
@@ -1,7 +1,10 @@
-package org.hps.conditions;
+package org.hps.conditions.api;
 
 import java.util.Date;
 import java.util.List;
+
+import org.hps.conditions.database.DatabaseConditionsManager;
+import org.hps.conditions.database.QueryBuilder;
 
 /**
  * This class represents a single record from the primary conditions data table,

Copied: java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsSeries.java (from r1522, java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsSeries.java)
 =============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsSeries.java	(original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/api/ConditionsSeries.java	Mon Nov 17 13:34:39 2014
@@ -1,4 +1,4 @@
-package org.hps.conditions;
+package org.hps.conditions.api;
 
 import java.util.ArrayList;
 import java.util.List;

Added: java/trunk/conditions/src/main/java/org/hps/conditions/api/FieldValueMap.java
 =============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/api/FieldValueMap.java	(added)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/api/FieldValueMap.java	Mon Nov 17 13:34:39 2014
@@ -0,0 +1,18 @@
+package org.hps.conditions.api;
+
+import java.util.LinkedHashMap;
+
+/**
+ * Simple class extending <code>java.lang.Map</code> that maps field names
+ * to values.
+ */
+public final class FieldValueMap extends LinkedHashMap<String, Object> {
+
+    Object[] valuesToArray() {
+        return values().toArray();
+    }
+
+    String[] fieldsToArray() {
+        return keySet().toArray(new String[] {});
+    }
+}

Modified: java/trunk/conditions/src/main/java/org/hps/conditions/beam/BeamConverterRegistry.java
 =============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/beam/BeamConverterRegistry.java	(original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/beam/BeamConverterRegistry.java	Mon Nov 17 13:34:39 2014
@@ -1,7 +1,7 @@
 package org.hps.conditions.beam;
 
-import org.hps.conditions.ConditionsObjectConverter;
 import org.hps.conditions.beam.BeamCurrent.BeamCurrentCollection;
+import org.hps.conditions.database.ConditionsObjectConverter;
 
 public final class BeamConverterRegistry {
     public static final class BeamCurrentConverter extends ConditionsObjectConverter<BeamCurrentCollection> {

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	Mon Nov 17 13:34:39 2014
@@ -1,7 +1,7 @@
 package org.hps.conditions.beam;
 
-import org.hps.conditions.AbstractConditionsObject;
-import org.hps.conditions.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObject;
+import org.hps.conditions.api.ConditionsObjectCollection;
 
 /**
  * This class is a simple data holder for the integrated beam current condition.

Modified: java/trunk/conditions/src/main/java/org/hps/conditions/cli/AddCommand.java
 =============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/cli/AddCommand.java	(original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/cli/AddCommand.java	Mon Nov 17 13:34:39 2014
@@ -2,16 +2,16 @@
 
 import java.util.Date;
 
-import org.hps.conditions.ConditionsObject.FieldValueMap;
-import org.hps.conditions.ConditionsObjectException;
-import org.hps.conditions.ConditionsRecord;
-import org.hps.conditions.DatabaseConditionsManager;
-import org.hps.conditions.TableConstants;
+import org.hps.conditions.api.ConditionsObjectException;
+import org.hps.conditions.api.ConditionsRecord;
+import org.hps.conditions.api.FieldValueMap;
+import org.hps.conditions.database.DatabaseConditionsManager;
+import org.hps.conditions.database.TableConstants;
 
 /**
  * This is a command for the conditions CLI that will add a conditions record,
  * making a conditions set with a particular collection ID available by 
- * run number via the {@link org.hps.conditions.DatabaseConditionsManager}.
+ * run number via the {@link org.hps.conditions.database.DatabaseConditionsManager}.
  * 
  * @author Jeremy McCormick <[log in to unmask]>
  */

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	Mon Nov 17 13:34:39 2014
@@ -11,7 +11,7 @@
 import org.apache.commons.cli.Options;
 import org.apache.commons.cli.ParseException;
 import org.apache.commons.cli.PosixParser;
-import org.hps.conditions.DatabaseConditionsManager;
+import org.hps.conditions.database.DatabaseConditionsManager;
 
 /**
  * <p>

Modified: java/trunk/conditions/src/main/java/org/hps/conditions/cli/LoadCommand.java
 =============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/cli/LoadCommand.java	(original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/cli/LoadCommand.java	Mon Nov 17 13:34:39 2014
@@ -11,8 +11,8 @@
 import org.apache.commons.cli.CommandLine;
 import org.apache.commons.cli.Option;
 import org.apache.commons.cli.ParseException;
-import org.hps.conditions.DatabaseConditionsManager;
-import org.hps.conditions.QueryBuilder;
+import org.hps.conditions.database.DatabaseConditionsManager;
+import org.hps.conditions.database.QueryBuilder;
 
 /**
  * <p>

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	Mon Nov 17 13:34:39 2014
@@ -7,12 +7,12 @@
 import java.io.PrintStream;
 
 import org.apache.commons.cli.Option;
-import org.hps.conditions.ConditionsObjectCollection;
-import org.hps.conditions.ConditionsRecord;
-import org.hps.conditions.ConditionsRecord.ConditionsRecordCollection;
-import org.hps.conditions.ConditionsSeries;
-import org.hps.conditions.DatabaseConditionsManager;
-import org.hps.conditions.TableMetaData;
+import org.hps.conditions.api.ConditionsObjectCollection;
+import org.hps.conditions.api.ConditionsRecord;
+import org.hps.conditions.api.ConditionsSeries;
+import org.hps.conditions.api.ConditionsRecord.ConditionsRecordCollection;
+import org.hps.conditions.database.DatabaseConditionsManager;
+import org.hps.conditions.database.TableMetaData;
 import org.lcsim.conditions.ConditionsManager.ConditionsNotFoundException;
 
 /**

Copied: java/trunk/conditions/src/main/java/org/hps/conditions/database/ConditionsObjectConverter.java (from r1522, java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsObjectConverter.java)
 =============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsObjectConverter.java	(original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/database/ConditionsObjectConverter.java	Mon Nov 17 13:34:39 2014
@@ -1,9 +1,15 @@
-package org.hps.conditions;
+package org.hps.conditions.database;
 
 import java.sql.ResultSet;
+import java.sql.ResultSetMetaData;
 import java.sql.SQLException;
 
-import org.hps.conditions.ConditionsRecord.ConditionsRecordCollection;
+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;
+import org.hps.conditions.api.FieldValueMap;
 import org.lcsim.conditions.ConditionsConverter;
 import org.lcsim.conditions.ConditionsManager;
 
@@ -51,7 +57,7 @@
             throw new RuntimeException("Table meta data for " + name + " was not found.");
 
         // Create a collection to return.
-        ConditionsObjectCollection collection = ConditionsObjectUtil.createCollection(tableMetaData);
+        ConditionsObjectCollection collection = createCollection(tableMetaData);
 
         // Get the ConditionsRecord with the meta-data, which will use the
         // current run
@@ -100,7 +106,7 @@
                 // Loop over rows.
                 while (resultSet.next()) {
                     // Create new ConditionsObject.
-                    ConditionsObject newObject = ConditionsObjectUtil.createConditionsObject(resultSet, tableMetaData);
+                    ConditionsObject newObject = createConditionsObject(resultSet, tableMetaData);
 
                     // Add new object to collection, which will also assign it a
                     // collection ID if applicable.
@@ -118,4 +124,42 @@
     public boolean allowMultipleCollections() {
         return true;
     }
+    
+    static final ConditionsObject createConditionsObject(ResultSet resultSet, TableMetaData tableMetaData) throws SQLException {
+        ResultSetMetaData metaData = resultSet.getMetaData();
+        int rowId = resultSet.getInt(1);
+        int ncols = metaData.getColumnCount();
+        FieldValueMap fieldValues = new FieldValueMap();
+        for (int i = 2; i <= ncols; i++) {
+            fieldValues.put(metaData.getColumnName(i), resultSet.getObject(i));
+        }
+        ConditionsObject newObject = null;
+        try {
+            newObject = tableMetaData.getObjectClass().newInstance();
+        } catch (InstantiationException | IllegalAccessException e) {
+            throw new RuntimeException(e);
+        }
+        try {
+            newObject.setRowId(rowId);
+        } catch (ConditionsObjectException e) {
+            throw new RuntimeException(e);
+        }
+        try {
+            newObject.setTableMetaData(tableMetaData);
+        } catch (ConditionsObjectException e) {
+            throw new RuntimeException(e);
+        }
+        newObject.setFieldValues(fieldValues);
+        return newObject;
+    }
+    
+    static final ConditionsObjectCollection<?> createCollection(TableMetaData tableMetaData) {
+        ConditionsObjectCollection<?> collection;
+        try {
+            collection = tableMetaData.getCollectionClass().newInstance();
+        } catch (InstantiationException | IllegalAccessException e) {
+            throw new RuntimeException(e);
+        }
+        return collection;
+    }
 }

Copied: java/trunk/conditions/src/main/java/org/hps/conditions/database/ConditionsRecordConverter.java (from r1522, java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsRecordConverter.java)
 =============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsRecordConverter.java	(original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/database/ConditionsRecordConverter.java	Mon Nov 17 13:34:39 2014
@@ -1,9 +1,12 @@
-package org.hps.conditions;
+package org.hps.conditions.database;
 
 import java.sql.ResultSet;
 import java.sql.SQLException;
 
-import org.hps.conditions.ConditionsRecord.ConditionsRecordCollection;
+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;
 
 /**
@@ -44,7 +47,7 @@
 
         try {
             while (resultSet.next()) {
-                ConditionsObject conditionsRecord = ConditionsObjectUtil.createConditionsObject(resultSet, tableMetaData);
+                ConditionsObject conditionsRecord = ConditionsObjectConverter.createConditionsObject(resultSet, tableMetaData);
                 try {
                     collection.add(conditionsRecord);
                 } catch (ConditionsObjectException e) {

Copied: java/trunk/conditions/src/main/java/org/hps/conditions/database/ConditionsSeriesConverter.java (from r1522, java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsSeriesConverter.java)
 =============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsSeriesConverter.java	(original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/database/ConditionsSeriesConverter.java	Mon Nov 17 13:34:39 2014
@@ -1,9 +1,14 @@
-package org.hps.conditions;
+package org.hps.conditions.database;
 
 import java.sql.ResultSet;
 import java.sql.SQLException;
 
-import org.hps.conditions.ConditionsRecord.ConditionsRecordCollection;
+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;
+import org.hps.conditions.api.ConditionsSeries;
 
 /**
  * <p>
@@ -39,8 +44,7 @@
      * conditions, such as sets of bad channels that are combined together as in
      * the test run.
      * 
-     * @param conditionsKey The name of the conditions key to retrieve from the
-     *            conditions table.
+     * @param conditionsKey The name of the conditions key to retrieve from the conditions table.
      * @return The <tt>ConditionsSeries</tt> matching <tt>conditionsKey</tt>
      *         which type inferred from target variable.
      */
@@ -62,7 +66,7 @@
         // Loop over conditions records. This will usually just be one record.
         for (ConditionsRecord conditionsRecord : conditionsRecords.getObjects()) {
 
-            ConditionsObjectCollection collection = ConditionsObjectUtil.createCollection(tableMetaData);
+            ConditionsObjectCollection collection = ConditionsRecordConverter.createCollection(tableMetaData);
 
             try {
                 collection.setCollectionId(conditionsRecord.getCollectionId());
@@ -88,7 +92,7 @@
                 // Loop over rows.
                 while (resultSet.next()) {
                     // Create new ConditionsObject.
-                    ConditionsObject newObject = ConditionsObjectUtil.createConditionsObject(resultSet, tableMetaData);
+                    ConditionsObject newObject = ConditionsRecordConverter.createConditionsObject(resultSet, tableMetaData);
 
                     // Add new object to collection, which will also assign it a
                     // collection ID if applicable.

Copied: java/trunk/conditions/src/main/java/org/hps/conditions/database/ConnectionParameters.java (from r1522, java/trunk/conditions/src/main/java/org/hps/conditions/ConnectionParameters.java)
 =============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/ConnectionParameters.java	(original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/database/ConnectionParameters.java	Mon Nov 17 13:34:39 2014
@@ -1,4 +1,4 @@
-package org.hps.conditions;
+package org.hps.conditions.database;
 
 import java.io.File;
 import java.io.FileInputStream;

Copied: java/trunk/conditions/src/main/java/org/hps/conditions/database/DatabaseConditionsManager.java (from r1526, java/trunk/conditions/src/main/java/org/hps/conditions/DatabaseConditionsManager.java)
 =============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/DatabaseConditionsManager.java	(original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/database/DatabaseConditionsManager.java	Mon Nov 17 13:34:39 2014
@@ -1,4 +1,7 @@
-package org.hps.conditions;
+package org.hps.conditions.database;
+
+import static org.hps.conditions.database.TableConstants.ECAL_CONDITIONS;
+import static org.hps.conditions.database.TableConstants.SVT_CONDITIONS;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -17,7 +20,17 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import org.hps.conditions.ConditionsRecord.ConditionsRecordCollection;
+import org.hps.conditions.api.ConditionsObject;
+import org.hps.conditions.api.ConditionsObjectCollection;
+import org.hps.conditions.api.ConditionsRecord;
+import org.hps.conditions.api.ConditionsRecord.ConditionsRecordCollection;
+import org.hps.conditions.api.ConditionsSeries;
+import org.hps.conditions.ecal.EcalConditions;
+import org.hps.conditions.ecal.EcalDetectorSetup;
+import org.hps.conditions.svt.SvtConditions;
+import org.hps.conditions.svt.SvtDetectorSetup;
+import org.hps.conditions.svt.TestRunSvtConditions;
+import org.hps.conditions.svt.TestRunSvtDetectorSetup;
 import org.jdom.Document;
 import org.jdom.Element;
 import org.jdom.JDOMException;
@@ -61,6 +74,9 @@
     protected boolean isInitialized = false;
     protected String resourceConfig = null;
     protected File fileConfig = null;
+    protected String ecalName = "Ecal";
+    protected String svtName = "Tracker";
+    protected boolean isFrozen = false;
     
     /**
      * Default connection parameters which will use the SLAC database by default,
@@ -103,6 +119,7 @@
         registerConditionsConverter(new DetectorConditionsConverter());
         setupConnectionFromSystemProperty();
         register();
+        this.setRun(-1);
     }
 
     /**
@@ -215,25 +232,41 @@
     @Override
     public void setDetector(String detectorName, int runNumber) throws ConditionsNotFoundException {
 
-        logger.finest("detector " + detectorName + " and run #" + runNumber);
+        logger.finest("setDetector detector " + detectorName + " and run #" + runNumber);
         
-        if (!isInitialized) {
-            initialize(runNumber);
-        }
-        
-        // Let the super class do whatever it think it needs to do.
-        super.setDetector(detectorName, runNumber);
+        if (!isInitialized || !detectorName.equals(this.getDetector()) || runNumber != this.getRun()) {
+            if (!isInitialized) {
+                logger.fine("first time initialization");
+            }
+            if (!this.isFrozen) {
+                if (!detectorName.equals(this.getDetector())) {
+                    logger.fine("detector name is different");
+                }
+                if (runNumber != this.getRun()) {
+                    logger.fine("run number is different");
+                }            
+                logger.fine("setDetector with new detector " + detectorName + " and run #" + runNumber);
+                logger.fine("old detector " + this.getDetector() + " and run #" + this.getRun());
+                initialize(detectorName, runNumber);
+            } else {
+                logger.finest("Conditions changed but will be ignored because manager is frozen.");
+            }
+        }
+    }
+    
+    public boolean isTestRun(int runNumber) {
+        return runNumber > 0 && runNumber <= TEST_RUN_MAX_RUN;
     }
     
     /**
      * Perform all necessary initialization, including setup of the XML
      * configuration and opening a connection to the database.
      */
-    protected void initialize(int runNumber) {
-
-        logger.log(Level.CONFIG, "initializing " + getClass().getSimpleName());
-
-        // Did the user not specify a config? 
+    protected void initialize(String detectorName, int runNumber) throws ConditionsNotFoundException {
+
+        logger.log(Level.CONFIG, "initializing " + getClass().getSimpleName() + " with detector " + detectorName + " and run number " + runNumber);
+
+        // Did the user not specify a config?
         if (resourceConfig == null && fileConfig == null) {
             // We will try to pick a reasonable config based on the run number...
             if (runNumber > 0 && runNumber <= TEST_RUN_MAX_RUN) {
@@ -261,17 +294,36 @@
             }
         }
         
+        // Open the database connection.
         if (!isConnected()) {
             openConnection();
         } else {
             logger.config("using existing connection " + connectionParameters.getConnectionString());
         }
         
+        // Call the super class's setDetector method to construct the detector object.
+        super.setDetector(detectorName, runNumber);
+        
+        // Load conditions onto the ECAL subdetector object. 
+        try {
+            setupEcal();
+        } catch (Exception e) {
+            logger.log(Level.SEVERE, "Error loading ECAL conditions onto detector.", e);
+        }
+        
+        // Load conditions onto the SVT subdetector object.
+        try {
+            setupSvt(runNumber);
+        } catch (Exception e) {
+            e.printStackTrace();
+            logger.log(Level.SEVERE,  "Error loading SVT conditions onto detector.", e);
+        }                       
+                       
         this.isInitialized = true;
 
         logger.config(getClass().getSimpleName() + " is initialized");
     }
-
+    
     /**
      * Get the current lcsim compact <code>Detector</code> object.
      * @return The detector object.
@@ -457,7 +509,7 @@
         } catch (SQLException x) {
             throw new RuntimeException("Error in SQL query: " + query, x);
         } finally {
-            close(statement);
+            DatabaseUtilities.close(statement);
         }
         return keys;
     }
@@ -495,41 +547,47 @@
         }
         return foundConditionsRecords;
     }
-
-    /**
-     * Close a JDBC <code>Statement</code>.
-     * @param statement the Statement to close
-     */
-    static void close(Statement statement) {
-        if (statement != null) {
-            try {
-                if (!statement.isClosed())
-                    statement.close();
-                else
-                    logger.log(Level.WARNING, "Statement is already closed.");
-            } catch (SQLException x) {
-                throw new RuntimeException("Failed to close statement.", x);
-            }
-        }
-    }
-
-    /**
-     * Close the JDBC the <code>Statement</code> connected to the <code>ResultSet</code>.
-     * @param resultSet the ResultSet to close
-     */
-    static void close(ResultSet resultSet) {
-        if (resultSet != null) {
-            try {
-                Statement statement = resultSet.getStatement();
-                if (!statement.isClosed())
-                    statement.close();
-                else
-                    logger.log(Level.WARNING, "Statement is already closed.");
-            } catch (SQLException x) {
-                throw new RuntimeException("Failed to close statement.", x);
-            }
-        }
-    }
+    
+    public void freeze() {
+        if (this.getDetector() != null && this.getRun() != -1) {
+            this.isFrozen = true;
+            logger.config("The conditions manager has been frozen and will ignore subsequent updates until unfrozen.");
+        } else {
+            logger.warning("The conditions manager cannot be frozen now because detector or run number are not valid.");
+        }
+    }
+    
+    public void unfreeze() {
+        this.isFrozen = false;
+    }
+    
+    public boolean isFrozen() {
+        return this.isFrozen;
+    }
+       
+    private void setupEcal() {
+        logger.config("setting up ECAL conditions on detector");
+        EcalConditions conditions = getCachedConditions(EcalConditions.class, ECAL_CONDITIONS).getCachedData();
+        EcalDetectorSetup loader = new EcalDetectorSetup();
+        loader.load(this.getDetectorObject().getSubdetector(ecalName), conditions);
+        logger.fine("done setting up ECAL conditions on detector");
+    }
+    
+    private void setupSvt(int runNumber) {
+        if (isTestRun(runNumber)) {
+            logger.config("loading Test Run SVT detector conditions");
+            TestRunSvtConditions svtConditions = getCachedConditions(TestRunSvtConditions.class, SVT_CONDITIONS).getCachedData();
+            TestRunSvtDetectorSetup loader = new TestRunSvtDetectorSetup();
+            loader.load(getDetectorObject().getSubdetector(svtName), svtConditions);
+        } else {
+            logger.config("loading default SVT detector conditions");
+            SvtConditions svtConditions = getCachedConditions(SvtConditions.class, SVT_CONDITIONS).getCachedData();
+            SvtDetectorSetup loader = new SvtDetectorSetup();
+            loader.load(getDetectorObject().getSubdetector(svtName), svtConditions);
+        }
+        logger.config("done loading SVT detector conditions");
+    }
+    
 
     /**
      * Check if connected to the database.

Copied: java/trunk/conditions/src/main/java/org/hps/conditions/database/QueryBuilder.java (from r1522, java/trunk/conditions/src/main/java/org/hps/conditions/QueryBuilder.java)
 =============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/QueryBuilder.java	(original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/database/QueryBuilder.java	Mon Nov 17 13:34:39 2014
@@ -1,10 +1,10 @@
-package org.hps.conditions;
+package org.hps.conditions.database;
 
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
 
-import org.hps.conditions.ConditionsObject.FieldValueMap;
+import org.hps.conditions.api.FieldValueMap;
 
 /**
  * This is a static utility class for building SQL queries for the conditions

Copied: java/trunk/conditions/src/main/java/org/hps/conditions/database/TableConstants.java (from r1522, java/trunk/conditions/src/main/java/org/hps/conditions/TableConstants.java)
 =============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/TableConstants.java	(original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/database/TableConstants.java	Mon Nov 17 13:34:39 2014
@@ -1,4 +1,4 @@
-package org.hps.conditions;
+package org.hps.conditions.database;
 
 /**
  * <p>

Copied: java/trunk/conditions/src/main/java/org/hps/conditions/database/TableMetaData.java (from r1522, java/trunk/conditions/src/main/java/org/hps/conditions/TableMetaData.java)
 =============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/TableMetaData.java	(original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/database/TableMetaData.java	Mon Nov 17 13:34:39 2014
@@ -1,7 +1,10 @@
-package org.hps.conditions;
+package org.hps.conditions.database;
 
 import java.util.LinkedHashSet;
 import java.util.Set;
+
+import org.hps.conditions.api.ConditionsObject;
+import org.hps.conditions.api.ConditionsObjectCollection;
 
 /**
  * <p>
@@ -43,7 +46,7 @@
      * Get the type of object this table maps onto.
      * @return The type of object.
      */
-    Class<? extends ConditionsObject> getObjectClass() {
+    public Class<? extends ConditionsObject> getObjectClass() {
         return objectClass;
     }
 

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	Mon Nov 17 13:34:39 2014
@@ -1,7 +1,7 @@
 package org.hps.conditions.ecal;
 
-import org.hps.conditions.AbstractConditionsObject;
-import org.hps.conditions.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObject;
+import org.hps.conditions.api.ConditionsObjectCollection;
 
 /**
  * This class represents an ECAL channel that is considered "bad" which means it

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	Mon Nov 17 13:34:39 2014
@@ -1,7 +1,7 @@
 package org.hps.conditions.ecal;
 
-import org.hps.conditions.AbstractConditionsObject;
-import org.hps.conditions.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObject;
+import org.hps.conditions.api.ConditionsObjectCollection;
 
 /**
  * This class is a simplistic representation of ECal pedestal and noise values

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	Mon Nov 17 13:34:39 2014
@@ -3,10 +3,10 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.hps.conditions.AbstractConditionsObject;
-import org.hps.conditions.AbstractIdentifier;
-import org.hps.conditions.ConditionsObjectCollection;
-import org.hps.conditions.ConditionsObjectException;
+import org.hps.conditions.api.AbstractConditionsObject;
+import org.hps.conditions.api.AbstractIdentifier;
+import org.hps.conditions.api.ConditionsObjectCollection;
+import org.hps.conditions.api.ConditionsObjectException;
 import org.lcsim.detector.identifier.ExpandedIdentifier;
 import org.lcsim.detector.identifier.IExpandedIdentifier;
 import org.lcsim.detector.identifier.IIdentifierHelper;

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	Mon Nov 17 13:34:39 2014
@@ -10,7 +10,7 @@
  * including gain, pedestal and bad channel settings, per crystal.
  * 
  * Unlike most conditions data types, it does not extend
- * {@link org.hps.conditions.ConditionsObject}, because it is a composite object
+ * {@link org.hps.conditions.api.ConditionsObject}, because it is a composite object
  * containing data assembled from many other
  * {@link org.hps.conditions.ConditionsObjects}.
  * 

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	Mon Nov 17 13:34:39 2014
@@ -1,15 +1,18 @@
 package org.hps.conditions.ecal;
+
+import java.util.logging.Logger;
 
 import org.lcsim.conditions.ConditionsConverter;
 import org.lcsim.conditions.ConditionsManager;
-
+import org.lcsim.util.log.LogUtil;
+import org.hps.conditions.database.DatabaseConditionsManager;
 import org.hps.conditions.ecal.EcalBadChannel.EcalBadChannelCollection;
 import org.hps.conditions.ecal.EcalCalibration.EcalCalibrationCollection;
 import org.hps.conditions.ecal.EcalChannel.ChannelId;
 import org.hps.conditions.ecal.EcalChannel.EcalChannelCollection;
 import org.hps.conditions.ecal.EcalGain.EcalGainCollection;
 import org.hps.conditions.ecal.EcalTimeShift.EcalTimeShiftCollection;
-import org.hps.conditions.DatabaseConditionsManager;
+import org.hps.conditions.svt.AbstractSvtConditionsConverter;
 
 /**
  * This class loads all ECal conditions into an {@link EcalConditions} object
@@ -21,6 +24,8 @@
  */
 public final class EcalConditionsConverter implements ConditionsConverter<EcalConditions> {
 
+    static Logger logger = LogUtil.create(AbstractSvtConditionsConverter.class);
+    
     /**
      * Create ECAL conditions object containing all data for the current run.
      */
@@ -56,7 +61,7 @@
                 conditions.getChannelConstants(channel).setBadChannel(true);
             }
         } catch (RuntimeException e) {
-            System.out.println("[ " + conditions.getClass().getSimpleName() + "]: A set of bad channels were not found!");
+            logger.warning("A set of bad channels were not found.");
         }
 
         // Get the ECal calibrations from the conditions database and add them

Modified: java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalConditionsUtil.java
 =============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalConditionsUtil.java	(original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalConditionsUtil.java	Mon Nov 17 13:34:39 2014
@@ -1,7 +1,7 @@
 package org.hps.conditions.ecal;
 
-import org.hps.conditions.DatabaseConditionsManager;
-import org.hps.conditions.TableConstants;
+import org.hps.conditions.database.DatabaseConditionsManager;
+import org.hps.conditions.database.TableConstants;
 import org.hps.conditions.ecal.EcalChannel.GeometryId;
 import org.lcsim.detector.identifier.IIdentifier;
 import org.lcsim.detector.identifier.IIdentifierHelper;

Modified: java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalConverterRegistry.java
 =============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalConverterRegistry.java	(original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalConverterRegistry.java	Mon Nov 17 13:34:39 2014
@@ -1,6 +1,6 @@
 package org.hps.conditions.ecal;
 
-import org.hps.conditions.ConditionsObjectConverter;
+import org.hps.conditions.database.ConditionsObjectConverter;
 import org.hps.conditions.ecal.EcalBadChannel.EcalBadChannelCollection;
 import org.hps.conditions.ecal.EcalCalibration.EcalCalibrationCollection;
 import org.hps.conditions.ecal.EcalChannel.EcalChannelCollection;

Modified: java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalDetectorSetup.java
 =============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalDetectorSetup.java	(original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalDetectorSetup.java	Mon Nov 17 13:34:39 2014
@@ -22,6 +22,8 @@
      */
     public void load(Subdetector subdetector, EcalConditions conditions) {
 
+        System.out.println("EcalDetectorSetup.load");
+        
         // Find EcalCrystal objects.
         List<EcalCrystal> crystals = subdetector.getDetectorElement().findDescendants(EcalCrystal.class);
 
@@ -33,9 +35,13 @@
 
         // Get the full channel map created by the conditions system.
         EcalChannelCollection channelMap = conditions.getChannelCollection();
+        System.out.println("got " + channelMap.getObjects().size() + " channels");
 
         // Build the map of geometry IDs.
+        System.out.println("building geometry map...");
         channelMap.buildGeometryMap(helper, system);
+        System.out.println("geometry map has " + channelMap.geometryMap.size() + " entries");
+        
 
         // Loop over crystals.
         for (EcalCrystal crystal : crystals) {

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	Mon Nov 17 13:34:39 2014
@@ -1,7 +1,7 @@
 package org.hps.conditions.ecal;
 
-import org.hps.conditions.AbstractConditionsObject;
-import org.hps.conditions.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObject;
+import org.hps.conditions.api.ConditionsObjectCollection;
 
 /**
  * A simplistic representation of gain values from the ECal conditions database.

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	Mon Nov 17 13:34:39 2014
@@ -1,7 +1,7 @@
 package org.hps.conditions.ecal;
 
-import org.hps.conditions.AbstractConditionsObject;
-import org.hps.conditions.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObject;
+import org.hps.conditions.api.ConditionsObjectCollection;
 
 /**
  * A conditions class for representing the setup of the LED system in the ECAL

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	Mon Nov 17 13:34:39 2014
@@ -1,7 +1,7 @@
 package org.hps.conditions.ecal;
 
-import org.hps.conditions.AbstractConditionsObject;
-import org.hps.conditions.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObject;
+import org.hps.conditions.api.ConditionsObjectCollection;
 
 /**
  * This class represents a time shift calibration value for an ECAL channel.

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	Mon Nov 17 13:34:39 2014
@@ -4,9 +4,9 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.hps.conditions.AbstractConditionsObject;
-import org.hps.conditions.ConditionsObjectCollection;
-import org.hps.conditions.ConditionsObjectException;
+import org.hps.conditions.api.AbstractConditionsObject;
+import org.hps.conditions.api.ConditionsObjectCollection;
+import org.hps.conditions.api.ConditionsObjectException;
 import org.hps.util.Pair;
 
 /**

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	Mon Nov 17 13:34:39 2014
@@ -1,13 +1,15 @@
 package org.hps.conditions.svt;
 
-import org.lcsim.conditions.ConditionsConverter;
-import org.lcsim.conditions.ConditionsManager;
+import java.util.logging.Logger;
 
-import org.hps.conditions.DatabaseConditionsManager;
+import org.hps.conditions.database.DatabaseConditionsManager;
 import org.hps.conditions.svt.SvtBadChannel.SvtBadChannelCollection;
 import org.hps.conditions.svt.SvtCalibration.SvtCalibrationCollection;
 import org.hps.conditions.svt.SvtGain.SvtGainCollection;
 import org.hps.conditions.svt.SvtShapeFitParameters.SvtShapeFitParametersCollection;
+import org.lcsim.conditions.ConditionsConverter;
+import org.lcsim.conditions.ConditionsManager;
+import org.lcsim.util.log.LogUtil;
 
 /**
  * Abstract class providing some of the common methods used in creating SVT
@@ -20,6 +22,7 @@
 public abstract class AbstractSvtConditionsConverter<T extends AbstractSvtConditions> implements ConditionsConverter<T> {
 
     protected T conditions;
+    static Logger logger = LogUtil.create(AbstractSvtConditionsConverter.class);
 
     /**
      * Create and return the SVT conditions object.
@@ -55,7 +58,7 @@
                 conditions.getChannelConstants(channel).setBadChannel(true);
             }
         } catch (RuntimeException e) {
-            System.out.println("[ " + conditions.getClass().getSimpleName() + "]: A set of bad channels were not found!");
+            logger.warning("A set of SVT bad channels was not found.");
         }
 
         // Get the gains and offsets from the conditions database
@@ -68,4 +71,4 @@
 
         return conditions;
     }
-}
+}

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	Mon Nov 17 13:34:39 2014
@@ -1,9 +1,8 @@
 package org.hps.conditions.svt;
 
 import org.lcsim.detector.tracker.silicon.HpsSiSensor;
-
-import org.hps.conditions.AbstractConditionsObject;
-import org.hps.conditions.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObject;
+import org.hps.conditions.api.ConditionsObjectCollection;
 import org.hps.util.Pair;
 
 /**

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	Mon Nov 17 13:34:39 2014
@@ -1,7 +1,7 @@
 package org.hps.conditions.svt;
 
-import org.hps.conditions.AbstractConditionsObject;
-import org.hps.conditions.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObject;
+import org.hps.conditions.api.ConditionsObjectCollection;
 import org.hps.util.Pair;
 
 /**
@@ -30,7 +30,7 @@
      * 
      * @return The t0 shift.
      */
-    double getT0Shift() {
+    public double getT0Shift() {
         return getFieldValue("t0_shift");
     }
 }

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	Mon Nov 17 13:34:39 2014
@@ -1,7 +1,7 @@
 package org.hps.conditions.svt;
 
-import org.hps.conditions.AbstractConditionsObject;
-import org.hps.conditions.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObject;
+import org.hps.conditions.api.ConditionsObjectCollection;
 
 /**
  * <p>

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	Mon Nov 17 13:34:39 2014
@@ -1,7 +1,7 @@
 package org.hps.conditions.svt;
 
-import org.hps.conditions.AbstractConditionsObject;
-import org.hps.conditions.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObject;
+import org.hps.conditions.api.ConditionsObjectCollection;
 
 public final class SvtBadChannel extends AbstractConditionsObject {
 

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	Mon Nov 17 13:34:39 2014
@@ -1,7 +1,7 @@
 package org.hps.conditions.svt;
 
-import org.hps.conditions.AbstractConditionsObject;
-import org.hps.conditions.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObject;
+import org.hps.conditions.api.ConditionsObjectCollection;
 
 import static org.hps.conditions.svt.SvtChannel.MAX_NUMBER_OF_SAMPLES;
 

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	Mon Nov 17 13:34:39 2014
@@ -1,7 +1,7 @@
 package org.hps.conditions.svt;
 
 import org.lcsim.conditions.ConditionsManager;
-import org.hps.conditions.DatabaseConditionsManager;
+import org.hps.conditions.database.DatabaseConditionsManager;
 import org.hps.conditions.svt.SvtChannel.SvtChannelCollection;
 import org.hps.conditions.svt.SvtDaqMapping.SvtDaqMappingCollection;
 import org.hps.conditions.svt.SvtT0Shift.SvtT0ShiftCollection;

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	Mon Nov 17 13:34:39 2014
@@ -5,8 +5,8 @@
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.hps.conditions.AbstractConditionsObject;
-import org.hps.conditions.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObject;
+import org.hps.conditions.api.ConditionsObjectCollection;
 import org.jdom.Document;
 import org.jdom.JDOMException;
 import org.jdom.input.SAXBuilder;

Modified: java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtConverterRegistry.java
 =============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtConverterRegistry.java	(original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtConverterRegistry.java	Mon Nov 17 13:34:39 2014
@@ -1,6 +1,6 @@
 package org.hps.conditions.svt;
 
-import org.hps.conditions.ConditionsObjectConverter;
+import org.hps.conditions.database.ConditionsObjectConverter;
 import org.hps.conditions.svt.SvtAlignmentConstant.SvtAlignmentCollection;
 import org.hps.conditions.svt.SvtBadChannel.SvtBadChannelCollection;
 import org.hps.conditions.svt.SvtCalibration.SvtCalibrationCollection;

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	Mon Nov 17 13:34:39 2014
@@ -6,10 +6,9 @@
 import org.hps.conditions.svt.SvtChannel.SvtChannelCollection;
 import org.hps.conditions.svt.SvtDaqMapping.SvtDaqMappingCollection;
 import org.hps.conditions.svt.SvtT0Shift.SvtT0ShiftCollection;
+import org.hps.util.Pair;
 import org.lcsim.detector.tracker.silicon.HpsSiSensor;
-import org.lcsim.geometry.Detector;
 import org.lcsim.geometry.compact.Subdetector;
-import org.hps.util.Pair;
 
 /**
  * This class puts {@link SvtConditions} data onto <code>HpsSiSensor</code>

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	Mon Nov 17 13:34:39 2014
@@ -1,7 +1,7 @@
 package org.hps.conditions.svt;
 
-import org.hps.conditions.AbstractConditionsObject;
-import org.hps.conditions.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObject;
+import org.hps.conditions.api.ConditionsObjectCollection;
 
 /**
  * This class represents gain measurements for a single SVT channel.
@@ -16,7 +16,7 @@
      * Get the channel ID.
      * @return The channel ID.
      */
-    int getChannelID() {
+    public int getChannelID() {
         return getFieldValue(Integer.class, "svt_channel_id");
     }
 
@@ -24,7 +24,7 @@
      * Get the gain.
      * @return The gain value.
      */
-    double getGain() {
+    public double getGain() {
         return getFieldValue(Double.class, "gain");
     }
 
@@ -32,7 +32,7 @@
      * Get the offset.
      * @return The offset value.
      */
-    double getOffset() {
+    public double getOffset() {
         return getFieldValue(Double.class, "offset");
     }
 }

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	Mon Nov 17 13:34:39 2014
@@ -1,7 +1,7 @@
 package org.hps.conditions.svt;
 
-import org.hps.conditions.AbstractConditionsObject;
-import org.hps.conditions.ConditionsObjectCollection;
+import org.hps.conditions.api.AbstractConditionsObject;
+import org.hps.conditions.api.ConditionsObjectCollection;
 
 /**
  * This class encapsulates the shape fit parameters for an SVT channel.

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	Mon Nov 17 13:34:39 2014
@@ -1,7 +1,7 @@
 package org.hps.conditions.svt;
 
 import org.lcsim.conditions.ConditionsManager;
-import org.hps.conditions.DatabaseConditionsManager;
+import org.hps.conditions.database.DatabaseConditionsManager;
 import org.hps.conditions.svt.TestRunSvtChannel.TestRunSvtChannelCollection;
 import org.hps.conditions.svt.TestRunSvtDaqMapping.TestRunSvtDaqMappingCollection;
 import org.hps.conditions.svt.TestRunSvtT0Shift.TestRunSvtT0ShiftCollection;

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	Mon Nov 17 13:34:39 2014
@@ -3,13 +3,13 @@
 import java.util.Collection;
 import java.util.List;
 
-import org.lcsim.geometry.compact.Subdetector;
-import org.lcsim.detector.tracker.silicon.HpsSiSensor;
-import org.lcsim.detector.tracker.silicon.HpsTestRunSiSensor;
 import org.hps.conditions.svt.TestRunSvtChannel.TestRunSvtChannelCollection;
 import org.hps.conditions.svt.TestRunSvtDaqMapping.TestRunSvtDaqMappingCollection;
 import org.hps.conditions.svt.TestRunSvtT0Shift.TestRunSvtT0ShiftCollection;
 import org.hps.util.Pair;
+import org.lcsim.detector.tracker.silicon.HpsSiSensor;
+import org.lcsim.detector.tracker.silicon.HpsTestRunSiSensor;
+import org.lcsim.geometry.compact.Subdetector;
 
 /**
  * This class puts {@link TestRunSvtConditions} data onto

Modified: java/trunk/conditions/src/main/resources/org/hps/conditions/config/conditions_database_testrun_2012.xml
 =============================================================================
--- java/trunk/conditions/src/main/resources/org/hps/conditions/config/conditions_database_testrun_2012.xml	(original)
+++ java/trunk/conditions/src/main/resources/org/hps/conditions/config/conditions_database_testrun_2012.xml	Mon Nov 17 13:34:39 2014
@@ -3,7 +3,7 @@
     <converters>
 
         <!-- ConditionsRecord converter -->
-        <converter class="org.hps.conditions.ConditionsRecordConverter"/>
+        <converter class="org.hps.conditions.database.ConditionsRecordConverter"/>
 
         <!-- SVT converters -->
         <converter class="org.hps.conditions.svt.TestRunSvtConditionsConverter"/>
@@ -31,8 +31,8 @@
     
         <table key="conditions_records" name="conditions">
             <classes> 
-                <object class="org.hps.conditions.ConditionsRecord"/>
-                <collection class="org.hps.conditions.ConditionsRecord$ConditionsRecordCollection"/>
+                <object class="org.hps.conditions.api.ConditionsRecord"/>
+                <collection class="org.hps.conditions.api.ConditionsRecord$ConditionsRecordCollection"/>
             </classes>
             <fields>
                 <field name="run_start" />

Modified: java/trunk/conditions/src/main/resources/org/hps/conditions/config/conditions_dev.xml
 =============================================================================
--- java/trunk/conditions/src/main/resources/org/hps/conditions/config/conditions_dev.xml	(original)
+++ java/trunk/conditions/src/main/resources/org/hps/conditions/config/conditions_dev.xml	Mon Nov 17 13:34:39 2014
@@ -3,7 +3,7 @@
     <converters>
 
         <!-- ConditionsRecord converter -->
-        <converter class="org.hps.conditions.ConditionsRecordConverter"/>
+        <converter class="org.hps.conditions.database.ConditionsRecordConverter"/>
 
         <!-- SVT converters -->
         <converter class="org.hps.conditions.svt.SvtConditionsConverter"/>
@@ -34,8 +34,8 @@
     
         <table key="conditions_records" name="conditions">
             <classes> 
-                <object class="org.hps.conditions.ConditionsRecord"/>
-                <collection class="org.hps.conditions.ConditionsRecord$ConditionsRecordCollection"/>
+                <object class="org.hps.conditions.api.ConditionsRecord"/>
+                <collection class="org.hps.conditions.api.ConditionsRecord$ConditionsRecordCollection"/>
             </classes>
             <fields>
                 <field name="run_start" />

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	Mon Nov 17 13:34:39 2014
@@ -2,11 +2,15 @@
 
 import junit.framework.TestCase;
 
+import org.hps.conditions.api.ConditionsObjectException;
+import org.hps.conditions.database.DatabaseConditionsManager;
+import org.hps.conditions.database.TableConstants;
+import org.hps.conditions.database.TableMetaData;
 import org.hps.conditions.svt.SvtGain;
 import org.hps.conditions.svt.SvtGain.SvtGainCollection;
 
 /**
- * Test some basic operations of {@link org.hps.conditions.ConditionsObject}
+ * Test some basic operations of {@link org.hps.conditions.api.ConditionsObject}
  * using the {@link org.hps.conditions.svt.SvtGain} type.
  * 
  * @author Jeremy McCormick <[log in to unmask]>

Copied: java/trunk/conditions/src/test/java/org/hps/conditions/EcalDetectorSetupTest.java (from r1522, java/trunk/conditions/src/test/java/org/hps/conditions/ecal/EcalDetectorSetupTest.java)
 =============================================================================
--- java/trunk/conditions/src/test/java/org/hps/conditions/ecal/EcalDetectorSetupTest.java	(original)
+++ java/trunk/conditions/src/test/java/org/hps/conditions/EcalDetectorSetupTest.java	Mon Nov 17 13:34:39 2014
@@ -1,10 +1,12 @@
-package org.hps.conditions.ecal;
+package org.hps.conditions;
 
 import java.util.List;
 
 import junit.framework.TestCase;
 
-import org.hps.conditions.DatabaseConditionsManager;
+import org.hps.conditions.database.DatabaseConditionsManager;
+import org.hps.conditions.ecal.EcalConditions;
+import org.hps.conditions.ecal.EcalDetectorSetup;
 import org.lcsim.detector.converter.compact.EcalCrystal;
 import org.lcsim.geometry.Detector;
 

Copied: java/trunk/conditions/src/test/java/org/hps/conditions/SvtDetectorSetupTest.java (from r1522, java/trunk/conditions/src/test/java/org/hps/conditions/svt/SvtDetectorSetupTest.java)
 =============================================================================
--- java/trunk/conditions/src/test/java/org/hps/conditions/svt/SvtDetectorSetupTest.java	(original)
+++ java/trunk/conditions/src/test/java/org/hps/conditions/SvtDetectorSetupTest.java	Mon Nov 17 13:34:39 2014
@@ -1,10 +1,12 @@
-package org.hps.conditions.svt;
+package org.hps.conditions;
 
 import java.util.List;
 
 import junit.framework.TestCase;
 
-import org.hps.conditions.DatabaseConditionsManager;
+import org.hps.conditions.database.DatabaseConditionsManager;
+import org.hps.conditions.svt.SvtConditions;
+import org.hps.conditions.svt.SvtDetectorSetup;
 import org.lcsim.detector.tracker.silicon.HpsSiSensor;
 import org.lcsim.geometry.Detector;
 

Copied: java/trunk/conditions/src/test/java/org/hps/conditions/TestRunSvtDetectorSetupTest.java (from r1522, java/trunk/conditions/src/test/java/org/hps/conditions/svt/TestRunSvtDetectorSetupTest.java)
 =============================================================================
--- java/trunk/conditions/src/test/java/org/hps/conditions/svt/TestRunSvtDetectorSetupTest.java	(original)
+++ java/trunk/conditions/src/test/java/org/hps/conditions/TestRunSvtDetectorSetupTest.java	Mon Nov 17 13:34:39 2014
@@ -1,10 +1,12 @@
-package org.hps.conditions.svt;
+package org.hps.conditions;
 
 import java.util.List;
 
 import junit.framework.TestCase;
 
-import org.hps.conditions.DatabaseConditionsManager;
+import org.hps.conditions.database.DatabaseConditionsManager;
+import org.hps.conditions.svt.TestRunSvtConditions;
+import org.hps.conditions.svt.TestRunSvtDetectorSetup;
 import org.lcsim.detector.tracker.silicon.HpsTestRunSiSensor;
 import org.lcsim.geometry.Detector;
 

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	Mon Nov 17 13:34:39 2014
@@ -1,6 +1,6 @@
 package org.hps.conditions.beam;
 
-import static org.hps.conditions.TableConstants.BEAM_CURRENT;
+import static org.hps.conditions.database.TableConstants.BEAM_CURRENT;
 
 import java.io.File;
 import java.net.URL;

Modified: java/trunk/conditions/src/test/java/org/hps/conditions/ecal/EcalConditionsConverterTest.java
 =============================================================================
--- java/trunk/conditions/src/test/java/org/hps/conditions/ecal/EcalConditionsConverterTest.java	(original)
+++ java/trunk/conditions/src/test/java/org/hps/conditions/ecal/EcalConditionsConverterTest.java	Mon Nov 17 13:34:39 2014
@@ -2,7 +2,7 @@
 
 import junit.framework.TestCase;
 
-import org.hps.conditions.DatabaseConditionsManager;
+import org.hps.conditions.database.DatabaseConditionsManager;
 import org.lcsim.conditions.ConditionsManager.ConditionsNotFoundException;
 
 /**

Modified: java/trunk/conditions/src/test/java/org/hps/conditions/svt/SvtBadChannelTest.java
 =============================================================================
--- java/trunk/conditions/src/test/java/org/hps/conditions/svt/SvtBadChannelTest.java	(original)
+++ java/trunk/conditions/src/test/java/org/hps/conditions/svt/SvtBadChannelTest.java	Mon Nov 17 13:34:39 2014
@@ -9,8 +9,8 @@
 
 import junit.framework.TestCase;
 
-import org.hps.conditions.DatabaseConditionsManager;
 import org.hps.conditions.TestRunConditionsDriver;
+import org.hps.conditions.database.DatabaseConditionsManager;
 import org.lcsim.detector.tracker.silicon.HpsSiSensor;
 import org.lcsim.event.EventHeader;
 import org.lcsim.geometry.Detector;

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	Mon Nov 17 13:34:39 2014
@@ -4,8 +4,8 @@
 
 import junit.framework.TestCase;
 
-import org.hps.conditions.DatabaseConditionsManager;
-import org.hps.conditions.TableConstants;
+import org.hps.conditions.database.DatabaseConditionsManager;
+import org.hps.conditions.database.TableConstants;
 import org.hps.conditions.svt.SvtConfiguration.SvtConfigurationCollection;
 import org.jdom.Document;
 import org.jdom.JDOMException;

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	Mon Nov 17 13:34:39 2014
@@ -2,8 +2,8 @@
 
 import junit.framework.TestCase;
 
-import org.hps.conditions.DatabaseConditionsManager;
-import org.hps.conditions.TableMetaData;
+import org.hps.conditions.database.DatabaseConditionsManager;
+import org.hps.conditions.database.TableMetaData;
 import org.hps.conditions.svt.SvtDaqMapping.SvtDaqMappingCollection;
 
 /**

Modified: java/trunk/conditions/src/test/java/org/hps/conditions/svt/TestRunSvtConditionsConverterTest.java
 =============================================================================
--- java/trunk/conditions/src/test/java/org/hps/conditions/svt/TestRunSvtConditionsConverterTest.java	(original)
+++ java/trunk/conditions/src/test/java/org/hps/conditions/svt/TestRunSvtConditionsConverterTest.java	Mon Nov 17 13:34:39 2014
@@ -2,7 +2,7 @@
 
 import junit.framework.TestCase;
 
-import org.hps.conditions.DatabaseConditionsManager;
+import org.hps.conditions.database.DatabaseConditionsManager;
 
 public class TestRunSvtConditionsConverterTest extends TestCase {
 

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	Mon Nov 17 13:34:39 2014
@@ -2,8 +2,8 @@
 
 import junit.framework.TestCase;
 
-import org.hps.conditions.DatabaseConditionsManager;
-import org.hps.conditions.TableMetaData;
+import org.hps.conditions.database.DatabaseConditionsManager;
+import org.hps.conditions.database.TableMetaData;
 import org.hps.conditions.svt.TestRunSvtDaqMapping.TestRunSvtDaqMappingCollection;
 
 /**