killbill-aplcache

jaxrs: update CreditResource path Make it uniform with other

6/5/2012 3:14:51 PM

Details

diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/CreditResource.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/CreditResource.java
index b9bb48c..226457e 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/CreditResource.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/CreditResource.java
@@ -16,19 +16,9 @@
 
 package com.ning.billing.jaxrs.resources;
 
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-import com.ning.billing.account.api.Account;
-import com.ning.billing.account.api.AccountApiException;
-import com.ning.billing.account.api.AccountUserApi;
-import com.ning.billing.invoice.api.InvoiceApiException;
-import com.ning.billing.invoice.api.InvoiceItem;
-import com.ning.billing.invoice.api.InvoiceUserApi;
-import com.ning.billing.jaxrs.json.CreditJson;
-import com.ning.billing.jaxrs.util.Context;
-import com.ning.billing.jaxrs.util.JaxrsUriBuilder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
+
+import java.util.UUID;
 
 import javax.ws.rs.Consumes;
 import javax.ws.rs.GET;
@@ -39,12 +29,23 @@ import javax.ws.rs.PathParam;
 import javax.ws.rs.Produces;
 import javax.ws.rs.core.Response;
 
-import java.util.UUID;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
-import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+import com.ning.billing.account.api.Account;
+import com.ning.billing.account.api.AccountApiException;
+import com.ning.billing.account.api.AccountUserApi;
+import com.ning.billing.invoice.api.InvoiceApiException;
+import com.ning.billing.invoice.api.InvoiceItem;
+import com.ning.billing.invoice.api.InvoiceUserApi;
+import com.ning.billing.jaxrs.json.CreditJson;
+import com.ning.billing.jaxrs.util.Context;
+import com.ning.billing.jaxrs.util.JaxrsUriBuilder;
 
 @Singleton
-@Path(JaxrsResource.PREFIX)
+@Path(JaxrsResource.CREDITS_PATH)
 public class CreditResource implements JaxrsResource {
     private static final Logger log = LoggerFactory.getLogger(CreditResource.class);
 
@@ -62,11 +63,11 @@ public class CreditResource implements JaxrsResource {
     }
 
     @GET
-    @Path("/credits/{creditId:" + UUID_PATTERN + "}")
+    @Path("/{creditId:" + UUID_PATTERN + "}")
     @Produces(APPLICATION_JSON)
     public Response getCredit(@PathParam("creditId") String creditId) {
         try {
-            InvoiceItem credit =  invoiceUserApi.getCreditById(UUID.fromString(creditId));
+            InvoiceItem credit = invoiceUserApi.getCreditById(UUID.fromString(creditId));
             CreditJson creditJson = new CreditJson(credit);
 
             return Response.status(Response.Status.OK).entity(creditJson).build();
@@ -78,19 +79,19 @@ public class CreditResource implements JaxrsResource {
     }
 
     @POST
-    @Path("/accounts/{accountId:" + UUID_PATTERN + "}/credits")
+    @Path("/accounts/{accountId:" + UUID_PATTERN + "}")
     @Consumes(APPLICATION_JSON)
     @Produces(APPLICATION_JSON)
-    public Response createChargeback(final CreditJson json,
-                                     @PathParam("accountId") final String accountId,
-                                    @HeaderParam(HDR_CREATED_BY) final String createdBy,
-                                    @HeaderParam(HDR_REASON) final String reason,
-                                    @HeaderParam(HDR_COMMENT) final String comment) {
+    public Response createCredit(final CreditJson json,
+                                 @PathParam("accountId") final String accountId,
+                                 @HeaderParam(HDR_CREATED_BY) final String createdBy,
+                                 @HeaderParam(HDR_REASON) final String reason,
+                                 @HeaderParam(HDR_COMMENT) final String comment) {
         try {
             Account account = accountUserApi.getAccountById(UUID.fromString(accountId));
 
             InvoiceItem credit = invoiceUserApi.insertCredit(account.getId(), json.getCreditAmount(), json.getEffectiveDate(),
-                    account.getCurrency(), context.createContext(createdBy, reason, comment));
+                                                             account.getCurrency(), context.createContext(createdBy, reason, comment));
 
             return uriBuilder.buildResponse(ChargebackResource.class, "getCredit", credit.getId());
         } catch (InvoiceApiException e) {
@@ -110,7 +111,6 @@ public class CreditResource implements JaxrsResource {
 }
 
 
-
 //POST /1.0/accounts/<account_id>/credits	 	 Creates a credit for that account	 201 (CREATED), 400 (BAD_REQUEST), 404 (NOT_FOUND)
 //Semantics:
 //
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/JaxrsResource.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/JaxrsResource.java
index 8d74c07..d208ce9 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/JaxrsResource.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/JaxrsResource.java
@@ -74,7 +74,9 @@ public interface JaxrsResource {
     public static final String INVOICES = "invoices";     
     public static final String INVOICES_PATH = PREFIX + "/" + INVOICES;
 
-    
+    public static final String CREDITS = "credits";
+    public static final String CREDITS_PATH = PREFIX + "/" + CREDITS;
+
     public static final String TAGS = "tags";
     public static final String CUSTOM_FIELDS = "custom_fields";
 }