summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjesus m. rodriguez <jesusr@redhat.com>2009-11-17 13:30:56 -0500
committerjesus m. rodriguez <jesusr@redhat.com>2009-11-17 13:30:56 -0500
commit0b6e5469af00e30a11370d6a9402d59d9e74c2df (patch)
treea165f189563a4d4b20d7fd6830afdf541418f2e8
parent6a5cf056d3493d40716c2ec1c487862301c7d427 (diff)
downloadcandlepin-0b6e5469af00e30a11370d6a9402d59d9e74c2df.tar.gz
candlepin-0b6e5469af00e30a11370d6a9402d59d9e74c2df.tar.xz
candlepin-0b6e5469af00e30a11370d6a9402d59d9e74c2df.zip
beginning of DELETE consumer/uuid/product/uuid
-rwxr-xr-xproxy/code/scripts/test-consumerapi.py3
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/resource/ConsumerResource.java29
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;
+ }
}