here is the code i am using to query for 'subscription' and then return a reference of the workspace i want to access:
public static String query_for_workspace(String ws, RallyRestApi r) throws IOException{
String Wspace_ref=null;
//Read Subscription
QueryRequest subscriptionRequest = new QueryRequest("Subscriptions");
subscriptionRequest.setFetch(new Fetch("Name", "Workspaces"));
QueryResponse subscriptionQueryResponse = r.query(subscriptionRequest);
String subName = subscriptionQueryResponse.getResults().get(0).getAsJsonObject().get("Name").toString();
System.out.println("Read Subscription: " + subName);
// Grab Workspaces Collection
JsonArray myWorkspaces = subscriptionQueryResponse.getResults().get(0).getAsJsonObject().get("Workspaces").getAsJsonArray();
// iterates through all workspaces and fetch 'ref' (string attribute) of the useful workspace
for (int i=0; i<myWorkspaces.size(); i++) {
JsonObject workspaceObject = myWorkspaces.get(i).getAsJsonObject();
String workspaceRef = workspaceObject.get("_ref").getAsString();
GetRequest workspaceRequest = new GetRequest(workspaceRef);
workspaceRequest.setFetch(new Fetch("Name"));
GetResponse workspaceResponse = r.get(workspaceRequest);
JsonObject workspaceObj = workspaceResponse.getObject();
String workspaceName = workspaceObj.get("Name").getAsString();
if(workspaceName.equals(ws)){
System.out.printf("Workspace found ==> %s\n", workspaceName);
Wspace_ref=workspaceRef;
}
}
return Wspace_ref;
}
The error comes from this line:
JsonArray myWorkspaces=subscriptionQueryResponse.getResults().get(0).getAsJsonObject().get("Workspaces").getAsJsonArray();
This code is working with 1.x API. How do I access the list of workspaces in 2.x?
Thank you!