2525: Rename ArvadosSDKJavaUser.java as ArvadosSDKJavaExample.java
authorradhika <radhika@curoverse.com>
Sat, 3 May 2014 21:06:20 +0000 (17:06 -0400)
committerradhika <radhika@curoverse.com>
Sat, 3 May 2014 21:06:20 +0000 (17:06 -0400)
sdk/java/ArvadosSDKJavaExample.java [moved from sdk/java/ArvadosSDKJavaUser.java with 63% similarity]
sdk/java/README
sdk/java/src/main/java/org/arvados/sdk/java/Arvados.java

similarity index 63%
rename from sdk/java/ArvadosSDKJavaUser.java
rename to sdk/java/ArvadosSDKJavaExample.java
index 79b2c2dfc95699acc4c6ac9d426218b3c9d44a5c..8a28e259c31420262d90aede01ce4b986727cb7b 100644 (file)
@@ -8,9 +8,9 @@
 import java.io.File;
 import java.io.BufferedWriter;
 import java.io.FileWriter;
-
-import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import org.arvados.sdk.java.Arvados;
 import org.json.simple.JSONObject;
@@ -18,7 +18,7 @@ import org.json.simple.parser.JSONParser;
 
 import com.google.api.services.discovery.model.RestDescription;
 
-public class ArvadosSDKJavaUser {
+public class ArvadosSDKJavaExample {
   /** Make sure the following environment variables are set before using Arvados:
    *      ARVADOS_API_TOKEN, ARVADOS_API_HOST, ARVADOS_API_HOST_INSECURE
    */
@@ -36,14 +36,9 @@ public class ArvadosSDKJavaUser {
     // Make a users.list call
     System.out.println("Making an arvados users.list api call");
 
-    List<String> params = new ArrayList<String>();
-    params = new ArrayList<String>();
-    params.add("call");
-    params.add("arvados");
-    params.add("v1");
-    params.add("users.list");
+    Map<String, Object> params = new HashMap<String, Object>();
 
-    String response = arv.call(params);
+    String response = arv.call("users", "list", params);
     System.out.println("Arvados users.list:\n" + response);
 
     // get uuid of the first user from the response
@@ -56,43 +51,34 @@ public class ArvadosSDKJavaUser {
     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("Making a users.get call for " + userUuid);
+    params = new HashMap<String, Object>();
+    params.put("uuid", userUuid);
+    response = arv.call("users", "get", 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);
+    params = new HashMap<String, Object>();
+    params.put("user", "{}");
+    response = arv.call("users", "create", params);
     System.out.println("Arvados users.create:\n" + response);
 
+    // delete the newly created user
+    parser = new JSONParser();
+    obj = parser.parse(response);
+    jsonObject = (JSONObject) obj;
+    userUuid = (String)jsonObject.get("uuid");
+    params = new HashMap<String, Object>();
+    params.put("uuid", userUuid);
+    response = arv.call("users", "delete", params);
+
     // 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);
+    params = new HashMap<String, Object>();
+    response = arv.call("pipeline_templates", "list", params);
 
     System.out.println("Arvados pipelinetempates.list:\n" + response);
   }
index 423cf97eaae3d467b8549b9c2d0a53c1046e1413..1cdc0524147dcd93c209fb93c7ff7ad8dd6ecb58 100644 (file)
 
 == Implementing your code to use SDK
 
-  - <ARVADOS_HOME>/sdk/java/ArvadosSDKJavaUser.java serves as an example
+  - <ARVADOS_HOME>/sdk/java/ArvadosSDKJavaExample.java serves as an example
       implementation using the java SDK. Please use this file to see how
       you would want use the SDK from your java program.
       The steps below use this java class name.
 
-  - ArvadosSDKJavaUser.java creates an instance of Arvados SDK class and
+  - ArvadosSDKJavaExample.java creates an instance of Arvados SDK class and
       uses it to make various "call" requests.
 
-  - To compile ArvadosSDKJavaUser.java
+  - To compile ArvadosSDKJavaExample.java
 
-      javac -cp <ARVADOS_HOME>/sdk/java/target/java-1.0-SNAPSHOT-jar-with-dependencies.jar ArvadosSDKJavaUser.java
+      javac -cp <ARVADOS_HOME>/sdk/java/target/java-1.0-SNAPSHOT-jar-with-dependencies.jar ArvadosSDKJavaExample.java
 
-      This results in the generation of the ArvadosSDKJavaUser.class file
+      This results in the generation of the ArvadosSDKJavaExample.class file
         in the same dir as the java file
 
   - To run the class file
 
-      java -cp .:<ARVADOS_HOME>/sdk/java/target/java-1.0-SNAPSHOT-jar-with-dependencies.jar ArvadosSDKJavaUser
+      java -cp .:<ARVADOS_HOME>/sdk/java/target/java-1.0-SNAPSHOT-jar-with-dependencies.jar ArvadosSDKJavaExample
 
 
 == Viewing and managing SDK logging
index 06839ef8a058b1a3522995efa0bcca9b38c061a6..c2b8c18717261ff57c9bf569592d5f14d5bcaeca 100644 (file)
@@ -362,5 +362,9 @@ public class Arvados {
     logger.debug(errorDetail);
     throw new Exception(errorDetail);
   }
-
+  
+  public static void main(String[] args){
+    System.out.println("Welcome to Arvados Java SDK.");
+    System.out.println("Please refer to README to learn to use the SDK.");
+  }
 }
\ No newline at end of file