You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ch...@apache.org on 2013/01/23 20:20:54 UTC

svn commit: r1437639 - in /airavata/trunk/tools/registry-tool: README pom.xml src/main/java/org/apache/airavata/registry/tool/DBMigrator.java

Author: chathuri
Date: Wed Jan 23 19:20:53 2013
New Revision: 1437639

URL: http://svn.apache.org/viewvc?rev=1437639&view=rev
Log:
enabling to read parameters from command line

Added:
    airavata/trunk/tools/registry-tool/README
Modified:
    airavata/trunk/tools/registry-tool/pom.xml
    airavata/trunk/tools/registry-tool/src/main/java/org/apache/airavata/registry/tool/DBMigrator.java

Added: airavata/trunk/tools/registry-tool/README
URL: http://svn.apache.org/viewvc/airavata/trunk/tools/registry-tool/README?rev=1437639&view=auto
==============================================================================
--- airavata/trunk/tools/registry-tool/README (added)
+++ airavata/trunk/tools/registry-tool/README Wed Jan 23 19:20:53 2013
@@ -0,0 +1,9 @@
+0.5 => 0.6
+==============
+
+1. Build registry-tools
+2. Copy registry-tool-0.6-SNAPSHOT.jar and commons-cli-1.1.jar (you will find this in your maven repository) to <AIRAVATA_HOME>/lib
+3. Copy db-migrate.sh file to <AIRAVATA_HOME>/bin
+4. Make sure 0.5 airavata database is up and running
+5. Run db-migrate.sh script file
+        ./db-migrate.sh -url jdbc:mysql://localhost:3306/persistent_data -user airavata -pwd airavata
\ No newline at end of file

Modified: airavata/trunk/tools/registry-tool/pom.xml
URL: http://svn.apache.org/viewvc/airavata/trunk/tools/registry-tool/pom.xml?rev=1437639&r1=1437638&r2=1437639&view=diff
==============================================================================
--- airavata/trunk/tools/registry-tool/pom.xml (original)
+++ airavata/trunk/tools/registry-tool/pom.xml Wed Jan 23 19:20:53 2013
@@ -58,5 +58,10 @@
             <artifactId>jcl-over-slf4j</artifactId>
             <version>1.6.1</version>
         </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+            <version>1.1</version>
+        </dependency>
     </dependencies>
 </project>

Modified: airavata/trunk/tools/registry-tool/src/main/java/org/apache/airavata/registry/tool/DBMigrator.java
URL: http://svn.apache.org/viewvc/airavata/trunk/tools/registry-tool/src/main/java/org/apache/airavata/registry/tool/DBMigrator.java?rev=1437639&r1=1437638&r2=1437639&view=diff
==============================================================================
--- airavata/trunk/tools/registry-tool/src/main/java/org/apache/airavata/registry/tool/DBMigrator.java (original)
+++ airavata/trunk/tools/registry-tool/src/main/java/org/apache/airavata/registry/tool/DBMigrator.java Wed Jan 23 19:20:53 2013
@@ -21,6 +21,7 @@
 
 package org.apache.airavata.registry.tool;
 
+import org.apache.commons.cli.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -42,22 +43,32 @@ public class DBMigrator {
     private static final String INSERT_QUERY = "INSERT INTO CONFIGURATION (config_key, config_val, expire_date, category_id) VALUES('" +
             REGISTRY_VERSION + "', '" + getIncrementedVersion(currentAiravataVersion) + "', '" + getCurrentDate() +
             "','SYSTEM')";
-
+    private static String jdbcURL;
+    private static String jdbcUser;
+    private static String jdbcPwd;
 
     public static void main(String[] args) {
-         updateDB("jdbc:mysql://localhost:3306/persistent_data",
-                 "airavata",
-                 null);
+        parseArguments(args);
+        updateDB(jdbcURL, jdbcUser, jdbcPwd);
     }
 
     //we assume given database is up and running
     public static void updateDB (String jdbcUrl, String jdbcUser, String jdbcPwd){
         InputStream sqlStream = null;
         Scanner in = new Scanner(System.in);
+        if (jdbcUrl == null || jdbcUrl.equals("")){
+            System.out.println("Enter JDBC URL : ");
+            jdbcUrl = in.next();
+        }
+        if (jdbcUser == null || jdbcUser.equals("")){
+            System.out.println("Enter JDBC Username : ");
+            jdbcUser = in.next();
+        }
         if (jdbcPwd == null || jdbcPwd.equals("")){
             System.out.println("Enter JDBC password : ");
             jdbcPwd = in.next();
         }
+
         String dbType = getDBType(jdbcUrl);
         String jdbcDriver = null;
 
@@ -78,15 +89,15 @@ public class DBMigrator {
                 updateConfigTable(connection);
             }
         } catch (ClassNotFoundException e) {
-            e.printStackTrace();
+           logger.error("Unable to find SQL scripts..." , e);
         } catch (InstantiationException e) {
-            e.printStackTrace();
+            logger.error("Error while updating the database..." , e);
         } catch (IllegalAccessException e) {
-            e.printStackTrace();
+            logger.error("Error while updating the database..." , e);
         } catch (SQLException e) {
-            e.printStackTrace();
+            logger.error("Error while updating the database..." , e);
         } catch (Exception e) {
-            e.printStackTrace();
+            logger.error("Error while updating the database..." , e);
         }
     }
 
@@ -273,4 +284,26 @@ public class DBMigrator {
             }
         }
     }
+
+    public static void parseArguments(String[] args){
+        try{
+            Options options = new Options();
+            options.addOption("url", true , "JDBC URL");
+            options.addOption("user", true, "JDBC Username");
+            options.addOption("pwd", true, "JDBC Password");
+            CommandLineParser parser = new PosixParser();
+            CommandLine cmd = parser.parse( options, args);
+            jdbcURL = cmd.getOptionValue("url");
+            if (jdbcURL == null){
+                logger.info("You should enter JDBC URL and JDBC Credentials as parameters...");
+            }
+            jdbcUser = cmd.getOptionValue("user");
+            if (jdbcUser ==  null){
+                logger.info("You should enter JDBC URL and JDBC Credentials as parameters...");
+            }
+            jdbcPwd = cmd.getOptionValue("pwd");
+        } catch (ParseException e) {
+            logger.error("Error while reading command line parameters" , e);
+        }
+    }
 }