this (apiName, apiVersion, null, null, null);
}
- public Arvados (String apiName, String apiVersion, String token, String host, String hostInsecure){
+ public Arvados (String apiName, String apiVersion, String token,
+ String host, String hostInsecure){
try {
this.apiName = apiName;
this.apiVersion = apiVersion;
if (hostInsecure != null) {
arvadosApiHostInsecure = Boolean.valueOf(hostInsecure);
} else {
- arvadosApiHostInsecure = "true".equals(System.getenv().get("ARVADOS_API_HOST_INSECURE")) ? true : false;
+ arvadosApiHostInsecure =
+ "true".equals(System.getenv().get("ARVADOS_API_HOST_INSECURE")) ? true : false;
}
// Create HTTP_TRANSPORT object
* @return Object
* @throws Exception
*/
- public String call(String resourceName, String methodName, Map<String, Object> paramsMap) throws Exception {
+ public Map call(String resourceName, String methodName,
+ Map<String, Object> paramsMap) throws Exception {
RestMethod method = getMatchingMethod(resourceName, methodName);
HashMap<String, Object> parameters = loadParameters(paramsMap, method);
// possibly required content
HttpContent content = null;
- if (!method.getHttpMethod().equals("GET") && !method.getHttpMethod().equals("DELETE")) {
+ if (!method.getHttpMethod().equals("GET") &&
+ !method.getHttpMethod().equals("DELETE")) {
String objectName = resourceName.substring(0, resourceName.length()-1);
Object requestBody = paramsMap.get(objectName);
if (requestBody == null) {
error("POST method requires content object " + objectName);
}
- content = new ByteArrayContent("application/json", ((String)requestBody).getBytes());
+ content = new ByteArrayContent("application/json",((String)requestBody).getBytes());
}
- HttpRequest request = requestFactory.buildRequest(method.getHttpMethod(), url, content);
+ HttpRequest request =
+ requestFactory.buildRequest(method.getHttpMethod(), url, content);
// make the request
List<String> authHeader = new ArrayList<String>();
request.getHeaders().put("Authorization", authHeader);
String response = request.execute().parseAsString();
- logger.debug(response);
+ Map responseMap = jsonFactory.createJsonParser(response).parse(HashMap.class);
- return response;
+ logger.debug(responseMap);
+
+ return responseMap;
} catch (Exception e) {
e.printStackTrace();
throw e;
try {
Discovery discovery;
- Discovery.Builder discoveryBuilder = new Discovery.Builder(httpTransport, jsonFactory, null);
+ Discovery.Builder discoveryBuilder =
+ new Discovery.Builder(httpTransport, jsonFactory, null);
discoveryBuilder.setRootUrl(arvadosRootUrl);
discoveryBuilder.setApplicationName(apiName);
}
private void putParameter(String argName, Map<String, Object> parameters,
- String parameterName, JsonSchema parameter, Object parameterValue) throws Exception {
+ String parameterName, JsonSchema parameter, Object parameterValue)
+ throws Exception {
Object value = parameterValue;
if (parameter != null) {
if ("boolean".equals(parameter.getType())) {
import static org.junit.Assert.*;
-import org.json.simple.JSONObject;
-import org.json.simple.parser.JSONParser;
-
/**
* Unit test for Arvados.
*/
Map<String, Object> params = new HashMap<String, Object>();
- String response = arv.call("users", "list", params);
- assertTrue("Expected users.list in response", response.contains("arvados#userList"));
- assertTrue("Expected users.list in response", response.contains("uuid"));
-
- JSONParser parser = new JSONParser();
- Object obj = parser.parse(response);
- JSONObject jsonObject = (JSONObject) obj;
-
- assertEquals("Expected kind to be users.list", "arvados#userList", jsonObject.get("kind"));
+ Map response = arv.call("users", "list", params);
+ assertEquals("Expected kind to be users.list", "arvados#userList", response.get("kind"));
- List items = (List)jsonObject.get("items");
+ List items = (List)response.get("items");
assertNotNull("expected users list items", items);
assertTrue("expected at least one item in users list", items.size()>0);
- JSONObject firstUser = (JSONObject)items.get(0);
+ Map firstUser = (Map)items.get(0);
assertNotNull ("Expcted at least one user", firstUser);
assertEquals("Expected kind to be user", "arvados#user", firstUser.get("kind"));
// call user.system and get uuid of this user
Map<String, Object> params = new HashMap<String, Object>();
- String response = arv.call("users", "list", params);
- JSONParser parser = new JSONParser();
- Object obj = parser.parse(response);
- JSONObject jsonObject = (JSONObject) obj;
- assertNotNull("expected users list", jsonObject);
- List items = (List)jsonObject.get("items");
+ Map response = arv.call("users", "list", params);
+
+ assertNotNull("expected users list", response);
+ List items = (List)response.get("items");
assertNotNull("expected users list items", items);
- JSONObject firstUser = (JSONObject)items.get(0);
+ Map firstUser = (Map)items.get(0);
String userUuid = (String)firstUser.get("uuid");
// invoke users.get with the system user uuid
response = arv.call("users", "get", params);
- //JSONParser parser = new JSONParser();
- jsonObject = (JSONObject) parser.parse(response);;
- assertNotNull("Expected uuid for first user", jsonObject.get("uuid"));
- assertEquals("Expected system user uuid", userUuid, jsonObject.get("uuid"));
+ assertNotNull("Expected uuid for first user", response.get("uuid"));
+ assertEquals("Expected system user uuid", userUuid, response.get("uuid"));
}
/**
Map<String, Object> params = new HashMap<String, Object>();
params.put("user", "{}");
- String response = arv.call("users", "create", params);
+ Map response = arv.call("users", "create", params);
- JSONParser parser = new JSONParser();
- JSONObject jsonObject = (JSONObject) parser.parse(response);
- assertEquals("Expected kind to be user", "arvados#user", jsonObject.get("kind"));
+ assertEquals("Expected kind to be user", "arvados#user", response.get("kind"));
- Object uuid = jsonObject.get("uuid");
+ Object uuid = response.get("uuid");
assertNotNull("Expected uuid for first user", uuid);
// delete the object
Map<String, Object> params = new HashMap<String, Object>();
params.put("user", "{}");
- String response = arv.call("users", "create", params);
+ Map response = arv.call("users", "create", params);
- JSONParser parser = new JSONParser();
- JSONObject jsonObject = (JSONObject) parser.parse(response);
- assertEquals("Expected kind to be user", "arvados#user", jsonObject.get("kind"));
+ assertEquals("Expected kind to be user", "arvados#user", response.get("kind"));
- Object uuid = jsonObject.get("uuid");
+ Object uuid = response.get("uuid");
assertNotNull("Expected uuid for first user", uuid);
// update this user
params.put("uuid", uuid);
response = arv.call("users", "update", params);
- parser = new JSONParser();
- jsonObject = (JSONObject) parser.parse(response);
- assertEquals("Expected kind to be user", "arvados#user", jsonObject.get("kind"));
+ assertEquals("Expected kind to be user", "arvados#user", response.get("kind"));
- uuid = jsonObject.get("uuid");
+ uuid = response.get("uuid");
assertNotNull("Expected uuid for first user", uuid);
// delete the object
Map<String, Object> params = new HashMap<String, Object>();
params.put("pipeline_template", new String(data));
- String response = arv.call("pipeline_templates", "create", params);
+ Map response = arv.call("pipeline_templates", "create", params);
- JSONParser parser = new JSONParser();
- JSONObject jsonObject = (JSONObject) parser.parse(response);
- assertEquals("Expected kind to be user", "arvados#pipelineTemplate", jsonObject.get("kind"));
- String uuid = (String)jsonObject.get("uuid");
+ assertEquals("Expected kind to be user", "arvados#pipelineTemplate", response.get("kind"));
+ String uuid = (String)response.get("uuid");
assertNotNull("Expected uuid for pipeline template", uuid);
// get the pipeline
params.put("uuid", uuid);
response = arv.call("pipeline_templates", "get", params);
- parser = new JSONParser();
- jsonObject = (JSONObject) parser.parse(response);
- assertEquals("Expected kind to be user", "arvados#pipelineTemplate", jsonObject.get("kind"));
- assertEquals("Expected uuid for pipeline template", uuid, jsonObject.get("uuid"));
+ assertEquals("Expected kind to be user", "arvados#pipelineTemplate", response.get("kind"));
+ assertEquals("Expected uuid for pipeline template", uuid, response.get("uuid"));
// delete the object
params = new HashMap<String, Object>();
Map<String, Object> params = new HashMap<String, Object>();
- String response = arv.call("users", "list", params);
- assertTrue("Expected users.list in response", response.contains("arvados#userList"));
- assertTrue("Expected users.list in response", response.contains("uuid"));
-
- JSONParser parser = new JSONParser();
- Object obj = parser.parse(response);
- JSONObject jsonObject = (JSONObject) obj;
- assertEquals("Expected kind to be users.list", "arvados#userList", jsonObject.get("kind"));
+ Map response = arv.call("users", "list", params);
+ assertEquals("Expected kind to be users.list", "arvados#userList", response.get("kind"));
}
/**
Map<String, Object> params = new HashMap<String, Object>();
- String response = arv.call("users", "list", params);
- assertTrue("Expected users.list in response", response.contains("arvados#userList"));
- assertTrue("Expected users.list in response", response.contains("uuid"));
+ Map response = arv.call("users", "list", params);
+ assertEquals("Expected users.list in response", "arvados#userList", response.get("kind"));
- JSONParser parser = new JSONParser();
- Object obj = parser.parse(response);
- JSONObject jsonObject = (JSONObject) obj;
-
- assertEquals("Expected kind to be users.list", "arvados#userList", jsonObject.get("kind"));
-
- List items = (List)jsonObject.get("items");
+ List items = (List)response.get("items");
assertNotNull("expected users list items", items);
assertTrue("expected at least one item in users list", items.size()>0);
response = arv.call("users", "list", params);
- parser = new JSONParser();
- obj = parser.parse(response);
- jsonObject = (JSONObject) obj;
-
- assertEquals("Expected kind to be users.list", "arvados#userList", jsonObject.get("kind"));
+ assertEquals("Expected kind to be users.list", "arvados#userList", response.get("kind"));
- items = (List)jsonObject.get("items");
+ items = (List)response.get("items");
assertNotNull("expected users list items", items);
assertTrue("expected at least one item in users list", items.size()>0);
Map<String, Object> params = new HashMap<String, Object>();
- String response = arv.call("links", "list", params);
- assertTrue("Expected links.list in response", response.contains("arvados#linkList"));
+ Map response = arv.call("links", "list", params);
+ assertEquals("Expected links.list in response", "arvados#linkList", response.get("kind"));
String[] filters = new String[3];
filters[0] = "name";
response = arv.call("links", "list", params);
- assertTrue("Expected links.list in response", response.contains("arvados#linkList"));
- assertFalse("Expected no can_manage in response", response.contains("\"name\":\"can_manage\""));
+ assertEquals("Expected links.list in response", "arvados#linkList", response.get("kind"));
+ assertFalse("Expected no can_manage in response", response.toString().contains("\"name\":\"can_manage\""));
}
@Test
Map<String, Object> params = new HashMap<String, Object>();
- String response = arv.call("links", "list", params);
- assertTrue("Expected links.list in response", response.contains("arvados#linkList"));
+ Map response = arv.call("links", "list", params);
+ assertEquals("Expected links.list in response", "arvados#linkList", response.get("kind"));
List<String> filters = new ArrayList<String>();
filters.add("name");
response = arv.call("links", "list", params);
- assertTrue("Expected links.list in response", response.contains("arvados#linkList"));
- assertFalse("Expected no can_manage in response", response.contains("\"name\":\"can_manage\""));
+ assertEquals("Expected links.list in response", "arvados#linkList", response.get("kind"));
+ assertFalse("Expected no can_manage in response", response.toString().contains("\"name\":\"can_manage\""));
}
@Test
Map<String, Object> params = new HashMap<String, Object>();
- String response = arv.call("links", "list", params);
- assertTrue("Expected links.list in response", response.contains("arvados#linkList"));
-
Map<String, String> where = new HashMap<String, String>();
where.put("where", "updated_at > '2014-05-01'");
params.put("where", where);
- response = arv.call("links", "list", params);
+ Map response = arv.call("links", "list", params);
- assertTrue("Expected links.list in response", response.contains("arvados#linkList"));
+ assertEquals("Expected links.list in response", "arvados#linkList", response.get("kind"));
}
}
\ No newline at end of file