[ARVADOS] updated: c7fed8bfbd8a0e6edf83142b50bed4fe53c10c5c

git at public.curoverse.com git at public.curoverse.com
Tue Apr 29 16:55:41 EDT 2014


Summary of changes:
 .gitignore                                         |    1 +
 sdk/java/ArvadosSDKJavaUser.java                   |  103 ++++++++++++++++++++
 sdk/java/pom.xml                                   |    2 +-
 .../main/java/org/arvados/sdk/java/Arvados.java    |   26 ++++-
 sdk/java/src/main/resources/log4j.properties       |    2 +-
 5 files changed, 126 insertions(+), 8 deletions(-)
 create mode 100644 sdk/java/ArvadosSDKJavaUser.java

       via  c7fed8bfbd8a0e6edf83142b50bed4fe53c10c5c (commit)
       via  d28bf64e878b8d45e1ace6409e94027a039d3909 (commit)
       via  72493a2fef971fc685ecef42c2b697338da69d2c (commit)
      from  4d1481ed38e238e2e39d37775cb8cd86150bd04e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit c7fed8bfbd8a0e6edf83142b50bed4fe53c10c5c
Author: radhika <radhika at radhika>
Date:   Tue Apr 29 16:55:02 2014 -0400

    2525: Minor updates to log4j configuration of log line format.

diff --git a/sdk/java/src/main/java/org/arvados/sdk/java/Arvados.java b/sdk/java/src/main/java/org/arvados/sdk/java/Arvados.java
index 831888c..d453ac5 100644
--- a/sdk/java/src/main/java/org/arvados/sdk/java/Arvados.java
+++ b/sdk/java/src/main/java/org/arvados/sdk/java/Arvados.java
@@ -65,8 +65,7 @@ public class Arvados {
         }
         
         Arvados arv = new Arvados(args[1]);
-        String response = arv.call(params);
-        logger.debug(response);
+        arv.call(params);
       } else if (command.equals("discover")) {
         List<String> params = Arrays.asList(args);
         
@@ -429,4 +428,4 @@ public class Arvados {
     }
   }
 
-}
\ No newline at end of file
+}
diff --git a/sdk/java/src/main/resources/log4j.properties b/sdk/java/src/main/resources/log4j.properties
index 9ebb3c6..89a9b93 100644
--- a/sdk/java/src/main/resources/log4j.properties
+++ b/sdk/java/src/main/resources/log4j.properties
@@ -8,4 +8,4 @@ log4j.appender.fileAppender.Append=true
 log4j.appender.file.MaxFileSize=10MB
 log4j.appender.file.MaxBackupIndex=10
 log4j.appender.fileAppender.layout=org.apache.log4j.PatternLayout
-log4j.appender.fileAppender.layout.ConversionPattern=[%d] %-5p %c %x - %m%n
+log4j.appender.fileAppender.layout.ConversionPattern=[%d] %-5p %c %L %x - %m%n

commit d28bf64e878b8d45e1ace6409e94027a039d3909
Author: radhika <radhika at radhika>
Date:   Tue Apr 29 15:50:49 2014 -0400

    2525: Add ArvadosSDKJavaUser.java to serve as an example implementation of SDK usage example.

diff --git a/.gitignore b/.gitignore
index c1b7c20..602e1b9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,3 +15,4 @@ services/keep/bin
 services/keep/pkg
 services/keep/src/github.com
 sdk/java/target
