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;
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
*/
// 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
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);
}
== 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