Skip to content

Commit

Permalink
Merge pull request Azure#33 from christav/fluent-list-query-params
Browse files Browse the repository at this point in the history
Added fluent setters for list query params
  • Loading branch information
Chris Tavares committed Dec 14, 2012
2 parents 3da3751 + 8062bc6 commit 782905e
Show file tree
Hide file tree
Showing 18 changed files with 83 additions and 82 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,44 @@ public DefaultListOperation(String entityUri, GenericType<ListResult<T>> respons
this.queryParameters.putAll(queryParameters);
}

/**
* Add a "$top" query parameter to set the number of values to return
*
* @param topValue
* number of values to return
* @return this
*/
public DefaultListOperation<T> setTop(int topValue) {
queryParameters.add("$top", Integer.toString(topValue));
return this;
}

/**
* Add a "$skip" query parameter to set the number of values to skip
*
* @param skipValue
* the number of values to skip
* @return this
*/
public DefaultListOperation<T> setSkip(int skipValue) {
queryParameters.add("$skip", Integer.toString(skipValue));
return this;
}

/**
* Add an arbitrary query parameter
*
* @param parameterName
* name of query parameter
* @param parameterValue
* value for query parameter
* @return this
*/
public DefaultListOperation<T> set(String parameterName, String parameterValue) {
queryParameters.add(parameterName, parameterValue);
return this;
}

