Author: [log in to unmask]
Date: Fri Sep 4 14:54:39 2015
New Revision: 3526
Log:
Remove unused methods; setup static state in getInstance and resetInstance methods instead of constructor; clear conditions cache between runs.
Modified:
java/trunk/conditions/src/main/java/org/hps/conditions/database/DatabaseConditionsManager.java
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/database/DatabaseConditionsManager.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/database/DatabaseConditionsManager.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/database/DatabaseConditionsManager.java Fri Sep 4 14:54:39 2015
@@ -11,7 +11,6 @@
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
-import java.util.ArrayList;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.List;
@@ -118,7 +117,10 @@
if (!ConditionsManager.isSetup() || !(ConditionsManager.defaultInstance() instanceof DatabaseConditionsManager)) {
logger.finest("creating new DatabaseConditionsManager instance");
// Create a new instance if necessary, which will install it globally as the default.
- new DatabaseConditionsManager();
+ DatabaseConditionsManager dbManager = new DatabaseConditionsManager();
+
+ // Register default conditions manager.
+ ConditionsManager.setDefaultConditionsManager(dbManager);
}
// Get the instance back from the default conditions system and check that the type is correct now.
@@ -156,7 +158,12 @@
*/
public static synchronized void resetInstance() {
logger.finest("DatabaseConditionsManager instance is being reset");
- new DatabaseConditionsManager();
+
+ // Create a new instance if necessary, which will install it globally as the default.
+ DatabaseConditionsManager dbManager = new DatabaseConditionsManager();
+
+ // Register default conditions manager.
+ ConditionsManager.setDefaultConditionsManager(dbManager);
}
/**
@@ -277,30 +284,31 @@
/**
* Class constructor. Calling this will automatically register this manager as the global default.
*/
- private DatabaseConditionsManager() {
+ protected DatabaseConditionsManager() {
// Register detector conditions converter.
+ logger.config("registering detector converter");
this.registerConditionsConverter(new DetectorConditionsConverter());
// Setup connection from system property pointing to a file, if it was set.
+ logger.config("checking for file connection system property");
this.setupConnectionSystemPropertyFile();
// Setup connection from system property pointing to a resource, if it was set.
+ logger.config("checking for resource connection system property");
this.setupConnectionSystemPropertyResource();
-
- // Register default conditions manager.
- ConditionsManager.setDefaultConditionsManager(this);
-
+
// Set run to invalid number.
this.setRun(-1);
// Register conditions converters.
for (final AbstractConditionsObjectConverter converter : this.converters.values()) {
- // logger.fine("registering converter for " + converter.getType());
+ logger.config("registering converter for " + converter.getType());
this.registerConditionsConverter(converter);
}
// Add the SVT detector setup object as a listener.
+ logger.config("adding SVT setup");
this.addConditionsListener(this.svtSetup);
}
@@ -410,17 +418,7 @@
public ConditionsRecordCollection findConditionsRecords(final String name) {
return getConditionsRecords().findByKey(name);
}
-
- /**
- * Find table information from the collection type.
- *
- * @param type the collection type
- * @return the table information or <code>null</code> if does not exist
- */
- public List<TableMetaData> findTableMetaData(final Class<?> type) {
- return this.tableRegistry.findByCollectionType(type);
- }
-
+
/**
* Find table information from the name.
*
@@ -653,8 +651,11 @@
* @throws ConditionsNotFoundException if there is a conditions system error
*/
private void initialize(final String detectorName, final int runNumber) throws ConditionsNotFoundException {
-
+
logger.config("initializing with detector " + detectorName + " and run " + runNumber);
+
+ // Clear the conditions cache.
+ this.clearCache();
// Is not configured yet?
if (!this.isConfigured) {
@@ -894,7 +895,6 @@
this.isConnected = true;
openedConnection = true;
}
- logger.fine("connection opened successfully");
// Flag to indicate whether an existing connection was used or not.
return openedConnection;
@@ -1145,33 +1145,5 @@
public synchronized void unfreeze() {
this.isFrozen = false;
logger.info("conditions system unfrozen");
- }
-
- /**
- * Perform a SQL query with an update command like INSERT, DELETE or UPDATE.
- *
- * @param query the SQL query string
- * @return the keys of the rows affected
- */
- public List<Integer> updateQuery(final String query) {
- final boolean openedConnection = this.openConnection();
- logger.fine("executing SQL update query ..." + '\n' + query);
- final List<Integer> keys = new ArrayList<Integer>();
- Statement statement = null;
- ResultSet resultSet = null;
- try {
- statement = this.connection.createStatement();
- statement.executeUpdate(query, Statement.RETURN_GENERATED_KEYS);
- resultSet = statement.getGeneratedKeys();
- while (resultSet.next()) {
- final int key = resultSet.getInt(1);
- keys.add(key);
- }
- } catch (final SQLException x) {
- throw new RuntimeException("Error in SQL query: " + query, x);
- }
- DatabaseUtilities.cleanup(resultSet);
- this.closeConnection(openedConnection);
- return keys;
- }
+ }
}
|