3 - Using the Arvados Java SDK, you can access API server from a java program.
5 - Please refer to http://doc.arvados.org/api/index.html for a complete list
6 of supported resources and methods.
8 - This document highlights the details as to how to use the SDK.
10 - The Java SDK requires Java 6 or later
12 - The Java SDK is used as a maven project. Hence, you would need a working
13 maven environment to be able to build the source code.
15 If you do not have maven setup, you may find the following link useful.
17 http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html
19 - In this document <ARVADOS_HOME> is used to refer to the directory where
20 arvados code is cloned in your system.
21 For ex: <ARVADOS_HOME> = $HOME/arvados
24 == Setting up the environment
26 - The SDK requires a running Arvados API server. The information about the
27 API server needs to be passed to the SDK using environment variables or
28 during the construction of the Arvados instance.
30 - Below are the details about the environment variables and example setup
31 statements for a .bashrc file.
35 API client token to be used to authorize with API server.
37 export ARVADOS_API_TOKEN=z40gplmla6i58rsg96jhg5u41ewdl5rj4g1py2s6e2lsc3
41 Host name of the API server.
43 export ARVADOS_API_HOST=localhost:3001
45 3. ARVADOS_API_HOST_INSECURE
47 Set this to true if you are using self-signed certificates and
48 would like to bypass certificate validations.
50 export ARVADOS_API_HOST_INSECURE=true
53 == Building the Arvados SDK
55 - cd <ARVADOS_HOME/sdk/java
59 This will generate arvados sdk jar file in the target directory
62 == Implementing your code to use SDK
64 - <ARVADOS_HOME>/sdk/java/ArvadosSDKJavaExample.java serves as an example
65 implementation using the java SDK. Please use this file to see how
66 you would want use the SDK from your java program.
67 The steps below use this java class name.
69 - ArvadosSDKJavaExample.java creates an instance of Arvados SDK class and
70 uses it to make various "call" requests.
72 - To compile ArvadosSDKJavaExample.java
74 javac -cp <ARVADOS_HOME>/sdk/java/target/arvados-sdk-1.0-jar-with-dependencies.jar ArvadosSDKJavaExample.java
76 This results in the generation of the ArvadosSDKJavaExample.class file
77 in the same directory as the java file
79 - To run the class file
81 java -cp .:<ARVADOS_HOME>/sdk/java/target/arvados-sdk-1.0-jar-with-dependencies.jar ArvadosSDKJavaExample
84 == Viewing and managing SDK logging
86 - SDK uses log4j logging
88 - The default location of the log file is
89 <ARVADOS_HOME>/sdk/java/log/arvados_sdk_java.log
91 - Update log4j.properties file to change name and location of the log file.
93 Modify the "log4j.appender.fileAppender.File" property in log4j.properties
94 file located at <ARVADOS_HOME>/sdk/java/src/main/resources
96 Rebuild by running "mvn clean package"
99 == Using the SDK in eclipse
101 - To develop in eclipse, you can use the SDK eclipse project.
103 - Install "m2eclipse" plugin in your eclipse
105 - Set M2_REPO to your .m2/repository directory
107 - Open the SDK project.
109 File -> Import -> Existing Projects into Workspace -> Next -> Browse
110 and select <ARVADOS_HOME>/sdk/java