Print

Print


Author: [log in to unmask]
Date: Thu Oct 30 14:41:23 2014
New Revision: 1358

Log:
Add a method that allows retrieval of a conditions set by class type. This method was originally in AbstractSvtConditionsConverter.

Modified:
    java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/main/java/org/hps/conditions/DatabaseConditionsManager.java

Modified: java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/main/java/org/hps/conditions/DatabaseConditionsManager.java
 =============================================================================
--- java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/main/java/org/hps/conditions/DatabaseConditionsManager.java	(original)
+++ java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/main/java/org/hps/conditions/DatabaseConditionsManager.java	Thu Oct 30 14:41:23 2014
@@ -575,6 +575,26 @@
     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){
+		
+		// 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; 
+	}
        
     /**
      * Simple utility method to cast the generic <code>ConditionsManager</code> to this class.