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  November 2014

HPS-SVN November 2014

Subject:

r1462 - in /java/trunk/conditions/src: main/java/org/hps/conditions/ main/java/org/hps/conditions/config/ main/java/org/hps/conditions/svt/ main/resources/HPS-ECalCommissioning/ main/resources/org/hps/conditions/config/ test/java/org/hps/conditions/ test/java/org/hps/conditions/ecal/ test/java/org/hps/conditions/svt/

From:

[log in to unmask]

Reply-To:

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

Date:

Mon, 10 Nov 2014 08:01:34 -0000

Content-Type:

text/plain

Parts/Attachments:

Parts/Attachments

text/plain (1159 lines)

Author: [log in to unmask]
Date: Mon Nov 10 00:01:21 2014
New Revision: 1462

Log:
Attempt to cleanup the conditions module mess.

Removed:
    java/trunk/conditions/src/main/java/org/hps/conditions/config/
    java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtConfigurationLoader.java
    java/trunk/conditions/src/main/resources/HPS-ECalCommissioning/
    java/trunk/conditions/src/main/resources/org/hps/conditions/config/conditions_database_testrun_2012_connection.properties
    java/trunk/conditions/src/main/resources/org/hps/conditions/config/conditions_dev.properties
    java/trunk/conditions/src/main/resources/org/hps/conditions/config/conditions_dev_local.properties
    java/trunk/conditions/src/main/resources/org/hps/conditions/config/jlab_hpsuser.properties
    java/trunk/conditions/src/test/java/org/hps/conditions/ConditionsDevTest.java
    java/trunk/conditions/src/test/java/org/hps/conditions/ConditionsSeriesConverterTest.java
    java/trunk/conditions/src/test/java/org/hps/conditions/ConditionsTestRunTest.java
    java/trunk/conditions/src/test/java/org/hps/conditions/DatabaseConditionsManagerTest.java
    java/trunk/conditions/src/test/java/org/hps/conditions/ecal/EcalDaqTest.java
    java/trunk/conditions/src/test/java/org/hps/conditions/ecal/EcalGainCompareTest.java
    java/trunk/conditions/src/test/java/org/hps/conditions/ecal/EcalLedTest.java
    java/trunk/conditions/src/test/java/org/hps/conditions/ecal/PhysicalToGainTest.java
    java/trunk/conditions/src/test/java/org/hps/conditions/ecal/TestRunEcalConditionsConverterTest.java
    java/trunk/conditions/src/test/java/org/hps/conditions/svt/SvtConditionsConverterTest.java
    java/trunk/conditions/src/test/java/org/hps/conditions/svt/SvtGainInsertTest.java
Modified:
    java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsDriver.java
    java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsObjectConverter.java
    java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsRecordConverter.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/TestRunConditionsDriver.java
    java/trunk/conditions/src/test/java/org/hps/conditions/ConditionsObjectTest.java
    java/trunk/conditions/src/test/java/org/hps/conditions/ecal/EcalConditionsConverterTest.java
    java/trunk/conditions/src/test/java/org/hps/conditions/ecal/EcalDetectorSetupTest.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/SvtDetectorSetupTest.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
    java/trunk/conditions/src/test/java/org/hps/conditions/svt/TestRunSvtDetectorSetupTest.java

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 10 00:01:21 2014
@@ -1,8 +1,6 @@
 package org.hps.conditions;
 
 import static org.hps.conditions.TableConstants.SVT_CONDITIONS;
-
-import java.io.File;
 
 import org.hps.conditions.svt.SvtConditions;
 import org.hps.conditions.svt.SvtDetectorSetup;
