Author: [log in to unmask]
Date: Sat Nov 1 19:38:58 2014
New Revision: 1396
Log:
Move utility method to conditions manager.
Modified:
java/trunk/conditions/src/main/java/org/hps/conditions/DatabaseConditionsManager.java
java/trunk/conditions/src/main/java/org/hps/conditions/cli/LoadCommand.java
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 Sat Nov 1 19:38:58 2014
@@ -26,8 +26,6 @@
import org.lcsim.conditions.ConditionsConverter;
import org.lcsim.conditions.ConditionsManager;
import org.lcsim.conditions.ConditionsManagerImplementation;
-import org.lcsim.conditions.ConditionsReader;
-import org.lcsim.conditions.readers.BaseClasspathConditionsReader;
import org.lcsim.geometry.Detector;
import org.lcsim.util.loop.DetectorConditionsConverter;
@@ -269,6 +267,33 @@
logger.fine("new collection ID " + collectionId + " created for table " + tableName);
return collectionId;
}
+
+ /**
+ * This method will return true if the given collection ID already exists in the table.
+ * @param tableName The name of the table.
+ * @param collectionID The collection ID value.
+ * @return True if collection exists.
+ */
+ public boolean collectionExists(String tableName, int collectionID) {
+ String sql = "SELECT * FROM " + tableName + " where collection_id = " + collectionID;
+ ResultSet resultSet = selectQuery(sql);
+ try {
+ resultSet.last();
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+ int rowCount = 0;
+ try {
+ rowCount = resultSet.getRow();
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+ if (rowCount != 0) {
+ return true;
+ } else {
+ return false;
+ }
+ }
/**
* Get the list of table meta data.
@@ -297,6 +322,7 @@
* @param type The collection class.
* @return The table meta data.
*/
+ // FIXME: This should return a list in case of multiple conditions defined with same type.
public TableMetaData findTableMetaData(Class type) {
for (TableMetaData meta : tableMetaData) {
if (meta.getCollectionClass().equals(type)) {
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 Sat Nov 1 19:38:58 2014
@@ -67,7 +67,7 @@
int collectionID;
if (commandLine.getOptionValue("c") != null) {
collectionID = Integer.parseInt(commandLine.getOptionValue("c"));
- if (collectionExists(conditionsManager, tableName, collectionID)) {
+ if (conditionsManager.collectionExists(tableName, collectionID)) {
throw new IllegalArgumentException("The user supplied collection ID " + collectionID + " already exists in this table.");
}
} else {
@@ -89,7 +89,7 @@
File inputFile = new File(fileName);
BufferedReader reader = null;
try {
- reader = new BufferedReader(new FileReader(inputFile));
+ reader = new BufferedReader(new FileReader(inputFile));
String headerLine = reader.readLine();
if (headerLine == null) {
throw new IllegalArgumentException("The file is empty.");
@@ -118,26 +118,5 @@
}
}
}
- }
-
- boolean collectionExists(DatabaseConditionsManager conditionsManager, String tableName, int collectionID) {
- String sql = "SELECT * FROM " + tableName + " where collection_id = " + collectionID;
- ResultSet resultSet = conditionsManager.selectQuery(sql);
- try {
- resultSet.last();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- int rowCount = 0;
- try {
- rowCount = resultSet.getRow();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- if (rowCount != 0) {
- return true;
- } else {
- return false;
- }
- }
+ }
}
|