/* (non-Javadoc)
* @see com.microsoft.windowsazure.services.media.entities.EntityListOperation#getQueryParameters()
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
import com.microsoft.windowsazure.services.media.implementation.entities.EntityCreationOperation;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityDeleteOperation;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityGetOperation;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityListOperation;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityOperationSingleResultBase;
import com.sun.jersey.api.client.GenericType;

Expand Down Expand Up @@ -96,7 +95,7 @@ public static EntityGetOperation<AccessPolicyInfo> get(String accessPolicyId) {
*
* @return the operation
*/
public static EntityListOperation<AccessPolicyInfo> list() {
public static DefaultListOperation<AccessPolicyInfo> list() {
return new DefaultListOperation<AccessPolicyInfo>(ENTITY_SET, new GenericType<ListResult<AccessPolicyInfo>>() {
});
}
Expand All @@ -108,7 +107,7 @@ public static EntityListOperation<AccessPolicyInfo> list() {
* query parameters to add to the request
* @return the operation
*/
public static EntityListOperation<AccessPolicyInfo> list(MultivaluedMap<String, String> queryParameters) {
public static DefaultListOperation<AccessPolicyInfo> list(MultivaluedMap<String, String> queryParameters) {
return new DefaultListOperation<AccessPolicyInfo>(ENTITY_SET, new GenericType<ListResult<AccessPolicyInfo>>() {
}, queryParameters);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
import com.microsoft.windowsazure.services.media.implementation.entities.EntityDeleteOperation;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityGetOperation;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityLinkOperation;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityListOperation;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityOperationBase;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityOperationSingleResultBase;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityProxyData;
Expand Down Expand Up @@ -167,7 +166,7 @@ public static EntityGetOperation<AssetInfo> get(String assetId) {
*
* @return The list operation
*/
public static EntityListOperation<AssetInfo> list() {
public static DefaultListOperation<AssetInfo> list() {
return new DefaultListOperation<AssetInfo>(ENTITY_SET, new GenericType<ListResult<AssetInfo>>() {
});
}
Expand All @@ -179,7 +178,7 @@ public static EntityListOperation<AssetInfo> list() {
* query parameters to pass to the server.
* @return the list operation.
*/
public static EntityListOperation<AssetInfo> list(MultivaluedMap<String, String> queryParameters) {
public static DefaultListOperation<AssetInfo> list(MultivaluedMap<String, String> queryParameters) {
return new DefaultListOperation<AssetInfo>(ENTITY_SET, new GenericType<ListResult<AssetInfo>>() {
}, queryParameters);
}
Expand All @@ -191,7 +190,7 @@ public static EntityListOperation<AssetInfo> list(MultivaluedMap<String, String>
* Link to request assets from.
* @return The list operation.
*/
public static EntityListOperation<AssetInfo> list(LinkInfo link) {
public static DefaultListOperation<AssetInfo> list(LinkInfo link) {
return new DefaultListOperation<AssetInfo>(link.getHref(), new GenericType<ListResult<AssetInfo>>() {
});
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
import com.microsoft.windowsazure.services.media.implementation.entities.EntityCreationOperation;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityDeleteOperation;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityGetOperation;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityListOperation;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityOperationBase;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityOperationSingleResultBase;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityProxyData;
Expand Down Expand Up @@ -196,7 +195,7 @@ public static EntityGetOperation<AssetFileInfo> get(String assetFileId) {
*
* @return The list operation to pass to rest proxy.
*/
public static EntityListOperation<AssetFileInfo> list() {
public static DefaultListOperation<AssetFileInfo> list() {
return new DefaultListOperation<AssetFileInfo>(ENTITY_SET, new GenericType<ListResult<AssetFileInfo>>() {
});
}
Expand All @@ -208,7 +207,7 @@ public static EntityListOperation<AssetFileInfo> list() {
* asset to list files for
* @return the list operation object
*/
public static EntityListOperation<AssetFileInfo> list(String assetId) {
public static DefaultListOperation<AssetFileInfo> list(String assetId) {
String assetUri = new EntityOperationBase.EntityIdUriBuilder("Assets", assetId).getUri() + "/Files";
return new DefaultListOperation<AssetFileInfo>(assetUri, new GenericType<ListResult<AssetFileInfo>>() {
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
import com.microsoft.windowsazure.services.media.implementation.entities.EntityCreationOperation;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityDeleteOperation;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityGetOperation;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityListOperation;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityOperationSingleResultBase;
import com.sun.jersey.api.client.GenericType;

Expand Down Expand Up @@ -155,7 +154,7 @@ public static EntityGetOperation<ContentKeyInfo> get(String ContentKeyId) {
*
* @return the operation
*/
public static EntityListOperation<ContentKeyInfo> list() {
public static DefaultListOperation<ContentKeyInfo> list() {
return new DefaultListOperation<ContentKeyInfo>(ENTITY_SET, new GenericType<ListResult<ContentKeyInfo>>() {
});
}
Expand All @@ -167,7 +166,7 @@ public static EntityListOperation<ContentKeyInfo> list() {
* query parameters to add to the request
* @return the operation
*/
public static EntityListOperation<ContentKeyInfo> list(MultivaluedMap<String, String> queryParameters) {
public static DefaultListOperation<ContentKeyInfo> list(MultivaluedMap<String, String> queryParameters) {
return new DefaultListOperation<ContentKeyInfo>(ENTITY_SET, new GenericType<ListResult<ContentKeyInfo>>() {
}, queryParameters);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@
import com.microsoft.windowsazure.services.media.implementation.entities.EntityCreationOperation;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityDeleteOperation;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityGetOperation;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityListOperation;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityOperationSingleResultBase;
import com.sun.jersey.api.client.ClientResponse;
import com.sun.jersey.api.client.GenericType;
Expand Down Expand Up @@ -426,7 +425,7 @@ public static EntityGetOperation<JobInfo> get(String jobId) {
*
* @return The list operation
*/
public static EntityListOperation<JobInfo> list() {
public static DefaultListOperation<JobInfo> list() {
return new DefaultListOperation<JobInfo>(ENTITY_SET, new GenericType<ListResult<JobInfo>>() {
});
}
Expand All @@ -438,7 +437,7 @@ public static EntityListOperation<JobInfo> list() {
* query parameters to pass to the server.
* @return the list operation.
*/
public static EntityListOperation<JobInfo> list(MultivaluedMap<String, String> queryParameters) {
public static DefaultListOperation<JobInfo> list(MultivaluedMap<String, String> queryParameters) {
return new DefaultListOperation<JobInfo>(ENTITY_SET, new GenericType<ListResult<JobInfo>>() {
}, queryParameters);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
import com.microsoft.windowsazure.services.media.implementation.entities.EntityCreationOperation;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityDeleteOperation;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityGetOperation;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityListOperation;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityOperationBase;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityOperationSingleResultBase;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityProxyData;
Expand Down Expand Up @@ -195,7 +194,7 @@ public static EntityGetOperation<LocatorInfo> get(String locatorId) {
*
* @return the list operation
*/
public static EntityListOperation<LocatorInfo> list() {
public static DefaultListOperation<LocatorInfo> list() {
return new DefaultListOperation<LocatorInfo>(ENTITY_SET, new GenericType<ListResult<LocatorInfo>>() {
});
}
Expand All @@ -207,7 +206,7 @@ public static EntityListOperation<LocatorInfo> list() {
* query parameters to send with the request
* @return the list operation
*/
public static EntityListOperation<LocatorInfo> list(MultivaluedMap<String, String> queryParameters) {
public static DefaultListOperation<LocatorInfo> list(MultivaluedMap<String, String> queryParameters) {
return new DefaultListOperation<LocatorInfo>(ENTITY_SET, new GenericType<ListResult<LocatorInfo>>() {
}, queryParameters);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
import javax.ws.rs.core.MultivaluedMap;

import com.microsoft.windowsazure.services.media.implementation.entities.DefaultListOperation;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityListOperation;
import com.sun.jersey.api.client.GenericType;

/**
Expand All @@ -37,7 +36,7 @@ private MediaProcessor() {
*
* @return the list operation
*/
public static EntityListOperation<MediaProcessorInfo> list() {
public static DefaultListOperation<MediaProcessorInfo> list() {
return new DefaultListOperation<MediaProcessorInfo>(ENTITY_SET,
new GenericType<ListResult<MediaProcessorInfo>>() {
});
Expand All @@ -50,7 +49,7 @@ public static EntityListOperation<MediaProcessorInfo> list() {
* query parameters to pass with the request
* @return the list operation
*/
public static EntityListOperation<MediaProcessorInfo> list(MultivaluedMap<String, String> queryParameters) {
public static DefaultListOperation<MediaProcessorInfo> list(MultivaluedMap<String, String> queryParameters) {
return new DefaultListOperation<MediaProcessorInfo>(ENTITY_SET,
new GenericType<ListResult<MediaProcessorInfo>>() {
}, queryParameters);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
import com.microsoft.windowsazure.services.media.implementation.entities.DefaultListOperation;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityBatchOperation;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityDeleteOperation;
import com.microsoft.windowsazure.services.media.implementation.entities.EntityListOperation;
import com.sun.jersey.api.client.GenericType;

/**
Expand Down Expand Up @@ -55,7 +54,7 @@ public static CreateBatchOperation create() {
*
* @return The list operation
*/
public static EntityListOperation<TaskInfo> list() {
public static DefaultListOperation<TaskInfo> list() {
return new DefaultListOperation<TaskInfo>(ENTITY_SET, new GenericType<ListResult<TaskInfo>>() {
});
}
Expand All @@ -67,7 +66,7 @@ public static EntityListOperation<TaskInfo> list() {
* query parameters to pass to the server.
* @return the list operation.
*/
public static EntityListOperation<TaskInfo> list(MultivaluedMap<String, String> queryParameters) {
public static DefaultListOperation<TaskInfo> list(MultivaluedMap<String, String> queryParameters) {
return new DefaultListOperation<TaskInfo>(ENTITY_SET, new GenericType<ListResult<TaskInfo>>() {
}, queryParameters);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,6 @@
import java.util.EnumSet;
import java.util.List;

import javax.ws.rs.core.MultivaluedMap;

import org.junit.Test;

import com.microsoft.windowsazure.services.core.ExponentialRetryPolicy;
Expand All @@ -31,7 +29,6 @@
import com.microsoft.windowsazure.services.media.models.AccessPolicy;
import com.microsoft.windowsazure.services.media.models.AccessPolicyInfo;
import com.microsoft.windowsazure.services.media.models.AccessPolicyPermission;
import com.sun.jersey.core.util.MultivaluedMapImpl;

public class AccessPolicyIntegrationTest extends IntegrationTestBase {
private void verifyInfosEqual(String message, AccessPolicyInfo expected, AccessPolicyInfo actual) {
Expand Down Expand Up @@ -153,10 +150,7 @@ public void canUseQueryParametersWhenListingAccessPolicies() throws Exception {
expectedAccessPolicies.add(policy);
}

MultivaluedMap<String, String> options = new MultivaluedMapImpl();
options.add("$top", "2");

List<AccessPolicyInfo> actualAccessPolicies = service.list(AccessPolicy.list(options));
List<AccessPolicyInfo> actualAccessPolicies = service.list(AccessPolicy.list().setTop(2));

assertEquals(2, actualAccessPolicies.size());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@
import com.microsoft.windowsazure.services.media.models.ContentKey;
import com.microsoft.windowsazure.services.media.models.ContentKeyInfo;
import com.microsoft.windowsazure.services.media.models.ContentKeyType;
import com.sun.jersey.core.util.MultivaluedMapImpl;

public class AssetIntegrationTest extends IntegrationTestBase {

Expand Down Expand Up @@ -199,9 +198,7 @@ public void canListAssetsWithOptions() throws ServiceException {
expectedAssets.add(service.create(Asset.create().setName(name)));
}

MultivaluedMapImpl options = new MultivaluedMapImpl();
options.add("$top", "2");
Collection<AssetInfo> listAssetResult = service.list(Asset.list(options));
Collection<AssetInfo> listAssetResult = service.list(Asset.list().setTop(2));

// Assert

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,13 @@
import java.util.List;
import java.util.UUID;

import javax.ws.rs.core.MultivaluedMap;

import org.junit.Test;

import com.microsoft.windowsazure.services.core.ServiceException;
import com.microsoft.windowsazure.services.media.models.ContentKey;
import com.microsoft.windowsazure.services.media.models.ContentKeyInfo;
import com.microsoft.windowsazure.services.media.models.ContentKeyType;
import com.microsoft.windowsazure.services.media.models.ProtectionKeyType;
import com.sun.jersey.core.util.MultivaluedMapImpl;

public class ContentKeyIntegrationTest extends IntegrationTestBase {

Expand Down Expand Up @@ -138,10 +135,7 @@ public void canUseQueryParametersWhenListingContentKeys() throws Exception {
expectedContentKeys.add(contentKeyInfo);
}

MultivaluedMap<String, String> options = new MultivaluedMapImpl();
options.add("$top", "2");

List<ContentKeyInfo> actualContentKeys = service.list(ContentKey.list(options));
List<ContentKeyInfo> actualContentKeys = service.list(ContentKey.list().setTop(2));

assertEquals(2, actualContentKeys.size());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,12 @@
import java.util.HashSet;
import java.util.Set;

import javax.ws.rs.core.MultivaluedMap;

import org.junit.BeforeClass;
import org.junit.Test;

import com.microsoft.windowsazure.services.media.models.Asset;
import com.microsoft.windowsazure.services.media.models.AssetInfo;
import com.microsoft.windowsazure.services.media.models.ListResult;
import com.sun.jersey.core.util.MultivaluedMapImpl;

public class EntityProxyTest extends IntegrationTestBase {
private static MediaContract entityService;
Expand Down Expand Up @@ -80,10 +77,7 @@ public void canListAllAssets() throws Exception {
public void canListAssetsWithQueryParameters() throws Exception {
createTestAssets(4, "withQuery");

MultivaluedMap<String, String> params = new MultivaluedMapImpl();
params.add("$top", "2");

ListResult<AssetInfo> assets = entityService.list(Asset.list(params));
ListResult<AssetInfo> assets = entityService.list(Asset.list().setTop(2));

assertEquals(2, assets.size());
}
Expand Down Expand Up @@ -130,8 +124,8 @@ private Set<String> createTestAssets(int numAssets, String namePart) throws Exce
Set<String> expectedAssets = new HashSet<String>();

for (int i = 0; i < numAssets; ++i) {
AssetInfo asset = entityService.create(Asset.create()
.setName(testAssetPrefix + namePart + Integer.toString(i)));
AssetInfo asset = entityService.create(Asset.create().setName(
testAssetPrefix + namePart + Integer.toString(i)));
expectedAssets.add(asset.getId());
}
return expectedAssets;
Expand Down
Loading

0 comments on commit 782905e

Please sign in to comment.