diff options
author | jesus m. rodriguez <jesusr@redhat.com> | 2009-11-17 13:30:56 -0500 |
---|---|---|
committer | jesus m. rodriguez <jesusr@redhat.com> | 2009-11-17 13:30:56 -0500 |
commit | 0b6e5469af00e30a11370d6a9402d59d9e74c2df (patch) | |
tree | a165f189563a4d4b20d7fd6830afdf541418f2e8 | |
parent | 6a5cf056d3493d40716c2ec1c487862301c7d427 (diff) | |
download | candlepin-0b6e5469af00e30a11370d6a9402d59d9e74c2df.tar.gz candlepin-0b6e5469af00e30a11370d6a9402d59d9e74c2df.tar.xz candlepin-0b6e5469af00e30a11370d6a9402d59d9e74c2df.zip |
beginning of DELETE consumer/uuid/product/uuid
-rwxr-xr-x | proxy/code/scripts/test-consumerapi.py | 3 | ||||
-rw-r--r-- | proxy/code/src/org/fedoraproject/candlepin/resource/ConsumerResource.java | 29 |
2 files changed, 32 insertions, 0 deletions
diff --git a/proxy/code/scripts/test-consumerapi.py b/proxy/code/scripts/test-consumerapi.py index 5249b77..8896245 100755 --- a/proxy/code/scripts/test-consumerapi.py +++ b/proxy/code/scripts/test-consumerapi.py @@ -41,3 +41,6 @@ print("get info: %s" % rsp) # #print("Status: %d Response: %s" % (response.status, response.reason)) #conn.close() + +#print("delete product from consumer") +#conn.request("DELETE", '/candlepin/consumer/%s/product/%s' % ()) diff --git a/proxy/code/src/org/fedoraproject/candlepin/resource/ConsumerResource.java b/proxy/code/src/org/fedoraproject/candlepin/resource/ConsumerResource.java index 718da5d..5e0f939 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/resource/ConsumerResource.java +++ b/proxy/code/src/org/fedoraproject/candlepin/resource/ConsumerResource.java @@ -19,14 +19,19 @@ import org.fedoraproject.candlepin.model.Consumer; import org.fedoraproject.candlepin.model.ConsumerInfo; import org.fedoraproject.candlepin.model.ConsumerType; import org.fedoraproject.candlepin.model.ObjectFactory; +import org.fedoraproject.candlepin.model.Product; + +import org.apache.log4j.Logger; import java.util.ArrayList; import java.util.List; import javax.ws.rs.Consumes; +import javax.ws.rs.DELETE; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.Path; +import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; @@ -36,6 +41,8 @@ import javax.ws.rs.core.MediaType; @Path("/consumer") public class ConsumerResource extends BaseResource { + private static Logger log = Logger.getLogger(ConsumerResource.class); + /** * default ctor */ @@ -97,4 +104,26 @@ public class ConsumerResource extends BaseResource { System.out.println(ci.getMetadata()); return ci; } + + /** + * removes the product whose id matches pid, from the consumer, cid. + * @param cid Consumer ID to affect + * @param pid Product ID to remove from Consumer. + */ + @DELETE @Path("{cid}/products/{pid}") + public void delete(@PathParam("cid") String cid, + @PathParam("pid") String pid) { + System.out.println("cid " + cid + " pid = " + pid); + Consumer c = (Consumer) ObjectFactory.get().lookupByUUID(Consumer.class, cid); + if (!c.getConsumedProducts().remove(pid)) { + log.error("no product " + pid + " found."); + } + } + + @GET @Path("{cid}/products/{pid}") + @Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML }) + public Product getProduct(@PathParam("cid") String cid, + @PathParam("pid") String pid) { + return null; + } } |