From 2ee88de8ec2053bfde9ebff89c5c8444f8a645a3 Mon Sep 17 00:00:00 2001 From: krmorse Date: Mon, 15 Jul 2013 11:43:23 -0600 Subject: [PATCH 01/48] Update README.md --- README.md | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 6e118c5..275a907 100644 --- a/README.md +++ b/README.md @@ -16,11 +16,9 @@ The Java Toolkit for Rally REST API provides an intuitive Java API for accessing It provides a rich set of capabilities for querying, along with methods for creating, reading, updating, and deleting individual items. -[Java 7 Download](http://people.rallydev.com/connector/RallyRestApiJava/1.0.7/java7/rally-rest-api-1.0.7.jar) +[Download](https://github.com/RallyTools/RallyRestToolkitForJava/releases/download/v2.0.2/rally-rest-api-2.0.2.jar) -[Java 6 Download](http://people.rallydev.com/connector/RallyRestApiJava/1.0.7/java6/rally-rest-api-1.0.7.jar) - -[Full API documentation](https://docs.rallydev.com/javarestapi/index.html) +[Full API documentation](http://rallytools.github.io/RallyRestToolkitForJava/) [Web Services API documentation](https://rally1.rallydev.com/slm/doc/webservice) @@ -29,20 +27,19 @@ It provides a rich set of capabilities for querying, along with methods for crea Create a new Java project in your favorite IDE. #### Manual -Add rally-rest-api-2.0.2.jar appropriate to your version of JDK to your classpath. +Add [rally-rest-api-2.0.2.jar](https://github.com/RallyTools/RallyRestToolkitForJava/releases/download/v2.0.2/rally-rest-api-2.0.2.jar) appropriate to your version of JDK to your classpath. You will also need to add the following jars: -* httpcore-4.2.1.jar -* httpclient-4.2.1.jar -* httpclient-cache-4.2.1.jar -* commons-logging-1.1.1.jar -* commons-codec-1.6.jar -* gson-2.1.jar +* httpcore-4.2.4.jar +* httpclient-4.2.5.jar +* commons-logging-1.1.1.jar +* commons-codec-1.6.jar +* gson-2.2.4.jar -All the jars except gson-2.1.jar can be found in [httpcomponents-client-4.2.1-bin.zip](http://archive.apache.org/dist/httpcomponents/httpclient/binary/httpcomponents-client-4.2.1-bin.zip) in the archives for the Apache httpcomponents project. +All the jars except gson-2.1.jar can be found in [httpcomponents-client-4.2.5-bin.zip](http://archive.apache.org/dist/httpcomponents/httpclient/binary/httpcomponents-client-4.2.5-bin.zip) in the archives for the Apache httpcomponents project. -The gson-2.1.jar file can be found in [google-gson-2.1-release.zip](http://google-gson.googlecode.com/files/google-gson-2.1-release.zip) on Google Code. +The gson-2.2.4.jar file can be found in [google-gson-2.2.4-release.zip](http://google-gson.googlecode.com/files/google-gson-2.2.4-release.zip) on Google Code. #### Managed (Maven) Add the rally-rest-api dependency to your pom.xml @@ -475,4 +472,4 @@ mvn release:prepare mvn release:perform ``` -Finally, draft a Github release from the tag created by Maven. \ No newline at end of file +Finally, draft a Github release from the tag created by Maven. From 6b9f3c000aad60dd430e6e015eb1dcb16aaa32d5 Mon Sep 17 00:00:00 2001 From: Kyle Morse Date: Mon, 15 Jul 2013 12:17:16 -0600 Subject: [PATCH 02/48] Cleaning up versions --- .gitignore | 5 +++-- pom.xml | 2 +- src/main/java/META-INF/MANIFEST.MF | 4 ++-- src/main/java/com/rallydev/rest/RallyRestApi.java | 4 ++-- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 9a5d438..d402d68 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ out/ .DS_Store -RallyRestApiJava.iws +*.iws +*.ipr +*.iml /target - .idea diff --git a/pom.xml b/pom.xml index 23e0e50..19d29f8 100644 --- a/pom.xml +++ b/pom.xml @@ -97,7 +97,7 @@ com.google.code.gson gson - 2.1 + 2.2.4 org.testng diff --git a/src/main/java/META-INF/MANIFEST.MF b/src/main/java/META-INF/MANIFEST.MF index 04c03eb..19e3f57 100644 --- a/src/main/java/META-INF/MANIFEST.MF +++ b/src/main/java/META-INF/MANIFEST.MF @@ -1,9 +1,9 @@ Manifest-Version: "1.2" Implementation-Vendor: "Rally Software, Inc." Implementation-Title: "com.rallydev.rest" -Implementation-Version: "2.0" +Implementation-Version: "2.0.2" Class-Path: "httpcore-4.2.4.jar httpclient-4.2.5.jar commons-logging-1.1.1.jar commons-codec-1.6.jar gson-2.2.4.jar" Specification-Vendor: "Rally Software, Inc." Name: "com/rallydev/rest/" Specification-Title: "Rally Rest API for Java" -Specification-Version: "2.0" +Specification-Version: "2.0.2" diff --git a/src/main/java/com/rallydev/rest/RallyRestApi.java b/src/main/java/com/rallydev/rest/RallyRestApi.java index 1b4d87d..6e392c6 100644 --- a/src/main/java/com/rallydev/rest/RallyRestApi.java +++ b/src/main/java/com/rallydev/rest/RallyRestApi.java @@ -75,10 +75,10 @@ private enum Header { protected Map headers = new HashMap() { { - put(Header.Library, "Rally Rest API for Java v2.0"); + put(Header.Library, "Rally Rest API for Java v2.0.2"); put(Header.Name, "Rally Rest API for Java"); put(Header.Vendor, "Rally Software, Inc."); - put(Header.Version, "2.0"); + put(Header.Version, "2.0.2"); } }; From 2a74d6bd11ac600871e7ca38b99f2cb1a66988ab Mon Sep 17 00:00:00 2001 From: Matt Harutun Date: Wed, 17 Jul 2013 11:53:35 -0600 Subject: [PATCH 03/48] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 275a907..f6419cd 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ## License -Copyright (c) 2002-2013 Rally Software Development Corp. All Rights Reserved. Your use of this Software is governed by the terms and conditions of the applicable Subscription Agreement between your company and Rally Software Development Corp. +Copyright (c) Rally Software Development Corp. 2013 Distributed under the MIT License. ## Warranty From 3e098d7bac15a9e3fc1b29ed7ab44580a74d82a9 Mon Sep 17 00:00:00 2001 From: Matt Harutun Date: Fri, 19 Jul 2013 14:06:11 -0600 Subject: [PATCH 04/48] Update README.md --- README.md | 465 +----------------------------------------------------- 1 file changed, 3 insertions(+), 462 deletions(-) diff --git a/README.md b/README.md index f6419cd..59d5713 100644 --- a/README.md +++ b/README.md @@ -8,468 +8,9 @@ The Java Toolkit for Rally REST API is available on an as-is basis. ## Support -Rally Software does not actively maintain this toolkit. If you have a question or problem, we recommend posting it to Stack Overflow: http://stackoverflow.com/questions/ask?tags=rally +Rally Software does not actively maintain or support this toolkit. If you have a question or problem, we recommend posting it to Stack Overflow: http://stackoverflow.com/questions/ask?tags=rally -##Introduction +## Quick Reference -The Java Toolkit for Rally REST API provides an intuitive Java API for accessing your Rally Data. +Please view our [User Guide](https://github.com/RallyTools/RallyRestToolkitForJava/wiki/User-Guide) in the attached wiki -It provides a rich set of capabilities for querying, along with methods for creating, reading, updating, and deleting individual items. - -[Download](https://github.com/RallyTools/RallyRestToolkitForJava/releases/download/v2.0.2/rally-rest-api-2.0.2.jar) - -[Full API documentation](http://rallytools.github.io/RallyRestToolkitForJava/) - -[Web Services API documentation](https://rally1.rallydev.com/slm/doc/webservice) - -## Setup - -Create a new Java project in your favorite IDE. - -#### Manual -Add [rally-rest-api-2.0.2.jar](https://github.com/RallyTools/RallyRestToolkitForJava/releases/download/v2.0.2/rally-rest-api-2.0.2.jar) appropriate to your version of JDK to your classpath. - -You will also need to add the following jars: - -* httpcore-4.2.4.jar -* httpclient-4.2.5.jar -* commons-logging-1.1.1.jar -* commons-codec-1.6.jar -* gson-2.2.4.jar - -All the jars except gson-2.1.jar can be found in [httpcomponents-client-4.2.5-bin.zip](http://archive.apache.org/dist/httpcomponents/httpclient/binary/httpcomponents-client-4.2.5-bin.zip) in the archives for the Apache httpcomponents project. - -The gson-2.2.4.jar file can be found in [google-gson-2.2.4-release.zip](http://google-gson.googlecode.com/files/google-gson-2.2.4-release.zip) on Google Code. - -#### Managed (Maven) -Add the rally-rest-api dependency to your pom.xml - -```xml - - com.rallydev.rest - rally-rest-api - 2.0.2 - -``` - -## Usage - -In your main method, instantiate a new [RallyRestApi](https://docs.rallydev.com/javarestapi/com/rallydev/rest/RallyRestApi.html): - -RallyRestApi restApi = new RallyRestApi(new URI("https://rally1.rallydev.com"), "user@company.com", "password"); - - -

The parameters for [RallyRestApi](https://docs.rallydev.com/javarestapi/com/rallydev/rest/RallyRestApi.html) are as follows: - - - - - - - - - - - - - - - - - - - - - - -
ParameterDescriptionExample
server*The Rally server to connect to."https://rally1.rallydev.com"
userName*The username to connect to Rally with."user@company.com"
password*The password to connect to Rally with."password"
-  * = required parameter - -## Public Methods - -[RallyRestApi](https://docs.rallydev.com/javarestapi/com/rallydev/rest/RallyRestApi.html) exposes the following public methods: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Method NameParametersDescription
[create](https://docs.rallydev.com/javarestapi/com/rallydev/rest/RallyRestApi.html#create(com.rallydev.rest.request.CreateRequest))[CreateRequest](https://docs.rallydev.com/javarestapi/com/rallydev/rest/request/CreateRequest.html) request*Create the object described by the request parameter. Returns a [CreateResponse](https://docs.rallydev.com/javarestapi/com/rallydev/rest/response/CreateResponse.html) object containing the results of the request.
**Example:** - - JsonObject newDefect = new JsonObject(); - newDefect.addProperty("Name", "Test Defect"); - CreateRequest createRequest = new CreateRequest("defect", newDefect); - CreateResponse createResponse = restApi.create(createRequest); - -
[get](https://docs.rallydev.com/javarestapi/com/rallydev/rest/RallyRestApi.html#get(com.rallydev.rest.request.GetRequest))[GetRequest](https://docs.rallydev.com/javarestapi/com/rallydev/rest/request/GetRequest.html) request*Retrieve the object described by the request parameter. Returns a [GetResponse](https://docs.rallydev.com/javarestapi/com/rallydev/rest/response/GetResponse.html) object containing the results of the request.
**Example:** - - GetRequest getRequest = new GetRequest("/defect/1234.js"); - GetResponse getResponse = restApi.get(getRequest); - -
[update](https://docs.rallydev.com/javarestapi/com/rallydev/rest/RallyRestApi.html#update(com.rallydev.rest.request.UpdateRequest))[UpdateRequest](https://docs.rallydev.com/javarestapi/com/rallydev/rest/request/UpdateRequest.html) request*Update the object described by the request parameter. Returns a [UpdateResponse](https://docs.rallydev.com/javarestapi/com/rallydev/rest/response/UpdateResponse.html) object containing the results of the request.
**Example:** - - JsonObject updatedDefect = new JsonObject(); - updatedDefect.addProperty("State", "Fixed"); - UpdateRequest updateRequest = new UpdateRequest("/defect/1234.js", updatedDefect); - UpdateResponse updateResponse = restApi.update(updateRequest); - -
[delete](https://docs.rallydev.com/javarestapi/com/rallydev/rest/RallyRestApi.html#delete(com.rallydev.rest.request.DeleteRequest))[DeleteRequest](https://docs.rallydev.com/javarestapi/com/rallydev/rest/request/DeleteRequest.html) request*Delete the object described by the request parameter. Returns a [DeleteResponse](https://docs.rallydev.com/javarestapi/com/rallydev/rest/response/DeleteResponse.html) object containing the results of the request.
**Example:** - - DeleteRequest deleteRequest = new DeleteRequest("/defect/1234.js"); - DeleteResponse deleteResponse = restApi.delete(deleteRequest); - -
[query](https://docs.rallydev.com/javarestapi/com/rallydev/rest/RallyRestApi.html#query(com.rallydev.rest.request.QueryRequest))[QueryRequest](https://docs.rallydev.com/javarestapi/com/rallydev/rest/request/QueryRequest.html) request*Query for objects matching the specified request. By default one page of data will be returned. Paging will automatically be performed if a limit is set on the request. Returns a [QueryResponse](https://docs.rallydev.com/javarestapi/com/rallydev/rest/response/QueryResponse.html) object containing the results of the request.
**Example:** - - QueryRequest defectRequest = new QueryRequest("defect"); - - defectRequest.setFetch(new Fetch("FormattedID", "Name", "State", "Priority")); - defectRequest.setQueryFilter(new QueryFilter("State", "=", "Fixed").and(new QueryFilter("Priority", "=", "Resolve Immediately"))); - defectRequest.setOrder("Priority ASC,FormattedID ASC"); - - defectRequest.setPageSize(25); - defectRequest.setLimit(100); - - QueryResponse queryResponse = restApi.query(defectRequest); - -
[setWsapiVersion](https://docs.rallydev.com/javarestapi/com/rallydev/rest/RallyRestApi.html#setWsapiVersion(java.lang.String))String wsapiVersion*Specifies the version of Rally's web services API to use. Defaults to 1.33
**Example:** - - restApi.setWsapiVersion("1.29"); - -
[getWsapiVersion](https://docs.rallydev.com/javarestapi/com/rallydev/rest/RallyRestApi.html#getWsapiVersion()) Gets the version of Rally's web services that the Toolkit is configured to use.
**Example:** - - String version = restApi.getWsapiVersion(); - -
[setApplicationName](https://docs.rallydev.com/javarestapi/com/rallydev/rest/RallyRestApi.html#setApplicationName(java.lang.String))String name*Set the name of your application. This name can be whatever you wish, and is added to the request headers of any web service requests your application makes. We encourage you to set this value, as it helps track usage of the toolkit.
**Example:** - - restApi.setApplicationName("Universal Rally Data Extractor"); - -
[setApplicationVersion](https://docs.rallydev.com/javarestapi/com/rallydev/rest/RallyRestApi.html#setApplicationVersion(java.lang.String))String version*Set the version of the application using the Java Toolkit. This version can be whatever you wish, and is added to the request headers of any web service requests your application makes.
**Example:** - - restApi.setApplicationVersion("1.1"); - -
[setApplicationVendor](https://docs.rallydev.com/javarestapi/com/rallydev/rest/RallyRestApi.html#setApplicationVendor(java.lang.String)l)String vendor*Set the vendor of the application using the Java Toolkit. This name can be whatever you wish (usually your company name), and is added to the request headers of any web service requests your application makes.
**Example:** - - restApi.setApplicationVendor("My Company, Inc."); - -
[setProxy](https://docs.rallydev.com/javarestapi/com/rallydev/rest/RallyRestApi.html#setProxy(java.net.URI))java.net.URI proxy* -String userName -String passwordSet the proxy server to use, if you connect to Rally through a proxy server. By default, no proxy is configured. The userName and password parameters are optional, and are used if your proxy server requires authentication.
**Example:** - - restApi.setProxy(new URI("http://myproxy.mycompany.com"), "MyProxyUsername", "MyProxyPassword"); - -
[close](https://docs.rallydev.com/javarestapi/com/rallydev/rest/RallyRestApi.html#close()) Closes open connections and releases resources. You should always call this method before your application exits.
**Example:** - - restApi.close(); - -
- -  * = required parameter - -## Examples - -The following code illustrates how to create, read, update, and delete a defect using the [RallyRestApi](https://docs.rallydev.com/javarestapi/com/rallydev/rest/RallyRestApi.html) object. -``` - -import com.google.gson.JsonObject; -import com.rallydev.rest.RallyRestApi; -import com.rallydev.rest.request.CreateRequest; -import com.rallydev.rest.request.DeleteRequest; -import com.rallydev.rest.request.GetRequest; -import com.rallydev.rest.request.UpdateRequest; -import com.rallydev.rest.response.CreateResponse; -import com.rallydev.rest.response.DeleteResponse; -import com.rallydev.rest.response.GetResponse; -import com.rallydev.rest.response.UpdateResponse; -import com.rallydev.rest.util.Ref; - -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; - -public class CrudExample { - - public static void main(String[] args) throws URISyntaxException, IOException { - - //Create and configure a new instance of RallyRestApi - RallyRestApi restApi = new RallyRestApi(new URI("https://rally1.rallydev.com"), "user@company.com", "password"); - restApi.setApplicationName("CrudExample"); - - try { - - //Create a defect - System.out.println("Creating defect..."); - JsonObject newDefect = new JsonObject(); - newDefect.addProperty("Name", "Test Defect"); - CreateRequest createRequest = new CreateRequest("defect", newDefect); - CreateResponse createResponse = restApi.create(createRequest); - System.out.println(String.format("Created %s", createResponse.getObject().get("_ref").getAsString())); - - //Read defect - String ref = Ref.getRelativeRef(createResponse.getObject().get("_ref").getAsString()); - System.out.println(String.format("\nReading defect %s...", ref)); - GetRequest getRequest = new GetRequest(ref); - GetResponse getResponse = restApi.get(getRequest); - JsonObject obj = getResponse.getObject(); - System.out.println(String.format("Read defect. Name = %s, State = %s", - obj.get("Name").getAsString(), obj.get("State").getAsString())); - - //Update defect - System.out.println("\nUpdating defect state..."); - JsonObject updatedDefect = new JsonObject(); - updatedDefect.addProperty("State", "Fixed"); - UpdateRequest updateRequest = new UpdateRequest(ref, updatedDefect); - UpdateResponse updateResponse = restApi.update(updateRequest); - obj = updateResponse.getObject(); - System.out.println(String.format("Updated defect. State = %s", obj.get("State").getAsString())); - - //Delete defect - System.out.println("\nDeleting defect..."); - DeleteRequest deleteRequest = new DeleteRequest(ref); - DeleteResponse deleteResponse = restApi.delete(deleteRequest); - if (deleteResponse.wasSuccessful()) { - System.out.println("Deleted defect."); - } - - } finally { - //Release all resources - restApi.close(); - } - } -} - -``` - -The following code illustrates how to query for the top 5 highest priority defects: -``` - -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.rallydev.rest.RallyRestApi; -import com.rallydev.rest.request.QueryRequest; -import com.rallydev.rest.response.QueryResponse; -import com.rallydev.rest.util.Fetch; -import com.rallydev.rest.util.QueryFilter; - -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; - -public class QueryExample { - - public static void main(String[] args) throws URISyntaxException, IOException { - - //Create and configure a new instance of RallyRestApi - RallyRestApi restApi = new RallyRestApi(new URI("https://rally1.rallydev.com"), "user@company.com", "password"); - restApi.setApplicationName("QueryExample"); - - try { - - System.out.println("Querying for top 5 highest priority unfixed defects..."); - - QueryRequest defects = new QueryRequest("defect"); - - defects.setFetch(new Fetch("FormattedID", "Name", "State", "Priority")); - defects.setQueryFilter(new QueryFilter("State", "<", "Fixed")); - defects.setOrder("Priority ASC,FormattedID ASC"); - - //Return up to 5, 1 per page - defects.setPageSize(1); - defects.setLimit(5); - - QueryResponse queryResponse = restApi.query(defects); - if (queryResponse.wasSuccessful()) { - System.out.println(String.format("\nTotal results: %d", queryResponse.getTotalResultCount())); - System.out.println("Top 5:"); - for (JsonElement result : queryResponse.getResults()) { - JsonObject defect = result.getAsJsonObject(); - System.out.println(String.format("\t%s - %s: Priority=%s, State=%s", - defect.get("FormattedID").getAsString(), - defect.get("Name").getAsString(), - defect.get("Priority").getAsString(), - defect.get("State").getAsString())); - } - } else { - System.err.println("The following errors occurred: "); - for (String err : queryResponse.getErrors()) { - System.err.println("\t" + err); - } - } - - } finally { - //Release resources - restApi.close(); - } - } -} - -``` - -## Development -### Releasing to Maven central -#### One-time Setup -* Install Maven 3 -* Install gpg to sign the artifacts - -```bash -brew install gpg -``` -* Get a copy of the the gpg key pair archive from Matt Cholick, Kyle Morse, or Charles Ferentchak -* Place the contents of the key pair archive in ~/.gnupg -* Add login login information to Sonatype's repository to your ~/.m2/settings.xml (again getting the credentials from Matt, Kyle, or Charles) - -```xml - - - - sonatype-nexus-snapshots - user - password - - - sonatype-nexus-staging - user - password - - - -``` -#### Releasing to Sonatype OSS (central) -This is a stripped down version of a much, much longer guide https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide - -* Prepare the release (create tag & update pom) - -```bash -mvn release:clean -mvn release:prepare -``` -* Release! - -```bash -mvn release:perform -``` - -Finally, draft a Github release from the tag created by Maven. From f8c74cf83e67128cd2aac5ebdaafcc457646de12 Mon Sep 17 00:00:00 2001 From: "U-cirque\\markwilliams" Date: Wed, 21 Aug 2013 15:03:52 -0600 Subject: [PATCH 05/48] Updated README --- README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 59d5713..ebd4858 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,11 @@ The Java Toolkit for Rally REST API is available on an as-is basis. Rally Software does not actively maintain or support this toolkit. If you have a question or problem, we recommend posting it to Stack Overflow: http://stackoverflow.com/questions/ask?tags=rally -## Quick Reference +## User Guide -Please view our [User Guide](https://github.com/RallyTools/RallyRestToolkitForJava/wiki/User-Guide) in the attached wiki +Please view our [Java Toolkit for Rally REST API User Guide](https://github.com/RallyTools/RallyRestToolkitForJava/wiki/User-Guide) in the attached wiki + +[Java Toolkit for Rally REST API javadocs](http://rallytools.github.io/RallyRestToolkitForJava/) + +[Web Services API documentation](https://rally1.rallydev.com/slm/doc/webservice) From eb7f36325441bbd5202715b488297ebf12b6f649 Mon Sep 17 00:00:00 2001 From: "U-cirque\\markwilliams" Date: Sun, 25 Aug 2013 11:27:37 -0600 Subject: [PATCH 06/48] Updated README --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index ebd4858..5506ed4 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,10 @@ The Java Toolkit for Rally REST API is available on an as-is basis. Rally Software does not actively maintain or support this toolkit. If you have a question or problem, we recommend posting it to Stack Overflow: http://stackoverflow.com/questions/ask?tags=rally +## Download + +[Download REST API jar and dependencies](https://github.com/RallyTools/RallyRestToolkitForJava/wiki/User-Guide#setup) + ## User Guide Please view our [Java Toolkit for Rally REST API User Guide](https://github.com/RallyTools/RallyRestToolkitForJava/wiki/User-Guide) in the attached wiki From bb6a3adfdda47dade7934b995596f46bf9465af1 Mon Sep 17 00:00:00 2001 From: "U-cirque\\markwilliams" Date: Sun, 25 Aug 2013 11:29:31 -0600 Subject: [PATCH 07/48] Updated README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5506ed4..428315e 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ Rally Software does not actively maintain or support this toolkit. If you have a ## User Guide -Please view our [Java Toolkit for Rally REST API User Guide](https://github.com/RallyTools/RallyRestToolkitForJava/wiki/User-Guide) in the attached wiki +Please view the [Java Toolkit for Rally REST API User Guide](https://github.com/RallyTools/RallyRestToolkitForJava/wiki/User-Guide) in the attached wiki [Java Toolkit for Rally REST API javadocs](http://rallytools.github.io/RallyRestToolkitForJava/) From 60ba8a8f198b743b3ea22589c85d6f081fce1fb0 Mon Sep 17 00:00:00 2001 From: Kyle Morse Date: Tue, 10 Sep 2013 16:39:28 -0600 Subject: [PATCH 08/48] Fixed mishandling of built-in typedef refs --- src/main/java/com/rallydev/rest/util/Ref.java | 2 +- src/test/java/com/rallydev/rest/util/RefTest.java | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/rallydev/rest/util/Ref.java b/src/main/java/com/rallydev/rest/util/Ref.java index 7d56fba..2f71a90 100644 --- a/src/main/java/com/rallydev/rest/util/Ref.java +++ b/src/main/java/com/rallydev/rest/util/Ref.java @@ -23,7 +23,7 @@ public class Ref { Pattern.compile(".*?/(\\w+/-?\\d+)/(\\w+)(?:\\.js\\??.*)*$"), //basic ref (/defect/1234) - Pattern.compile(".*?/(\\w+)/(\\d+)(?:\\.js\\??.*)*$"), + Pattern.compile(".*?/(\\w+)/(-?\\d+)(?:\\.js\\??.*)*$"), //permission ref (/workspacepermission/123u456w1) Pattern.compile(".*?/(\\w+)/(\\d+u\\d+[pw]\\d+)(?:\\.js\\??.*)*$") diff --git a/src/test/java/com/rallydev/rest/util/RefTest.java b/src/test/java/com/rallydev/rest/util/RefTest.java index 0c22b78..272a895 100644 --- a/src/test/java/com/rallydev/rest/util/RefTest.java +++ b/src/test/java/com/rallydev/rest/util/RefTest.java @@ -9,6 +9,7 @@ public class RefTest { public void shouldDetectValidRefs() { Assert.assertTrue(Ref.isRef("/defect/1234"), "Valid relative ref"); Assert.assertTrue(Ref.isRef("/defect/1234.js"), "Valid relative ref w/ extension"); + Assert.assertTrue(Ref.isRef("/typedefinition/-1234.js"), "Valid relative built-in typedef ref"); Assert.assertTrue(Ref.isRef("https://rally1.rallydev.com/slm/webservice/1.32/defect/1234"), "Valid absolute ref"); Assert.assertTrue(Ref.isRef("http://rally1.rallydev.com/slm/webservice/1.32/defect/1234.js"), "Valid absolute ref w/ extension"); } @@ -75,6 +76,7 @@ public void shouldReturnNullTypesFromRefs() { public void shouldReturnOidsFromRefs() { Assert.assertEquals(Ref.getOidFromRef("/defect/1234"), "1234", "Relative ref"); Assert.assertEquals(Ref.getOidFromRef("/defect/1234.js"), "1234", "Relative ref with extension"); + Assert.assertEquals(Ref.getOidFromRef("/typedefinition/-1234.js"), "-1234", "Relative built-in typedef ref"); Assert.assertEquals(Ref.getOidFromRef("https://rally1.rallydev.com/slm/webservice/1.32/defect/1234"), "1234", "Valid absolute ref"); } From 201ebfa79dbb5630a17e6db3d522d8eac3a2ac12 Mon Sep 17 00:00:00 2001 From: Kyle Morse Date: Wed, 11 Sep 2013 11:13:16 -0600 Subject: [PATCH 09/48] 2.0.3 release --- pom.xml | 2 +- src/main/java/META-INF/MANIFEST.MF | 4 ++-- src/main/java/com/rallydev/rest/RallyRestApi.java | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index 19d29f8..15514f2 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ Rally Rest Toolkit For Java com.rallydev.rest rally-rest-api - 2.0.3-SNAPSHOT + 2.0.3 A java toolkit for interacting with the Rally Rest API diff --git a/src/main/java/META-INF/MANIFEST.MF b/src/main/java/META-INF/MANIFEST.MF index 19e3f57..b5db7bb 100644 --- a/src/main/java/META-INF/MANIFEST.MF +++ b/src/main/java/META-INF/MANIFEST.MF @@ -1,9 +1,9 @@ Manifest-Version: "1.2" Implementation-Vendor: "Rally Software, Inc." Implementation-Title: "com.rallydev.rest" -Implementation-Version: "2.0.2" +Implementation-Version: "2.0.3" Class-Path: "httpcore-4.2.4.jar httpclient-4.2.5.jar commons-logging-1.1.1.jar commons-codec-1.6.jar gson-2.2.4.jar" Specification-Vendor: "Rally Software, Inc." Name: "com/rallydev/rest/" Specification-Title: "Rally Rest API for Java" -Specification-Version: "2.0.2" +Specification-Version: "2.0.3" diff --git a/src/main/java/com/rallydev/rest/RallyRestApi.java b/src/main/java/com/rallydev/rest/RallyRestApi.java index 6e392c6..13b02ba 100644 --- a/src/main/java/com/rallydev/rest/RallyRestApi.java +++ b/src/main/java/com/rallydev/rest/RallyRestApi.java @@ -75,10 +75,10 @@ private enum Header { protected Map headers = new HashMap() { { - put(Header.Library, "Rally Rest API for Java v2.0.2"); + put(Header.Library, "Rally Rest API for Java v2.0.3"); put(Header.Name, "Rally Rest API for Java"); put(Header.Vendor, "Rally Software, Inc."); - put(Header.Version, "2.0.2"); + put(Header.Version, "2.0.3"); } }; From afd18c85d87edfa0513224e01c675d6b80dd76a9 Mon Sep 17 00:00:00 2001 From: Kyle Morse Date: Wed, 11 Sep 2013 12:40:32 -0600 Subject: [PATCH 10/48] Revert "2.0.3 release" This reverts commit 201ebfa79dbb5630a17e6db3d522d8eac3a2ac12. --- pom.xml | 2 +- src/main/java/META-INF/MANIFEST.MF | 4 ++-- src/main/java/com/rallydev/rest/RallyRestApi.java | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index 15514f2..19d29f8 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ Rally Rest Toolkit For Java com.rallydev.rest rally-rest-api - 2.0.3 + 2.0.3-SNAPSHOT A java toolkit for interacting with the Rally Rest API diff --git a/src/main/java/META-INF/MANIFEST.MF b/src/main/java/META-INF/MANIFEST.MF index b5db7bb..19e3f57 100644 --- a/src/main/java/META-INF/MANIFEST.MF +++ b/src/main/java/META-INF/MANIFEST.MF @@ -1,9 +1,9 @@ Manifest-Version: "1.2" Implementation-Vendor: "Rally Software, Inc." Implementation-Title: "com.rallydev.rest" -Implementation-Version: "2.0.3" +Implementation-Version: "2.0.2" Class-Path: "httpcore-4.2.4.jar httpclient-4.2.5.jar commons-logging-1.1.1.jar commons-codec-1.6.jar gson-2.2.4.jar" Specification-Vendor: "Rally Software, Inc." Name: "com/rallydev/rest/" Specification-Title: "Rally Rest API for Java" -Specification-Version: "2.0.3" +Specification-Version: "2.0.2" diff --git a/src/main/java/com/rallydev/rest/RallyRestApi.java b/src/main/java/com/rallydev/rest/RallyRestApi.java index 13b02ba..6e392c6 100644 --- a/src/main/java/com/rallydev/rest/RallyRestApi.java +++ b/src/main/java/com/rallydev/rest/RallyRestApi.java @@ -75,10 +75,10 @@ private enum Header { protected Map headers = new HashMap() { { - put(Header.Library, "Rally Rest API for Java v2.0.3"); + put(Header.Library, "Rally Rest API for Java v2.0.2"); put(Header.Name, "Rally Rest API for Java"); put(Header.Vendor, "Rally Software, Inc."); - put(Header.Version, "2.0.3"); + put(Header.Version, "2.0.2"); } }; From 4c00ef2c3c758fd86b827b17afb64cf1f33925ab Mon Sep 17 00:00:00 2001 From: Kyle Morse Date: Wed, 11 Sep 2013 12:41:31 -0600 Subject: [PATCH 11/48] update 2.0.3 version --- pom.xml | 2 +- src/main/java/META-INF/MANIFEST.MF | 4 ++-- src/main/java/com/rallydev/rest/RallyRestApi.java | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index 19d29f8..9184063 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ Rally Rest Toolkit For Java com.rallydev.rest rally-rest-api - 2.0.3-SNAPSHOT + 2.0.4-SNAPSHOT A java toolkit for interacting with the Rally Rest API diff --git a/src/main/java/META-INF/MANIFEST.MF b/src/main/java/META-INF/MANIFEST.MF index 19e3f57..b5db7bb 100644 --- a/src/main/java/META-INF/MANIFEST.MF +++ b/src/main/java/META-INF/MANIFEST.MF @@ -1,9 +1,9 @@ Manifest-Version: "1.2" Implementation-Vendor: "Rally Software, Inc." Implementation-Title: "com.rallydev.rest" -Implementation-Version: "2.0.2" +Implementation-Version: "2.0.3" Class-Path: "httpcore-4.2.4.jar httpclient-4.2.5.jar commons-logging-1.1.1.jar commons-codec-1.6.jar gson-2.2.4.jar" Specification-Vendor: "Rally Software, Inc." Name: "com/rallydev/rest/" Specification-Title: "Rally Rest API for Java" -Specification-Version: "2.0.2" +Specification-Version: "2.0.3" diff --git a/src/main/java/com/rallydev/rest/RallyRestApi.java b/src/main/java/com/rallydev/rest/RallyRestApi.java index 6e392c6..13b02ba 100644 --- a/src/main/java/com/rallydev/rest/RallyRestApi.java +++ b/src/main/java/com/rallydev/rest/RallyRestApi.java @@ -75,10 +75,10 @@ private enum Header { protected Map headers = new HashMap() { { - put(Header.Library, "Rally Rest API for Java v2.0.2"); + put(Header.Library, "Rally Rest API for Java v2.0.3"); put(Header.Name, "Rally Rest API for Java"); put(Header.Vendor, "Rally Software, Inc."); - put(Header.Version, "2.0.2"); + put(Header.Version, "2.0.3"); } }; From 4a9643ccd58bc12d55751d6a8e37c58b28adb062 Mon Sep 17 00:00:00 2001 From: Matt Cholick Date: Thu, 12 Sep 2013 19:55:50 -0700 Subject: [PATCH 12/48] Remove nexus-staging-maven-plugin; the automated sync to central is failing. --- pom.xml | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/pom.xml b/pom.xml index 9184063..2c4ae24 100644 --- a/pom.xml +++ b/pom.xml @@ -74,17 +74,6 @@ - - org.sonatype.plugins - nexus-staging-maven-plugin - 1.4.4 - true - - sonatype-nexus-staging - - https://oss.sonatype.org/ - - From 7e9ffb82c78e974881f2da6c80386fa0964dcaf6 Mon Sep 17 00:00:00 2001 From: Matt Cholick Date: Thu, 12 Sep 2013 19:58:13 -0700 Subject: [PATCH 13/48] [maven-release-plugin] prepare release rally-rest-api-2.0.4 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 2c4ae24..309752a 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ Rally Rest Toolkit For Java com.rallydev.rest rally-rest-api - 2.0.4-SNAPSHOT + 2.0.4 A java toolkit for interacting with the Rally Rest API From 5ef01eeab438acd577b150f136db965f32997822 Mon Sep 17 00:00:00 2001 From: Matt Cholick Date: Thu, 12 Sep 2013 19:58:19 -0700 Subject: [PATCH 14/48] [maven-release-plugin] prepare for next development iteration --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 309752a..8f69b15 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ Rally Rest Toolkit For Java com.rallydev.rest rally-rest-api - 2.0.4 + 2.0.5-SNAPSHOT A java toolkit for interacting with the Rally Rest API From 2d8255f9ebca44480c4574ef105684b1451248fc Mon Sep 17 00:00:00 2001 From: Matt Cholick Date: Fri, 13 Sep 2013 17:53:04 -0700 Subject: [PATCH 15/48] Add back in the Sonatype staging plugin to automate process. --- pom.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pom.xml b/pom.xml index 8f69b15..24e20f8 100644 --- a/pom.xml +++ b/pom.xml @@ -74,6 +74,17 @@ + + org.sonatype.plugins + nexus-staging-maven-plugin + 1.4.4 + true + + sonatype-nexus-staging + + https://oss.sonatype.org/ + + From b5af2fb9ce5810c51e285b7d329b51d8b586f08a Mon Sep 17 00:00:00 2001 From: Matt Cholick Date: Mon, 16 Sep 2013 08:11:54 -0700 Subject: [PATCH 16/48] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 428315e..5deef6c 100644 --- a/README.md +++ b/README.md @@ -22,3 +22,5 @@ Please view the [Java Toolkit for Rally REST API User Guide](https://github.com/ [Web Services API documentation](https://rally1.rallydev.com/slm/doc/webservice) +## Developer Guide +Please view the [Developer Guide](https://github.com/RallyTools/RallyRestToolkitForJava/wiki/Developer-Guide) in the attached wiki From 0b4a4b6ede4f8f046ace5996b9d7876c7b0d8985 Mon Sep 17 00:00:00 2001 From: Kyle Morse Date: Tue, 22 Apr 2014 08:08:20 -0600 Subject: [PATCH 17/48] Support API Keys, gzip compression --- .gitignore | 4 +- RallyRestToolkitForJava.iml | 32 ++ RallyRestToolkitForJava.ipr | 354 ++++++++++++ pom.xml | 2 +- src/main/java/META-INF/MANIFEST.MF | 8 +- .../java/com/rallydev/rest/RallyRestApi.java | 368 ++----------- .../rallydev/rest/client/ApiKeyClient.java | 39 ++ .../rallydev/rest/client/BasicAuthClient.java | 88 +++ .../com/rallydev/rest/client/HttpClient.java | 247 +++++++++ .../rallydev/rest/client/package-info.java | 4 + .../rest/response/CreateResponse.java | 10 +- .../rest/response/DeleteResponse.java | 4 +- .../rallydev/rest/response/QueryResponse.java | 12 +- .../rest/response/UpdateResponse.java | 6 +- .../rest/util/InvalidURLException.java | 7 - src/main/resources/doc/allclasses-frame.html | 8 +- .../resources/doc/allclasses-noframe.html | 8 +- .../doc/com/rallydev/rest/RallyRestApi.html | 188 +++---- .../rallydev/rest/class-use/RallyRestApi.html | 4 +- .../rallydev/rest/client/ApiKeyClient.html | 275 +++++++++ .../rallydev/rest/client/BasicAuthClient.html | 277 ++++++++++ .../com/rallydev/rest/client/HttpClient.html | 520 ++++++++++++++++++ .../rest/client/class-use/ApiKeyClient.html | 115 ++++ .../client/class-use/BasicAuthClient.html | 115 ++++ .../rest/client/class-use/HttpClient.html | 191 +++++++ .../rallydev/rest/client/package-frame.html | 21 + .../rallydev/rest/client/package-summary.html | 156 ++++++ .../rallydev/rest/client/package-tree.html | 141 +++++ .../com/rallydev/rest/client/package-use.html | 175 ++++++ .../doc/com/rallydev/rest/package-frame.html | 4 +- .../com/rallydev/rest/package-summary.html | 8 +- .../doc/com/rallydev/rest/package-tree.html | 8 +- .../doc/com/rallydev/rest/package-use.html | 4 +- .../rallydev/rest/request/CreateRequest.html | 4 +- .../rallydev/rest/request/DeleteRequest.html | 4 +- .../com/rallydev/rest/request/GetRequest.html | 4 +- .../rallydev/rest/request/QueryRequest.html | 4 +- .../com/rallydev/rest/request/Request.html | 12 +- .../rallydev/rest/request/UpdateRequest.html | 4 +- .../rest/request/class-use/CreateRequest.html | 4 +- .../rest/request/class-use/DeleteRequest.html | 4 +- .../rest/request/class-use/GetRequest.html | 4 +- .../rest/request/class-use/QueryRequest.html | 4 +- .../rest/request/class-use/Request.html | 4 +- .../rest/request/class-use/UpdateRequest.html | 4 +- .../rallydev/rest/request/package-frame.html | 4 +- .../rest/request/package-summary.html | 8 +- .../rallydev/rest/request/package-tree.html | 8 +- .../rallydev/rest/request/package-use.html | 4 +- .../rest/response/CreateResponse.html | 4 +- .../rest/response/DeleteResponse.html | 4 +- .../rallydev/rest/response/GetResponse.html | 4 +- .../rallydev/rest/response/QueryResponse.html | 4 +- .../com/rallydev/rest/response/Response.html | 4 +- .../rest/response/UpdateResponse.html | 4 +- .../response/class-use/CreateResponse.html | 4 +- .../response/class-use/DeleteResponse.html | 4 +- .../rest/response/class-use/GetResponse.html | 4 +- .../response/class-use/QueryResponse.html | 4 +- .../rest/response/class-use/Response.html | 4 +- .../response/class-use/UpdateResponse.html | 4 +- .../rallydev/rest/response/package-frame.html | 4 +- .../rest/response/package-summary.html | 4 +- .../rallydev/rest/response/package-tree.html | 4 +- .../rallydev/rest/response/package-use.html | 4 +- .../doc/com/rallydev/rest/util/Fetch.html | 8 +- .../rest/util/InvalidURLException.html | 4 +- .../com/rallydev/rest/util/QueryFilter.html | 8 +- .../doc/com/rallydev/rest/util/Ref.html | 4 +- .../rallydev/rest/util/class-use/Fetch.html | 36 +- .../util/class-use/InvalidURLException.html | 4 +- .../rest/util/class-use/QueryFilter.html | 4 +- .../com/rallydev/rest/util/class-use/Ref.html | 4 +- .../com/rallydev/rest/util/package-frame.html | 8 +- .../rallydev/rest/util/package-summary.html | 19 +- .../com/rallydev/rest/util/package-tree.html | 17 +- .../com/rallydev/rest/util/package-use.html | 4 +- src/main/resources/doc/constant-values.html | 54 +- src/main/resources/doc/deprecated-list.html | 28 +- src/main/resources/doc/help-doc.html | 4 +- .../resources/doc/index-files/index-1.html | 16 +- .../resources/doc/index-files/index-10.html | 96 +--- .../resources/doc/index-files/index-11.html | 50 +- .../resources/doc/index-files/index-12.html | 120 +++- .../resources/doc/index-files/index-13.html | 50 +- .../resources/doc/index-files/index-14.html | 138 +++++ .../resources/doc/index-files/index-15.html | 122 ++++ .../resources/doc/index-files/index-2.html | 60 +- .../resources/doc/index-files/index-3.html | 66 ++- .../resources/doc/index-files/index-4.html | 50 +- .../resources/doc/index-files/index-5.html | 142 +---- .../resources/doc/index-files/index-6.html | 162 +++++- .../resources/doc/index-files/index-7.html | 24 +- .../resources/doc/index-files/index-8.html | 48 +- .../resources/doc/index-files/index-9.html | 44 +- src/main/resources/doc/index.html | 2 +- src/main/resources/doc/overview-frame.html | 5 +- src/main/resources/doc/overview-summary.html | 14 +- src/main/resources/doc/overview-tree.html | 32 +- src/main/resources/doc/package-list | 1 + src/main/resources/doc/serialized-form.html | 9 +- .../rallydev/rest/CollectionQueryExample.java | 45 +- .../rest/CollectionSummaryExample.java | 23 +- .../com/rallydev/rest/CrudExample.java | 7 +- .../com/rallydev/rest/RestApiFactory.java | 14 +- .../com/rallydev/rest/RallyRestApiTest.java | 432 +++++---------- .../rest/client/ApiKeyClientTest.java | 40 ++ .../rest/client/BasicAuthClientTest.java | 92 ++++ .../rallydev/rest/client/HttpClientTest.java | 162 ++++++ .../rest/matchers/HttpRequestBodyMatcher.java | 27 + .../matchers/HttpRequestHeaderMatcher.java | 24 + .../rest/matchers/HttpRequestUrlMatcher.java | 22 + .../rest/response/GetResponseTest.java | 6 +- 113 files changed, 4421 insertions(+), 1477 deletions(-) create mode 100644 RallyRestToolkitForJava.iml create mode 100644 RallyRestToolkitForJava.ipr create mode 100644 src/main/java/com/rallydev/rest/client/ApiKeyClient.java create mode 100644 src/main/java/com/rallydev/rest/client/BasicAuthClient.java create mode 100644 src/main/java/com/rallydev/rest/client/HttpClient.java create mode 100644 src/main/java/com/rallydev/rest/client/package-info.java delete mode 100644 src/main/java/com/rallydev/rest/util/InvalidURLException.java create mode 100644 src/main/resources/doc/com/rallydev/rest/client/ApiKeyClient.html create mode 100644 src/main/resources/doc/com/rallydev/rest/client/BasicAuthClient.html create mode 100644 src/main/resources/doc/com/rallydev/rest/client/HttpClient.html create mode 100644 src/main/resources/doc/com/rallydev/rest/client/class-use/ApiKeyClient.html create mode 100644 src/main/resources/doc/com/rallydev/rest/client/class-use/BasicAuthClient.html create mode 100644 src/main/resources/doc/com/rallydev/rest/client/class-use/HttpClient.html create mode 100644 src/main/resources/doc/com/rallydev/rest/client/package-frame.html create mode 100644 src/main/resources/doc/com/rallydev/rest/client/package-summary.html create mode 100644 src/main/resources/doc/com/rallydev/rest/client/package-tree.html create mode 100644 src/main/resources/doc/com/rallydev/rest/client/package-use.html create mode 100644 src/main/resources/doc/index-files/index-14.html create mode 100644 src/main/resources/doc/index-files/index-15.html create mode 100644 src/test/java/com/rallydev/rest/client/ApiKeyClientTest.java create mode 100644 src/test/java/com/rallydev/rest/client/BasicAuthClientTest.java create mode 100644 src/test/java/com/rallydev/rest/client/HttpClientTest.java create mode 100644 src/test/java/com/rallydev/rest/matchers/HttpRequestBodyMatcher.java create mode 100644 src/test/java/com/rallydev/rest/matchers/HttpRequestHeaderMatcher.java create mode 100644 src/test/java/com/rallydev/rest/matchers/HttpRequestUrlMatcher.java diff --git a/.gitignore b/.gitignore index d402d68..c745262 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,5 @@ out/ .DS_Store -*.iws -*.ipr -*.iml /target .idea +*.iws diff --git a/RallyRestToolkitForJava.iml b/RallyRestToolkitForJava.iml new file mode 100644 index 0000000..bda1b42 --- /dev/null +++ b/RallyRestToolkitForJava.iml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/RallyRestToolkitForJava.ipr b/RallyRestToolkitForJava.ipr new file mode 100644 index 0000000..0b25526 --- /dev/null +++ b/RallyRestToolkitForJava.ipr @@ -0,0 +1,354 @@ + + + + + $PROJECT_DIR$/out/artifacts/rally_rest_api_2_1_0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pom.xml b/pom.xml index 24e20f8..5c50e03 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ Rally Rest Toolkit For Java com.rallydev.rest rally-rest-api - 2.0.5-SNAPSHOT + 2.1.0-SNAPSHOT A java toolkit for interacting with the Rally Rest API diff --git a/src/main/java/META-INF/MANIFEST.MF b/src/main/java/META-INF/MANIFEST.MF index b5db7bb..4d12854 100644 --- a/src/main/java/META-INF/MANIFEST.MF +++ b/src/main/java/META-INF/MANIFEST.MF @@ -1,9 +1,9 @@ Manifest-Version: "1.2" Implementation-Vendor: "Rally Software, Inc." -Implementation-Title: "com.rallydev.rest" -Implementation-Version: "2.0.3" +Implementation-Title: "com.rallydev.rest" +Implementation-Version: "2.1.0" Class-Path: "httpcore-4.2.4.jar httpclient-4.2.5.jar commons-logging-1.1.1.jar commons-codec-1.6.jar gson-2.2.4.jar" Specification-Vendor: "Rally Software, Inc." Name: "com/rallydev/rest/" -Specification-Title: "Rally Rest API for Java" -Specification-Version: "2.0.3" +Specification-Title: "Rally Rest API for Java" +Specification-Version: "2.1.0" diff --git a/src/main/java/com/rallydev/rest/RallyRestApi.java b/src/main/java/com/rallydev/rest/RallyRestApi.java index 13b02ba..89ec862 100644 --- a/src/main/java/com/rallydev/rest/RallyRestApi.java +++ b/src/main/java/com/rallydev/rest/RallyRestApi.java @@ -1,8 +1,9 @@ package com.rallydev.rest; import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import com.google.gson.JsonPrimitive; +import com.rallydev.rest.client.ApiKeyClient; +import com.rallydev.rest.client.BasicAuthClient; +import com.rallydev.rest.client.HttpClient; import com.rallydev.rest.request.CreateRequest; import com.rallydev.rest.request.DeleteRequest; import com.rallydev.rest.request.GetRequest; @@ -13,31 +14,10 @@ import com.rallydev.rest.response.GetResponse; import com.rallydev.rest.response.QueryResponse; import com.rallydev.rest.response.UpdateResponse; -import com.rallydev.rest.util.InvalidURLException; -import org.apache.http.HttpEntity; -import org.apache.http.HttpHost; -import org.apache.http.HttpResponse; -import org.apache.http.auth.AuthScope; -import org.apache.http.auth.UsernamePasswordCredentials; -import org.apache.http.client.methods.HttpDelete; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.client.methods.HttpPut; -import org.apache.http.client.methods.HttpRequestBase; -import org.apache.http.client.utils.URIBuilder; -import org.apache.http.conn.BasicManagedEntity; -import org.apache.http.conn.params.ConnRoutePNames; -import org.apache.http.entity.StringEntity; -import org.apache.http.impl.auth.BasicScheme; -import org.apache.http.impl.client.DefaultHttpClient; -import org.apache.http.util.EntityUtils; import java.io.Closeable; import java.io.IOException; import java.net.URI; -import java.net.URISyntaxException; -import java.util.HashMap; -import java.util.Map; /** *

The main interface to the Rest API.

@@ -45,42 +25,7 @@ */ public class RallyRestApi implements Closeable { - private enum Header { - Library, - Name, - Vendor, - Version - } - - /** - * The default version of the WSAPI to target. - */ - public static final String DEFAULT_WSAPI_VERSION = "v2.0"; - public static final String CREATE_RESULT_KEY = "CreateResult"; - public static final String OPERATION_RESULT_KEY = "OperationResult"; - public static final String QUERY_RESULT_KEY = "QueryResult"; - - protected static final String SECURITY_ENDPOINT_DOES_NOT_EXIST = "SECURITY_ENDPOINT_DOES_NOT_EXIST"; - protected static final String SECURITY_TOKEN_PARAM_KEY = "key"; - private static final String SECURITY_TOKEN_URL = "/security/authorize"; - protected static final String SECURITY_TOKEN_KEY = "SecurityToken"; - - protected URI server; - protected URI proxy; - - protected String wsapiVersion = DEFAULT_WSAPI_VERSION; - protected DefaultHttpClient httpClient; - private UsernamePasswordCredentials usernamePasswordCredentials; - private String securityToken; - - protected Map headers = new HashMap() { - { - put(Header.Library, "Rally Rest API for Java v2.0.3"); - put(Header.Name, "Rally Rest API for Java"); - put(Header.Vendor, "Rally Software, Inc."); - put(Header.Version, "2.0.3"); - } - }; + protected HttpClient client; /** * Creates a new instance for the specified server using the specified credentials. @@ -88,11 +33,24 @@ private enum Header { * @param server The server to connect to, e.g. {@code new URI("https://rally1.rallydev.com")} * @param userName The username to be used for authentication. * @param password The password to be used for authentication. + * @deprecated Use the api key constructor instead. */ public RallyRestApi(URI server, String userName, String password) { - this.server = server; - httpClient = new DefaultHttpClient(); - setClientCredentials(server, userName, password); + this(new BasicAuthClient(server, userName, password)); + } + + /** + * Creates a new instance for the specified server using the specified API Key. + * + * @param server The server to connect to, e.g. {@code new URI("https://rally1.rallydev.com")} + * @param apiKey The API Key to be used for authentication. + */ + public RallyRestApi(URI server, String apiKey) { + this(new ApiKeyClient(server, apiKey)); + } + + protected RallyRestApi(HttpClient httpClient) { + this.client = httpClient; } /** @@ -101,8 +59,7 @@ public RallyRestApi(URI server, String userName, String password) { * @param proxy The proxy server, e.g. {@code new URI("http://my.proxy.com:8000")} */ public void setProxy(URI proxy) { - this.proxy = proxy; - httpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, new HttpHost(proxy.getHost(), proxy.getPort(), proxy.getScheme())); + client.setProxy(proxy); } /** @@ -113,15 +70,7 @@ public void setProxy(URI proxy) { * @param password The password to be used for authentication. */ public void setProxy(URI proxy, String userName, String password) { - setProxy(proxy); - setClientCredentials(proxy, userName, password); - } - - private void setClientCredentials(URI server, String userName, String password) { - usernamePasswordCredentials = new UsernamePasswordCredentials(userName, password); - httpClient.getCredentialsProvider().setCredentials( - new AuthScope(server.getHost(), server.getPort()), - usernamePasswordCredentials); + client.setProxy(proxy, userName, password); } /** @@ -131,7 +80,7 @@ private void setClientCredentials(URI server, String userName, String password) * @param value The vendor header to be included on all requests. */ public void setApplicationVendor(String value) { - headers.put(Header.Vendor, value); + client.setApplicationVendor(value); } /** @@ -141,7 +90,7 @@ public void setApplicationVendor(String value) { * @param value The vendor header to be included on all requests. */ public void setApplicationVersion(String value) { - headers.put(Header.Version, value); + client.setApplicationVersion(value); } /** @@ -151,7 +100,26 @@ public void setApplicationVersion(String value) { * @param value The vendor header to be included on all requests. */ public void setApplicationName(String value) { - headers.put(Header.Name, value); + client.setApplicationName(value); + } + + /** + * Get the current version of the WSAPI being targeted. + * Defaults to v2.0 + * + * @return the current WSAPI version. + */ + public String getWsapiVersion() { + return client.getWsapiVersion(); + } + + /** + * Set the current version of the WSAPI being targeted. + * + * @param wsapiVersion the new version, e.g. {@code "1.30"} + */ + public void setWsapiVersion(String wsapiVersion) { + client.setWsapiVersion(wsapiVersion); } /** @@ -162,16 +130,7 @@ public void setApplicationName(String value) { * @throws IOException if an error occurs during the creation. */ public CreateResponse create(CreateRequest request) throws IOException { - return create(request, true); - } - - private CreateResponse create(CreateRequest request, boolean retryOnFail) throws IOException { - CreateResponse createResponse = new CreateResponse(doPost(buildWsapiUrl() + request.toUrl(), request.getBody())); - if (retryOnFail && createResponse.getErrors().length != 0) { - setSecurityToken(null); - return create(request, false); - } - return createResponse; + return new CreateResponse(client.doPost(request.toUrl(), request.getBody())); } /** @@ -182,16 +141,7 @@ private CreateResponse create(CreateRequest request, boolean retryOnFail) throws * @throws IOException if an error occurs during the update. */ public UpdateResponse update(UpdateRequest request) throws IOException { - return update(request, true); - } - - private UpdateResponse update(UpdateRequest request, boolean retryOnFail) throws IOException { - UpdateResponse updateResponse = new UpdateResponse(doPost(buildWsapiUrl() + request.toUrl(), request.getBody())); - if (retryOnFail && updateResponse.getErrors().length != 0) { - setSecurityToken(null); - return update(request, false); - } - return updateResponse; + return new UpdateResponse(client.doPost(request.toUrl(), request.getBody())); } /** @@ -202,16 +152,7 @@ private UpdateResponse update(UpdateRequest request, boolean retryOnFail) throws * @throws IOException if an error occurs during the deletion. */ public DeleteResponse delete(DeleteRequest request) throws IOException { - return delete(request, true); - } - - private DeleteResponse delete(DeleteRequest request, boolean retryOnFail) throws IOException { - DeleteResponse deleteResponse = new DeleteResponse(doDelete(buildWsapiUrl() + request.toUrl())); - if (retryOnFail && deleteResponse.getErrors().length != 0) { - setSecurityToken(null); - return delete(request, false); - } - return deleteResponse; + return new DeleteResponse(client.doDelete(request.toUrl())); } /** @@ -224,14 +165,14 @@ private DeleteResponse delete(DeleteRequest request, boolean retryOnFail) throws * @throws IOException if an error occurs during the query. */ public QueryResponse query(QueryRequest request) throws IOException { - QueryResponse queryResponse = new QueryResponse(doGet(buildWsapiUrl() + request.toUrl(), false)); + QueryResponse queryResponse = new QueryResponse(client.doGet(request.toUrl())); if (queryResponse.wasSuccessful()) { int receivedRecords = request.getPageSize(); while (receivedRecords < request.getLimit() && (receivedRecords + request.getStart() - 1) < queryResponse.getTotalResultCount()) { QueryRequest pageRequest = request.clone(); pageRequest.setStart(receivedRecords + request.getStart()); - QueryResponse pageResponse = new QueryResponse(doGet(buildWsapiUrl() + pageRequest.toUrl(), false)); + QueryResponse pageResponse = new QueryResponse(client.doGet(pageRequest.toUrl())); if (pageResponse.wasSuccessful()) { JsonArray results = queryResponse.getResults(); results.addAll(pageResponse.getResults()); @@ -251,19 +192,7 @@ public QueryResponse query(QueryRequest request) throws IOException { * @throws IOException if an error occurs during the retrieval. */ public GetResponse get(GetRequest request) throws IOException { - return get(request, false); - } - - /** - * Get the specified object. Forces basic auth as part of the request if specified - * - * @param request the {@link GetRequest} specifying the object to be retrieved. - * @param forceReauth boolean indicating if basic auth should be conducted as part of the request - * @return the resulting {@link GetResponse} - * @throws IOException if an error occurs during the retrieval. - */ - protected GetResponse get(GetRequest request, boolean forceReauth) throws IOException { - return new GetResponse(doGet(buildWsapiUrl() + request.toUrl(), forceReauth)); + return new GetResponse(client.doGet(request.toUrl())); } /** @@ -272,200 +201,17 @@ protected GetResponse get(GetRequest request, boolean forceReauth) throws IOExce * @throws IOException if an error occurs releasing resources */ public void close() throws IOException { - httpClient.getConnectionManager().shutdown(); - } - - /** - * Get the current version of the WSAPI being targeted. - * Defaults to {@link RallyRestApi#DEFAULT_WSAPI_VERSION} - * - * @return the current WSAPI version. - */ - public String getWsapiVersion() { - return wsapiVersion; - } - - /** - * Set the current version of the WSAPI being targeted. - * - * @param wsapiVersion the new version, e.g. {@code "1.30"} - */ - public void setWsapiVersion(String wsapiVersion) { - this.wsapiVersion = wsapiVersion; - } - - /** - * Execute a request against the WSAPI - * - * @param request the request to be executed - * @return the JSON encoded string response - * @throws IOException if a non-200 response code is returned or if some other - * problem occurs while executing the request - */ - protected String doRequest(HttpRequestBase request) throws IOException { - for (Map.Entry header : headers.entrySet()) { - request.setHeader("X-RallyIntegration" + header.getKey().name(), header.getValue()); - } - - HttpResponse response = httpClient.execute(request); - HttpEntity entity = response.getEntity(); - if (response.getStatusLine().getStatusCode() == 200) { - return EntityUtils.toString(entity, "utf-8"); - } else if (response.getStatusLine().getStatusCode() == 500) { - ((BasicManagedEntity) entity).releaseConnection(); - throw new InvalidURLException(request.getURI().toString() + " is an Invalid URL"); - } else { - throw new IOException(response.getStatusLine().toString()); - } - } - - /** - * Execute a request against the WSAPI with a basic auth header to force reauthorization - * - * @param request the request to be executed - * @return the JSON encoded string response - * @throws IOException if a non-200 response code is returned or if some other - * problem occurs while executing the request - */ - protected String doForceReauthRequest(HttpRequestBase request) throws IOException { - request.addHeader(BasicScheme.authenticate(usernamePasswordCredentials, "UTF-8", false)); - return doRequest(request); - } - - /** - * Execute a request against WSAPI that requires a security token due to data change/creation: - * 1. Post - * 2. Put - * 3. Delete - * - * @param request the request to be executed - * @return the JSON encoded string response - * @throws IOException if a non-200 response code is returned or if some other - * problem occurs while executing the request - */ - private String doSecuredRequest(HttpRequestBase request) throws IOException { - if (!request.getMethod().equals(HttpGet.METHOD_NAME) && - !this.getWsapiVersion().matches("^1[.]\\d+")) { - try { - attachSecurityInfo(request); - } catch (URISyntaxException e) { - throw new IOException("Unable to build URI with security token", e); - } - } - - return doRequest(request); - } - - /** - * Attach the security token parameter to the request. - *

- * Response Structure: - * {"OperationResult": {"SecurityToken": "UUID"}} - * - * @param request the request to be modified - * @throws IOException if a non-200 response code is returned or if some other - * problem occurs while executing the request - */ - protected void attachSecurityInfo(HttpRequestBase request) throws IOException, URISyntaxException { - if (!SECURITY_ENDPOINT_DOES_NOT_EXIST.equals(securityToken)) { - try { - if (securityToken == null) { - GetResponse getResponse = get(new GetRequest(SECURITY_TOKEN_URL), true); - JsonObject operationResult = getResponse.getObject(); - JsonPrimitive securityTokenPrimitive = operationResult.getAsJsonPrimitive(SECURITY_TOKEN_KEY); - securityToken = securityTokenPrimitive.getAsString(); - } - request.setURI(new URIBuilder(request.getURI()).addParameter(SECURITY_TOKEN_PARAM_KEY, securityToken).build()); - } catch (InvalidURLException e) { - //swallow the exception in this case as url does not exist indicates running and old version of - //ALM without the security endpoint - securityToken = SECURITY_ENDPOINT_DOES_NOT_EXIST; - } - } - } - - /** - * Sets the value on the security token for security enabled requests - * - * @param securityToken value fo the security token - */ - protected void setSecurityToken(String securityToken) { - this.securityToken = securityToken; - } - - /** - * Returns the current value of the security token. - * - * @return string value of security token - */ - protected String getSecurityToken() { - return securityToken; - } - - /** - * Perform a post against the WSAPI - * - * @param url the request url - * @param body the body of the post - * @return the JSON encoded string response - * @throws IOException if a non-200 response code is returned or if some other - * problem occurs while executing the request - */ - protected String doPost(String url, String body) throws IOException { - HttpPost httpPost = new HttpPost(url); - httpPost.setEntity(new StringEntity(body, "utf-8")); - return doSecuredRequest(httpPost); - } - - - /** - * Perform a put against the WSAPI - * - * @param url the request url - * @param body the body of the put - * @return the JSON encoded string response - * @throws IOException if a non-200 response code is returned or if some other - * problem occurs while executing the request - */ - protected String doPut(String url, String body) throws IOException { - HttpPut httpPut = new HttpPut(url); - httpPut.setEntity(new StringEntity(body, "utf-8")); - return doSecuredRequest(httpPut); - } - - /** - * Perform a delete against the WSAPI - * - * @param url the request url - * @return the JSON encoded string response - * @throws IOException if a non-200 response code is returned or if some other - * problem occurs while executing the request - */ - protected String doDelete(String url) throws IOException { - HttpDelete httpDelete = new HttpDelete(url); - return doSecuredRequest(httpDelete); - } - - /** - * Perform a get against the WSAPI - * - * @param url the request url - * @param forceReauth - * @return the JSON encoded string response - * @throws IOException if a non-200 response code is returned or if some other - * problem occurs while executing the request - */ - protected String doGet(String url, boolean forceReauth) throws IOException { - HttpGet httpGet = new HttpGet(url); - return forceReauth ? doForceReauthRequest(httpGet) : doRequest(httpGet); + client.close(); } /** - * Get the WSAPI base url based on the current server and WSAPI version + * Get the underlying http client implementation. + * This is exposed with the intent of providing the ability to supply additional configuration to the client. + * It should not be used to directly make i/o calls. * - * @return the fully qualified WSAPI base url, e.g. https://rally1.rallydev.com/slm/webservice/1.33 + * @return the raw http client */ - protected String buildWsapiUrl() { - return server.toString() + "/slm/webservice/" + wsapiVersion; + public HttpClient getClient() { + return client; } } \ No newline at end of file diff --git a/src/main/java/com/rallydev/rest/client/ApiKeyClient.java b/src/main/java/com/rallydev/rest/client/ApiKeyClient.java new file mode 100644 index 0000000..2295824 --- /dev/null +++ b/src/main/java/com/rallydev/rest/client/ApiKeyClient.java @@ -0,0 +1,39 @@ +package com.rallydev.rest.client; + +import org.apache.http.client.methods.HttpRequestBase; + +import java.io.IOException; +import java.net.URI; + +/** + * A HttpClient which authenticates using an API Key. + */ +public class ApiKeyClient extends HttpClient { + + protected String apiKey; + protected static final String API_KEY_HEADER = "zsessionid"; + + /** + * Construct a new client. + * @param server the server to connect to + * @param apiKey the key to be used for authentication + */ + public ApiKeyClient(URI server, String apiKey) { + super(server); + this.apiKey = apiKey; + } + + /** + * Execute a request against the WSAPI + * + * @param request the request to be executed + * @return the JSON encoded string response + * @throws java.io.IOException if a non-200 response code is returned or if some other + * problem occurs while executing the request + */ + @Override + protected String doRequest(HttpRequestBase request) throws IOException { + request.setHeader(API_KEY_HEADER, this.apiKey); + return super.doRequest(request); + } +} \ No newline at end of file diff --git a/src/main/java/com/rallydev/rest/client/BasicAuthClient.java b/src/main/java/com/rallydev/rest/client/BasicAuthClient.java new file mode 100644 index 0000000..e7a2f17 --- /dev/null +++ b/src/main/java/com/rallydev/rest/client/BasicAuthClient.java @@ -0,0 +1,88 @@ +package com.rallydev.rest.client; + +import com.google.gson.JsonObject; +import com.google.gson.JsonPrimitive; +import com.rallydev.rest.response.GetResponse; +import org.apache.http.auth.Credentials; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpRequestBase; +import org.apache.http.client.utils.URIBuilder; +import org.apache.http.impl.auth.BasicScheme; +import java.io.IOException; +import java.net.URI; +import java.net.URISyntaxException; + +/** + * A HttpClient which authenticates using basic authentication (username/password). + */ +public class BasicAuthClient extends HttpClient { + + protected static final String SECURITY_ENDPOINT_DOES_NOT_EXIST = "SECURITY_ENDPOINT_DOES_NOT_EXIST"; + protected static final String SECURITY_TOKEN_PARAM_KEY = "key"; + private static final String SECURITY_TOKEN_URL = "/security/authorize"; + protected static final String SECURITY_TOKEN_KEY = "SecurityToken"; + protected String securityToken; + protected Credentials credentials; + + /** + * Construct a new client. + * @param server the server to connect to + * @param userName the username to be used for authentication + * @param password the password to be used for authentication + */ + public BasicAuthClient(URI server, String userName, String password) { + super(server); + credentials = setClientCredentials(server, userName, password); + } + + /** + * Execute a request against the WSAPI + * + * @param request the request to be executed + * @return the JSON encoded string response + * @throws java.io.IOException if a non-200 response code is returned or if some other + * problem occurs while executing the request + */ + @Override + protected String doRequest(HttpRequestBase request) throws IOException { + if(!request.getMethod().equals(HttpGet.METHOD_NAME) && + !this.getWsapiVersion().matches("^1[.]\\d+")) { + try { + attachSecurityInfo(request); + } catch (URISyntaxException e) { + throw new IOException("Unable to build URI with security token", e); + } + } + return super.doRequest(request); + } + + /** + * Attach the security token parameter to the request. + *

+ * Response Structure: + * {"OperationResult": {"SecurityToken": "UUID"}} + * + * @param request the request to be modified + * @throws IOException if a non-200 response code is returned or if some other + * problem occurs while executing the request + */ + protected void attachSecurityInfo(HttpRequestBase request) throws IOException, URISyntaxException { + if (!SECURITY_ENDPOINT_DOES_NOT_EXIST.equals(securityToken)) { + try { + if (securityToken == null) { + HttpGet httpGet = new HttpGet(getWsapiUrl() + SECURITY_TOKEN_URL); + httpGet.addHeader(BasicScheme.authenticate(credentials, "utf-8", false)); + GetResponse getResponse = new GetResponse(doRequest(httpGet)); + JsonObject operationResult = getResponse.getObject(); + JsonPrimitive securityTokenPrimitive = operationResult.getAsJsonPrimitive(SECURITY_TOKEN_KEY); + securityToken = securityTokenPrimitive.getAsString(); + } + request.setURI(new URIBuilder(request.getURI()).addParameter(SECURITY_TOKEN_PARAM_KEY, securityToken).build()); + } catch (IOException e) { + //swallow the exception in this case as url does not exist indicates running and old version of + //ALM without the security endpoint + securityToken = SECURITY_ENDPOINT_DOES_NOT_EXIST; + } + } + } +} \ No newline at end of file diff --git a/src/main/java/com/rallydev/rest/client/HttpClient.java b/src/main/java/com/rallydev/rest/client/HttpClient.java new file mode 100644 index 0000000..dae1166 --- /dev/null +++ b/src/main/java/com/rallydev/rest/client/HttpClient.java @@ -0,0 +1,247 @@ +package com.rallydev.rest.client; + +import org.apache.http.HttpEntity; +import org.apache.http.HttpHost; +import org.apache.http.HttpResponse; +import org.apache.http.auth.AuthScope; +import org.apache.http.auth.Credentials; +import org.apache.http.auth.UsernamePasswordCredentials; +import org.apache.http.client.methods.*; +import org.apache.http.conn.params.ConnRoutePNames; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.DecompressingHttpClient; +import org.apache.http.impl.client.DefaultHttpClient; +import org.apache.http.util.EntityUtils; + +import java.io.Closeable; +import java.io.IOException; +import java.net.URI; +import java.util.HashMap; +import java.util.Map; + +/** + * A HttpClient implementation providing connectivity to Rally. This class does not + * provide any authentication on its own but instead relies on a concrete subclass to do so. + */ +public class HttpClient extends DefaultHttpClient + implements Closeable { + + protected URI server; + protected String wsapiVersion = "v2.0"; + protected DecompressingHttpClient client; + + private enum Header { + Library, + Name, + Vendor, + Version + } + + private Map headers = new HashMap() { + { + put(Header.Library, "Rally Rest API for Java v2.1.0"); + put(Header.Name, "Rally Rest API for Java"); + put(Header.Vendor, "Rally Software, Inc."); + put(Header.Version, "2.1.0"); + } + }; + + protected HttpClient(URI server) { + this.server = server; + client = new DecompressingHttpClient(this); + } + + /** + * Set the unauthenticated proxy server to use. By default no proxy is configured. + * + * @param proxy The proxy server, e.g. {@code new URI("http://my.proxy.com:8000")} + */ + public void setProxy(URI proxy) { + this.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, new HttpHost(proxy.getHost(), proxy.getPort(), proxy.getScheme())); + } + + /** + * Set the authenticated proxy server to use. By default no proxy is configured. + * + * @param proxy The proxy server, e.g. {@code new URI("http://my.proxy.com:8000")} + * @param userName The username to be used for authentication. + * @param password The password to be used for authentication. + */ + public void setProxy(URI proxy, String userName, String password) { + setProxy(proxy); + setClientCredentials(proxy, userName, password); + } + + /** + * Set the value of the X-RallyIntegrationVendor header included on all requests. + * This should be set to your company name. + * + * @param value The vendor header to be included on all requests. + */ + public void setApplicationVendor(String value) { + headers.put(Header.Vendor, value); + } + + /** + * Set the value of the X-RallyIntegrationVersion header included on all requests. + * This should be set to the version of your application. + * + * @param value The vendor header to be included on all requests. + */ + public void setApplicationVersion(String value) { + headers.put(Header.Version, value); + } + + /** + * Set the value of the X-RallyIntegrationName header included on all requests. + * This should be set to the name of your application. + * + * @param value The vendor header to be included on all requests. + */ + public void setApplicationName(String value) { + headers.put(Header.Name, value); + } + + /** + * Get the current server being targeted. + * + * @return the current server. + */ + public String getServer() { + return server.toString(); + } + + /** + * Get the current version of the WSAPI being targeted. + * + * @return the current WSAPI version. + */ + public String getWsapiVersion() { + return wsapiVersion; + } + + /** + * Set the current version of the WSAPI being targeted. + * + * @param wsapiVersion the new version, e.g. {@code "1.30"} + */ + public void setWsapiVersion(String wsapiVersion) { + this.wsapiVersion = wsapiVersion; + } + + /** + * Execute a request against the WSAPI + * + * @param request the request to be executed + * @return the JSON encoded string response + * @throws IOException if a non-200 response code is returned or if some other + * problem occurs while executing the request + */ + protected String doRequest(HttpRequestBase request) throws IOException { + for (Map.Entry header : headers.entrySet()) { + request.setHeader("X-RallyIntegration" + header.getKey().name(), header.getValue()); + } + + return this.executeRequest(request); + } + + /** + * Execute a request against the WSAPI + * + * @param request the request to be executed + * @return the JSON encoded string response + * @throws IOException if a non-200 response code is returned or if some other + * problem occurs while executing the request + */ + protected String executeRequest(HttpRequestBase request) throws IOException { + HttpResponse response = client.execute(request); + HttpEntity entity = response.getEntity(); + if (response.getStatusLine().getStatusCode() == 200) { + return EntityUtils.toString(entity, "utf-8"); + } else { + EntityUtils.consumeQuietly(entity); + throw new IOException(response.getStatusLine().toString()); + } + } + + /** + * Perform a post against the WSAPI + * + * @param url the request url + * @param body the body of the post + * @return the JSON encoded string response + * @throws IOException if a non-200 response code is returned or if some other + * problem occurs while executing the request + */ + public String doPost(String url, String body) throws IOException { + HttpPost httpPost = new HttpPost(getWsapiUrl() + url); + httpPost.setEntity(new StringEntity(body, "utf-8")); + return doRequest(httpPost); + } + + + /** + * Perform a put against the WSAPI + * + * @param url the request url + * @param body the body of the put + * @return the JSON encoded string response + * @throws IOException if a non-200 response code is returned or if some other + * problem occurs while executing the request + */ + public String doPut(String url, String body) throws IOException { + HttpPut httpPut = new HttpPut(getWsapiUrl() + url); + httpPut.setEntity(new StringEntity(body, "utf-8")); + return doRequest(httpPut); + } + + /** + * Perform a delete against the WSAPI + * + * @param url the request url + * @return the JSON encoded string response + * @throws IOException if a non-200 response code is returned or if some other + * problem occurs while executing the request + */ + public String doDelete(String url) throws IOException { + HttpDelete httpDelete = new HttpDelete(getWsapiUrl() + url); + return doRequest(httpDelete); + } + + /** + * Perform a get against the WSAPI + * + * @param url the request url + * @return the JSON encoded string response + * @throws IOException if a non-200 response code is returned or if some other + * problem occurs while executing the request + */ + public String doGet(String url) throws IOException { + HttpGet httpGet = new HttpGet(getWsapiUrl() + url); + return doRequest(httpGet); + } + + /** + * Release all resources associated with this instance. + * + * @throws IOException if an error occurs releasing resources + */ + public void close() throws IOException { + client.getConnectionManager().shutdown(); + } + + protected Credentials setClientCredentials(URI server, String userName, String password) { + UsernamePasswordCredentials credentials = new UsernamePasswordCredentials(userName, password); + this.getCredentialsProvider().setCredentials(new AuthScope(server.getHost(), server.getPort()), credentials); + return credentials; + } + + /** + * Get the WSAPI base url based on the current server and WSAPI version + * + * @return the fully qualified WSAPI base url, e.g. https://rally1.rallydev.com/slm/webservice/1.33 + */ + public String getWsapiUrl() { + return getServer() + "/slm/webservice/" + getWsapiVersion(); + } +} diff --git a/src/main/java/com/rallydev/rest/client/package-info.java b/src/main/java/com/rallydev/rest/client/package-info.java new file mode 100644 index 0000000..2b38cbd --- /dev/null +++ b/src/main/java/com/rallydev/rest/client/package-info.java @@ -0,0 +1,4 @@ +/** + * Provides the underlying http client implementations. + */ +package com.rallydev.rest.client; \ No newline at end of file diff --git a/src/main/java/com/rallydev/rest/response/CreateResponse.java b/src/main/java/com/rallydev/rest/response/CreateResponse.java index 373797a..1a60045 100644 --- a/src/main/java/com/rallydev/rest/response/CreateResponse.java +++ b/src/main/java/com/rallydev/rest/response/CreateResponse.java @@ -4,13 +4,13 @@ import com.rallydev.rest.RallyRestApi; /** - * Represents a WSAPI response from creating an object + * Represents a WSAPI response from creating an object */ public class CreateResponse extends Response { /** * Create a new create response from the specified JSON encoded string. - * + * * @param createResponse the JSON encoded string */ public CreateResponse(String createResponse) { @@ -19,17 +19,17 @@ public CreateResponse(String createResponse) { /** * Get the name of the root JSON result - * + * * @return the root element name */ @Override protected String getRoot() { - return RallyRestApi.CREATE_RESULT_KEY; + return "CreateResult"; } /** * Get the created object. - *

Returns null if the operation was not successful

+ *

Returns null if the operation was not successful

* @return the created object */ public JsonObject getObject() { diff --git a/src/main/java/com/rallydev/rest/response/DeleteResponse.java b/src/main/java/com/rallydev/rest/response/DeleteResponse.java index a4e98c7..477efff 100644 --- a/src/main/java/com/rallydev/rest/response/DeleteResponse.java +++ b/src/main/java/com/rallydev/rest/response/DeleteResponse.java @@ -1,7 +1,5 @@ package com.rallydev.rest.response; -import static com.rallydev.rest.RallyRestApi.OPERATION_RESULT_KEY; - /** * Represents a WSAPI response from deleting an object */ @@ -23,6 +21,6 @@ public DeleteResponse(String deleteResponse) { */ @Override protected String getRoot() { - return OPERATION_RESULT_KEY; + return "OperationResult"; } } diff --git a/src/main/java/com/rallydev/rest/response/QueryResponse.java b/src/main/java/com/rallydev/rest/response/QueryResponse.java index 8dfecd3..148f92e 100644 --- a/src/main/java/com/rallydev/rest/response/QueryResponse.java +++ b/src/main/java/com/rallydev/rest/response/QueryResponse.java @@ -2,8 +2,6 @@ import com.google.gson.JsonArray; -import static com.rallydev.rest.RallyRestApi.QUERY_RESULT_KEY; - /** * Represents a WSAPI response from querying for objects. */ @@ -25,12 +23,12 @@ public QueryResponse(String queryResponse) { */ @Override protected String getRoot() { - return QUERY_RESULT_KEY; + return "QueryResult"; } /** * Get the total number of objects that matched the query - * + * * @return the total number of objects */ public int getTotalResultCount() { @@ -40,7 +38,7 @@ public int getTotalResultCount() { /** * Get the results of the query *

Depending on the limit of the original request this may include one or more pages.

- * + * * @return the results */ public JsonArray getResults() { @@ -49,7 +47,7 @@ public JsonArray getResults() { /** * Get the page size of the results - * + * * @return the page size */ public int getPageSize() { @@ -58,7 +56,7 @@ public int getPageSize() { /** * Get the start index of the results - * + * * @return the start index */ public int getStart() { diff --git a/src/main/java/com/rallydev/rest/response/UpdateResponse.java b/src/main/java/com/rallydev/rest/response/UpdateResponse.java index df4043e..0e12292 100644 --- a/src/main/java/com/rallydev/rest/response/UpdateResponse.java +++ b/src/main/java/com/rallydev/rest/response/UpdateResponse.java @@ -2,8 +2,6 @@ import com.google.gson.JsonObject; -import static com.rallydev.rest.RallyRestApi.OPERATION_RESULT_KEY; - /** * Represents a WSAPI response from updating an object. */ @@ -25,12 +23,12 @@ public UpdateResponse(String updateResponse) { */ @Override protected String getRoot() { - return OPERATION_RESULT_KEY; + return "OperationResult"; } /** * Get the updated object. - *

Returns null if the operation was not successful

+ *

Returns null if the operation was not successful

* @return the updated object */ public JsonObject getObject() { diff --git a/src/main/java/com/rallydev/rest/util/InvalidURLException.java b/src/main/java/com/rallydev/rest/util/InvalidURLException.java deleted file mode 100644 index ccd341b..0000000 --- a/src/main/java/com/rallydev/rest/util/InvalidURLException.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.rallydev.rest.util; - -public class InvalidURLException extends RuntimeException { - public InvalidURLException(String msg) { - super(msg); - } -} diff --git a/src/main/resources/doc/allclasses-frame.html b/src/main/resources/doc/allclasses-frame.html index 95c9880..77efed9 100644 --- a/src/main/resources/doc/allclasses-frame.html +++ b/src/main/resources/doc/allclasses-frame.html @@ -2,15 +2,17 @@ - + All Classes (Rally Rest API for Java 2.0) - +

All Classes

diff --git a/src/main/resources/doc/com/rallydev/rest/util/package-use.html b/src/main/resources/doc/com/rallydev/rest/util/package-use.html index bb5f176..0d84378 100644 --- a/src/main/resources/doc/com/rallydev/rest/util/package-use.html +++ b/src/main/resources/doc/com/rallydev/rest/util/package-use.html @@ -2,15 +2,15 @@ - -Uses of Package com.rallydev.rest.util (Rally Rest API for Java 2.1) - + +Uses of Package com.rallydev.rest.util (Rally Rest API for Java 2.2) + diff --git a/src/main/resources/doc/constant-values.html b/src/main/resources/doc/constant-values.html index 702c7d9..5f8b8f5 100644 --- a/src/main/resources/doc/constant-values.html +++ b/src/main/resources/doc/constant-values.html @@ -2,15 +2,15 @@ - -Constant Field Values (Rally Rest API for Java 2.1) - + +Constant Field Values (Rally Rest API for Java 2.2) + diff --git a/src/main/resources/doc/deprecated-list.html b/src/main/resources/doc/deprecated-list.html index 4cb011c..3e6e47e 100644 --- a/src/main/resources/doc/deprecated-list.html +++ b/src/main/resources/doc/deprecated-list.html @@ -2,15 +2,15 @@ - -Deprecated List (Rally Rest API for Java 2.1) - + +Deprecated List (Rally Rest API for Java 2.2) + diff --git a/src/main/resources/doc/help-doc.html b/src/main/resources/doc/help-doc.html index de41156..902b8b4 100644 --- a/src/main/resources/doc/help-doc.html +++ b/src/main/resources/doc/help-doc.html @@ -2,15 +2,15 @@ - -API Help (Rally Rest API for Java 2.1) - + +API Help (Rally Rest API for Java 2.2) + diff --git a/src/main/resources/doc/index-files/index-1.html b/src/main/resources/doc/index-files/index-1.html index ed4be15..2b37495 100644 --- a/src/main/resources/doc/index-files/index-1.html +++ b/src/main/resources/doc/index-files/index-1.html @@ -2,15 +2,15 @@ - -A-Index (Rally Rest API for Java 2.1) - + +A-Index (Rally Rest API for Java 2.2) + @@ -62,7 +62,7 @@
-
A B C D F G H I O Q R S T U W  +
A B C D F G H I M O Q R S T U W 

A

@@ -87,8 +87,12 @@

A

Construct a new client.
+
ApiKeyClientTest - Class in com.rallydev.rest.client
+
 
+
ApiKeyClientTest() - Constructor for class com.rallydev.rest.client.ApiKeyClientTest
+
 
-A B C D F G H I O Q R S T U W 
+A B C D F G H I M O Q R S T U W 
-
A B C D F G H I O Q R S T U W  +
A B C D F G H I M O Q R S T U W  -

Q

+

O

-
query(QueryRequest) - Method in class com.rallydev.rest.RallyRestApi
+
or(QueryFilter) - Method in class com.rallydev.rest.util.QueryFilter
-
Query for objects matching the specified request.
+
Get a query filter that is the ORed combination of this filter and the specified one.
-
QueryFilter - Class in com.rallydev.rest.util
+
or(QueryFilter...) - Static method in class com.rallydev.rest.util.QueryFilter
-
Represents a query filter to be applied to query requests.
-
-
QueryFilter(String, String, String) - Constructor for class com.rallydev.rest.util.QueryFilter
-
-
Create a new query filter with the specified options.
-
-
QueryRequest - Class in com.rallydev.rest.request
-
-
Represents a WSAPI request to retrieve all objects matching specified criteria.
-
-
QueryRequest(String) - Constructor for class com.rallydev.rest.request.QueryRequest
-
-
Create a new query request for the specified type.
-
-
QueryRequest(JsonObject) - Constructor for class com.rallydev.rest.request.QueryRequest
-
-
Create a new query request for the specified collection.
-
-
QueryResponse - Class in com.rallydev.rest.response
-
-
Represents a WSAPI response from querying for objects.
-
-
QueryResponse(String) - Constructor for class com.rallydev.rest.response.QueryResponse
-
-
Create a new query response from the specified JSON encoded string.
+
Get a query filter that is the ORed combination of the specified filters.
-A B C D F G H I O Q R S T U W 
+A B C D F G H I M O Q R S T U W 
-
A B C D F G H I O Q R S T U W  +
A B C D F G H I M O Q R S T U W  -

R

+

Q

-
RallyRestApi - Class in com.rallydev.rest
+
query(QueryRequest) - Method in class com.rallydev.rest.RallyRestApi
-
The main interface to the Rest API.
+
Query for objects matching the specified request.
-
RallyRestApi(URI, String, String) - Constructor for class com.rallydev.rest.RallyRestApi
+
QueryExample - Class in com.rallydev.rest
+
 
+
QueryExample() - Constructor for class com.rallydev.rest.QueryExample
+
 
+
QueryFilter - Class in com.rallydev.rest.util
-
Deprecated. -
Use the api key constructor instead.
-
+
Represents a query filter to be applied to query requests.
-
RallyRestApi(URI, String) - Constructor for class com.rallydev.rest.RallyRestApi
+
QueryFilter(String, String, String) - Constructor for class com.rallydev.rest.util.QueryFilter
-
Creates a new instance for the specified server using the specified API Key.
+
Create a new query filter with the specified options.
-
Ref - Class in com.rallydev.rest.util
+
QueryFilterTest - Class in com.rallydev.rest.util
+
 
+
QueryFilterTest() - Constructor for class com.rallydev.rest.util.QueryFilterTest
+
 
+
QueryRequest - Class in com.rallydev.rest.request
-
Provides utility methods for working with ref URLs.
+
Represents a WSAPI request to retrieve all objects matching specified criteria.
-
Ref() - Constructor for class com.rallydev.rest.util.Ref
-
 
-
Request - Class in com.rallydev.rest.request
+
QueryRequest(String) - Constructor for class com.rallydev.rest.request.QueryRequest
-
Base class for all WSAPI requests.
+
Create a new query request for the specified type.
-
Request() - Constructor for class com.rallydev.rest.request.Request
+
QueryRequest(JsonObject) - Constructor for class com.rallydev.rest.request.QueryRequest
-
Create a new request.
+
Create a new query request for the specified collection.
-
Response - Class in com.rallydev.rest.response
+
QueryRequestTest - Class in com.rallydev.rest.request
+
 
+
QueryRequestTest() - Constructor for class com.rallydev.rest.request.QueryRequestTest
+
 
+
QueryResponse - Class in com.rallydev.rest.response
-
Represents a WSAPI response.
+
Represents a WSAPI response from querying for objects.
-
Response(String) - Constructor for class com.rallydev.rest.response.Response
+
QueryResponse(String) - Constructor for class com.rallydev.rest.response.QueryResponse
-
Create a new response from the specified JSON encoded string.
+
Create a new query response from the specified JSON encoded string.
+
QueryResponseTest - Class in com.rallydev.rest.response
+
 
+
QueryResponseTest() - Constructor for class com.rallydev.rest.response.QueryResponseTest
+
 
-A B C D F G H I O Q R S T U W 
+A B C D F G H I M O Q R S T U W 
-
A B C D F G H I O Q R S T U W  +
A B C D F G H I M O Q R S T U W  -

S

+

R

-
setApplicationName(String) - Method in class com.rallydev.rest.client.HttpClient
+
RallyRestApi - Class in com.rallydev.rest
-
Set the value of the X-RallyIntegrationName header included on all requests.
+
The main interface to the Rest API.
-
setApplicationName(String) - Method in class com.rallydev.rest.RallyRestApi
+
RallyRestApi(URI, String, String) - Constructor for class com.rallydev.rest.RallyRestApi
-
Set the value of the X-RallyIntegrationName header included on all requests.
-
-
setApplicationVendor(String) - Method in class com.rallydev.rest.client.HttpClient
-
-
Set the value of the X-RallyIntegrationVendor header included on all requests.
-
-
setApplicationVendor(String) - Method in class com.rallydev.rest.RallyRestApi
-
-
Set the value of the X-RallyIntegrationVendor header included on all requests.
-
-
setApplicationVersion(String) - Method in class com.rallydev.rest.client.HttpClient
-
-
Set the value of the X-RallyIntegrationVersion header included on all requests.
-
-
setApplicationVersion(String) - Method in class com.rallydev.rest.RallyRestApi
-
-
Set the value of the X-RallyIntegrationVersion header included on all requests.
-
-
setFetch(Fetch) - Method in class com.rallydev.rest.request.CreateRequest
-
-
Set the current list of fields to be returned on the created object.
-
-
setFetch(Fetch) - Method in class com.rallydev.rest.request.GetRequest
-
-
Set the current list of fields to be returned on the retrieved object.
-
-
setFetch(Fetch) - Method in class com.rallydev.rest.request.QueryRequest
-
-
Set the current list of fields to be returned on the matching objects.
-
-
setFetch(Fetch) - Method in class com.rallydev.rest.request.UpdateRequest
-
-
Set the current list of fields to be returned on the updated object.
-
-
setLimit(int) - Method in class com.rallydev.rest.request.QueryRequest
-
-
Set the maximum number of records to be returned from the query.
-
-
setOrder(String) - Method in class com.rallydev.rest.request.QueryRequest
-
-
Get the order by which the result set will be sorted.
-
-
setPageSize(int) - Method in class com.rallydev.rest.request.QueryRequest
-
-
Set the page size of the result set.
-
-
setParams(List<NameValuePair>) - Method in class com.rallydev.rest.request.Request
-
-
Set the list of additional parameters included in this request.
-
-
setProject(String) - Method in class com.rallydev.rest.request.QueryRequest
-
-
Specify the project which the result set should be scoped to.

- The default is the user's default project.

-
-
setProxy(URI) - Method in class com.rallydev.rest.client.HttpClient
-
-
Set the unauthenticated proxy server to use.
-
-
setProxy(URI, String, String) - Method in class com.rallydev.rest.client.HttpClient
-
-
Set the authenticated proxy server to use.
-
-
setProxy(URI) - Method in class com.rallydev.rest.RallyRestApi
-
-
Set the unauthenticated proxy server to use.
-
-
setProxy(URI, String, String) - Method in class com.rallydev.rest.RallyRestApi
-
-
Set the authenticated proxy server to use.
-
-
setQueryFilter(QueryFilter) - Method in class com.rallydev.rest.request.QueryRequest
-
-
Set a filter by which the result set will be narrowed down.
+
Deprecated. +
Use the api key constructor instead.
+
-
setScopedDown(boolean) - Method in class com.rallydev.rest.request.QueryRequest
+
RallyRestApi(URI, String) - Constructor for class com.rallydev.rest.RallyRestApi
-
If a project has been specified, set whether to include matching objects in child projects in the result set.
+
Creates a new instance for the specified server using the specified API Key.
-
setScopedUp(boolean) - Method in class com.rallydev.rest.request.QueryRequest
+
RallyRestApiTest - Class in com.rallydev.rest
+
 
+
RallyRestApiTest() - Constructor for class com.rallydev.rest.RallyRestApiTest
+
 
+
Ref - Class in com.rallydev.rest.util
-
If a project has been specified, set whether to include matching objects in parent projects in the result set.
+
Provides utility methods for working with ref URLs.
-
setStart(int) - Method in class com.rallydev.rest.request.QueryRequest
+
Ref() - Constructor for class com.rallydev.rest.util.Ref
+
 
+
RefTest - Class in com.rallydev.rest.util
+
 
+
RefTest() - Constructor for class com.rallydev.rest.util.RefTest
+
 
+
Request - Class in com.rallydev.rest.request
-
Set the 1-based start index of the result set.
+
Base class for all WSAPI requests.
-
setWorkspace(String) - Method in class com.rallydev.rest.request.QueryRequest
+
Request() - Constructor for class com.rallydev.rest.request.Request
-
Specify the workspace which the result set should be scoped to.

- The default is the user's default workspace.

+
Create a new request.
-
setWsapiVersion(String) - Method in class com.rallydev.rest.client.HttpClient
+
RequestTest - Class in com.rallydev.rest.request
+
 
+
RequestTest() - Constructor for class com.rallydev.rest.request.RequestTest
+
 
+
Response - Class in com.rallydev.rest.response
-
Set the current version of the WSAPI being targeted.
+
Represents a WSAPI response.
-
setWsapiVersion(String) - Method in class com.rallydev.rest.RallyRestApi
+
Response(String) - Constructor for class com.rallydev.rest.response.Response
-
Set the current version of the WSAPI being targeted.
+
Create a new response from the specified JSON encoded string.
+
ResponseTest - Class in com.rallydev.rest.response
+
 
+
ResponseTest() - Constructor for class com.rallydev.rest.response.ResponseTest
+
 
+
RestApiFactory - Class in com.rallydev.rest
+
 
+
RestApiFactory() - Constructor for class com.rallydev.rest.RestApiFactory
+
 
-A B C D F G H I O Q R S T U W 
+A B C D F G H I M O Q R S T U W 
-
A B C D F G H I O Q R S T U W  +
A B C D F G H I M O Q R S T U W  -

T

+

S

-
toString() - Method in class com.rallydev.rest.util.Fetch
+
setApplicationName(String) - Method in class com.rallydev.rest.client.HttpClient
-
Get the comma separated list of fields to be returned.
+
Set the value of the X-RallyIntegrationName header included on all requests.
-
toString() - Method in class com.rallydev.rest.util.QueryFilter
+
setApplicationName(String) - Method in class com.rallydev.rest.RallyRestApi
-
Get the string representation of this query filter.
+
Set the value of the X-RallyIntegrationName header included on all requests.
-
toUrl() - Method in class com.rallydev.rest.request.CreateRequest
+
setApplicationVendor(String) - Method in class com.rallydev.rest.client.HttpClient
-
Convert this request into a url compatible with the WSAPI.
+
Set the value of the X-RallyIntegrationVendor header included on all requests.
-
toUrl() - Method in class com.rallydev.rest.request.DeleteRequest
+
setApplicationVendor(String) - Method in class com.rallydev.rest.RallyRestApi
-
Convert this request into a url compatible with the WSAPI.
+
Set the value of the X-RallyIntegrationVendor header included on all requests.
-
toUrl() - Method in class com.rallydev.rest.request.GetRequest
+
setApplicationVersion(String) - Method in class com.rallydev.rest.client.HttpClient
-
Convert this request into a url compatible with the WSAPI.
+
Set the value of the X-RallyIntegrationVersion header included on all requests.
-
toUrl() - Method in class com.rallydev.rest.request.QueryRequest
+
setApplicationVersion(String) - Method in class com.rallydev.rest.RallyRestApi
-
Convert this request into a url compatible with the WSAPI.
+
Set the value of the X-RallyIntegrationVersion header included on all requests.
-
toUrl() - Method in class com.rallydev.rest.request.Request
+
setFetch(Fetch) - Method in class com.rallydev.rest.request.CollectionUpdateRequest
-
Convert this request into a url compatible with the WSAPI.
+
Set the current list of fields to be returned on the updated object.
-
toUrl() - Method in class com.rallydev.rest.request.UpdateRequest
+
setFetch(Fetch) - Method in class com.rallydev.rest.request.CreateRequest
-
Convert this request into a url compatible with the WSAPI.
+
Set the current list of fields to be returned on the created object.
+
setFetch(Fetch) - Method in class com.rallydev.rest.request.GetRequest
+
+
Set the current list of fields to be returned on the retrieved object.
+
+
setFetch(Fetch) - Method in class com.rallydev.rest.request.QueryRequest
+
+
Set the current list of fields to be returned on the matching objects.
+
+
setFetch(Fetch) - Method in class com.rallydev.rest.request.UpdateRequest
+
+
Set the current list of fields to be returned on the updated object.
+
+
setGsonBuilder(GsonBuilder) - Method in class com.rallydev.rest.request.Request
+
+
Set the Gson Builder used for JSON serialization in this request.
+
+
setLimit(int) - Method in class com.rallydev.rest.request.QueryRequest
+
+
Set the maximum number of records to be returned from the query.
+
+
setOrder(String) - Method in class com.rallydev.rest.request.QueryRequest
+
+
Get the order by which the result set will be sorted.
+
+
setPageSize(int) - Method in class com.rallydev.rest.request.QueryRequest
+
+
Set the page size of the result set.
+
+
setParams(List<NameValuePair>) - Method in class com.rallydev.rest.request.Request
+
+
Set the list of additional parameters included in this request.
+
+
setProject(String) - Method in class com.rallydev.rest.request.QueryRequest
+
+
Specify the project which the result set should be scoped to.
+
+
setProxy(URI) - Method in class com.rallydev.rest.client.HttpClient
+
+
Set the unauthenticated proxy server to use.
+
+
setProxy(URI, String, String) - Method in class com.rallydev.rest.client.HttpClient
+
+
Set the authenticated proxy server to use.
+
+
setProxy(URI) - Method in class com.rallydev.rest.RallyRestApi
+
+
Set the unauthenticated proxy server to use.
+
+
setProxy(URI, String, String) - Method in class com.rallydev.rest.RallyRestApi
+
+
Set the authenticated proxy server to use.
+
+
setQueryFilter(QueryFilter) - Method in class com.rallydev.rest.request.QueryRequest
+
+
Set a filter by which the result set will be narrowed down.
+
+
setScopedDown(boolean) - Method in class com.rallydev.rest.request.QueryRequest
+
+
If a project has been specified, set whether to include matching objects in child projects in the result set.
+
+
setScopedUp(boolean) - Method in class com.rallydev.rest.request.QueryRequest
+
+
If a project has been specified, set whether to include matching objects in parent projects in the result set.
+
+
setStart(int) - Method in class com.rallydev.rest.request.QueryRequest
+
+
Set the 1-based start index of the result set.
+
+
setUp() - Method in class com.rallydev.rest.client.ApiKeyClientTest
+
 
+
setUp() - Method in class com.rallydev.rest.client.BasicAuthClientTest
+
 
+
setUp() - Method in class com.rallydev.rest.client.HttpClientTest
+
 
+
setWorkspace(String) - Method in class com.rallydev.rest.request.QueryRequest
+
+
Specify the workspace which the result set should be scoped to.
+
+
setWsapiVersion(String) - Method in class com.rallydev.rest.client.HttpClient
+
+
Set the current version of the WSAPI being targeted.
+
+
setWsapiVersion(String) - Method in class com.rallydev.rest.RallyRestApi
+
+
Set the current version of the WSAPI being targeted.
+
+
shouldBeAbleToAddParams() - Method in class com.rallydev.rest.request.RequestTest
+
 
+
shouldBeAbleToAddRemoveFetch() - Method in class com.rallydev.rest.util.FetchTest
+
 
+
shouldBeAbleToSetGsonBuilder() - Method in class com.rallydev.rest.request.RequestTest
+
 
+
shouldBeAbleToSetParams() - Method in class com.rallydev.rest.request.RequestTest
+
 
+
shouldCloneCorrectly() - Method in class com.rallydev.rest.request.QueryRequestTest
+
 
+
shouldClose() - Method in class com.rallydev.rest.RallyRestApiTest
+
 
+
shouldConstructCorrectUrlWithAbsoluteRef() - Method in class com.rallydev.rest.request.DeleteRequestTest
+
 
+
shouldConstructCorrectUrlWithExtraParam() - Method in class com.rallydev.rest.request.DeleteRequestTest
+
 
+
shouldConstructCorrectUrlWithRelativeRef() - Method in class com.rallydev.rest.request.DeleteRequestTest
+
 
+
shouldConstructTheCorrectDefaultFetchUrl() - Method in class com.rallydev.rest.request.CreateRequestTest
+
 
+
shouldConstructTheCorrectDefaultFetchUrl() - Method in class com.rallydev.rest.request.UpdateRequestTest
+
 
+
shouldConstructTheCorrectUrl() - Method in class com.rallydev.rest.request.CreateRequestTest
+
 
+
shouldConstructTheCorrectUrl() - Method in class com.rallydev.rest.request.UpdateRequestTest
+
 
+
shouldConstructTheCorrectUrlForAdds() - Method in class com.rallydev.rest.request.CollectionUpdateRequestTest
+
 
+
shouldConstructTheCorrectUrlForRemoves() - Method in class com.rallydev.rest.request.CollectionUpdateRequestTest
+
 
+
shouldConstructTheCorrectUrlWithExtraParam() - Method in class com.rallydev.rest.request.CollectionUpdateRequestTest
+
 
+
shouldConstructTheCorrectUrlWithExtraParam() - Method in class com.rallydev.rest.request.CreateRequestTest
+
 
+
shouldConstructTheCorrectUrlWithExtraParam() - Method in class com.rallydev.rest.request.UpdateRequestTest
+
 
+
shouldCreate() - Method in class com.rallydev.rest.RallyRestApiTest
+
 
+
shouldCreateACorrectBody() - Method in class com.rallydev.rest.request.CollectionUpdateRequestTest
+
 
+
shouldCreateACorrectBody() - Method in class com.rallydev.rest.request.CreateRequestTest
+
 
+
shouldCreateACorrectBody() - Method in class com.rallydev.rest.request.UpdateRequestTest
+
 
+
shouldCreateACorrectBodyWithNullFields() - Method in class com.rallydev.rest.request.CreateRequestTest
+
 
+
shouldCreateACorrectBodyWithNullFieldsByDefault() - Method in class com.rallydev.rest.request.UpdateRequestTest
+
 
+
shouldCreateCorrectAndedQuery() - Method in class com.rallydev.rest.util.QueryFilterTest
+
 
+
shouldCreateCorrectDefaultQuery() - Method in class com.rallydev.rest.request.QueryRequestTest
+
 
+
shouldCreateCorrectDefaultQueryWithExtraParam() - Method in class com.rallydev.rest.request.QueryRequestTest
+
 
+
shouldCreateCorrectOredQuery() - Method in class com.rallydev.rest.util.QueryFilterTest
+
 
+
shouldCreateCorrectQueryForNull() - Method in class com.rallydev.rest.util.QueryFilterTest
+
 
+
shouldCreateCorrectQueryForNumber() - Method in class com.rallydev.rest.util.QueryFilterTest
+
 
+
shouldCreateCorrectQueryForRef() - Method in class com.rallydev.rest.util.QueryFilterTest
+
 
+
shouldCreateCorrectQueryForString() - Method in class com.rallydev.rest.util.QueryFilterTest
+
 
+
shouldCreateCorrectQueryWithDefaultOrder() - Method in class com.rallydev.rest.request.QueryRequestTest
+
 
+
shouldCreateCorrectQueryWithFetch() - Method in class com.rallydev.rest.request.QueryRequestTest
+
 
+
shouldCreateCorrectQueryWithNullProject() - Method in class com.rallydev.rest.request.QueryRequestTest
+
 
+
shouldCreateCorrectQueryWithPageSize() - Method in class com.rallydev.rest.request.QueryRequestTest
+
 
+
shouldCreateCorrectQueryWithProject() - Method in class com.rallydev.rest.request.QueryRequestTest
+
 
+
shouldCreateCorrectQueryWithQuery() - Method in class com.rallydev.rest.request.QueryRequestTest
+
 
+
shouldCreateCorrectQueryWithSpecifiedOrder() - Method in class com.rallydev.rest.request.QueryRequestTest
+
 
+
shouldCreateCorrectQueryWithStart() - Method in class com.rallydev.rest.request.QueryRequestTest
+
 
+
shouldCreateCorrectQueryWithWorkspace() - Method in class com.rallydev.rest.request.QueryRequestTest
+
 
+
shouldCreateCorrectStaticAndedQuery() - Method in class com.rallydev.rest.util.QueryFilterTest
+
 
+
shouldCreateCorrectStaticOredQuery() - Method in class com.rallydev.rest.util.QueryFilterTest
+
 
+
shouldCreateCorrectUrlForCollection() - Method in class com.rallydev.rest.request.QueryRequestTest
+
 
+
shouldCreateCorrectUrlForSubscription() - Method in class com.rallydev.rest.request.QueryRequestTest
+
 
+
shouldCreateCorrectUrlForUser() - Method in class com.rallydev.rest.request.QueryRequestTest
+
 
+
shouldCreateQuotedQueryForStringWithSpaces() - Method in class com.rallydev.rest.util.QueryFilterTest
+
 
+
shouldDelete() - Method in class com.rallydev.rest.client.HttpClientTest
+
 
+
shouldDelete() - Method in class com.rallydev.rest.RallyRestApiTest
+
 
+
shouldDetectInvalidRefs() - Method in class com.rallydev.rest.util.RefTest
+
 
+
shouldDetectValidDynatypeRefs() - Method in class com.rallydev.rest.util.RefTest
+
 
+
shouldDetectValidRefs() - Method in class com.rallydev.rest.util.RefTest
+
 
+
shouldEncodeParamsUsingUtf8() - Method in class com.rallydev.rest.request.CreateRequestTest
+
 
+
shouldEncodeParamsUsingUtf8() - Method in class com.rallydev.rest.request.QueryRequestTest
+
 
+
shouldExplodeWithInvalidResponse() - Method in class com.rallydev.rest.client.HttpClientTest
+
 
+
shouldGet() - Method in class com.rallydev.rest.client.HttpClientTest
+
 
+
shouldGet() - Method in class com.rallydev.rest.RallyRestApiTest
+
 
+
shouldGetWsapiVersion() - Method in class com.rallydev.rest.RallyRestApiTest
+
 
+
shouldGzip() - Method in class com.rallydev.rest.client.HttpClientTest
+
 
+
shouldIncludeApiKeyOnRequest() - Method in class com.rallydev.rest.client.ApiKeyClientTest
+
 
+
shouldIncludeCSRFTokenOnDelete() - Method in class com.rallydev.rest.client.BasicAuthClientTest
+
 
+
shouldIncludeCSRFTokenOnPost() - Method in class com.rallydev.rest.client.BasicAuthClientTest
+
 
+
shouldIncludeCSRFTokenOnPut() - Method in class com.rallydev.rest.client.BasicAuthClientTest
+
 
+
shouldInitializeApiKeyClient() - Method in class com.rallydev.rest.RallyRestApiTest
+
 
+
shouldInitializeBasicAuthClient() - Method in class com.rallydev.rest.RallyRestApiTest
+
 
+
shouldIntialize() - Method in class com.rallydev.rest.client.ApiKeyClientTest
+
 
+
shouldIntialize() - Method in class com.rallydev.rest.client.BasicAuthClientTest
+
 
+
shouldIntialize() - Method in class com.rallydev.rest.client.HttpClientTest
+
 
+
shouldNotIncludeCSRFTokenOnGet() - Method in class com.rallydev.rest.client.BasicAuthClientTest
+
 
+
shouldNotIncludeCSRFTokenOnWsapiv1() - Method in class com.rallydev.rest.client.BasicAuthClientTest
+
 
+
shouldPost() - Method in class com.rallydev.rest.client.HttpClientTest
+
 
+
shouldProvideCorrectDefaultFetch() - Method in class com.rallydev.rest.util.FetchTest
+
 
+
shouldProvideCorrectFetch() - Method in class com.rallydev.rest.util.FetchTest
+
 
+
shouldPut() - Method in class com.rallydev.rest.client.HttpClientTest
+
 
+
shouldQueryAllPages() - Method in class com.rallydev.rest.RallyRestApiTest
+
 
+
shouldQueryAllPagesWithNonStandardStart() - Method in class com.rallydev.rest.RallyRestApiTest
+
 
+
shouldQueryNoPages() - Method in class com.rallydev.rest.RallyRestApiTest
+
 
+
shouldQueryOnePage() - Method in class com.rallydev.rest.RallyRestApiTest
+
 
+
shouldQuerySomePages() - Method in class com.rallydev.rest.RallyRestApiTest
+
 
+
shouldQuerySomePagesWithNonStandardStart() - Method in class com.rallydev.rest.RallyRestApiTest
+
 
+
shouldRequestCSRFToken() - Method in class com.rallydev.rest.client.BasicAuthClientTest
+
 
+
shouldReturnCorrectUrlForSubscription() - Method in class com.rallydev.rest.request.GetRequestTest
+
 
+
shouldReturnCorrectUrlForUser() - Method in class com.rallydev.rest.request.GetRequestTest
+
 
+
shouldReturnCorrectUrlWithAbsoluteRef() - Method in class com.rallydev.rest.request.GetRequestTest
+
 
+
shouldReturnCorrectUrlWithFetchParams() - Method in class com.rallydev.rest.request.GetRequestTest
+
 
+
shouldReturnCorrectUrlWithRelativeRef() - Method in class com.rallydev.rest.request.GetRequestTest
+
 
+
shouldReturnCreatedObject() - Method in class com.rallydev.rest.response.CreateResponseTest
+
 
+
shouldReturnErrors() - Method in class com.rallydev.rest.response.CreateResponseTest
+
 
+
shouldReturnErrors() - Method in class com.rallydev.rest.response.DeleteResponseTest
+
 
+
shouldReturnErrors() - Method in class com.rallydev.rest.response.GetResponseTest
+
 
+
shouldReturnErrors() - Method in class com.rallydev.rest.response.ResponseTest
+
 
+
shouldReturnErrors() - Method in class com.rallydev.rest.response.UpdateResponseTest
+
 
+
shouldReturnNoErrors() - Method in class com.rallydev.rest.response.CollectionUpdateResponseTest
+
 
+
shouldReturnNoErrors() - Method in class com.rallydev.rest.response.DeleteResponseTest
+
 
+
shouldReturnNoErrors() - Method in class com.rallydev.rest.response.GetResponseTest
+
 
+
shouldReturnNoErrors() - Method in class com.rallydev.rest.response.QueryResponseTest
+
 
+
shouldReturnNoErrors() - Method in class com.rallydev.rest.response.ResponseTest
+
 
+
shouldReturnNoWarnings() - Method in class com.rallydev.rest.response.ResponseTest
+
 
+
shouldReturnNullOidsFromRefs() - Method in class com.rallydev.rest.util.RefTest
+
 
+
shouldReturnNullRelativeRefs() - Method in class com.rallydev.rest.util.RefTest
+
 
+
shouldReturnNullTypesFromRefs() - Method in class com.rallydev.rest.util.RefTest
+
 
+
shouldReturnOidsFromDynatypeRefs() - Method in class com.rallydev.rest.util.RefTest
+
 
+
shouldReturnOidsFromRefs() - Method in class com.rallydev.rest.util.RefTest
+
 
+
shouldReturnResults() - Method in class com.rallydev.rest.response.CollectionUpdateResponseTest
+
 
+
shouldReturnResults() - Method in class com.rallydev.rest.response.QueryResponseTest
+
 
+
shouldReturnTypesFromDynatypeRefs() - Method in class com.rallydev.rest.util.RefTest
+
 
+
shouldReturnTypesFromRefs() - Method in class com.rallydev.rest.util.RefTest
+
 
+
shouldReturnUpdatedObject() - Method in class com.rallydev.rest.response.UpdateResponseTest
+
 
+
shouldReturnValidDynatypeRelativeRefs() - Method in class com.rallydev.rest.util.RefTest
+
 
+
shouldReturnValidRelativeRefs() - Method in class com.rallydev.rest.util.RefTest
+
 
+
shouldReturnValidResponse() - Method in class com.rallydev.rest.client.HttpClientTest
+
 
+
shouldReturnWarnings() - Method in class com.rallydev.rest.response.ResponseTest
+
 
+
shouldSetApplicationName() - Method in class com.rallydev.rest.client.HttpClientTest
+
 
+
shouldSetApplicationVendor() - Method in class com.rallydev.rest.client.HttpClientTest
+
 
+
shouldSetApplicationVersion() - Method in class com.rallydev.rest.client.HttpClientTest
+
 
+
shouldSetName() - Method in class com.rallydev.rest.RallyRestApiTest
+
 
+
shouldSetProxy() - Method in class com.rallydev.rest.client.HttpClientTest
+
 
+
shouldSetProxy() - Method in class com.rallydev.rest.RallyRestApiTest
+
 
+
shouldSetProxyWithCredentials() - Method in class com.rallydev.rest.client.HttpClientTest
+
 
+
shouldSetProxyWithCredentials() - Method in class com.rallydev.rest.RallyRestApiTest
+
 
+
shouldSetVendor() - Method in class com.rallydev.rest.RallyRestApiTest
+
 
+
shouldSetVersion() - Method in class com.rallydev.rest.RallyRestApiTest
+
 
+
shouldSetWsapiVersion() - Method in class com.rallydev.rest.client.HttpClientTest
+
 
+
shouldSetWsapiVersion() - Method in class com.rallydev.rest.RallyRestApiTest
+
 
+
shouldSupportCollectionRefs() - Method in class com.rallydev.rest.util.RefTest
+
 
+
shouldSupportProjectPermissionRefs() - Method in class com.rallydev.rest.util.RefTest
+
 
+
shouldSupportWorkspacePermissionRefs() - Method in class com.rallydev.rest.util.RefTest
+
 
+
shouldSupportWsapiVersionXinRefs() - Method in class com.rallydev.rest.util.RefTest
+
 
+
shouldUpdate() - Method in class com.rallydev.rest.RallyRestApiTest
+
 
+
shouldUpdateCollection() - Method in class com.rallydev.rest.RallyRestApiTest
+
 
+
shouldUseDefaultWsapiVersion() - Method in class com.rallydev.rest.client.HttpClientTest
+
 
-A B C D F G H I O Q R S T U W 
+A B C D F G H I M O Q R S T U W 
-
A B C D F G H I O Q R S T U W  +
A B C D F G H I M O Q R S T U W  -

U

+

T

-
update(UpdateRequest) - Method in class com.rallydev.rest.RallyRestApi
+
toString() - Method in class com.rallydev.rest.util.Fetch
-
Update the specified object.
+
Get the comma separated list of fields to be returned.
-
UpdateRequest - Class in com.rallydev.rest.request
+
toString() - Method in class com.rallydev.rest.util.QueryFilter
-
Represents a WSAPI request to update an object.
+
Get the string representation of this query filter.
-
UpdateRequest(String, JsonObject) - Constructor for class com.rallydev.rest.request.UpdateRequest
+
toUrl() - Method in class com.rallydev.rest.request.CollectionUpdateRequest
-
Create a new update request for the specified object and values.
+
Convert this request into a url compatible with the WSAPI.
-
UpdateResponse - Class in com.rallydev.rest.response
+
toUrl() - Method in class com.rallydev.rest.request.CreateRequest
-
Represents a WSAPI response from updating an object.
+
Convert this request into a url compatible with the WSAPI.
-
UpdateResponse(String) - Constructor for class com.rallydev.rest.response.UpdateResponse
+
toUrl() - Method in class com.rallydev.rest.request.DeleteRequest
-
Create a new update response from the specified JSON encoded string.
+
Convert this request into a url compatible with the WSAPI.
+
+
toUrl() - Method in class com.rallydev.rest.request.GetRequest
+
+
Convert this request into a url compatible with the WSAPI.
+
+
toUrl() - Method in class com.rallydev.rest.request.QueryRequest
+
+
Convert this request into a url compatible with the WSAPI.
+
+
toUrl() - Method in class com.rallydev.rest.request.Request
+
+
Convert this request into a url compatible with the WSAPI.
+
+
toUrl() - Method in class com.rallydev.rest.request.UpdateRequest
+
+
Convert this request into a url compatible with the WSAPI.
-A B C D F G H I O Q R S T U W 
+A B C D F G H I M O Q R S T U W 
diff --git a/src/main/resources/doc/index-files/index-15.html b/src/main/resources/doc/index-files/index-15.html index 50d96ff..b647c0a 100644 --- a/src/main/resources/doc/index-files/index-15.html +++ b/src/main/resources/doc/index-files/index-15.html @@ -2,15 +2,15 @@ - -W-Index (Rally Rest API for Java 2.1) - + +U-Index (Rally Rest API for Java 2.2) + @@ -37,7 +37,7 @@ -
A B C D F G H I O Q R S T U W  +
A B C D F G H I M O Q R S T U W  -

W

+

U

-
wasSuccessful() - Method in class com.rallydev.rest.response.Response
+
update(UpdateRequest) - Method in class com.rallydev.rest.RallyRestApi
-
Returns whether the response was successful (no errors)
+
Update the specified object.
+
updateCollection(CollectionUpdateRequest) - Method in class com.rallydev.rest.RallyRestApi
+
+
Update the specified collection.
+
+
UpdateRequest - Class in com.rallydev.rest.request
+
+
Represents a WSAPI request to update an object.
+
+
UpdateRequest(String, JsonObject) - Constructor for class com.rallydev.rest.request.UpdateRequest
+
+
Create a new update request for the specified object and values.
+
+
UpdateRequestTest - Class in com.rallydev.rest.request
+
 
+
UpdateRequestTest() - Constructor for class com.rallydev.rest.request.UpdateRequestTest
+
 
+
UpdateResponse - Class in com.rallydev.rest.response
+
+
Represents a WSAPI response from updating an object.
+
+
UpdateResponse(String) - Constructor for class com.rallydev.rest.response.UpdateResponse
+
+
Create a new update response from the specified JSON encoded string.
+
+
UpdateResponseTest - Class in com.rallydev.rest.response
+
 
+
UpdateResponseTest() - Constructor for class com.rallydev.rest.response.UpdateResponseTest
+
 
-A B C D F G H I O Q R S T U W 
+A B C D F G H I M O Q R S T U W 
@@ -93,7 +121,7 @@

W

-
A B C D F G H I O Q R S T U W  +
A B C D F G H I M O Q R S T U W 

B

@@ -75,8 +75,12 @@

B

Construct a new client.
+
BasicAuthClientTest - Class in com.rallydev.rest.client
+
 
+
BasicAuthClientTest() - Constructor for class com.rallydev.rest.client.BasicAuthClientTest
+
 
-A B C D F G H I O Q R S T U W 
+A B C D F G H I M O Q R S T U W 
-
A B C D F G H I O Q R S T U W  +
A B C D F G H I M O Q R S T U W 

C

@@ -79,6 +79,46 @@

C

Release all resources associated with this instance.
+
CollectionAddExample - Class in com.rallydev.rest
+
 
+
CollectionAddExample() - Constructor for class com.rallydev.rest.CollectionAddExample
+
 
+
CollectionQueryExample - Class in com.rallydev.rest
+
 
+
CollectionQueryExample() - Constructor for class com.rallydev.rest.CollectionQueryExample
+
 
+
CollectionSummaryExample - Class in com.rallydev.rest
+
 
+
CollectionSummaryExample() - Constructor for class com.rallydev.rest.CollectionSummaryExample
+
 
+
CollectionUpdateRequest - Class in com.rallydev.rest.request
+
+
Represents a WSAPI request to update a collection.
+
+
CollectionUpdateRequest(JsonObject, JsonArray, boolean) - Constructor for class com.rallydev.rest.request.CollectionUpdateRequest
+
+
Create a new update request for the specified collection and values.
+
+
CollectionUpdateRequest(String, JsonArray, boolean) - Constructor for class com.rallydev.rest.request.CollectionUpdateRequest
+
+
Create a new update request for the specified collection and values.
+
+
CollectionUpdateRequestTest - Class in com.rallydev.rest.request
+
 
+
CollectionUpdateRequestTest() - Constructor for class com.rallydev.rest.request.CollectionUpdateRequestTest
+
 
+
CollectionUpdateResponse - Class in com.rallydev.rest.response
+
+
Represents a WSAPI response from updating a collection.
+
+
CollectionUpdateResponse(String) - Constructor for class com.rallydev.rest.response.CollectionUpdateResponse
+
+
Create a new collection update response from the specified JSON encoded string.
+
+
CollectionUpdateResponseTest - Class in com.rallydev.rest.response
+
 
+
CollectionUpdateResponseTest() - Constructor for class com.rallydev.rest.response.CollectionUpdateResponseTest
+
 
com.rallydev.rest - package com.rallydev.rest
Provides the main interface to the Rest API.
@@ -87,6 +127,8 @@

C

Provides the underlying http client implementations.
+
com.rallydev.rest.matchers - package com.rallydev.rest.matchers
+
 
com.rallydev.rest.request - package com.rallydev.rest.request
Provides objects for encoding requests to the Rest API.
@@ -111,6 +153,10 @@

C

Create a new create request with the specified type and values.
+
CreateRequestTest - Class in com.rallydev.rest.request
+
 
+
CreateRequestTest() - Constructor for class com.rallydev.rest.request.CreateRequestTest
+
 
CreateResponse - Class in com.rallydev.rest.response
Represents a WSAPI response from creating an object
@@ -119,8 +165,16 @@

C

Create a new create response from the specified JSON encoded string.
+
CreateResponseTest - Class in com.rallydev.rest.response
+
 
+
CreateResponseTest() - Constructor for class com.rallydev.rest.response.CreateResponseTest
+
 
+
CrudExample - Class in com.rallydev.rest
+
 
+
CrudExample() - Constructor for class com.rallydev.rest.CrudExample
+
 
-A B C D F G H I O Q R S T U W 
+A B C D F G H I M O Q R S T U W 
-
A B C D F G H I O Q R S T U W  +
A B C D F G H I M O Q R S T U W 

D

@@ -79,6 +79,10 @@

D

Createa new delete request for the specified object.
+
DeleteRequestTest - Class in com.rallydev.rest.request
+
 
+
DeleteRequestTest() - Constructor for class com.rallydev.rest.request.DeleteRequestTest
+
 
DeleteResponse - Class in com.rallydev.rest.response
Represents a WSAPI response from deleting an object
@@ -87,6 +91,10 @@

D

Create a new delete response from the specified JSON encoded string.
+
DeleteResponseTest - Class in com.rallydev.rest.response
+
 
+
DeleteResponseTest() - Constructor for class com.rallydev.rest.response.DeleteResponseTest
+
 
doDelete(String) - Method in class com.rallydev.rest.client.HttpClient
Perform a delete against the WSAPI
@@ -104,7 +112,7 @@

D

Perform a put against the WSAPI
-A B C D F G H I O Q R S T U W 
+A B C D F G H I M O Q R S T U W 
-
A B C D F G H I O Q R S T U W  +
A B C D F G H I M O Q R S T U W 

F

@@ -75,8 +75,12 @@

F

Create a new fetch with the specified fields.
+
FetchTest - Class in com.rallydev.rest.util
+
 
+
FetchTest() - Constructor for class com.rallydev.rest.util.FetchTest
+
 
-A B C D F G H I O Q R S T U W 
+A B C D F G H I M O Q R S T U W 
-
A B C D F G H I O Q R S T U W  +
A B C D F G H I M O Q R S T U W 

G

@@ -71,6 +71,10 @@

G

Get the specified object.
+
getBody() - Method in class com.rallydev.rest.request.CollectionUpdateRequest
+
+
Get the JSON encoded string representation of the object to be updated.
+
getBody() - Method in class com.rallydev.rest.request.CreateRequest
Get the JSON encoded string representation of the object to be created.
@@ -87,6 +91,10 @@

G

Get any errors returned in the response.
+
getFetch() - Method in class com.rallydev.rest.request.CollectionUpdateRequest
+
+
Get the current list of fields to be returned on the updated object.
+
getFetch() - Method in class com.rallydev.rest.request.CreateRequest
Get the current list of fields to be returned on the created object.
@@ -103,6 +111,10 @@

G

Get the current list of fields to be returned on the updated object.
+
getGsonBuilder() - Method in class com.rallydev.rest.request.Request
+
+
Get the Gson Builder used for JSON serialization in this request.
+
getLimit() - Method in class com.rallydev.rest.request.QueryRequest
Get the maximum number of records to be returned from the query.
@@ -159,6 +171,10 @@

G

Create a new get request for the specified object.
+
GetRequestTest - Class in com.rallydev.rest.request
+
 
+
GetRequestTest() - Constructor for class com.rallydev.rest.request.GetRequestTest
+
 
GetResponse - Class in com.rallydev.rest.response
Represents a WSAPI response from retrieving a single object.
@@ -167,6 +183,16 @@

G

Create a new get response from the specified JSON encoded string.
+
GetResponseTest - Class in com.rallydev.rest.response
+
 
+
GetResponseTest() - Constructor for class com.rallydev.rest.response.GetResponseTest
+
 
+
getRestApi() - Static method in class com.rallydev.rest.RestApiFactory
+
 
+
getResults() - Method in class com.rallydev.rest.response.CollectionUpdateResponse
+
+
Get the results of the collection update
+
getResults() - Method in class com.rallydev.rest.response.QueryResponse
Get the results of the query
@@ -212,7 +238,7 @@

G

Get the current version of the WSAPI being targeted.
-A B C D F G H I O Q R S T U W 
+A B C D F G H I M O Q R S T U W 
-
A B C D F G H I O Q R S T U W  +
A B C D F G H I M O Q R S T U W 

H

@@ -71,8 +71,24 @@

H

A HttpClient implementation providing connectivity to Rally.
+
HttpClientTest - Class in com.rallydev.rest.client
+
 
+
HttpClientTest() - Constructor for class com.rallydev.rest.client.HttpClientTest
+
 
+
HttpRequestBodyMatcher - Class in com.rallydev.rest.matchers
+
 
+
HttpRequestBodyMatcher(String, String) - Constructor for class com.rallydev.rest.matchers.HttpRequestBodyMatcher
+
 
+
HttpRequestHeaderMatcher - Class in com.rallydev.rest.matchers
+
 
+
HttpRequestHeaderMatcher(String, String) - Constructor for class com.rallydev.rest.matchers.HttpRequestHeaderMatcher
+
 
+
HttpRequestUrlMatcher - Class in com.rallydev.rest.matchers
+
 
+
HttpRequestUrlMatcher(String) - Constructor for class com.rallydev.rest.matchers.HttpRequestUrlMatcher
+
 
-A B C D F G H I O Q R S T U W 
+A B C D F G H I M O Q R S T U W 
-
A B C D F G H I O Q R S T U W  +
A B C D F G H I M O Q R S T U W 

I

@@ -80,7 +80,7 @@

I

If a project has been specified, get whether to include matching objects in parent projects in the result set.
-A B C D F G H I O Q R S T U W 
+A B C D F G H I M O Q R S T U W 
-
A B C D F G H I O Q R S T U W  +
A B C D F G H I M O Q R S T U W  -

O

+

M

-
or(QueryFilter) - Method in class com.rallydev.rest.util.QueryFilter
-
-
Get a query filter that is the ORed combination of this filter and the specified one.
-
-
or(QueryFilter...) - Static method in class com.rallydev.rest.util.QueryFilter
-
-
Get a query filter that is the ORed combination of the specified filters.
-
+
main(String[]) - Static method in class com.rallydev.rest.CollectionAddExample
+
 
+
main(String[]) - Static method in class com.rallydev.rest.CollectionQueryExample
+
 
+
main(String[]) - Static method in class com.rallydev.rest.CollectionSummaryExample
+
 
+
main(String[]) - Static method in class com.rallydev.rest.CrudExample
+
 
+
main(String[]) - Static method in class com.rallydev.rest.QueryExample
+
 
+
matches(Object) - Method in class com.rallydev.rest.matchers.HttpRequestBodyMatcher
+
 
+
matches(Object) - Method in class com.rallydev.rest.matchers.HttpRequestHeaderMatcher
+
 
+
matches(Object) - Method in class com.rallydev.rest.matchers.HttpRequestUrlMatcher
+
 
-A B C D F G H I O Q R S T U W 
+A B C D F G H I M O Q R S T U W 
diff --git a/src/main/resources/doc/index.html b/src/main/resources/doc/index.html index 040d4c2..1eee5a7 100644 --- a/src/main/resources/doc/index.html +++ b/src/main/resources/doc/index.html @@ -2,8 +2,8 @@ - -Rally Rest API for Java 2.1 + +Rally Rest API for Java 2.2 @@ -63,7 +63,7 @@
-

Rally Rest API for Java 2.1

+

Rally Rest API for Java 2.2

@@ -86,18 +86,22 @@

Rally Rest API for Java 2.1

+ + + + - + - + - - - - - - - - - - - -
com.rallydev.rest.matchers 
com.rallydev.rest.request
Provides objects for encoding requests to the Rest API.
com.rallydev.rest.response
Provides objects for parsing responses from the Rest API.
com.rallydev.rest.util
Provides utilities for working with the Rest API.
diff --git a/src/main/resources/doc/overview-tree.html b/src/main/resources/doc/overview-tree.html index 6cefdc6..5a9ad47 100644 --- a/src/main/resources/doc/overview-tree.html +++ b/src/main/resources/doc/overview-tree.html @@ -2,15 +2,15 @@ - -Class Hierarchy (Rally Rest API for Java 2.1) - + +Class Hierarchy (Rally Rest API for Java 2.2) + @@ -68,6 +68,7 @@

Hierarchy For All Packages

+
  • com.rallydev.rest.client.ApiKeyClientTest
  • +
  • org.hamcrest.BaseMatcher<T> (implements org.hamcrest.Matcher<T>) + +
  • +
  • com.rallydev.rest.client.BasicAuthClientTest
  • +
  • com.rallydev.rest.CollectionAddExample
  • +
  • com.rallydev.rest.CollectionQueryExample
  • +
  • com.rallydev.rest.CollectionSummaryExample
  • +
  • com.rallydev.rest.request.CollectionUpdateRequestTest
  • +
  • com.rallydev.rest.response.CollectionUpdateResponseTest
  • +
  • com.rallydev.rest.request.CreateRequestTest
  • +
  • com.rallydev.rest.response.CreateResponseTest
  • +
  • com.rallydev.rest.CrudExample
  • +
  • com.rallydev.rest.request.DeleteRequestTest
  • +
  • com.rallydev.rest.response.DeleteResponseTest
  • +
  • com.rallydev.rest.util.FetchTest
  • +
  • com.rallydev.rest.request.GetRequestTest
  • +
  • com.rallydev.rest.response.GetResponseTest
  • +
  • com.rallydev.rest.client.HttpClientTest
  • +
  • com.rallydev.rest.QueryExample
  • com.rallydev.rest.util.QueryFilter (implements java.lang.Cloneable)
  • +
  • com.rallydev.rest.util.QueryFilterTest
  • +
  • com.rallydev.rest.request.QueryRequestTest
  • +
  • com.rallydev.rest.response.QueryResponseTest
  • com.rallydev.rest.RallyRestApi (implements java.io.Closeable)
  • +
  • com.rallydev.rest.RallyRestApiTest
  • com.rallydev.rest.util.Ref
  • +
  • com.rallydev.rest.util.RefTest
  • com.rallydev.rest.request.Request
  • +
  • com.rallydev.rest.request.RequestTest
  • com.rallydev.rest.response.Response
  • +
  • com.rallydev.rest.response.ResponseTest
  • +
  • com.rallydev.rest.RestApiFactory
  • +
  • com.rallydev.rest.request.UpdateRequestTest
  • +
  • com.rallydev.rest.response.UpdateResponseTest
  • diff --git a/src/main/resources/doc/package-list b/src/main/resources/doc/package-list index b4b74a7..10ac83b 100644 --- a/src/main/resources/doc/package-list +++ b/src/main/resources/doc/package-list @@ -1,5 +1,6 @@ com.rallydev.rest com.rallydev.rest.client +com.rallydev.rest.matchers com.rallydev.rest.request com.rallydev.rest.response com.rallydev.rest.util diff --git a/src/main/resources/doc/serialized-form.html b/src/main/resources/doc/serialized-form.html index a441a36..6cf5a41 100644 --- a/src/main/resources/doc/serialized-form.html +++ b/src/main/resources/doc/serialized-form.html @@ -2,15 +2,15 @@ - -Serialized Form (Rally Rest API for Java 2.1) - + +Serialized Form (Rally Rest API for Java 2.2) + diff --git a/src/main/resources/examples/com/rallydev/rest/CollectionAddExample.java b/src/main/resources/examples/com/rallydev/rest/CollectionAddExample.java new file mode 100644 index 0000000..70617c4 --- /dev/null +++ b/src/main/resources/examples/com/rallydev/rest/CollectionAddExample.java @@ -0,0 +1,63 @@ +package com.rallydev.rest; + +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.rallydev.rest.request.CollectionUpdateRequest; +import com.rallydev.rest.request.QueryRequest; +import com.rallydev.rest.response.CollectionUpdateResponse; +import com.rallydev.rest.response.QueryResponse; +import com.rallydev.rest.util.Fetch; +import com.rallydev.rest.util.QueryFilter; + +import java.io.IOException; +import java.net.URISyntaxException; + +public class CollectionAddExample { + + public static void main(String[] args) throws URISyntaxException, IOException { + + //Create and configure a new instance of RallyRestApi + //(Server, username, password and proxy settings configured in Factory) + RallyRestApi restApi = RestApiFactory.getRestApi(); + + try { + //Get a story without any tags + System.out.println("\nQuerying for stories without tags..."); + QueryRequest storyRequest = new QueryRequest("hierarchicalrequirement"); + storyRequest.setQueryFilter(new QueryFilter("Tags.ObjectID", "=", "null")); + storyRequest.setFetch(new Fetch("FormattedID", "Name", "Tags")); + + QueryResponse storyResponse = restApi.query(storyRequest); + JsonObject story = storyResponse.getResults().get(0).getAsJsonObject(); + System.out.println(String.format("Found: %s - %s", story.get("FormattedID").getAsString(), story.get("Name").getAsString())); + + //Get a tag + System.out.println("\nQuerying for tags..."); + QueryRequest tagsRequest = new QueryRequest("tag"); + tagsRequest.setFetch(new Fetch("Name")); + QueryResponse tagsResponse = restApi.query(tagsRequest); + JsonObject tag = tagsResponse.getResults().get(0).getAsJsonObject(); + System.out.println(String.format("Found: %s - %s", tag.get("Name").getAsString(), tag.get("_ref").getAsString())); + + //Add the tag to the collection + JsonArray tagRefs = new JsonArray(); + JsonObject tagRef = new JsonObject(); + tagRef.addProperty("_ref", tag.get("_ref").getAsString()); + tagRefs.add(tagRef); + + //Update the collection + CollectionUpdateRequest storyTagCollectionAddRequest = new CollectionUpdateRequest(story.getAsJsonObject("Tags"), tagRefs, true); + storyTagCollectionAddRequest.setFetch(new Fetch("Name")); + CollectionUpdateResponse storyTagCollectionAddResponse = restApi.updateCollection(storyTagCollectionAddRequest); + if(storyTagCollectionAddResponse.wasSuccessful()) { + for(JsonElement addedTag : storyTagCollectionAddResponse.getResults()) { + System.out.println(String.format("Added tag: %s - %s", tag.get("Name").getAsString(), addedTag.getAsJsonObject().get("_ref").getAsString())); + } + } + } finally { + //Release resources + restApi.close(); + } + } +} diff --git a/src/main/resources/examples/com/rallydev/rest/CollectionQueryExample.java b/src/main/resources/examples/com/rallydev/rest/CollectionQueryExample.java index aded655..91c31df 100644 --- a/src/main/resources/examples/com/rallydev/rest/CollectionQueryExample.java +++ b/src/main/resources/examples/com/rallydev/rest/CollectionQueryExample.java @@ -2,16 +2,13 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; -import com.rallydev.rest.request.GetRequest; import com.rallydev.rest.request.QueryRequest; -import com.rallydev.rest.response.GetResponse; import com.rallydev.rest.response.QueryResponse; import com.rallydev.rest.util.Fetch; import com.rallydev.rest.util.QueryFilter; import java.io.IOException; import java.net.URISyntaxException; -import java.util.Map; public class CollectionQueryExample { diff --git a/src/main/resources/examples/com/rallydev/rest/CollectionSummaryExample.java b/src/main/resources/examples/com/rallydev/rest/CollectionSummaryExample.java index 7a9e220..2601e5c 100644 --- a/src/main/resources/examples/com/rallydev/rest/CollectionSummaryExample.java +++ b/src/main/resources/examples/com/rallydev/rest/CollectionSummaryExample.java @@ -2,13 +2,10 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; -import com.rallydev.rest.request.GetRequest; import com.rallydev.rest.request.QueryRequest; -import com.rallydev.rest.response.GetResponse; import com.rallydev.rest.response.QueryResponse; import com.rallydev.rest.util.Fetch; import com.rallydev.rest.util.QueryFilter; -import com.rallydev.rest.util.Ref; import java.io.IOException; import java.net.URISyntaxException; diff --git a/src/test/java/com/rallydev/rest/RallyRestApiTest.java b/src/test/java/com/rallydev/rest/RallyRestApiTest.java index b08b74e..eba2d1c 100644 --- a/src/test/java/com/rallydev/rest/RallyRestApiTest.java +++ b/src/test/java/com/rallydev/rest/RallyRestApiTest.java @@ -5,16 +5,8 @@ import com.google.gson.JsonObject; import com.rallydev.rest.client.ApiKeyClient; import com.rallydev.rest.client.BasicAuthClient; -import com.rallydev.rest.request.CreateRequest; -import com.rallydev.rest.request.DeleteRequest; -import com.rallydev.rest.request.GetRequest; -import com.rallydev.rest.request.QueryRequest; -import com.rallydev.rest.request.UpdateRequest; -import com.rallydev.rest.response.CreateResponse; -import com.rallydev.rest.response.DeleteResponse; -import com.rallydev.rest.response.GetResponse; -import com.rallydev.rest.response.QueryResponse; -import com.rallydev.rest.response.UpdateResponse; +import com.rallydev.rest.request.*; +import com.rallydev.rest.response.*; import org.testng.Assert; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; @@ -133,6 +125,31 @@ public void shouldUpdate() throws Exception { assertEquals(obj.get("_ref").getAsString(), "/defect/1234"); } + public void shouldUpdateCollection() throws Exception { + JsonObject response = new JsonObject(); + JsonObject result = new JsonObject(); + response.add("OperationResult", result); + result.add("Errors", new JsonArray()); + result.add("Warnings", new JsonArray()); + JsonArray results = new JsonArray(); + JsonObject tag = new JsonObject(); + tag.addProperty("_ref", "/tag/23456"); + results.add(tag); + result.add("Results", results); + + JsonArray updatedTags = new JsonArray(); + + updatedTags.add(tag); + CollectionUpdateRequest request = new CollectionUpdateRequest("/defect/1234/tags", updatedTags, true); + doReturn(new Gson().toJson(response)).when(api.client).doPost(request.toUrl(), request.getBody()); + CollectionUpdateResponse updateResponse = api.updateCollection(request); + + verify(api.client).doPost(request.toUrl(), request.getBody()); + Assert.assertTrue(updateResponse.wasSuccessful()); + JsonArray updateResults = updateResponse.getResults(); + assertEquals(updateResults.get(0).getAsJsonObject().get("_ref").getAsString(), "/tag/23456"); + } + public void shouldDelete() throws Exception { JsonObject response = new JsonObject(); JsonObject deleteResult = new JsonObject(); diff --git a/src/test/java/com/rallydev/rest/request/CollectionUpdateRequestTest.java b/src/test/java/com/rallydev/rest/request/CollectionUpdateRequestTest.java new file mode 100644 index 0000000..2fb7fc4 --- /dev/null +++ b/src/test/java/com/rallydev/rest/request/CollectionUpdateRequestTest.java @@ -0,0 +1,45 @@ +package com.rallydev.rest.request; + +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; +import com.rallydev.rest.util.Fetch; +import org.testng.Assert; +import org.testng.annotations.Test; + +public class CollectionUpdateRequestTest { + + @Test + public void shouldCreateACorrectBody() { + JsonArray items = new JsonArray(); + JsonObject tag = new JsonObject(); + tag.addProperty("_ref", "/tag/2345"); + items.add(tag); + CollectionUpdateRequest req = new CollectionUpdateRequest("/hierarchicalrequirement/1234/tags.js", items, true); + Assert.assertEquals(req.getBody(), "{\"CollectionItems\":[{\"_ref\":\"/tag/2345\"}]}"); + } + + @Test + public void shouldConstructTheCorrectUrlForAdds() { + JsonArray items = new JsonArray(); + CollectionUpdateRequest req = new CollectionUpdateRequest("/defect/1234/tags", items, true); + req.setFetch(new Fetch("Name", "Description")); + Assert.assertEquals(req.toUrl(), "/defect/1234/tags/add.js?fetch=Name%2CDescription"); + } + + @Test + public void shouldConstructTheCorrectUrlForRemoves() { + JsonObject tagsCollection = new JsonObject(); + tagsCollection.addProperty("_ref", "/defect/1234/tags"); + JsonArray items = new JsonArray(); + CollectionUpdateRequest req = new CollectionUpdateRequest(tagsCollection, items, false); + Assert.assertEquals(req.toUrl(), "/defect/1234/tags/remove.js?fetch=true"); + } + + @Test + public void shouldConstructTheCorrectUrlWithExtraParam() { + JsonArray items = new JsonArray(); + CollectionUpdateRequest req = new CollectionUpdateRequest("/defect/1234/tags", items, true); + req.addParam("foo", "Bar"); + Assert.assertEquals(req.toUrl(), "/defect/1234/tags/add.js?foo=Bar&fetch=true"); + } +} diff --git a/src/test/java/com/rallydev/rest/response/CollectionUpdateResponseTest.java b/src/test/java/com/rallydev/rest/response/CollectionUpdateResponseTest.java new file mode 100644 index 0000000..093e9ec --- /dev/null +++ b/src/test/java/com/rallydev/rest/response/CollectionUpdateResponseTest.java @@ -0,0 +1,43 @@ +package com.rallydev.rest.response; + +import com.google.gson.Gson; +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; +import org.testng.Assert; +import org.testng.annotations.Test; + +public class CollectionUpdateResponseTest { + private CollectionUpdateResponse createResponse(String[] errors, JsonArray results) { + return new CollectionUpdateResponse("{\"OperationResult\": { \"Errors\": " + new Gson().toJson(errors) + ", \"Warnings\": [], " + + "\"Results\": " + new Gson().toJson(results) + "}}"); + } + + @Test + public void shouldReturnResults() { + JsonArray results = new JsonArray(); + JsonObject r1 = new JsonObject(); + r1.addProperty("_ref", "/tag/12345"); + results.add(r1); + JsonObject r2 = new JsonObject(); + r2.addProperty("_ref", "/tag/23456"); + results.add(r2); + + CollectionUpdateResponse r = createResponse(new String[]{}, results); + + Assert.assertEquals(r.getErrors().length, 0, "Error length correct"); + Assert.assertEquals(r.getResults().size(), 2, "Result length correct"); + Assert.assertEquals(r.getResults().get(0).getAsJsonObject().get("_ref").getAsString(), "/tag/12345", "First result correct"); + Assert.assertEquals(r.getResults().get(1).getAsJsonObject().get("_ref").getAsString(), "/tag/23456", "Second result correct"); + Assert.assertTrue(r.wasSuccessful()); + } + + @Test + public void shouldReturnNoErrors() { + CollectionUpdateResponse r = createResponse(new String[]{"Foo"}, new JsonArray()); + + Assert.assertEquals(r.getErrors().length, 1, "Error length correct"); + Assert.assertEquals(r.getErrors()[0], "Foo"); + Assert.assertFalse(r.wasSuccessful()); + Assert.assertEquals(r.getResults().size(), 0); + } +} diff --git a/src/test/java/com/rallydev/rest/response/QueryResponseTest.java b/src/test/java/com/rallydev/rest/response/QueryResponseTest.java index 4ca2a94..c4b7c04 100644 --- a/src/test/java/com/rallydev/rest/response/QueryResponseTest.java +++ b/src/test/java/com/rallydev/rest/response/QueryResponseTest.java @@ -27,8 +27,8 @@ public void shouldReturnResults() { Assert.assertEquals(r.getErrors().length, 0, "Error length correct"); Assert.assertEquals(r.getTotalResultCount(), 2, "Total result count correct"); Assert.assertEquals(r.getResults().size(), 2, "Result length correct"); - Assert.assertEquals(r.getResults().get(0).getAsJsonObject().get("Foo").getAsInt(), 7, "First error correct"); - Assert.assertEquals(r.getResults().get(1).getAsJsonObject().get("Foo").getAsInt(), 1, "First error correct"); + Assert.assertEquals(r.getResults().get(0).getAsJsonObject().get("Foo").getAsInt(), 7, "First result correct"); + Assert.assertEquals(r.getResults().get(1).getAsJsonObject().get("Foo").getAsInt(), 1, "First result correct"); Assert.assertTrue(r.wasSuccessful()); Assert.assertEquals(r.getPageSize(), 20); Assert.assertEquals(r.getStart(), 1); From f491ede91d9e1f9371f0197fbe29e4867ac98ea7 Mon Sep 17 00:00:00 2001 From: Kyle Morse Date: Tue, 15 Mar 2016 20:16:16 -0600 Subject: [PATCH 38/48] Fixed javadocs --- RallyRestToolkitForJava.iml | 1 - src/main/resources/doc/allclasses-frame.html | 32 +- .../resources/doc/allclasses-noframe.html | 32 +- .../rallydev/rest/CollectionAddExample.html | 261 ++++++++ .../rallydev/rest/CollectionQueryExample.html | 261 ++++++++ .../rest/CollectionSummaryExample.html | 261 ++++++++ .../doc/com/rallydev/rest/CrudExample.html | 261 ++++++++ .../doc/com/rallydev/rest/QueryExample.html | 261 ++++++++ .../doc/com/rallydev/rest/RallyRestApi.html | 10 +- .../com/rallydev/rest/RallyRestApiTest.html | 567 ++++++++++++++++++ .../doc/com/rallydev/rest/RestApiFactory.html | 259 ++++++++ .../rest/class-use/CollectionAddExample.html | 115 ++++ .../class-use/CollectionQueryExample.html | 115 ++++ .../class-use/CollectionSummaryExample.html | 115 ++++ .../rallydev/rest/class-use/CrudExample.html | 115 ++++ .../rallydev/rest/class-use/QueryExample.html | 115 ++++ .../rallydev/rest/class-use/RallyRestApi.html | 46 +- .../rest/class-use/RallyRestApiTest.html | 115 ++++ .../rest/class-use/RestApiFactory.html | 115 ++++ .../rallydev/rest/client/ApiKeyClient.html | 6 +- .../rest/client/ApiKeyClientTest.html | 288 +++++++++ .../rallydev/rest/client/BasicAuthClient.html | 10 +- .../rest/client/BasicAuthClientTest.html | 368 ++++++++++++ .../com/rallydev/rest/client/HttpClient.html | 10 +- .../rallydev/rest/client/HttpClientTest.html | 490 +++++++++++++++ .../rest/client/class-use/ApiKeyClient.html | 2 +- .../client/class-use/ApiKeyClientTest.html | 115 ++++ .../client/class-use/BasicAuthClient.html | 2 +- .../client/class-use/BasicAuthClientTest.html | 115 ++++ .../rest/client/class-use/HttpClient.html | 2 +- .../rest/client/class-use/HttpClientTest.html | 115 ++++ .../rallydev/rest/client/package-frame.html | 5 +- .../rallydev/rest/client/package-summary.html | 18 +- .../rallydev/rest/client/package-tree.html | 9 +- .../com/rallydev/rest/client/package-use.html | 2 +- .../rest/matchers/HttpRequestBodyMatcher.html | 292 +++++++++ .../matchers/HttpRequestHeaderMatcher.html | 292 +++++++++ .../rest/matchers/HttpRequestUrlMatcher.html | 290 +++++++++ .../class-use/HttpRequestBodyMatcher.html | 115 ++++ .../class-use/HttpRequestHeaderMatcher.html | 115 ++++ .../class-use/HttpRequestUrlMatcher.html | 115 ++++ .../rallydev/rest/matchers/package-frame.html | 21 + .../rest/matchers/package-summary.html | 141 +++++ .../rallydev/rest/matchers/package-tree.html | 138 +++++ .../rallydev/rest/matchers/package-use.html | 115 ++++ .../doc/com/rallydev/rest/package-frame.html | 9 +- .../com/rallydev/rest/package-summary.html | 30 +- .../doc/com/rallydev/rest/package-tree.html | 9 +- .../doc/com/rallydev/rest/package-use.html | 41 +- .../rest/request/CollectionUpdateRequest.html | 358 +++++++++++ .../request/CollectionUpdateRequestTest.html | 295 +++++++++ .../rallydev/rest/request/CreateRequest.html | 10 +- .../rest/request/CreateRequestTest.html | 321 ++++++++++ .../rallydev/rest/request/DeleteRequest.html | 10 +- .../rest/request/DeleteRequestTest.html | 282 +++++++++ .../com/rallydev/rest/request/GetRequest.html | 10 +- .../rallydev/rest/request/GetRequestTest.html | 308 ++++++++++ .../rallydev/rest/request/QueryRequest.html | 10 +- .../rest/request/QueryRequestTest.html | 451 ++++++++++++++ .../com/rallydev/rest/request/Request.html | 10 +- .../rallydev/rest/request/RequestTest.html | 282 +++++++++ .../rallydev/rest/request/UpdateRequest.html | 10 +- .../rest/request/UpdateRequestTest.html | 308 ++++++++++ .../class-use/CollectionUpdateRequest.html | 159 +++++ .../CollectionUpdateRequestTest.html | 115 ++++ .../rest/request/class-use/CreateRequest.html | 2 +- .../request/class-use/CreateRequestTest.html | 115 ++++ .../rest/request/class-use/DeleteRequest.html | 2 +- .../request/class-use/DeleteRequestTest.html | 115 ++++ .../rest/request/class-use/GetRequest.html | 2 +- .../request/class-use/GetRequestTest.html | 115 ++++ .../rest/request/class-use/QueryRequest.html | 2 +- .../request/class-use/QueryRequestTest.html | 115 ++++ .../rest/request/class-use/Request.html | 2 +- .../rest/request/class-use/RequestTest.html | 115 ++++ .../rest/request/class-use/UpdateRequest.html | 2 +- .../request/class-use/UpdateRequestTest.html | 115 ++++ .../rallydev/rest/request/package-frame.html | 9 +- .../rest/request/package-summary.html | 34 +- .../rallydev/rest/request/package-tree.html | 13 +- .../rallydev/rest/request/package-use.html | 2 +- .../response/CollectionUpdateResponse.html | 278 +++++++++ .../CollectionUpdateResponseTest.html | 269 +++++++++ .../rest/response/CreateResponse.html | 10 +- .../rest/response/CreateResponseTest.html | 269 +++++++++ .../rest/response/DeleteResponse.html | 10 +- .../rest/response/DeleteResponseTest.html | 269 +++++++++ .../rallydev/rest/response/GetResponse.html | 10 +- .../rest/response/GetResponseTest.html | 269 +++++++++ .../rallydev/rest/response/QueryResponse.html | 10 +- .../rest/response/QueryResponseTest.html | 269 +++++++++ .../com/rallydev/rest/response/Response.html | 10 +- .../rallydev/rest/response/ResponseTest.html | 295 +++++++++ .../rest/response/UpdateResponse.html | 10 +- .../rest/response/UpdateResponseTest.html | 269 +++++++++ .../class-use/CollectionUpdateResponse.html | 159 +++++ .../CollectionUpdateResponseTest.html | 115 ++++ .../response/class-use/CreateResponse.html | 2 +- .../class-use/CreateResponseTest.html | 115 ++++ .../response/class-use/DeleteResponse.html | 2 +- .../class-use/DeleteResponseTest.html | 115 ++++ .../rest/response/class-use/GetResponse.html | 2 +- .../response/class-use/GetResponseTest.html | 115 ++++ .../response/class-use/QueryResponse.html | 2 +- .../response/class-use/QueryResponseTest.html | 115 ++++ .../rest/response/class-use/Response.html | 2 +- .../rest/response/class-use/ResponseTest.html | 115 ++++ .../response/class-use/UpdateResponse.html | 2 +- .../class-use/UpdateResponseTest.html | 115 ++++ .../rallydev/rest/response/package-frame.html | 9 +- .../rest/response/package-summary.html | 30 +- .../rallydev/rest/response/package-tree.html | 9 +- .../rallydev/rest/response/package-use.html | 2 +- .../doc/com/rallydev/rest/util/Fetch.html | 6 +- .../doc/com/rallydev/rest/util/FetchTest.html | 282 +++++++++ .../com/rallydev/rest/util/QueryFilter.html | 10 +- .../rallydev/rest/util/QueryFilterTest.html | 360 +++++++++++ .../doc/com/rallydev/rest/util/Ref.html | 10 +- .../doc/com/rallydev/rest/util/RefTest.html | 451 ++++++++++++++ .../rallydev/rest/util/class-use/Fetch.html | 30 +- .../rest/util/class-use/FetchTest.html | 115 ++++ .../rest/util/class-use/QueryFilter.html | 2 +- .../rest/util/class-use/QueryFilterTest.html | 115 ++++ .../com/rallydev/rest/util/class-use/Ref.html | 2 +- .../rallydev/rest/util/class-use/RefTest.html | 115 ++++ .../com/rallydev/rest/util/package-frame.html | 5 +- .../rallydev/rest/util/package-summary.html | 14 +- .../com/rallydev/rest/util/package-tree.html | 5 +- .../com/rallydev/rest/util/package-use.html | 2 +- src/main/resources/doc/constant-values.html | 2 +- src/main/resources/doc/deprecated-list.html | 2 +- src/main/resources/doc/help-doc.html | 2 +- .../resources/doc/index-files/index-1.html | 10 +- .../resources/doc/index-files/index-10.html | 44 +- .../resources/doc/index-files/index-11.html | 64 +- .../resources/doc/index-files/index-12.html | 148 +++-- .../resources/doc/index-files/index-13.html | 392 +----------- .../resources/doc/index-files/index-14.html | 48 +- .../resources/doc/index-files/index-15.html | 48 +- .../resources/doc/index-files/index-16.html | 122 ++++ .../resources/doc/index-files/index-2.html | 10 +- .../resources/doc/index-files/index-3.html | 40 +- .../resources/doc/index-files/index-4.html | 14 +- .../resources/doc/index-files/index-5.html | 10 +- .../resources/doc/index-files/index-6.html | 16 +- .../resources/doc/index-files/index-7.html | 22 +- .../resources/doc/index-files/index-8.html | 6 +- .../resources/doc/index-files/index-9.html | 36 +- src/main/resources/doc/index.html | 2 +- src/main/resources/doc/overview-frame.html | 3 +- src/main/resources/doc/overview-summary.html | 10 +- src/main/resources/doc/overview-tree.html | 41 +- src/main/resources/doc/package-list | 1 - src/main/resources/doc/serialized-form.html | 2 +- 154 files changed, 14759 insertions(+), 1169 deletions(-) create mode 100644 src/main/resources/doc/com/rallydev/rest/CollectionAddExample.html create mode 100644 src/main/resources/doc/com/rallydev/rest/CollectionQueryExample.html create mode 100644 src/main/resources/doc/com/rallydev/rest/CollectionSummaryExample.html create mode 100644 src/main/resources/doc/com/rallydev/rest/CrudExample.html create mode 100644 src/main/resources/doc/com/rallydev/rest/QueryExample.html create mode 100644 src/main/resources/doc/com/rallydev/rest/RallyRestApiTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/RestApiFactory.html create mode 100644 src/main/resources/doc/com/rallydev/rest/class-use/CollectionAddExample.html create mode 100644 src/main/resources/doc/com/rallydev/rest/class-use/CollectionQueryExample.html create mode 100644 src/main/resources/doc/com/rallydev/rest/class-use/CollectionSummaryExample.html create mode 100644 src/main/resources/doc/com/rallydev/rest/class-use/CrudExample.html create mode 100644 src/main/resources/doc/com/rallydev/rest/class-use/QueryExample.html create mode 100644 src/main/resources/doc/com/rallydev/rest/class-use/RallyRestApiTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/class-use/RestApiFactory.html create mode 100644 src/main/resources/doc/com/rallydev/rest/client/ApiKeyClientTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/client/BasicAuthClientTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/client/HttpClientTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/client/class-use/ApiKeyClientTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/client/class-use/BasicAuthClientTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/client/class-use/HttpClientTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/matchers/HttpRequestBodyMatcher.html create mode 100644 src/main/resources/doc/com/rallydev/rest/matchers/HttpRequestHeaderMatcher.html create mode 100644 src/main/resources/doc/com/rallydev/rest/matchers/HttpRequestUrlMatcher.html create mode 100644 src/main/resources/doc/com/rallydev/rest/matchers/class-use/HttpRequestBodyMatcher.html create mode 100644 src/main/resources/doc/com/rallydev/rest/matchers/class-use/HttpRequestHeaderMatcher.html create mode 100644 src/main/resources/doc/com/rallydev/rest/matchers/class-use/HttpRequestUrlMatcher.html create mode 100644 src/main/resources/doc/com/rallydev/rest/matchers/package-frame.html create mode 100644 src/main/resources/doc/com/rallydev/rest/matchers/package-summary.html create mode 100644 src/main/resources/doc/com/rallydev/rest/matchers/package-tree.html create mode 100644 src/main/resources/doc/com/rallydev/rest/matchers/package-use.html create mode 100644 src/main/resources/doc/com/rallydev/rest/request/CollectionUpdateRequest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/request/CollectionUpdateRequestTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/request/CreateRequestTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/request/DeleteRequestTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/request/GetRequestTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/request/QueryRequestTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/request/RequestTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/request/UpdateRequestTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/request/class-use/CollectionUpdateRequest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/request/class-use/CollectionUpdateRequestTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/request/class-use/CreateRequestTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/request/class-use/DeleteRequestTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/request/class-use/GetRequestTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/request/class-use/QueryRequestTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/request/class-use/RequestTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/request/class-use/UpdateRequestTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/response/CollectionUpdateResponse.html create mode 100644 src/main/resources/doc/com/rallydev/rest/response/CollectionUpdateResponseTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/response/CreateResponseTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/response/DeleteResponseTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/response/GetResponseTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/response/QueryResponseTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/response/ResponseTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/response/UpdateResponseTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/response/class-use/CollectionUpdateResponse.html create mode 100644 src/main/resources/doc/com/rallydev/rest/response/class-use/CollectionUpdateResponseTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/response/class-use/CreateResponseTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/response/class-use/DeleteResponseTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/response/class-use/GetResponseTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/response/class-use/QueryResponseTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/response/class-use/ResponseTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/response/class-use/UpdateResponseTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/util/FetchTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/util/QueryFilterTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/util/RefTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/util/class-use/FetchTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/util/class-use/QueryFilterTest.html create mode 100644 src/main/resources/doc/com/rallydev/rest/util/class-use/RefTest.html create mode 100644 src/main/resources/doc/index-files/index-16.html diff --git a/RallyRestToolkitForJava.iml b/RallyRestToolkitForJava.iml index 27d1afe..59304dc 100644 --- a/RallyRestToolkitForJava.iml +++ b/RallyRestToolkitForJava.iml @@ -6,7 +6,6 @@ - diff --git a/src/main/resources/doc/allclasses-frame.html b/src/main/resources/doc/allclasses-frame.html index 4aae9f9..85b129b 100644 --- a/src/main/resources/doc/allclasses-frame.html +++ b/src/main/resources/doc/allclasses-frame.html @@ -2,7 +2,7 @@ - + All Classes (Rally Rest API for Java 2.2) @@ -12,56 +12,26 @@

    All Classes

    diff --git a/src/main/resources/doc/allclasses-noframe.html b/src/main/resources/doc/allclasses-noframe.html index 5468486..5797e15 100644 --- a/src/main/resources/doc/allclasses-noframe.html +++ b/src/main/resources/doc/allclasses-noframe.html @@ -2,7 +2,7 @@ - + All Classes (Rally Rest API for Java 2.2) @@ -12,56 +12,26 @@

    All Classes

    diff --git a/src/main/resources/doc/com/rallydev/rest/CollectionAddExample.html b/src/main/resources/doc/com/rallydev/rest/CollectionAddExample.html new file mode 100644 index 0000000..b2e95d8 --- /dev/null +++ b/src/main/resources/doc/com/rallydev/rest/CollectionAddExample.html @@ -0,0 +1,261 @@ + + + + + +CollectionAddExample (Rally Rest API for Java 2.2) + + + + + + + + + + + +
    +
    com.rallydev.rest
    +

    Class CollectionAddExample

    +
    +
    + +
    +
      +
    • +
      +
      +
      public class CollectionAddExample
      +extends Object
      +
    • +
    +
    +
    + +
    +
    + +
    +
    + + + + + + + diff --git a/src/main/resources/doc/com/rallydev/rest/CollectionQueryExample.html b/src/main/resources/doc/com/rallydev/rest/CollectionQueryExample.html new file mode 100644 index 0000000..fb0971c --- /dev/null +++ b/src/main/resources/doc/com/rallydev/rest/CollectionQueryExample.html @@ -0,0 +1,261 @@ + + + + + +CollectionQueryExample (Rally Rest API for Java 2.2) + + + + + + + + + + + +
    +
    com.rallydev.rest
    +

    Class CollectionQueryExample

    +
    +
    + +
    +
      +
    • +
      +
      +
      public class CollectionQueryExample
      +extends Object
      +
    • +
    +
    +
    + +
    +
    + +
    +
    + + + + + + + diff --git a/src/main/resources/doc/com/rallydev/rest/CollectionSummaryExample.html b/src/main/resources/doc/com/rallydev/rest/CollectionSummaryExample.html new file mode 100644 index 0000000..0edcc04 --- /dev/null +++ b/src/main/resources/doc/com/rallydev/rest/CollectionSummaryExample.html @@ -0,0 +1,261 @@ + + + + + +CollectionSummaryExample (Rally Rest API for Java 2.2) + + + + + + + + + + + +
    +
    com.rallydev.rest
    +

    Class CollectionSummaryExample

    +
    +
    + +
    +
      +
    • +
      +
      +
      public class CollectionSummaryExample
      +extends Object
      +
    • +
    +
    +
    + +
    +
    + +
    +
    + + + + + + + diff --git a/src/main/resources/doc/com/rallydev/rest/CrudExample.html b/src/main/resources/doc/com/rallydev/rest/CrudExample.html new file mode 100644 index 0000000..94c9c7a --- /dev/null +++ b/src/main/resources/doc/com/rallydev/rest/CrudExample.html @@ -0,0 +1,261 @@ + + + + + +CrudExample (Rally Rest API for Java 2.2) + + + + + + + + + + + +
    +
    com.rallydev.rest
    +

    Class CrudExample

    +
    +
    + +
    +
      +
    • +
      +
      +
      public class CrudExample
      +extends Object
      +
    • +
    +
    +
    + +
    +
    + +
    +
    + + + + + + + diff --git a/src/main/resources/doc/com/rallydev/rest/QueryExample.html b/src/main/resources/doc/com/rallydev/rest/QueryExample.html new file mode 100644 index 0000000..df7ba86 --- /dev/null +++ b/src/main/resources/doc/com/rallydev/rest/QueryExample.html @@ -0,0 +1,261 @@ + + + + + +QueryExample (Rally Rest API for Java 2.2) + + + + + + + + + + + +
    +
    com.rallydev.rest
    +

    Class QueryExample

    +
    +
    + +
    +
      +
    • +
      +
      +
      public class QueryExample
      +extends Object
      +
    • +
    +
    +
    + +
    +
    + +
    +
    + + + + + + + diff --git a/src/main/resources/doc/com/rallydev/rest/RallyRestApi.html b/src/main/resources/doc/com/rallydev/rest/RallyRestApi.html index 3dfb880..3fe53db 100644 --- a/src/main/resources/doc/com/rallydev/rest/RallyRestApi.html +++ b/src/main/resources/doc/com/rallydev/rest/RallyRestApi.html @@ -2,7 +2,7 @@ - + RallyRestApi (Rally Rest API for Java 2.2) @@ -36,8 +36,8 @@
    ApiKeyClientTest 
    BasicAuthClient
    A HttpClient which authenticates using basic authentication (username/password).
    BasicAuthClientTest 
    HttpClient
    A HttpClient implementation providing connectivity to Rally.
    HttpClientTest 
    @@ -139,7 +127,7 @@

    Package com.rallydev.re diff --git a/src/main/resources/doc/com/rallydev/rest/response/package-summary.html b/src/main/resources/doc/com/rallydev/rest/response/package-summary.html index 6d3257a..50f57e9 100644 --- a/src/main/resources/doc/com/rallydev/rest/response/package-summary.html +++ b/src/main/resources/doc/com/rallydev/rest/response/package-summary.html @@ -2,7 +2,7 @@ - + com.rallydev.rest.response (Rally Rest API for Java 2.2) @@ -86,19 +86,11 @@

    Package com.rallydev.rest.response

    -CollectionUpdateResponseTest -  - - CreateResponse
    Represents a WSAPI response from creating an object
    - -CreateResponseTest -  - DeleteResponse @@ -106,19 +98,11 @@

    Package com.rallydev.rest.response

    -DeleteResponseTest -  - - GetResponse
    Represents a WSAPI response from retrieving a single object.
    - -GetResponseTest -  - QueryResponse @@ -126,29 +110,17 @@

    Package com.rallydev.rest.response

    -QueryResponseTest -  - - Response
    Represents a WSAPI response.
    - -ResponseTest -  - UpdateResponse
    Represents a WSAPI response from updating an object.
    - -UpdateResponseTest -  - diff --git a/src/main/resources/doc/com/rallydev/rest/response/package-tree.html b/src/main/resources/doc/com/rallydev/rest/response/package-tree.html index 3f0ea90..90ba57d 100644 --- a/src/main/resources/doc/com/rallydev/rest/response/package-tree.html +++ b/src/main/resources/doc/com/rallydev/rest/response/package-tree.html @@ -2,7 +2,7 @@ - + com.rallydev.rest.response Class Hierarchy (Rally Rest API for Java 2.2) @@ -74,11 +74,6 @@

    Class Hierarchy

    diff --git a/src/main/resources/doc/com/rallydev/rest/response/package-use.html b/src/main/resources/doc/com/rallydev/rest/response/package-use.html index e106a84..7cc755b 100644 --- a/src/main/resources/doc/com/rallydev/rest/response/package-use.html +++ b/src/main/resources/doc/com/rallydev/rest/response/package-use.html @@ -2,7 +2,7 @@ - + Uses of Package com.rallydev.rest.response (Rally Rest API for Java 2.2) diff --git a/src/main/resources/doc/com/rallydev/rest/util/Fetch.html b/src/main/resources/doc/com/rallydev/rest/util/Fetch.html index e2c2b69..663f2cf 100644 --- a/src/main/resources/doc/com/rallydev/rest/util/Fetch.html +++ b/src/main/resources/doc/com/rallydev/rest/util/Fetch.html @@ -2,7 +2,7 @@ - + Fetch (Rally Rest API for Java 2.2) @@ -37,7 +37,7 @@ -
    A B C D F G H I M O Q R S T U W  +
    A B C D F G H I O Q R S T U W 

    A

    @@ -87,12 +87,8 @@

    A

    Construct a new client.
    -
    ApiKeyClientTest - Class in com.rallydev.rest.client
    -
     
    -
    ApiKeyClientTest() - Constructor for class com.rallydev.rest.client.ApiKeyClientTest
    -
     
    -A B C D F G H I M O Q R S T U W 
    +A B C D F G H I O Q R S T U W 
    -
    A B C D F G H I M O Q R S T U W  +
    A B C D F G H I O Q R S T U W  -

    O

    +

    Q

    -
    or(QueryFilter) - Method in class com.rallydev.rest.util.QueryFilter
    +
    query(QueryRequest) - Method in class com.rallydev.rest.RallyRestApi
    -
    Get a query filter that is the ORed combination of this filter and the specified one.
    +
    Query for objects matching the specified request.
    -
    or(QueryFilter...) - Static method in class com.rallydev.rest.util.QueryFilter
    +
    QueryFilter - Class in com.rallydev.rest.util
    -
    Get a query filter that is the ORed combination of the specified filters.
    +
    Represents a query filter to be applied to query requests.
    +
    +
    QueryFilter(String, String, String) - Constructor for class com.rallydev.rest.util.QueryFilter
    +
    +
    Create a new query filter with the specified options.
    +
    +
    QueryRequest - Class in com.rallydev.rest.request
    +
    +
    Represents a WSAPI request to retrieve all objects matching specified criteria.
    +
    +
    QueryRequest(String) - Constructor for class com.rallydev.rest.request.QueryRequest
    +
    +
    Create a new query request for the specified type.
    +
    +
    QueryRequest(JsonObject) - Constructor for class com.rallydev.rest.request.QueryRequest
    +
    +
    Create a new query request for the specified collection.
    +
    +
    QueryResponse - Class in com.rallydev.rest.response
    +
    +
    Represents a WSAPI response from querying for objects.
    +
    +
    QueryResponse(String) - Constructor for class com.rallydev.rest.response.QueryResponse
    +
    +
    Create a new query response from the specified JSON encoded string.
    -A B C D F G H I M O Q R S T U W 
    +A B C D F G H I O Q R S T U W 
    -
    A B C D F G H I M O Q R S T U W  +
    A B C D F G H I O Q R S T U W  -

    Q

    +

    R

    -
    query(QueryRequest) - Method in class com.rallydev.rest.RallyRestApi
    +
    RallyRestApi - Class in com.rallydev.rest
    -
    Query for objects matching the specified request.
    +
    The main interface to the Rest API.
    -
    QueryExample - Class in com.rallydev.rest
    -
     
    -
    QueryExample() - Constructor for class com.rallydev.rest.QueryExample
    -
     
    -
    QueryFilter - Class in com.rallydev.rest.util
    +
    RallyRestApi(URI, String, String) - Constructor for class com.rallydev.rest.RallyRestApi
    -
    Represents a query filter to be applied to query requests.
    +
    Deprecated. +
    Use the api key constructor instead.
    +
    -
    QueryFilter(String, String, String) - Constructor for class com.rallydev.rest.util.QueryFilter
    +
    RallyRestApi(URI, String) - Constructor for class com.rallydev.rest.RallyRestApi
    -
    Create a new query filter with the specified options.
    +
    Creates a new instance for the specified server using the specified API Key.
    -
    QueryFilterTest - Class in com.rallydev.rest.util
    -
     
    -
    QueryFilterTest() - Constructor for class com.rallydev.rest.util.QueryFilterTest
    -
     
    -
    QueryRequest - Class in com.rallydev.rest.request
    +
    Ref - Class in com.rallydev.rest.util
    -
    Represents a WSAPI request to retrieve all objects matching specified criteria.
    +
    Provides utility methods for working with ref URLs.
    -
    QueryRequest(String) - Constructor for class com.rallydev.rest.request.QueryRequest
    +
    Ref() - Constructor for class com.rallydev.rest.util.Ref
    +
     
    +
    Request - Class in com.rallydev.rest.request
    -
    Create a new query request for the specified type.
    +
    Base class for all WSAPI requests.
    -
    QueryRequest(JsonObject) - Constructor for class com.rallydev.rest.request.QueryRequest
    +
    Request() - Constructor for class com.rallydev.rest.request.Request
    -
    Create a new query request for the specified collection.
    +
    Create a new request.
    -
    QueryRequestTest - Class in com.rallydev.rest.request
    -
     
    -
    QueryRequestTest() - Constructor for class com.rallydev.rest.request.QueryRequestTest
    -
     
    -
    QueryResponse - Class in com.rallydev.rest.response
    +
    Response - Class in com.rallydev.rest.response
    -
    Represents a WSAPI response from querying for objects.
    +
    Represents a WSAPI response.
    -
    QueryResponse(String) - Constructor for class com.rallydev.rest.response.QueryResponse
    +
    Response(String) - Constructor for class com.rallydev.rest.response.Response
    -
    Create a new query response from the specified JSON encoded string.
    +
    Create a new response from the specified JSON encoded string.
    -
    QueryResponseTest - Class in com.rallydev.rest.response
    -
     
    -
    QueryResponseTest() - Constructor for class com.rallydev.rest.response.QueryResponseTest
    -
     
    -A B C D F G H I M O Q R S T U W 
    +A B C D F G H I O Q R S T U W 
    -
    A B C D F G H I M O Q R S T U W  +
    A B C D F G H I O Q R S T U W  -

    R

    +

    S

    -
    RallyRestApi - Class in com.rallydev.rest
    +
    setApplicationName(String) - Method in class com.rallydev.rest.client.HttpClient
    -
    The main interface to the Rest API.
    +
    Set the value of the X-RallyIntegrationName header included on all requests.
    -
    RallyRestApi(URI, String, String) - Constructor for class com.rallydev.rest.RallyRestApi
    +
    setApplicationName(String) - Method in class com.rallydev.rest.RallyRestApi
    -
    Deprecated. -
    Use the api key constructor instead.
    -
    +
    Set the value of the X-RallyIntegrationName header included on all requests.
    +
    +
    setApplicationVendor(String) - Method in class com.rallydev.rest.client.HttpClient
    +
    +
    Set the value of the X-RallyIntegrationVendor header included on all requests.
    +
    +
    setApplicationVendor(String) - Method in class com.rallydev.rest.RallyRestApi
    +
    +
    Set the value of the X-RallyIntegrationVendor header included on all requests.
    +
    +
    setApplicationVersion(String) - Method in class com.rallydev.rest.client.HttpClient
    +
    +
    Set the value of the X-RallyIntegrationVersion header included on all requests.
    +
    +
    setApplicationVersion(String) - Method in class com.rallydev.rest.RallyRestApi
    +
    +
    Set the value of the X-RallyIntegrationVersion header included on all requests.
    +
    +
    setFetch(Fetch) - Method in class com.rallydev.rest.request.CollectionUpdateRequest
    +
    +
    Set the current list of fields to be returned on the updated object.
    +
    +
    setFetch(Fetch) - Method in class com.rallydev.rest.request.CreateRequest
    +
    +
    Set the current list of fields to be returned on the created object.
    +
    +
    setFetch(Fetch) - Method in class com.rallydev.rest.request.GetRequest
    +
    +
    Set the current list of fields to be returned on the retrieved object.
    +
    +
    setFetch(Fetch) - Method in class com.rallydev.rest.request.QueryRequest
    +
    +
    Set the current list of fields to be returned on the matching objects.
    +
    +
    setFetch(Fetch) - Method in class com.rallydev.rest.request.UpdateRequest
    +
    +
    Set the current list of fields to be returned on the updated object.
    +
    +
    setGsonBuilder(GsonBuilder) - Method in class com.rallydev.rest.request.Request
    +
    +
    Set the Gson Builder used for JSON serialization in this request.
    +
    +
    setLimit(int) - Method in class com.rallydev.rest.request.QueryRequest
    +
    +
    Set the maximum number of records to be returned from the query.
    +
    +
    setOrder(String) - Method in class com.rallydev.rest.request.QueryRequest
    +
    +
    Get the order by which the result set will be sorted.
    +
    +
    setPageSize(int) - Method in class com.rallydev.rest.request.QueryRequest
    +
    +
    Set the page size of the result set.
    +
    +
    setParams(List<NameValuePair>) - Method in class com.rallydev.rest.request.Request
    +
    +
    Set the list of additional parameters included in this request.
    +
    +
    setProject(String) - Method in class com.rallydev.rest.request.QueryRequest
    +
    +
    Specify the project which the result set should be scoped to.
    +
    +
    setProxy(URI) - Method in class com.rallydev.rest.client.HttpClient
    +
    +
    Set the unauthenticated proxy server to use.
    +
    +
    setProxy(URI, String, String) - Method in class com.rallydev.rest.client.HttpClient
    +
    +
    Set the authenticated proxy server to use.
    +
    +
    setProxy(URI) - Method in class com.rallydev.rest.RallyRestApi
    +
    +
    Set the unauthenticated proxy server to use.
    +
    +
    setProxy(URI, String, String) - Method in class com.rallydev.rest.RallyRestApi
    +
    +
    Set the authenticated proxy server to use.
    +
    +
    setQueryFilter(QueryFilter) - Method in class com.rallydev.rest.request.QueryRequest
    +
    +
    Set a filter by which the result set will be narrowed down.
    -
    RallyRestApi(URI, String) - Constructor for class com.rallydev.rest.RallyRestApi
    +
    setScopedDown(boolean) - Method in class com.rallydev.rest.request.QueryRequest
    -
    Creates a new instance for the specified server using the specified API Key.
    +
    If a project has been specified, set whether to include matching objects in child projects in the result set.
    -
    RallyRestApiTest - Class in com.rallydev.rest
    -
     
    -
    RallyRestApiTest() - Constructor for class com.rallydev.rest.RallyRestApiTest
    -
     
    -
    Ref - Class in com.rallydev.rest.util
    +
    setScopedUp(boolean) - Method in class com.rallydev.rest.request.QueryRequest
    -
    Provides utility methods for working with ref URLs.
    +
    If a project has been specified, set whether to include matching objects in parent projects in the result set.
    -
    Ref() - Constructor for class com.rallydev.rest.util.Ref
    -
     
    -
    RefTest - Class in com.rallydev.rest.util
    -
     
    -
    RefTest() - Constructor for class com.rallydev.rest.util.RefTest
    -
     
    -
    Request - Class in com.rallydev.rest.request
    +
    setStart(int) - Method in class com.rallydev.rest.request.QueryRequest
    -
    Base class for all WSAPI requests.
    +
    Set the 1-based start index of the result set.
    -
    Request() - Constructor for class com.rallydev.rest.request.Request
    +
    setWorkspace(String) - Method in class com.rallydev.rest.request.QueryRequest
    -
    Create a new request.
    +
    Specify the workspace which the result set should be scoped to.
    -
    RequestTest - Class in com.rallydev.rest.request
    -
     
    -
    RequestTest() - Constructor for class com.rallydev.rest.request.RequestTest
    -
     
    -
    Response - Class in com.rallydev.rest.response
    +
    setWsapiVersion(String) - Method in class com.rallydev.rest.client.HttpClient
    -
    Represents a WSAPI response.
    +
    Set the current version of the WSAPI being targeted.
    -
    Response(String) - Constructor for class com.rallydev.rest.response.Response
    +
    setWsapiVersion(String) - Method in class com.rallydev.rest.RallyRestApi
    -
    Create a new response from the specified JSON encoded string.
    +
    Set the current version of the WSAPI being targeted.
    -
    ResponseTest - Class in com.rallydev.rest.response
    -
     
    -
    ResponseTest() - Constructor for class com.rallydev.rest.response.ResponseTest
    -
     
    -
    RestApiFactory - Class in com.rallydev.rest
    -
     
    -
    RestApiFactory() - Constructor for class com.rallydev.rest.RestApiFactory
    -
     
    -A B C D F G H I M O Q R S T U W 
    +A B C D F G H I O Q R S T U W 
    -
    A B C D F G H I M O Q R S T U W  +
    A B C D F G H I O Q R S T U W  -

    S

    +

    T

    -
    setApplicationName(String) - Method in class com.rallydev.rest.client.HttpClient
    +
    toString() - Method in class com.rallydev.rest.util.Fetch
    -
    Set the value of the X-RallyIntegrationName header included on all requests.
    +
    Get the comma separated list of fields to be returned.
    -
    setApplicationName(String) - Method in class com.rallydev.rest.RallyRestApi
    +
    toString() - Method in class com.rallydev.rest.util.QueryFilter
    -
    Set the value of the X-RallyIntegrationName header included on all requests.
    +
    Get the string representation of this query filter.
    -
    setApplicationVendor(String) - Method in class com.rallydev.rest.client.HttpClient
    +
    toUrl() - Method in class com.rallydev.rest.request.CollectionUpdateRequest
    -
    Set the value of the X-RallyIntegrationVendor header included on all requests.
    +
    Convert this request into a url compatible with the WSAPI.
    -
    setApplicationVendor(String) - Method in class com.rallydev.rest.RallyRestApi
    +
    toUrl() - Method in class com.rallydev.rest.request.CreateRequest
    -
    Set the value of the X-RallyIntegrationVendor header included on all requests.
    +
    Convert this request into a url compatible with the WSAPI.
    -
    setApplicationVersion(String) - Method in class com.rallydev.rest.client.HttpClient
    +
    toUrl() - Method in class com.rallydev.rest.request.DeleteRequest
    -
    Set the value of the X-RallyIntegrationVersion header included on all requests.
    +
    Convert this request into a url compatible with the WSAPI.
    -
    setApplicationVersion(String) - Method in class com.rallydev.rest.RallyRestApi
    +
    toUrl() - Method in class com.rallydev.rest.request.GetRequest
    -
    Set the value of the X-RallyIntegrationVersion header included on all requests.
    +
    Convert this request into a url compatible with the WSAPI.
    -
    setFetch(Fetch) - Method in class com.rallydev.rest.request.CollectionUpdateRequest
    +
    toUrl() - Method in class com.rallydev.rest.request.QueryRequest
    -
    Set the current list of fields to be returned on the updated object.
    +
    Convert this request into a url compatible with the WSAPI.
    -
    setFetch(Fetch) - Method in class com.rallydev.rest.request.CreateRequest
    +
    toUrl() - Method in class com.rallydev.rest.request.Request
    -
    Set the current list of fields to be returned on the created object.
    +
    Convert this request into a url compatible with the WSAPI.
    -
    setFetch(Fetch) - Method in class com.rallydev.rest.request.GetRequest
    +
    toUrl() - Method in class com.rallydev.rest.request.UpdateRequest
    -
    Set the current list of fields to be returned on the retrieved object.
    +
    Convert this request into a url compatible with the WSAPI.
    -
    setFetch(Fetch) - Method in class com.rallydev.rest.request.QueryRequest
    -
    -
    Set the current list of fields to be returned on the matching objects.
    -
    -
    setFetch(Fetch) - Method in class com.rallydev.rest.request.UpdateRequest
    -
    -
    Set the current list of fields to be returned on the updated object.
    -
    -
    setGsonBuilder(GsonBuilder) - Method in class com.rallydev.rest.request.Request
    -
    -
    Set the Gson Builder used for JSON serialization in this request.
    -
    -
    setLimit(int) - Method in class com.rallydev.rest.request.QueryRequest
    -
    -
    Set the maximum number of records to be returned from the query.
    -
    -
    setOrder(String) - Method in class com.rallydev.rest.request.QueryRequest
    -
    -
    Get the order by which the result set will be sorted.
    -
    -
    setPageSize(int) - Method in class com.rallydev.rest.request.QueryRequest
    -
    -
    Set the page size of the result set.
    -
    -
    setParams(List<NameValuePair>) - Method in class com.rallydev.rest.request.Request
    -
    -
    Set the list of additional parameters included in this request.
    -
    -
    setProject(String) - Method in class com.rallydev.rest.request.QueryRequest
    -
    -
    Specify the project which the result set should be scoped to.
    -
    -
    setProxy(URI) - Method in class com.rallydev.rest.client.HttpClient
    -
    -
    Set the unauthenticated proxy server to use.
    -
    -
    setProxy(URI, String, String) - Method in class com.rallydev.rest.client.HttpClient
    -
    -
    Set the authenticated proxy server to use.
    -
    -
    setProxy(URI) - Method in class com.rallydev.rest.RallyRestApi
    -
    -
    Set the unauthenticated proxy server to use.
    -
    -
    setProxy(URI, String, String) - Method in class com.rallydev.rest.RallyRestApi
    -
    -
    Set the authenticated proxy server to use.
    -
    -
    setQueryFilter(QueryFilter) - Method in class com.rallydev.rest.request.QueryRequest
    -
    -
    Set a filter by which the result set will be narrowed down.
    -
    -
    setScopedDown(boolean) - Method in class com.rallydev.rest.request.QueryRequest
    -
    -
    If a project has been specified, set whether to include matching objects in child projects in the result set.
    -
    -
    setScopedUp(boolean) - Method in class com.rallydev.rest.request.QueryRequest
    -
    -
    If a project has been specified, set whether to include matching objects in parent projects in the result set.
    -
    -
    setStart(int) - Method in class com.rallydev.rest.request.QueryRequest
    -
    -
    Set the 1-based start index of the result set.
    -
    -
    setUp() - Method in class com.rallydev.rest.client.ApiKeyClientTest
    -
     
    -
    setUp() - Method in class com.rallydev.rest.client.BasicAuthClientTest
    -
     
    -
    setUp() - Method in class com.rallydev.rest.client.HttpClientTest
    -
     
    -
    setWorkspace(String) - Method in class com.rallydev.rest.request.QueryRequest
    -
    -
    Specify the workspace which the result set should be scoped to.
    -
    -
    setWsapiVersion(String) - Method in class com.rallydev.rest.client.HttpClient
    -
    -
    Set the current version of the WSAPI being targeted.
    -
    -
    setWsapiVersion(String) - Method in class com.rallydev.rest.RallyRestApi
    -
    -
    Set the current version of the WSAPI being targeted.
    -
    -
    shouldBeAbleToAddParams() - Method in class com.rallydev.rest.request.RequestTest
    -
     
    -
    shouldBeAbleToAddRemoveFetch() - Method in class com.rallydev.rest.util.FetchTest
    -
     
    -
    shouldBeAbleToSetGsonBuilder() - Method in class com.rallydev.rest.request.RequestTest
    -
     
    -
    shouldBeAbleToSetParams() - Method in class com.rallydev.rest.request.RequestTest
    -
     
    -
    shouldCloneCorrectly() - Method in class com.rallydev.rest.request.QueryRequestTest
    -
     
    -
    shouldClose() - Method in class com.rallydev.rest.RallyRestApiTest
    -
     
    -
    shouldConstructCorrectUrlWithAbsoluteRef() - Method in class com.rallydev.rest.request.DeleteRequestTest
    -
     
    -
    shouldConstructCorrectUrlWithExtraParam() - Method in class com.rallydev.rest.request.DeleteRequestTest
    -
     
    -
    shouldConstructCorrectUrlWithRelativeRef() - Method in class com.rallydev.rest.request.DeleteRequestTest
    -
     
    -
    shouldConstructTheCorrectDefaultFetchUrl() - Method in class com.rallydev.rest.request.CreateRequestTest
    -
     
    -
    shouldConstructTheCorrectDefaultFetchUrl() - Method in class com.rallydev.rest.request.UpdateRequestTest
    -
     
    -
    shouldConstructTheCorrectUrl() - Method in class com.rallydev.rest.request.CreateRequestTest
    -
     
    -
    shouldConstructTheCorrectUrl() - Method in class com.rallydev.rest.request.UpdateRequestTest
    -
     
    -
    shouldConstructTheCorrectUrlForAdds() - Method in class com.rallydev.rest.request.CollectionUpdateRequestTest
    -
     
    -
    shouldConstructTheCorrectUrlForRemoves() - Method in class com.rallydev.rest.request.CollectionUpdateRequestTest
    -
     
    -
    shouldConstructTheCorrectUrlWithExtraParam() - Method in class com.rallydev.rest.request.CollectionUpdateRequestTest
    -
     
    -
    shouldConstructTheCorrectUrlWithExtraParam() - Method in class com.rallydev.rest.request.CreateRequestTest
    -
     
    -
    shouldConstructTheCorrectUrlWithExtraParam() - Method in class com.rallydev.rest.request.UpdateRequestTest
    -
     
    -
    shouldCreate() - Method in class com.rallydev.rest.RallyRestApiTest
    -
     
    -
    shouldCreateACorrectBody() - Method in class com.rallydev.rest.request.CollectionUpdateRequestTest
    -
     
    -
    shouldCreateACorrectBody() - Method in class com.rallydev.rest.request.CreateRequestTest
    -
     
    -
    shouldCreateACorrectBody() - Method in class com.rallydev.rest.request.UpdateRequestTest
    -
     
    -
    shouldCreateACorrectBodyWithNullFields() - Method in class com.rallydev.rest.request.CreateRequestTest
    -
     
    -
    shouldCreateACorrectBodyWithNullFieldsByDefault() - Method in class com.rallydev.rest.request.UpdateRequestTest
    -
     
    -
    shouldCreateCorrectAndedQuery() - Method in class com.rallydev.rest.util.QueryFilterTest
    -
     
    -
    shouldCreateCorrectDefaultQuery() - Method in class com.rallydev.rest.request.QueryRequestTest
    -
     
    -
    shouldCreateCorrectDefaultQueryWithExtraParam() - Method in class com.rallydev.rest.request.QueryRequestTest
    -
     
    -
    shouldCreateCorrectOredQuery() - Method in class com.rallydev.rest.util.QueryFilterTest
    -
     
    -
    shouldCreateCorrectQueryForNull() - Method in class com.rallydev.rest.util.QueryFilterTest
    -
     
    -
    shouldCreateCorrectQueryForNumber() - Method in class com.rallydev.rest.util.QueryFilterTest
    -
     
    -
    shouldCreateCorrectQueryForRef() - Method in class com.rallydev.rest.util.QueryFilterTest
    -
     
    -
    shouldCreateCorrectQueryForString() - Method in class com.rallydev.rest.util.QueryFilterTest
    -
     
    -
    shouldCreateCorrectQueryWithDefaultOrder() - Method in class com.rallydev.rest.request.QueryRequestTest
    -
     
    -
    shouldCreateCorrectQueryWithFetch() - Method in class com.rallydev.rest.request.QueryRequestTest
    -
     
    -
    shouldCreateCorrectQueryWithNullProject() - Method in class com.rallydev.rest.request.QueryRequestTest
    -
     
    -
    shouldCreateCorrectQueryWithPageSize() - Method in class com.rallydev.rest.request.QueryRequestTest
    -
     
    -
    shouldCreateCorrectQueryWithProject() - Method in class com.rallydev.rest.request.QueryRequestTest
    -
     
    -
    shouldCreateCorrectQueryWithQuery() - Method in class com.rallydev.rest.request.QueryRequestTest
    -
     
    -
    shouldCreateCorrectQueryWithSpecifiedOrder() - Method in class com.rallydev.rest.request.QueryRequestTest
    -
     
    -
    shouldCreateCorrectQueryWithStart() - Method in class com.rallydev.rest.request.QueryRequestTest
    -
     
    -
    shouldCreateCorrectQueryWithWorkspace() - Method in class com.rallydev.rest.request.QueryRequestTest
    -
     
    -
    shouldCreateCorrectStaticAndedQuery() - Method in class com.rallydev.rest.util.QueryFilterTest
    -
     
    -
    shouldCreateCorrectStaticOredQuery() - Method in class com.rallydev.rest.util.QueryFilterTest
    -
     
    -
    shouldCreateCorrectUrlForCollection() - Method in class com.rallydev.rest.request.QueryRequestTest
    -
     
    -
    shouldCreateCorrectUrlForSubscription() - Method in class com.rallydev.rest.request.QueryRequestTest
    -
     
    -
    shouldCreateCorrectUrlForUser() - Method in class com.rallydev.rest.request.QueryRequestTest
    -
     
    -
    shouldCreateQuotedQueryForStringWithSpaces() - Method in class com.rallydev.rest.util.QueryFilterTest
    -
     
    -
    shouldDelete() - Method in class com.rallydev.rest.client.HttpClientTest
    -
     
    -
    shouldDelete() - Method in class com.rallydev.rest.RallyRestApiTest
    -
     
    -
    shouldDetectInvalidRefs() - Method in class com.rallydev.rest.util.RefTest
    -
     
    -
    shouldDetectValidDynatypeRefs() - Method in class com.rallydev.rest.util.RefTest
    -
     
    -
    shouldDetectValidRefs() - Method in class com.rallydev.rest.util.RefTest
    -
     
    -
    shouldEncodeParamsUsingUtf8() - Method in class com.rallydev.rest.request.CreateRequestTest
    -
     
    -
    shouldEncodeParamsUsingUtf8() - Method in class com.rallydev.rest.request.QueryRequestTest
    -
     
    -
    shouldExplodeWithInvalidResponse() - Method in class com.rallydev.rest.client.HttpClientTest
    -
     
    -
    shouldGet() - Method in class com.rallydev.rest.client.HttpClientTest
    -
     
    -
    shouldGet() - Method in class com.rallydev.rest.RallyRestApiTest
    -
     
    -
    shouldGetWsapiVersion() - Method in class com.rallydev.rest.RallyRestApiTest
    -
     
    -
    shouldGzip() - Method in class com.rallydev.rest.client.HttpClientTest
    -
     
    -
    shouldIncludeApiKeyOnRequest() - Method in class com.rallydev.rest.client.ApiKeyClientTest
    -
     
    -
    shouldIncludeCSRFTokenOnDelete() - Method in class com.rallydev.rest.client.BasicAuthClientTest
    -
     
    -
    shouldIncludeCSRFTokenOnPost() - Method in class com.rallydev.rest.client.BasicAuthClientTest
    -
     
    -
    shouldIncludeCSRFTokenOnPut() - Method in class com.rallydev.rest.client.BasicAuthClientTest
    -
     
    -
    shouldInitializeApiKeyClient() - Method in class com.rallydev.rest.RallyRestApiTest
    -
     
    -
    shouldInitializeBasicAuthClient() - Method in class com.rallydev.rest.RallyRestApiTest
    -
     
    -
    shouldIntialize() - Method in class com.rallydev.rest.client.ApiKeyClientTest
    -
     
    -
    shouldIntialize() - Method in class com.rallydev.rest.client.BasicAuthClientTest
    -
     
    -
    shouldIntialize() - Method in class com.rallydev.rest.client.HttpClientTest
    -
     
    -
    shouldNotIncludeCSRFTokenOnGet() - Method in class com.rallydev.rest.client.BasicAuthClientTest
    -
     
    -
    shouldNotIncludeCSRFTokenOnWsapiv1() - Method in class com.rallydev.rest.client.BasicAuthClientTest
    -
     
    -
    shouldPost() - Method in class com.rallydev.rest.client.HttpClientTest
    -
     
    -
    shouldProvideCorrectDefaultFetch() - Method in class com.rallydev.rest.util.FetchTest
    -
     
    -
    shouldProvideCorrectFetch() - Method in class com.rallydev.rest.util.FetchTest
    -
     
    -
    shouldPut() - Method in class com.rallydev.rest.client.HttpClientTest
    -
     
    -
    shouldQueryAllPages() - Method in class com.rallydev.rest.RallyRestApiTest
    -
     
    -
    shouldQueryAllPagesWithNonStandardStart() - Method in class com.rallydev.rest.RallyRestApiTest
    -
     
    -
    shouldQueryNoPages() - Method in class com.rallydev.rest.RallyRestApiTest
    -
     
    -
    shouldQueryOnePage() - Method in class com.rallydev.rest.RallyRestApiTest
    -
     
    -
    shouldQuerySomePages() - Method in class com.rallydev.rest.RallyRestApiTest
    -
     
    -
    shouldQuerySomePagesWithNonStandardStart() - Method in class com.rallydev.rest.RallyRestApiTest
    -
     
    -
    shouldRequestCSRFToken() - Method in class com.rallydev.rest.client.BasicAuthClientTest
    -
     
    -
    shouldReturnCorrectUrlForSubscription() - Method in class com.rallydev.rest.request.GetRequestTest
    -
     
    -
    shouldReturnCorrectUrlForUser() - Method in class com.rallydev.rest.request.GetRequestTest
    -
     
    -
    shouldReturnCorrectUrlWithAbsoluteRef() - Method in class com.rallydev.rest.request.GetRequestTest
    -
     
    -
    shouldReturnCorrectUrlWithFetchParams() - Method in class com.rallydev.rest.request.GetRequestTest
    -
     
    -
    shouldReturnCorrectUrlWithRelativeRef() - Method in class com.rallydev.rest.request.GetRequestTest
    -
     
    -
    shouldReturnCreatedObject() - Method in class com.rallydev.rest.response.CreateResponseTest
    -
     
    -
    shouldReturnErrors() - Method in class com.rallydev.rest.response.CreateResponseTest
    -
     
    -
    shouldReturnErrors() - Method in class com.rallydev.rest.response.DeleteResponseTest
    -
     
    -
    shouldReturnErrors() - Method in class com.rallydev.rest.response.GetResponseTest
    -
     
    -
    shouldReturnErrors() - Method in class com.rallydev.rest.response.ResponseTest
    -
     
    -
    shouldReturnErrors() - Method in class com.rallydev.rest.response.UpdateResponseTest
    -
     
    -
    shouldReturnNoErrors() - Method in class com.rallydev.rest.response.CollectionUpdateResponseTest
    -
     
    -
    shouldReturnNoErrors() - Method in class com.rallydev.rest.response.DeleteResponseTest
    -
     
    -
    shouldReturnNoErrors() - Method in class com.rallydev.rest.response.GetResponseTest
    -
     
    -
    shouldReturnNoErrors() - Method in class com.rallydev.rest.response.QueryResponseTest
    -
     
    -
    shouldReturnNoErrors() - Method in class com.rallydev.rest.response.ResponseTest
    -
     
    -
    shouldReturnNoWarnings() - Method in class com.rallydev.rest.response.ResponseTest
    -
     
    -
    shouldReturnNullOidsFromRefs() - Method in class com.rallydev.rest.util.RefTest
    -
     
    -
    shouldReturnNullRelativeRefs() - Method in class com.rallydev.rest.util.RefTest
    -
     
    -
    shouldReturnNullTypesFromRefs() - Method in class com.rallydev.rest.util.RefTest
    -
     
    -
    shouldReturnOidsFromDynatypeRefs() - Method in class com.rallydev.rest.util.RefTest
    -
     
    -
    shouldReturnOidsFromRefs() - Method in class com.rallydev.rest.util.RefTest
    -
     
    -
    shouldReturnResults() - Method in class com.rallydev.rest.response.CollectionUpdateResponseTest
    -
     
    -
    shouldReturnResults() - Method in class com.rallydev.rest.response.QueryResponseTest
    -
     
    -
    shouldReturnTypesFromDynatypeRefs() - Method in class com.rallydev.rest.util.RefTest
    -
     
    -
    shouldReturnTypesFromRefs() - Method in class com.rallydev.rest.util.RefTest
    -
     
    -
    shouldReturnUpdatedObject() - Method in class com.rallydev.rest.response.UpdateResponseTest
    -
     
    -
    shouldReturnValidDynatypeRelativeRefs() - Method in class com.rallydev.rest.util.RefTest
    -
     
    -
    shouldReturnValidRelativeRefs() - Method in class com.rallydev.rest.util.RefTest
    -
     
    -
    shouldReturnValidResponse() - Method in class com.rallydev.rest.client.HttpClientTest
    -
     
    -
    shouldReturnWarnings() - Method in class com.rallydev.rest.response.ResponseTest
    -
     
    -
    shouldSetApplicationName() - Method in class com.rallydev.rest.client.HttpClientTest
    -
     
    -
    shouldSetApplicationVendor() - Method in class com.rallydev.rest.client.HttpClientTest
    -
     
    -
    shouldSetApplicationVersion() - Method in class com.rallydev.rest.client.HttpClientTest
    -
     
    -
    shouldSetName() - Method in class com.rallydev.rest.RallyRestApiTest
    -
     
    -
    shouldSetProxy() - Method in class com.rallydev.rest.client.HttpClientTest
    -
     
    -
    shouldSetProxy() - Method in class com.rallydev.rest.RallyRestApiTest
    -
     
    -
    shouldSetProxyWithCredentials() - Method in class com.rallydev.rest.client.HttpClientTest
    -
     
    -
    shouldSetProxyWithCredentials() - Method in class com.rallydev.rest.RallyRestApiTest
    -
     
    -
    shouldSetVendor() - Method in class com.rallydev.rest.RallyRestApiTest
    -
     
    -
    shouldSetVersion() - Method in class com.rallydev.rest.RallyRestApiTest
    -
     
    -
    shouldSetWsapiVersion() - Method in class com.rallydev.rest.client.HttpClientTest
    -
     
    -
    shouldSetWsapiVersion() - Method in class com.rallydev.rest.RallyRestApiTest
    -
     
    -
    shouldSupportCollectionRefs() - Method in class com.rallydev.rest.util.RefTest
    -
     
    -
    shouldSupportProjectPermissionRefs() - Method in class com.rallydev.rest.util.RefTest
    -
     
    -
    shouldSupportWorkspacePermissionRefs() - Method in class com.rallydev.rest.util.RefTest
    -
     
    -
    shouldSupportWsapiVersionXinRefs() - Method in class com.rallydev.rest.util.RefTest
    -
     
    -
    shouldUpdate() - Method in class com.rallydev.rest.RallyRestApiTest
    -
     
    -
    shouldUpdateCollection() - Method in class com.rallydev.rest.RallyRestApiTest
    -
     
    -
    shouldUseDefaultWsapiVersion() - Method in class com.rallydev.rest.client.HttpClientTest
    -
     
    -A B C D F G H I M O Q R S T U W 
    +A B C D F G H I O Q R S T U W 
    -
    A B C D F G H I M O Q R S T U W  +
    A B C D F G H I O Q R S T U W  -

    T

    +

    U

    -
    toString() - Method in class com.rallydev.rest.util.Fetch
    +
    update(UpdateRequest) - Method in class com.rallydev.rest.RallyRestApi
    -
    Get the comma separated list of fields to be returned.
    +
    Update the specified object.
    -
    toString() - Method in class com.rallydev.rest.util.QueryFilter
    +
    updateCollection(CollectionUpdateRequest) - Method in class com.rallydev.rest.RallyRestApi
    -
    Get the string representation of this query filter.
    +
    Update the specified collection.
    -
    toUrl() - Method in class com.rallydev.rest.request.CollectionUpdateRequest
    +
    UpdateRequest - Class in com.rallydev.rest.request
    -
    Convert this request into a url compatible with the WSAPI.
    +
    Represents a WSAPI request to update an object.
    -
    toUrl() - Method in class com.rallydev.rest.request.CreateRequest
    +
    UpdateRequest(String, JsonObject) - Constructor for class com.rallydev.rest.request.UpdateRequest
    -
    Convert this request into a url compatible with the WSAPI.
    +
    Create a new update request for the specified object and values.
    -
    toUrl() - Method in class com.rallydev.rest.request.DeleteRequest
    +
    UpdateResponse - Class in com.rallydev.rest.response
    -
    Convert this request into a url compatible with the WSAPI.
    +
    Represents a WSAPI response from updating an object.
    -
    toUrl() - Method in class com.rallydev.rest.request.GetRequest
    +
    UpdateResponse(String) - Constructor for class com.rallydev.rest.response.UpdateResponse
    -
    Convert this request into a url compatible with the WSAPI.
    -
    -
    toUrl() - Method in class com.rallydev.rest.request.QueryRequest
    -
    -
    Convert this request into a url compatible with the WSAPI.
    -
    -
    toUrl() - Method in class com.rallydev.rest.request.Request
    -
    -
    Convert this request into a url compatible with the WSAPI.
    -
    -
    toUrl() - Method in class com.rallydev.rest.request.UpdateRequest
    -
    -
    Convert this request into a url compatible with the WSAPI.
    +
    Create a new update response from the specified JSON encoded string.
    -A B C D F G H I M O Q R S T U W 
    +A B C D F G H I O Q R S T U W 
    diff --git a/src/main/resources/doc/index-files/index-15.html b/src/main/resources/doc/index-files/index-15.html index b647c0a..199a2f1 100644 --- a/src/main/resources/doc/index-files/index-15.html +++ b/src/main/resources/doc/index-files/index-15.html @@ -2,15 +2,15 @@ - -U-Index (Rally Rest API for Java 2.2) + +W-Index (Rally Rest API for Java 2.2) @@ -37,7 +37,7 @@ -
    A B C D F G H I M O Q R S T U W  +
    A B C D F G H I O Q R S T U W  -

    U

    +

    W

    -
    update(UpdateRequest) - Method in class com.rallydev.rest.RallyRestApi
    +
    wasSuccessful() - Method in class com.rallydev.rest.response.Response
    -
    Update the specified object.
    +
    Returns whether the response was successful (no errors)
    -
    updateCollection(CollectionUpdateRequest) - Method in class com.rallydev.rest.RallyRestApi
    -
    -
    Update the specified collection.
    -
    -
    UpdateRequest - Class in com.rallydev.rest.request
    -
    -
    Represents a WSAPI request to update an object.
    -
    -
    UpdateRequest(String, JsonObject) - Constructor for class com.rallydev.rest.request.UpdateRequest
    -
    -
    Create a new update request for the specified object and values.
    -
    -
    UpdateRequestTest - Class in com.rallydev.rest.request
    -
     
    -
    UpdateRequestTest() - Constructor for class com.rallydev.rest.request.UpdateRequestTest
    -
     
    -
    UpdateResponse - Class in com.rallydev.rest.response
    -
    -
    Represents a WSAPI response from updating an object.
    -
    -
    UpdateResponse(String) - Constructor for class com.rallydev.rest.response.UpdateResponse
    -
    -
    Create a new update response from the specified JSON encoded string.
    -
    -
    UpdateResponseTest - Class in com.rallydev.rest.response
    -
     
    -
    UpdateResponseTest() - Constructor for class com.rallydev.rest.response.UpdateResponseTest
    -
     
    -A B C D F G H I M O Q R S T U W 
    +A B C D F G H I O Q R S T U W 
    @@ -121,7 +93,7 @@

    U

    -
    A B C D F G H I M O Q R S T U W  +
    A B C D F G H I O Q R S T U W 

    B

    @@ -75,12 +75,8 @@

    B

    Construct a new client.
    -
    BasicAuthClientTest - Class in com.rallydev.rest.client
    -
     
    -
    BasicAuthClientTest() - Constructor for class com.rallydev.rest.client.BasicAuthClientTest
    -
     
    -A B C D F G H I M O Q R S T U W 
    +A B C D F G H I O Q R S T U W 
    -
    A B C D F G H I M O Q R S T U W  +
    A B C D F G H I O Q R S T U W 

    C

    @@ -79,18 +79,6 @@

    C

    Release all resources associated with this instance.
    -
    CollectionAddExample - Class in com.rallydev.rest
    -
     
    -
    CollectionAddExample() - Constructor for class com.rallydev.rest.CollectionAddExample
    -
     
    -
    CollectionQueryExample - Class in com.rallydev.rest
    -
     
    -
    CollectionQueryExample() - Constructor for class com.rallydev.rest.CollectionQueryExample
    -
     
    -
    CollectionSummaryExample - Class in com.rallydev.rest
    -
     
    -
    CollectionSummaryExample() - Constructor for class com.rallydev.rest.CollectionSummaryExample
    -
     
    CollectionUpdateRequest - Class in com.rallydev.rest.request
    Represents a WSAPI request to update a collection.
    @@ -103,10 +91,6 @@

    C

    Create a new update request for the specified collection and values.
    -
    CollectionUpdateRequestTest - Class in com.rallydev.rest.request
    -
     
    -
    CollectionUpdateRequestTest() - Constructor for class com.rallydev.rest.request.CollectionUpdateRequestTest
    -
     
    CollectionUpdateResponse - Class in com.rallydev.rest.response
    Represents a WSAPI response from updating a collection.
    @@ -115,10 +99,6 @@

    C

    Create a new collection update response from the specified JSON encoded string.
    -
    CollectionUpdateResponseTest - Class in com.rallydev.rest.response
    -
     
    -
    CollectionUpdateResponseTest() - Constructor for class com.rallydev.rest.response.CollectionUpdateResponseTest
    -
     
    com.rallydev.rest - package com.rallydev.rest
    Provides the main interface to the Rest API.
    @@ -127,8 +107,6 @@

    C

    Provides the underlying http client implementations.
    -
    com.rallydev.rest.matchers - package com.rallydev.rest.matchers
    -
     
    com.rallydev.rest.request - package com.rallydev.rest.request
    Provides objects for encoding requests to the Rest API.
    @@ -153,10 +131,6 @@

    C

    Create a new create request with the specified type and values.
    -
    CreateRequestTest - Class in com.rallydev.rest.request
    -
     
    -
    CreateRequestTest() - Constructor for class com.rallydev.rest.request.CreateRequestTest
    -
     
    CreateResponse - Class in com.rallydev.rest.response
    Represents a WSAPI response from creating an object
    @@ -165,16 +139,8 @@

    C

    Create a new create response from the specified JSON encoded string.
    -
    CreateResponseTest - Class in com.rallydev.rest.response
    -
     
    -
    CreateResponseTest() - Constructor for class com.rallydev.rest.response.CreateResponseTest
    -
     
    -
    CrudExample - Class in com.rallydev.rest
    -
     
    -
    CrudExample() - Constructor for class com.rallydev.rest.CrudExample
    -
     
    -A B C D F G H I M O Q R S T U W 
    +A B C D F G H I O Q R S T U W 
    -
    A B C D F G H I M O Q R S T U W  +
    A B C D F G H I O Q R S T U W 

    D

    @@ -79,10 +79,6 @@

    D

    Createa new delete request for the specified object.
    -
    DeleteRequestTest - Class in com.rallydev.rest.request
    -
     
    -
    DeleteRequestTest() - Constructor for class com.rallydev.rest.request.DeleteRequestTest
    -
     
    DeleteResponse - Class in com.rallydev.rest.response
    Represents a WSAPI response from deleting an object
    @@ -91,10 +87,6 @@

    D

    Create a new delete response from the specified JSON encoded string.
    -
    DeleteResponseTest - Class in com.rallydev.rest.response
    -
     
    -
    DeleteResponseTest() - Constructor for class com.rallydev.rest.response.DeleteResponseTest
    -
     
    doDelete(String) - Method in class com.rallydev.rest.client.HttpClient
    Perform a delete against the WSAPI
    @@ -112,7 +104,7 @@

    D

    Perform a put against the WSAPI
    -A B C D F G H I M O Q R S T U W 
    +A B C D F G H I O Q R S T U W 
    -
    A B C D F G H I M O Q R S T U W  +
    A B C D F G H I O Q R S T U W 

    F

    @@ -75,12 +75,8 @@

    F

    Create a new fetch with the specified fields.
    -
    FetchTest - Class in com.rallydev.rest.util
    -
     
    -
    FetchTest() - Constructor for class com.rallydev.rest.util.FetchTest
    -
     
    -A B C D F G H I M O Q R S T U W 
    +A B C D F G H I O Q R S T U W 
    -
    A B C D F G H I M O Q R S T U W  +
    A B C D F G H I O Q R S T U W 

    G

    @@ -171,10 +171,6 @@

    G

    Create a new get request for the specified object.
    -
    GetRequestTest - Class in com.rallydev.rest.request
    -
     
    -
    GetRequestTest() - Constructor for class com.rallydev.rest.request.GetRequestTest
    -
     
    GetResponse - Class in com.rallydev.rest.response
    Represents a WSAPI response from retrieving a single object.
    @@ -183,12 +179,6 @@

    G

    Create a new get response from the specified JSON encoded string.
    -
    GetResponseTest - Class in com.rallydev.rest.response
    -
     
    -
    GetResponseTest() - Constructor for class com.rallydev.rest.response.GetResponseTest
    -
     
    -
    getRestApi() - Static method in class com.rallydev.rest.RestApiFactory
    -
     
    getResults() - Method in class com.rallydev.rest.response.CollectionUpdateResponse
    Get the results of the collection update
    @@ -238,7 +228,7 @@

    G

    Get the current version of the WSAPI being targeted.
    -A B C D F G H I M O Q R S T U W 
    +A B C D F G H I O Q R S T U W 
    -
    A B C D F G H I M O Q R S T U W  +
    A B C D F G H I O Q R S T U W 

    H

    @@ -71,24 +71,8 @@

    H

    A HttpClient implementation providing connectivity to Rally.
    -
    HttpClientTest - Class in com.rallydev.rest.client
    -
     
    -
    HttpClientTest() - Constructor for class com.rallydev.rest.client.HttpClientTest
    -
     
    -
    HttpRequestBodyMatcher - Class in com.rallydev.rest.matchers
    -
     
    -
    HttpRequestBodyMatcher(String, String) - Constructor for class com.rallydev.rest.matchers.HttpRequestBodyMatcher
    -
     
    -
    HttpRequestHeaderMatcher - Class in com.rallydev.rest.matchers
    -
     
    -
    HttpRequestHeaderMatcher(String, String) - Constructor for class com.rallydev.rest.matchers.HttpRequestHeaderMatcher
    -
     
    -
    HttpRequestUrlMatcher - Class in com.rallydev.rest.matchers
    -
     
    -
    HttpRequestUrlMatcher(String) - Constructor for class com.rallydev.rest.matchers.HttpRequestUrlMatcher
    -
     
    -A B C D F G H I M O Q R S T U W 
    +A B C D F G H I O Q R S T U W 
    -
    A B C D F G H I M O Q R S T U W  +
    A B C D F G H I O Q R S T U W 

    I

    @@ -80,7 +80,7 @@

    I

    If a project has been specified, get whether to include matching objects in parent projects in the result set.
    -A B C D F G H I M O Q R S T U W 
    +A B C D F G H I O Q R S T U W 
    -
    A B C D F G H I M O Q R S T U W  +
    A B C D F G H I O Q R S T U W  -

    M

    +

    O

    -
    main(String[]) - Static method in class com.rallydev.rest.CollectionAddExample
    -
     
    -
    main(String[]) - Static method in class com.rallydev.rest.CollectionQueryExample
    -
     
    -
    main(String[]) - Static method in class com.rallydev.rest.CollectionSummaryExample
    -
     
    -
    main(String[]) - Static method in class com.rallydev.rest.CrudExample
    -
     
    -
    main(String[]) - Static method in class com.rallydev.rest.QueryExample
    -
     
    -
    matches(Object) - Method in class com.rallydev.rest.matchers.HttpRequestBodyMatcher
    -
     
    -
    matches(Object) - Method in class com.rallydev.rest.matchers.HttpRequestHeaderMatcher
    -
     
    -
    matches(Object) - Method in class com.rallydev.rest.matchers.HttpRequestUrlMatcher
    -
     
    +
    or(QueryFilter) - Method in class com.rallydev.rest.util.QueryFilter
    +
    +
    Get a query filter that is the ORed combination of this filter and the specified one.
    +
    +
    or(QueryFilter...) - Static method in class com.rallydev.rest.util.QueryFilter
    +
    +
    Get a query filter that is the ORed combination of the specified filters.
    +
    -A B C D F G H I M O Q R S T U W 
    +A B C D F G H I O Q R S T U W 
    diff --git a/src/main/resources/doc/index.html b/src/main/resources/doc/index.html index 1eee5a7..c9f8896 100644 --- a/src/main/resources/doc/index.html +++ b/src/main/resources/doc/index.html @@ -2,7 +2,7 @@ - + Rally Rest API for Java 2.2