Print

Print


Author: [log in to unmask]
Date: Sat Mar  7 16:32:24 2015
New Revision: 2361

Log:
Open db connection in load if necessary.

Modified:
    java/trunk/conditions/src/main/java/org/hps/conditions/cli/LoadCommand.java

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 Mar  7 16:32:24 2015
@@ -42,7 +42,7 @@
     @Override
     public void execute(String[] arguments) {
         super.execute(arguments);
-        
+               
         String fileName = commandLine.getOptionValue("f");
         if (fileName == null) {
             throw new IllegalArgumentException("Missing file argument.");
@@ -58,6 +58,11 @@
 
         DatabaseConditionsManager conditionsManager = DatabaseConditionsManager.getInstance();
 
+        boolean openedConnection = false;
+        if (!conditionsManager.isConnected()) {
+            openedConnection = conditionsManager.openConnection();
+        }
+        
         int collectionID;
         if (commandLine.getOptionValue("c") != null) {
             collectionID = Integer.parseInt(commandLine.getOptionValue("c"));
@@ -78,6 +83,7 @@
         // FIXME: This call should go through an object API like ConditionsObjectCollection.insert rather than the manager directly.
         List<Integer> IDs = conditionsManager.updateQuery(insertSql);
         System.out.println("Inserted " + IDs.size() + " new rows into table " + tableName + " with collection_id " + collectionID);
+        conditionsManager.closeConnection(openedConnection);
     }
 
     void parseFile(String fileName, List<String> columnNames, List<List<String>> rows) {