+*.class
diff --git a/sdk/java/ArvadosSDKJavaUser.java b/sdk/java/ArvadosSDKJavaUser.java
new file mode 100644
index 0000000..289d0c6
--- /dev/null
+++ b/sdk/java/ArvadosSDKJavaUser.java
@@ -0,0 +1,103 @@
+/**
+ * This Sample test program is useful in getting started with working with Arvados Java SDK.
+ * Please also see arvadso 
+ * @author radhika
+ *
+ */
+
+import java.io.File;
+import java.io.BufferedWriter;
+import java.io.FileWriter;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.arvados.sdk.java.Arvados;
+import org.json.simple.JSONObject;
+import org.json.simple.parser.JSONParser;
+
+import com.google.api.services.discovery.model.RestDescription;
+
+public class ArvadosSDKJavaUser {
+  /** Make sure the following environment variables are set before using Arvados:
+   *      ARVADOS_API_TOKEN, ARVADOS_API_HOST, ARVADOS_API_HOST_INSECURE
+   */
+  public static void main(String[] args) throws Exception {
+    String apiName = "arvados";
+    String apiVersion = "v1";
+
+    Arvados arv = new Arvados(apiName);
+
+    // Make a discover request. 
+    System.out.println("Making an arvados discovery api request");
+    List<String> params = new ArrayList<String>();
+    params.add("discover");
+    params.add("arvados");
+    params.add("v1");
+
+    RestDescription restDescription = arv.discover(params);
+    System.out.println("Arvados discovery docuemnt:\n" + restDescription);
+    
+    // Make a users.list call
+    System.out.println("Making an arvados users.list api call");
+
+    params = new ArrayList<String>();
+    params.add("call");
+    params.add("arvados");
+    params.add("v1");
+    params.add("users.list");
+
+    String response = arv.call(params);
+    System.out.println("Arvados users.list:\n" + response);
+
+    // get uuid of the first user from the response
+    JSONParser parser = new JSONParser();
+    Object obj = parser.parse(response);
+    JSONObject jsonObject = (JSONObject) obj;
+    List items = (List)jsonObject.get("items");
+
+    JSONObject firstUser = (JSONObject)items.get(0);
+    String userUuid = (String)firstUser.get("uuid");
+    
+    // Make a users.get call on the uuid obtained above
+    System.out.println("Making a users.get for " + userUuid);
+    params = new ArrayList<String>();
+    params.add("call");
+    params.add("arvados");
+    params.add("v1");
+    params.add("users.get");
+    params.add(userUuid);
+    response = arv.call(params);
+    System.out.println("Arvados users.get:\n" + response);
+
+    // Make a users.create call
+    System.out.println("Making a users.create call.");
+    
+    File file = new File("/tmp/arvados_test.json");
+    BufferedWriter output = new BufferedWriter(new FileWriter(file));
+    output.write("{}");
+    output.close();
+    String filePath = file.getPath();
+
+    params = new ArrayList<String>();
+    params.add("call");
+    params.add("arvados");
+    params.add("v1");
+    params.add("users.create");
+    params.add(filePath);
+    response = arv.call(params);
+    System.out.println("Arvados users.create:\n" + response);
+
+    // Make a pipeline_templates.list call
+    System.out.println("Making a pipeline_templates.list call.");
+
+    params = new ArrayList<String>();
+    params.add("call");
+    params.add("arvados");
+    params.add("v1");
+    params.add("pipeline_templates.list");
+    response = arv.call(params);
+
+    System.out.println("Arvados pipelinetempates.list:\n" + response);
+  }
+}
diff --git a/sdk/java/src/main/java/org/arvados/sdk/java/Arvados.java b/sdk/java/src/main/java/org/arvados/sdk/java/Arvados.java
index 5beff86..831888c 100644
--- a/sdk/java/src/main/java/org/arvados/sdk/java/Arvados.java
+++ b/sdk/java/src/main/java/org/arvados/sdk/java/Arvados.java
@@ -46,6 +46,9 @@ public class Arvados {
 
   private static final Logger logger = Logger.getLogger(Arvados.class);
   
+  // Get it on a discover call and reuse on the call requests
+  RestDescription restDescription = null;
+  
   public static void main(String[] args) throws Exception {
     if (args.length == 0) {
       showMainHelp();
@@ -154,6 +157,12 @@ public class Arvados {
     }
   }
   
+  /**
+   * Make a discover call and cache the response in-memory. Reload the document on each invocation.
+   * @param params
+   * @return
+   * @throws Exception
+   */
   public RestDescription discover(List<String> params) throws Exception {
     if (params.size() == 1) {
       error("call", "missing api name");
@@ -161,7 +170,7 @@ public class Arvados {
       error("call", "missing api version");
     } 
 
-    RestDescription restDescription = loadArvadosApi(params.get(1), params.get(2));
+    restDescription = loadArvadosApi(params.get(1), params.get(2));
 
     // compute method details
     ArrayList<MethodDetails> result = Lists.newArrayList();
@@ -209,7 +218,11 @@ public class Arvados {
       error("call", "invalid method name: " + fullMethodName);
     }
 
-    RestDescription restDescription = loadArvadosApi(callParams.get(1), callParams.get(2));
+    // initialize rest description if not already
+    if (restDescription == null) {
+      restDescription = loadArvadosApi(callParams.get(1), callParams.get(2));
+    }
+
     Map<String, RestMethod> methodMap = null;
     int curIndex = 0;
     int nextIndex = fullMethodName.indexOf('.');
@@ -314,6 +327,8 @@ public class Arvados {
       request.getHeaders().put("Authorization", authHeader);
       String response = request.execute().parseAsString();
 
+      logger.debug(response);
+      
       return response;
     } catch (Exception e) {
       e.printStackTrace();
diff --git a/sdk/java/src/main/resources/log4j.properties b/sdk/java/src/main/resources/log4j.properties
index aa336eb..9ebb3c6 100644
--- a/sdk/java/src/main/resources/log4j.properties
+++ b/sdk/java/src/main/resources/log4j.properties
@@ -8,4 +8,4 @@ log4j.appender.fileAppender.Append=true
 log4j.appender.file.MaxFileSize=10MB
 log4j.appender.file.MaxBackupIndex=10
 log4j.appender.fileAppender.layout=org.apache.log4j.PatternLayout
-log4j.appender.fileAppender.layout.ConversionPattern=[%t] %-5p %c %x - %m%n
+log4j.appender.fileAppender.layout.ConversionPattern=[%d] %-5p %c %x - %m%n

commit 72493a2fef971fc685ecef42c2b697338da69d2c
Author: radhika <radhika at radhika>
Date:   Tue Apr 29 14:05:03 2014 -0400

    2525: What was that typo!!

diff --git a/sdk/java/pom.xml b/sdk/java/pom.xml
index 5acbfc6..c15c092 100644
--- a/sdk/java/pom.xml
+++ b/sdk/java/pom.xml
@@ -95,7 +95,7 @@
       <resources>
     	<resource>
           <directory>src/main/resources</directory>
-            <targetPath>${basedir}/target</targetPath>
+            <targetPath>${basedir}/target/classes</targetPath>
             <includes>
               <include>log4j.properties</include>
             </includes>    	
diff --git a/sdk/java/src/main/java/org/arvados/sdk/java/Arvados.java b/sdk/java/src/main/java/org/arvados/sdk/java/Arvados.java
index 81615bd..5beff86 100644
--- a/sdk/java/src/main/java/org/arvados/sdk/java/Arvados.java
+++ b/sdk/java/src/main/java/org/arvados/sdk/java/Arvados.java
@@ -120,7 +120,7 @@ public class Arvados {
     String errorDetail = "ERROR: " + detail +
         "For help, type: Arvados" + (command == null ? "" : " help " + command);
     
-    logger.equals(errorDetail);
+    logger.debug(errorDetail);
     throw new Exception(errorDetail);
   }
 

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list