@@ -18,37 +16,15 @@
  */
 public class ConditionsDriver extends AbstractConditionsDriver {
 
-    // Default conditions system XML config, which is for the Test Run 2012 database.
-    static final String DB_CONFIG = "/org/hps/conditions/config/conditions_dev.xml";
-
-    // Default database connection parameters, which points to the SLAC development database.
-    static final String DB_CONNECTION = "/org/hps/conditions/config/conditions_dev.properties";
-    
-    File connectionFile;
-
     public ConditionsDriver() {
         if (ConditionsManager.defaultInstance() instanceof DatabaseConditionsManager) {
         	getLogger().config("ConditionsDriver found existing DatabaseConditionsManager.");
             manager = (DatabaseConditionsManager) ConditionsManager.defaultInstance();
         } else {
             manager = new DatabaseConditionsManager();
-            manager.setConnectionResource(DB_CONNECTION);
-            manager.configure(DB_CONFIG);
-            manager.register();
         }
     }
-   
-    public void setConnectionFile(String connectionFile) {
-    	getLogger().config("set connectionFile to " + connectionFile);
-    	this.connectionFile = new File(connectionFile);
-    	manager.setConnectionProperties(this.connectionFile);
-    }
-    
-    public void setConnectionResource(String connectionResource) {
-    	getLogger().config("set connection resource to " + connectionResource);
-    	manager.setConnectionResource(connectionResource);
-    }
-   
+      
     /**
      * Load the {@link SvtConditions} set onto <code>HpsSiSensor</code>.
      * @param detector The detector to update.

Modified: 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/ConditionsObjectConverter.java	Mon Nov 10 00:01:21 2014
@@ -62,8 +62,7 @@
             // There were multiple records returned.
             if (!allowMultipleCollections())
                 // If there are multiple records returned but this is not allowed by the
-                // converter,
-                // then this is a fatal error.
+                // converter, then this is a fatal error.
                 throw new RuntimeException("Multiple conditions records returned but this is not allowed.");
         } else {
             // There was a single conditions record so the collection information can be

Modified: 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/ConditionsRecordConverter.java	Mon Nov 10 00:01:21 2014
@@ -11,7 +11,7 @@
  * @author Jeremy McCormick <[log in to unmask]>
  * @version $Id: ConditionsRecordConverter.java,v 1.5 2013/10/15 23:24:47 jeremy Exp $
  */
-public final class ConditionsRecordConverter extends ConditionsObjectConverter<ConditionsRecordCollection> {
+class ConditionsRecordConverter extends ConditionsObjectConverter<ConditionsRecordCollection> {
 
     /**
      * Get the ConditionsRecords for a run based on current configuration of the

Modified: 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/ConditionsSeriesConverter.java	Mon Nov 10 00:01:21 2014
@@ -20,7 +20,7 @@
  * 
  * @author Jeremy McCormick <[log in to unmask]>
  */
-public class ConditionsSeriesConverter {
+class ConditionsSeriesConverter {
 
     DatabaseConditionsManager conditionsManager = null;
     

Modified: 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/ConnectionParameters.java	Mon Nov 10 00:01:21 2014
@@ -17,14 +17,20 @@
  * @author Jeremy McCormick <[log in to unmask]>
  * @version $Id: ConnectionParameters.java,v 1.8 2013/10/04 01:54:16 jeremy Exp $
  */
-public final class ConnectionParameters {
+public class ConnectionParameters {
 
-    private String user;
-    private String password;
-    private int port;
-    private String hostname;
-    private String database;
+    protected String user;
+    protected String password;
+    protected int port;
+    protected String hostname;
+    protected String database;
 
+    /**
+     * Protected constructor for sub-classes.
+     */	
+    protected ConnectionParameters() {
+    }
+    
     /**
      * Fully qualified constructor.
      * @param user The user name.
@@ -41,11 +47,11 @@
         this.port = port;
     }
 
-    /**
+   /**
      * Get Properties object for this connection.
      * @return The Properties for this connection.
      */
-  public  Properties getConnectionProperties() {
+    public Properties getConnectionProperties() {
         Properties p = new Properties();
         p.put("user", user);
         p.put("password", password);

Modified: 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/DatabaseConditionsManager.java	Mon Nov 10 00:01:21 2014
@@ -5,6 +5,8 @@
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
 import java.sql.Connection;
 import java.sql.ResultSet;
 import java.sql.SQLException;
@@ -51,23 +53,13 @@
     protected List<TableMetaData> tableMetaData;
     protected List<ConditionsConverter> converters;
     protected File connectionPropertiesFile;
-    //protected ConditionsReader baseReader;
     protected static Logger logger = null;
-    protected ConnectionParameters connectionParameters;
+    protected ConnectionParameters connectionParameters = new DefaultConnectionParameters();
     protected Connection connection;
-    protected boolean wasConfigured = false;
     protected boolean isConnected = false;
     protected ConditionsSeriesConverter conditionsSeriesConverter = new ConditionsSeriesConverter(this);
-
-    /**
-     * Class constructor.
-     */
-    public DatabaseConditionsManager() {
-        registerConditionsConverter(new DetectorConditionsConverter());
-        //baseReader = new BaseClasspathConditionsReader();
-        setupConnectionFromSystemProperty();
-    }
-
+    protected static final String DEFAULT_CONFIG = "/org/hps/conditions/config/conditions_dev.xml";
+    
     /**
      * Simple log formatter for this class.
      */
@@ -79,7 +71,7 @@
             return sb.toString();
         }
     }
-
+    
     /**
      * Setup the logger for this class, with initial level of ALL.
      */
@@ -93,6 +85,38 @@
         logger.addHandler(handler);
         logger.config("logger initialized with level " + handler.getLevel());
     }
+    
+    /**
+     * Default connection parameters.
+     */
+    static class DefaultConnectionParameters extends ConnectionParameters {
+    	DefaultConnectionParameters() {
+    		this.port = 3306;
+    		try {
+				if (InetAddress.getLocalHost().getHostName().contains("jlab.org")) {
+					this.hostname = "jmysql.jlab.org";
+					this.database = "hps_conditions";
+				} else {
+					this.hostname = "ppa-jeremym-l.slac.stanford.edu";
+					this.database = "hps_conditions_dev";
+				}
+			} catch (UnknownHostException e) {
+				throw new RuntimeException(e);
+			}
+    		this.user = "hpsuser";
+    		this.password = "darkphoton";
+    	}
+    }
+
+    /**
+     * Class constructor.
+     */
+    public DatabaseConditionsManager() {
+        registerConditionsConverter(new DetectorConditionsConverter());
+        setupConnectionFromSystemProperty();
+        configure(DEFAULT_CONFIG);
+        register();        
+    }
 
     /**
      * Register this conditions manager as the global default.
@@ -110,11 +134,10 @@
 
         // Perform default setup if necessary.
         if (!ConditionsManager.isSetup()) {
-            DatabaseConditionsManager manager = new DatabaseConditionsManager();
-            manager.register();
-        }
-
-        // Get the instance of the manager from the conditions system and
+            new DatabaseConditionsManager();
+        }
+
+        // Get the instance of the manager from the conditions system and check
         // that the type is valid.
         ConditionsManager manager = ConditionsManager.defaultInstance();
         if (!(manager instanceof DatabaseConditionsManager)) {
@@ -127,15 +150,98 @@
     public Connection getConnection() {
         return this.connection;
     }
-
-    /**
-     * This method catches changes to the detector name and run number. Somewhat
-     * unintuitively, this method is actually called every time an lcsim event is created,
-     * so it has internal logic to figure out if the conditions system actually needs to
-     * be updated.
+    
+    /**
+     * Open the database connection.
+     */
+    public void openConnection() {
+        if (connectionParameters == null) {
+            throw new RuntimeException("The connection parameters are null.");
+        }
+        logger.config("opening connection to " + connectionParameters.getConnectionString());
+        logger.config("host " + connectionParameters.getHostname());
+        logger.config("port " + connectionParameters.getPort());
+        logger.config("user " + connectionParameters.getUser());
+        logger.config("password " + connectionParameters.getPassword());
+        logger.config("database " + connectionParameters.getDatabase());
+        connection = connectionParameters.createConnection();
+        logger.config("created connection " + connectionParameters.getConnectionString());
+        isConnected = true;
+    }
+
+    /**
+     * Close the database connection.
+     */
+    public void closeConnection() {
+        logger.config("closing connection");
+        if (connection != null) {
+            try {
+                if (!connection.isClosed()) {
+                    connection.close();
+                    logger.config("connection closed");
+                } else {
+                    logger.config("connection already closed");
+                }
+            } catch (SQLException e) {
+                throw new RuntimeException(e);
+            }
+        }
+        connection = null;
+        connectionParameters = null;
+        isConnected = false;
+    }
+
+    @Override
+    public void finalize() {
+        if (isConnected())
+            closeConnection();
+    }
+    
+    /**
+     * Get multiple <code>ConditionsObjectCollection</code> objects that may have overlapping time validity information.
+     * @param conditionsKey The conditions key.
+     * @return The <code>ConditionsSeries</code> containing the matching <code>ConditionsObjectCollection</code>. 
+     */
+    public <CollectionType extends ConditionsObjectCollection> ConditionsSeries<CollectionType> getConditionsSeries(String conditionsKey) {
+        return conditionsSeriesConverter.createSeries(conditionsKey);
+    }
+    
+	/**
+	 * Get a given collection of the given type from the conditions database.
+	 * @param type Class type
+	 * @return A collection of objects of the given type from the conditions database
+	 */
+	public <CollectionType extends ConditionsObjectCollection> CollectionType getCollection(Class<CollectionType> type){
+		TableMetaData metaData = this.findTableMetaData(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 = this.getCachedConditions(type, tableName).getCachedData(); 
+		return conditionsCollection; 
+	}
+       
+    /**
+     * Simple utility method to cast the generic <code>ConditionsManager</code> to this class.
+     * @param conditionsManager The <code>ConditionsManager</code>.
+     * @return The <code>DatabaseConditionsManager</code> object.
+     */
+    public static DatabaseConditionsManager castFrom(ConditionsManager conditionsManager) {
+        if (conditionsManager instanceof DatabaseConditionsManager) {
+            return (DatabaseConditionsManager) conditionsManager;
+        } else {
+            throw new RuntimeException("The conditionsManager points to an object of the wrong type: " + conditionsManager.getClass().getCanonicalName());
+        }
+    }    
+
+    /**
+     * This method catches changes to the detector name and run number. 
+     * It is actually called every time an lcsim event is created, so it has internal logic 
+     * to figure out if the conditions system actually needs to be updated.
      */
     @Override
     public void setDetector(String detectorName, int runNumber) throws ConditionsNotFoundException {
+    	    	
         // Detector update.
         if (getDetector() == null || !getDetector().equals(detectorName)) {
             logger.config("setting new detector " + detectorName);
@@ -150,7 +256,6 @@
 
         // Let the super class do whatever it think it needs to do.
         super.setDetector(detectorName, runNumber);        
-        //super.setConditionsReader(this.baseReader, detectorName);
     }
 
     /**
@@ -158,10 +263,6 @@
      * @param detectorName the name of the detector
      */
     void setup(String detectorName) {
-        //if (baseReader instanceof BaseClasspathConditionsReader) {
-        //    ((BaseClasspathConditionsReader) baseReader).setResourcePath(detectorName);
-        //    logger.config("set resource path " + detectorName + " on conditions reader");
-        //}
         if (!isConnected())
             openConnection();
         else
@@ -234,18 +335,6 @@
         logger.config("setting connection resource " + resource);
         connectionParameters = ConnectionParameters.fromResource(resource);
     }
-
-    /**
-     * Set externally the base ConditionsReader that will be used to find non-database
-     * conditions such as the compact.xml file for the detector.
-     * @param reader The base ConditionsReader.
-     */
-    // FIXME: This doesn't work because the super class has some convoluted logic that always overrides
-    //        whatever is set manually as the conditions reader.
-    //public void setBaseConditionsReader(ConditionsReader baseReader) {
-    //    logger.config("setting conditions reader to " + baseReader.getClass().getCanonicalName());
-    //    this.baseReader = baseReader;
-    //}
 
     /**
      * Get the next collection ID for a database conditions table.
@@ -418,14 +507,6 @@
     }
 
     /**
-     * Return if the manager was configured e.g. from an XML configuration file.
-     * @return true if manager was configured
-     */
-    public boolean wasConfigured() {
-        return wasConfigured;
-    }
-
-    /**
      * Get the current run number.
      * @return the current run number
      */
@@ -491,9 +572,6 @@
 
         // Load the converter classes.
         loadConverters(config);
-
-        // Set configured state to true.
-        wasConfigured = true;
     }
 
     /**
@@ -501,7 +579,7 @@
      * @param in The InputStream.
      * @return The XML document.
      */
-    private Document createDocument(InputStream in) {
+    private static Document createDocument(InputStream in) {
         // Create an XML document from an InputStream.
         SAXBuilder builder = new SAXBuilder();
         Document config = null;
@@ -519,12 +597,14 @@
      */
     private void loadConverters(Document config) {
 
-        // Load the list of converters from the "converters" section of the config
-        // document.
-        (this.new ConditionsConverterLoader()).load(config.getRootElement().getChild("converters"));
+    	if (this.converters != null) {
+            this.converters.clear();
+    	}
+    	
+        // Load the list of converters from the "converters" section of the config document.
+        loadConditionsConverters(config.getRootElement().getChild("converters"));
 
         // Register the list of converters with this manager.
-        // FIXME: Should this happen here or when setup is called on the manager?
         for (ConditionsConverter converter : converters) {
             registerConditionsConverter(converter);
             logger.config("registered converter " + converter.getClass().getSimpleName());
@@ -536,168 +616,85 @@
      * @param config The XML document.
      */
     private void loadTableMetaData(Document config) {
+    	
+        if (this.tableMetaData != null) {
+        	this.tableMetaData.clear();
+        }
+        	
         // Load table meta data from the "tables" section of the config document.
-        (this.new TableMetaDataLoader()).load(config.getRootElement().getChild("tables"));
+        loadTableMetaData(config.getRootElement().getChild("tables"));
     }
     
     /**
      * Setup the database connection from a file specified by Java system property setting.
      * This is possible overridden by subsequent API calls to {@link #setConnectionProperties(File)} or
-     * {@link #setConnectionResource(String)}, as it is setup in this class's constructor.
+     * {@link #setConnectionResource(String)}, as it is called in the class's constructor.
      */
     private void setupConnectionFromSystemProperty() {
         String systemPropertiesConnectionPath = (String)System.getProperties().get(connectionProperty);
         if (systemPropertiesConnectionPath != null) {
             File f = new File(systemPropertiesConnectionPath);
             if (!f.exists())
-                throw new RuntimeException("Connection properties specified from system property does not exist!");
+                throw new RuntimeException("Connection properties specified from system property does not exist.");
             this.setConnectionProperties(f);
         }
     }
-
-    /**
-     * Open the database connection.
-     */
-    public void openConnection() {
-        if (connectionParameters == null)
-            throw new RuntimeException("The connection parameters were not configured.");
-        connection = connectionParameters.createConnection();
-        logger.config("created connection " + connectionParameters.getConnectionString());
-        isConnected = true;
-    }
-
-    /**
-     * Close the database connection.
-     */
-    public void closeConnection() {
-        logger.config("closing connection");
-        if (connection != null) {
-            try {
-                if (!connection.isClosed()) {
-                    connection.close();
-                    logger.config("connection closed");
-                } else {
-                    logger.config("connection already closed");
-                }
-            } catch (SQLException e) {
-                throw new RuntimeException(e);
-            }
-        }
-        connection = null;
-        connectionParameters = null;
-    }
-
-    @Override
-    public void finalize() {
-        if (isConnected())
-            closeConnection();
-    }
-    
-    /**
-     * Get multiple <code>ConditionsObjectCollection</code> objects that may have overlapping time validity information.
-     * @param conditionsKey The conditions key.
-     * @return The <code>ConditionsSeries</code> containing the matching <code>ConditionsObjectCollection</code>. 
-     */
-    public <CollectionType extends ConditionsObjectCollection> ConditionsSeries<CollectionType> getConditionsSeries(String conditionsKey) {
-        return conditionsSeriesConverter.createSeries(conditionsKey);
-    }
     
 	/**
-	 * Get a given collection of the given type from the conditions database.
-	 * 
-	 * @param type Class type
-	 * @return A collection of objects of the given type from the conditions database
+	 * This method expects an XML element containing child "table" elements.
+	 * @param element
 	 */
-	public <CollectionType extends ConditionsObjectCollection> CollectionType getCollection(Class<CollectionType> type){
-		
-		// Get the table name from the database configuration
-		TableMetaData metaData = this.findTableMetaData(type);
-		if(metaData == null) 
-			throw new RuntimeException("Table name data for condition of type " + type.getSimpleName() + " was not found.");
-		String tableName = metaData.getTableName();
-
-		// FIXME: This should be changed to catch a conditions record not found exception instead of 
-		// 		  a runtime exception.
-		CollectionType conditionsCollection = this.getCachedConditions(type, tableName).getCachedData(); 
-		return conditionsCollection; 
+	@SuppressWarnings("unchecked")
+	void loadTableMetaData(Element element) {
+
+		tableMetaData = new ArrayList<TableMetaData>();
+
+		for (Iterator<?> iterator = element.getChildren("table").iterator(); iterator.hasNext();) {
+			Element tableElement = (Element) iterator.next();
+			String tableName = tableElement.getAttributeValue("name");
+			String key = tableElement.getAttributeValue("key");
+
+			Element classesElement = tableElement.getChild("classes");
+			Element classElement = classesElement.getChild("object");
+			Element collectionElement = classesElement.getChild("collection");
+
+			String className = classElement.getAttributeValue("class");
+			String collectionName = collectionElement.getAttributeValue("class");
+
+			Class<? extends ConditionsObject> objectClass;
+			Class<?> rawObjectClass;
+			try {
+				rawObjectClass = Class.forName(className);
+				if (!ConditionsObject.class.isAssignableFrom(rawObjectClass)) {
+					throw new RuntimeException("The class " + rawObjectClass.getSimpleName() + " does not extend ConditionsObject.");
+				}
+				objectClass = (Class<? extends ConditionsObject>) rawObjectClass;
+			} catch (ClassNotFoundException e) {
+				throw new RuntimeException(e);
+			}
+
+			Class<? extends ConditionsObjectCollection<?>> collectionClass;
+			Class<?> rawCollectionClass;
+			try {
+				rawCollectionClass = Class.forName(collectionName);
+				if (!ConditionsObjectCollection.class.isAssignableFrom(rawCollectionClass))
+					throw new RuntimeException("The class " + rawCollectionClass.getSimpleName() + " does not extend ConditionsObjectCollection.");
+				collectionClass = (Class<? extends ConditionsObjectCollection<?>>) rawCollectionClass;
+			} catch (ClassNotFoundException e) {
+				throw new RuntimeException(e);
+			}
+
+			TableMetaData tableData = new TableMetaData(key, tableName, objectClass, collectionClass);
+			Element fieldsElement = tableElement.getChild("fields");
+			for (Iterator<?> fieldsIterator = fieldsElement.getChildren("field").iterator(); fieldsIterator.hasNext();) {
+				Element fieldElement = (Element) fieldsIterator.next();
+				String fieldName = fieldElement.getAttributeValue("name");
+				tableData.addField(fieldName);
+			}
+
+			tableMetaData.add(tableData);
+		}
 	}
-       
-    /**
-     * Simple utility method to cast the generic <code>ConditionsManager</code> to this class.
-     * @param conditionsManager The <code>ConditionsManager</code>.
-     * @return The <code>DatabaseConditionsManager</code> object.
-     */
-    public static DatabaseConditionsManager castFrom(ConditionsManager conditionsManager) {
-        if (conditionsManager instanceof DatabaseConditionsManager) {
-            return (DatabaseConditionsManager) conditionsManager;
-        } else {
-            throw new RuntimeException("The conditionsManager points to an object of the wrong type: " + conditionsManager.getClass().getCanonicalName());
-        }
-    }    
-        
-    /**
-     * This class loads an XML configuration of conditions table meta data.
-     * 
-     * @author Jeremy McCormick <[log in to unmask]>
-     */
-    class TableMetaDataLoader {
-
-        /**
-         * This method expects an XML element containing child "table" elements.
-         * @param element
-         */
-        @SuppressWarnings("unchecked")
-        void load(Element element) {
-
-            tableMetaData = new ArrayList<TableMetaData>();
-
-            for (Iterator<?> iterator = element.getChildren("table").iterator(); iterator.hasNext();) {
-                Element tableElement = (Element) iterator.next();
-                String tableName = tableElement.getAttributeValue("name");
-                String key = tableElement.getAttributeValue("key");
-
-                Element classesElement = tableElement.getChild("classes");
-                Element classElement = classesElement.getChild("object");
-                Element collectionElement = classesElement.getChild("collection");
-
-                String className = classElement.getAttributeValue("class");
-                String collectionName = collectionElement.getAttributeValue("class");
-
-                Class<? extends ConditionsObject> objectClass;
-                Class<?> rawObjectClass;
-                try {
-                    rawObjectClass = Class.forName(className);
-                    if (!ConditionsObject.class.isAssignableFrom(rawObjectClass)) {
-                        throw new RuntimeException("The class " + rawObjectClass.getSimpleName() + " does not extend ConditionsObject.");
-                    }
-                    objectClass = (Class<? extends ConditionsObject>) rawObjectClass;
-                } catch (ClassNotFoundException e) {
-                    throw new RuntimeException(e);
-                }
-
-                Class<? extends ConditionsObjectCollection<?>> collectionClass;
-                Class<?> rawCollectionClass;
-                try {
-                    rawCollectionClass = Class.forName(collectionName);
-                    if (!ConditionsObjectCollection.class.isAssignableFrom(rawCollectionClass))
-                        throw new RuntimeException("The class " + rawCollectionClass.getSimpleName() + " does not extend ConditionsObjectCollection.");
-                    collectionClass = (Class<? extends ConditionsObjectCollection<?>>) rawCollectionClass;
-                } catch (ClassNotFoundException e) {
-                    throw new RuntimeException(e);
-                }
-
-                TableMetaData tableData = new TableMetaData(key, tableName, objectClass, collectionClass);
-                Element fieldsElement = tableElement.getChild("fields");
-                for (Iterator<?> fieldsIterator = fieldsElement.getChildren("field").iterator(); fieldsIterator.hasNext();) {
-                    Element fieldElement = (Element) fieldsIterator.next();
-                    String fieldName = fieldElement.getAttributeValue("name");
-                    tableData.addField(fieldName);
-                }
-
-                tableMetaData.add(tableData);
-            }
-        }
-    }
 
     /**
      * This class reads in an XML configuration specifying a list of converter classes,
@@ -705,28 +702,24 @@
      * 
      * @author Jeremy McCormick <[log in to unmask]>
      */
-    class ConditionsConverterLoader {
-
-        void load(Element element) {
-            converters = new ArrayList<ConditionsConverter>();
-            for (Iterator iterator = element.getChildren("converter").iterator(); iterator.hasNext();) {
-                Element converterElement = (Element) iterator.next();
-                try {
-                    Class converterClass = Class.forName(converterElement.getAttributeValue("class"));
-                    if (ConditionsConverter.class.isAssignableFrom(converterClass)) {
-                        try {
-                            converters.add((ConditionsConverter) converterClass.newInstance());
-                        } catch (InstantiationException | IllegalAccessException e) {
-                            throw new RuntimeException(e);
-                        }
-                    } else {
-                        throw new RuntimeException("The converter class " + converterClass.getSimpleName() + " does not extend the correct base type.");
-                    }
-                } catch (ClassNotFoundException e) {
-                    throw new RuntimeException(e);
-                }
-            }
-        }
-    }
-
+	private void loadConditionsConverters(Element element) {
+		converters = new ArrayList<ConditionsConverter>();
+		for (Iterator iterator = element.getChildren("converter").iterator(); iterator.hasNext();) {
+			Element converterElement = (Element) iterator.next();
+			try {
+				Class converterClass = Class.forName(converterElement.getAttributeValue("class"));
+				if (ConditionsConverter.class.isAssignableFrom(converterClass)) {
+					try {
+						converters.add((ConditionsConverter) converterClass.newInstance());
+					} catch (InstantiationException | IllegalAccessException e) {
+						throw new RuntimeException(e);
+					}
+				} else {
+					throw new RuntimeException("The converter class " + converterClass.getSimpleName() + " does not extend the correct base type.");
+				}
+			} catch (ClassNotFoundException e) {
+				throw new RuntimeException(e);
+			}
+		}
+	}
 }

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 10 00:01:21 2014
@@ -18,21 +18,15 @@
  */
 public class TestRunConditionsDriver extends AbstractConditionsDriver {
 
-	// Default conditions system XML config, which is for the Test Run 2012 database.
-    static final String TEST_RUN_CONFIG = "/org/hps/conditions/config/conditions_database_testrun_2012.xml";
-
-    // Default database connection parameters, which points to the SLAC development database.
-    static final String TEST_RUN_CONNECTION = "/org/hps/conditions/config/conditions_dev.properties";
-
     // Default constructor used to setup the database connection
-    public TestRunConditionsDriver(){
+    public TestRunConditionsDriver() {
         if (ConditionsManager.defaultInstance() instanceof DatabaseConditionsManager) {
-            System.out.println(this.getName()+": Found existing DatabaseConditionsManager");
-            manager = (DatabaseConditionsManager) ConditionsManager.defaultInstance();
+        	//System.out.println(this.getName()+": Found existing DatabaseConditionsManager");
+            //manager = (DatabaseConditionsManager) ConditionsManager.defaultInstance();
+        	throw new RuntimeException("ConditionsManager was already setup.");
         } else { 
             manager = new DatabaseConditionsManager();
-            manager.setConnectionResource(TEST_RUN_CONNECTION);
-            manager.configure(TEST_RUN_CONFIG);
+            manager.configure("/org/hps/conditions/config/conditions_database_testrun_2012.xml");
             manager.register();
         }
     }

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 10 00:01:21 2014
@@ -2,7 +2,6 @@
 
 import junit.framework.TestCase;
 
-import org.hps.conditions.config.TestRunReadOnlyConfiguration;
 import org.hps.conditions.svt.SvtGain;
 import org.hps.conditions.svt.SvtGain.SvtGainCollection;
 
@@ -11,19 +10,12 @@
  * {@link org.hps.conditions.svt.SvtGain} type.
  * 
  * @author Jeremy McCormick <[log in to unmask]>
- * 
  */
-// TODO: Add test of collection operations similar to the one for individual objects.
 public class ConditionsObjectTest extends TestCase {
 
-    DatabaseConditionsManager conditionsManager;
-
-    public void setUp() {
-        new TestRunReadOnlyConfiguration(true);
-        conditionsManager = DatabaseConditionsManager.getInstance();
-    }
-
     public void testBasicOperations() throws ConditionsObjectException {
+    	
+        DatabaseConditionsManager conditionsManager = DatabaseConditionsManager.getInstance();
 
         // Create a new collection, setting its table meta data and collection ID.
         TableMetaData tableMetaData = conditionsManager.findTableMetaData(TableConstants.SVT_GAINS);

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 10 00:01:21 2014
@@ -3,7 +3,7 @@
 import junit.framework.TestCase;
 
 import org.hps.conditions.DatabaseConditionsManager;
-import org.hps.conditions.config.DevReadOnlyConfiguration;
+import org.lcsim.conditions.ConditionsManager.ConditionsNotFoundException;
 
 /**
  * Tests that a {@link EcalConditions} objects loads without errors.
@@ -14,8 +14,12 @@
     DatabaseConditionsManager conditionsManager;
     
     public void setUp() {                
-        new DevReadOnlyConfiguration().setup().load("HPS-Proposal2014-v7-2pt2", 0);
         conditionsManager = DatabaseConditionsManager.getInstance();
+        try {
+			conditionsManager.setDetector("HPS-Proposal2014-v7-2pt2", 0);
+		} catch (ConditionsNotFoundException e) {
+			throw new RuntimeException(e);
+		}
     }
 
     public void test() {       

Modified: 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/ecal/EcalDetectorSetupTest.java	Mon Nov 10 00:01:21 2014
@@ -5,13 +5,13 @@
 import junit.framework.TestCase;
 
 import org.hps.conditions.DatabaseConditionsManager;
-import org.hps.conditions.config.TestRunReadOnlyConfiguration;
 import org.lcsim.detector.converter.compact.EcalCrystal;
 import org.lcsim.geometry.Detector;
 
 /**
- * This test loads ECal conditions data onto the detector and checks some of the results
+ * This test loads ECal conditions data onto a Test Run detector and checks some of the results
  * for basic validity.
+ * 
  * @author Jeremy McCormick <[log in to unmask]>
  */
 public class EcalDetectorSetupTest extends TestCase {
@@ -33,19 +33,17 @@
     // The total number of crystals that should be processed.
     private static final int CRYSTAL_COUNT = 442;
 
-    public void setUp() {
-        new TestRunReadOnlyConfiguration(true);
-    }
-
     /**
      * Load SVT conditions data onto the detector and perform basic checks afterwards.
      */
-    public void testLoad() {
+    public void testLoad() throws Exception {
 
         DatabaseConditionsManager conditionsManager = DatabaseConditionsManager.getInstance();
+        conditionsManager.configure("/org/hps/conditions/config/conditions_database_testrun_2012.xml");
+        conditionsManager.setDetector("HPS-TestRun-v5", 1351);
 
         // Get the detector.
-        Detector detector = conditionsManager.getCachedConditions(Detector.class, "compact.xml").getCachedData();
+        Detector detector = conditionsManager.getDetectorObject();
 
         // Get conditions.
         EcalConditions conditions = conditionsManager.getCachedConditions(EcalConditions.class, "ecal_conditions").getCachedData();

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 10 00:01:21 2014
@@ -6,7 +6,6 @@
 
 import org.hps.conditions.DatabaseConditionsManager;
 import org.hps.conditions.TableConstants;
-import org.hps.conditions.config.ResourceConfiguration;
 import org.hps.conditions.svt.SvtConfiguration.SvtConfigurationCollection;
 import org.jdom.Document;
 import org.jdom.JDOMException;
@@ -15,15 +14,8 @@
 
     DatabaseConditionsManager manager;
     
-    public void setUp() {
-        new ResourceConfiguration(
-                "/org/hps/conditions/config/conditions_dev.xml", 
-                "/org/hps/conditions/config/conditions_dev_local.properties").setup();
-        manager = DatabaseConditionsManager.getInstance();
-        manager.openConnection();        
-    }
-    
     public void testSvtConfiguration() {
+    	DatabaseConditionsManager manager = DatabaseConditionsManager.getInstance();
         SvtConfigurationCollection collection = manager.getCachedConditions(SvtConfigurationCollection.class, TableConstants.SVT_CONFIGURATIONS).getCachedData();
         
         for (SvtConfiguration config : collection) {

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 10 00:01:21 2014
@@ -4,21 +4,15 @@
 
 import org.hps.conditions.DatabaseConditionsManager;
 import org.hps.conditions.TableMetaData;
-import org.hps.conditions.config.DevReadOnlyConfiguration;
 import org.hps.conditions.svt.SvtDaqMapping.SvtDaqMappingCollection;
-
 
 /**
  * This test checks if the SVT DAQ map was loaded with reasonable values and
  * is being read correctly from the conditions database.
  * 
  * @author Omar Moreno <[log in to unmask]>
- * @version $Id$ 
  */
 public class SvtDaqMappingTest extends TestCase {
-
-	TableMetaData metaData = null;
-	DatabaseConditionsManager conditionsManager = null;
 	
 	//--- Constants ---//
 	//-----------------//
@@ -31,18 +25,13 @@
 	
 	//-----------------//
 
-	DevReadOnlyConfiguration dbConfig = new DevReadOnlyConfiguration();
-	
-	public void setUp(){
-        new DevReadOnlyConfiguration().setup().load("HPS-Proposal2014-v7-2pt2", 0);
-        conditionsManager = DatabaseConditionsManager.getInstance();
+
+	public void test() throws Exception {
 		
+		DatabaseConditionsManager conditionsManager = new DatabaseConditionsManager();
+		conditionsManager.setDetector("HPS-Proposal2014-v7-2pt2", 0);
 		
-	}
-	
-	public void test(){
-		
-		metaData = conditionsManager.findTableMetaData(SvtDaqMappingCollection.class);
+		TableMetaData metaData = conditionsManager.findTableMetaData(SvtDaqMappingCollection.class);
 		SvtDaqMappingCollection daqMappingCollection 
 			= conditionsManager.getConditionsData(SvtDaqMappingCollection.class, metaData.getTableName());
 		
@@ -65,9 +54,7 @@
 		
 	}
 	
-	private void printDebug(String debugMessage){
+	private void printDebug(String debugMessage) {
 		System.out.println(this.getClass().getSimpleName() + ":: " + debugMessage);
-	}
-	
-	
+	}	
 }

Modified: 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/svt/SvtDetectorSetupTest.java	Mon Nov 10 00:01:21 2014
@@ -5,7 +5,6 @@
 import junit.framework.TestCase;
 
 import org.hps.conditions.DatabaseConditionsManager;
-import org.hps.conditions.config.DevReadOnlyConfiguration;
 import org.lcsim.detector.tracker.silicon.HpsSiSensor;
 import org.lcsim.geometry.Detector;
 
@@ -35,16 +34,13 @@
 	// SVT Subdetector name
 	public static final String SVT_SUBDETECTOR_NAME = "Tracker";
 	
-	public void setUp(){
-	    new DevReadOnlyConfiguration().setup().load("HPS-Proposal2014-v7-2pt2", 0);
-	}
-
     /**
      * Load SVT conditions data onto the detector and perform basic checks afterwards.
      */
-    public void test() {
+    public void test() throws Exception {
     	
 		DatabaseConditionsManager conditionsManager = DatabaseConditionsManager.getInstance();
+		conditionsManager.setDetector("HPS-Proposal2014-v7-2pt2", 0);
     	
         // Get the detector.
         Detector detector = conditionsManager.getCachedConditions(Detector.class, "compact.xml").getCachedData();

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 10 00:01:21 2014
@@ -3,18 +3,14 @@
 import junit.framework.TestCase;
 
 import org.hps.conditions.DatabaseConditionsManager;
-import org.hps.conditions.config.TestRunReadOnlyConfiguration;
 
 public class TestRunSvtConditionsConverterTest extends TestCase {
-
-    DatabaseConditionsManager conditionsManager;
-   
-	public void setUp(){
-        new TestRunReadOnlyConfiguration().setup().load("HPS-TestRun-v5", 1351);
-        conditionsManager = DatabaseConditionsManager.getInstance();
-	}
-	
-	public void test(){
+   	
+	public void test() throws Exception {
+		DatabaseConditionsManager conditionsManager = DatabaseConditionsManager.getInstance();
+		conditionsManager.configure("/org/hps/conditions/config/conditions_database_testrun_2012.xml");
+		conditionsManager.setDetector("HPS-TestRun-v5", 1351);
+		
         TestRunSvtConditions svtConditions = conditionsManager.getCachedConditions(TestRunSvtConditions.class, "svt_conditions").getCachedData();
         assertNotNull(svtConditions);
         System.out.println("[ " + this.getClass().getSimpleName() + "]: Printing test run SVT conditions.");

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 10 00:01:21 2014
@@ -4,7 +4,6 @@
 
 import org.hps.conditions.DatabaseConditionsManager;
 import org.hps.conditions.TableMetaData;
-import org.hps.conditions.config.TestRunReadOnlyConfiguration;
 import org.hps.conditions.svt.TestRunSvtDaqMapping.TestRunSvtDaqMappingCollection;
 
 /**
@@ -16,7 +15,6 @@
 public class TestRunSvtDaqMappingTest extends TestCase {
 
 	TableMetaData metaData = null;
-	DatabaseConditionsManager conditionsManager = null;
 	
 	//--- Constants ---//
 	//-----------------//
@@ -32,20 +30,16 @@
 	// Min and max layer number values 
 	public static final int MIN_LAYER_NUMBER = 1; 
 	public static final int MAX_LAYER_NUMBER = 10; 
-	
-	
-	
-	public void setUp(){
-        new TestRunReadOnlyConfiguration().setup().load("HPS-TestRun-v5", 1351);
-        conditionsManager = DatabaseConditionsManager.getInstance();
-	}
-	
-	public void test(){
 		
+	public void test() throws Exception {
+		
+		DatabaseConditionsManager conditionsManager = DatabaseConditionsManager.getInstance();
+        conditionsManager.configure("/org/hps/conditions/config/conditions_database_testrun_2012.xml");
+        conditionsManager.setDetector("HPS-TestRun-v5", 1351);
+
 		metaData = conditionsManager.findTableMetaData(TestRunSvtDaqMappingCollection.class);
-		TestRunSvtDaqMappingCollection daqMappingCollection 
-			= conditionsManager.getConditionsData(TestRunSvtDaqMappingCollection.class, metaData.getTableName());
-
+		TestRunSvtDaqMappingCollection daqMappingCollection = 
+				conditionsManager.getConditionsData(TestRunSvtDaqMappingCollection.class, metaData.getTableName());
 	
 		int totalSensors = 0; 
 		this.printDebug("");
@@ -75,7 +69,7 @@
 		assertTrue(totalSensors == TOTAL_NUMBER_OF_SENSORS);
 	}
 
-	private void printDebug(String debugMessage){
+	private void printDebug(String debugMessage) {
 		System.out.println("[ " + this.getClass().getSimpleName() + " ]: " + debugMessage);
 	}
 }

Modified: 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/svt/TestRunSvtDetectorSetupTest.java	Mon Nov 10 00:01:21 2014
@@ -4,11 +4,9 @@
 
 import junit.framework.TestCase;
 
+import org.hps.conditions.DatabaseConditionsManager;
 import org.lcsim.detector.tracker.silicon.HpsTestRunSiSensor;
 import org.lcsim.geometry.Detector;
-
-import org.hps.conditions.DatabaseConditionsManager;
-import org.hps.conditions.config.TestRunReadOnlyConfiguration;
 
 /**
  * This test loads {@link TestRunSvtConditions} data onto the detector and then checks that all
@@ -32,17 +30,15 @@
 	public static final int MAX_CHANNEL_NUMBER = 639;
 	// SVT Subdetector name
 	public static final String SVT_SUBDETECTOR_NAME = "Tracker";
-	
-	public void setUp(){
-        new TestRunReadOnlyConfiguration().setup().load("HPS-TestRun-v5", 1351);
-	}
-	
+		
     /**
      * Load SVT conditions data onto the detector and perform basic checks afterwards.
      */
-	public void test() { 
+	public void test() throws Exception { 
      
 		DatabaseConditionsManager conditionsManager = DatabaseConditionsManager.getInstance();
+        conditionsManager.configure("/org/hps/conditions/config/conditions_database_testrun_2012.xml");
+		conditionsManager.setDetector("HPS-TestRun-v5", 1351);
 	
         // Get the detector.
         Detector detector = conditionsManager.getCachedConditions(Detector.class, "compact.xml").getCachedData();

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