diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/AccountResource.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/AccountResource.java
index c0f8e1c..d96edd4 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/AccountResource.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/AccountResource.java
@@ -84,8 +84,8 @@ import com.ning.billing.util.dao.ObjectType;
public class AccountResource extends JaxRsResourceBase {
private static final Logger log = LoggerFactory.getLogger(AccountResource.class);
private static final String ID_PARAM_NAME = "accountId";
- private static final String CUSTOM_FIELD_URI = JaxrsResource.CUSTOM_FIELDS + "/{" + ID_PARAM_NAME + ":" + UUID_PATTERN + "}";
- private static final String TAG_URI = JaxrsResource.TAGS + "/{" + ID_PARAM_NAME + ":" + UUID_PATTERN + "}";
+ private static final String CUSTOM_FIELD_URI = JaxrsResource.CUSTOM_FIELDS;
+ private static final String TAG_URI = JaxrsResource.TAGS;
private final AccountUserApi accountApi;
private final EntitlementUserApi entitlementApi;
@@ -408,14 +408,14 @@ public class AccountResource extends JaxRsResourceBase {
*/
@GET
- @Path(CUSTOM_FIELD_URI)
+ @Path("/{accountId:" + UUID_PATTERN + "}/" + CUSTOM_FIELD_URI)
@Produces(APPLICATION_JSON)
public Response getCustomFields(@PathParam(ID_PARAM_NAME) final String id) {
return super.getCustomFields(UUID.fromString(id));
}
@POST
- @Path(CUSTOM_FIELD_URI)
+ @Path("/{accountId:" + UUID_PATTERN + "}/" + CUSTOM_FIELD_URI)
@Consumes(APPLICATION_JSON)
@Produces(APPLICATION_JSON)
public Response createCustomFields(@PathParam(ID_PARAM_NAME) final String id,
@@ -428,7 +428,7 @@ public class AccountResource extends JaxRsResourceBase {
}
@DELETE
- @Path(CUSTOM_FIELD_URI)
+ @Path("/{accountId:" + UUID_PATTERN + "}/" + CUSTOM_FIELD_URI)
@Consumes(APPLICATION_JSON)
@Produces(APPLICATION_JSON)
public Response deleteCustomFields(@PathParam(ID_PARAM_NAME) final String id,
@@ -445,15 +445,14 @@ public class AccountResource extends JaxRsResourceBase {
*/
@GET
- @Path(TAG_URI)
+ @Path("/{accountId:" + UUID_PATTERN + "}/" + TAG_URI)
@Produces(APPLICATION_JSON)
public Response getTags(@PathParam(ID_PARAM_NAME) final String id) {
return super.getTags(UUID.fromString(id));
}
@POST
- @Path(TAG_URI)
- @Consumes(APPLICATION_JSON)
+ @Path("/{accountId:" + UUID_PATTERN + "}/" + TAG_URI)
@Produces(APPLICATION_JSON)
public Response createTags(@PathParam(ID_PARAM_NAME) final String id,
@QueryParam(QUERY_TAGS) final String tagList,
@@ -465,7 +464,7 @@ public class AccountResource extends JaxRsResourceBase {
}
@DELETE
- @Path(TAG_URI)
+ @Path("/{accountId:" + UUID_PATTERN + "}/" + TAG_URI)
@Consumes(APPLICATION_JSON)
@Produces(APPLICATION_JSON)
public Response deleteTags(@PathParam(ID_PARAM_NAME) final String id,
diff --git a/server/src/test/java/com/ning/billing/jaxrs/TestAccount.java b/server/src/test/java/com/ning/billing/jaxrs/TestAccount.java
index 3e00cdd..60aa56a 100644
--- a/server/src/test/java/com/ning/billing/jaxrs/TestAccount.java
+++ b/server/src/test/java/com/ning/billing/jaxrs/TestAccount.java
@@ -1,4 +1,4 @@
-/*
+/*
* Copyright 2010-2011 Ning, Inc.
*
* Ning licenses this file to you under the Apache License, version 2.0
@@ -16,13 +16,19 @@
package com.ning.billing.jaxrs;
-import javax.ws.rs.core.Response.Status;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertFalse;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertTrue;
+
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.UUID;
+import javax.ws.rs.core.Response.Status;
+
import org.joda.time.DateTime;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -43,11 +49,6 @@ import com.ning.billing.jaxrs.json.TagDefinitionJson;
import com.ning.billing.jaxrs.resources.JaxrsResource;
import com.ning.http.client.Response;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertFalse;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
-
public class TestAccount extends TestJaxrsBase {
@@ -268,7 +269,7 @@ public class TestAccount extends TestJaxrsBase {
final Map<String, String> queryParams = new HashMap<String, String>();
queryParams.put(JaxrsResource.QUERY_TAGS, input.getName());
- final String uri = JaxrsResource.ACCOUNTS_PATH + "/" + JaxrsResource.TAGS + "/" + UUID.randomUUID().toString();
+ final String uri = JaxrsResource.ACCOUNTS_PATH + "/" + UUID.randomUUID().toString() + "/" + JaxrsResource.TAGS;
response = doPost(uri, null, queryParams, DEFAULT_HTTP_TIMEOUT_SEC);
assertEquals(response.getStatusCode(), Status.CREATED.getStatusCode());
@@ -294,7 +295,7 @@ public class TestAccount extends TestJaxrsBase {
customFields.add(new CustomFieldJson("3", "value3"));
final String baseJson = mapper.writeValueAsString(customFields);
- final String uri = JaxrsResource.ACCOUNTS_PATH + "/" + JaxrsResource.CUSTOM_FIELDS + "/" + UUID.randomUUID().toString();
+ final String uri = JaxrsResource.ACCOUNTS_PATH + "/" + UUID.randomUUID().toString() + "/" + JaxrsResource.CUSTOM_FIELDS;
Response response = doPost(uri, baseJson, DEFAULT_EMPTY_QUERY, DEFAULT_HTTP_TIMEOUT_SEC);
assertEquals(response.getStatusCode(), Status.CREATED.getStatusCode());