diff options
| author | Mike McCune <mmccune@gibson.pdx.redhat.com> | 2009-07-10 15:07:48 -0700 |
|---|---|---|
| committer | Mike McCune <mmccune@gibson.pdx.redhat.com> | 2009-07-10 15:07:48 -0700 |
| commit | 36389f71dc32df70c6c458afd3e9bd5964746740 (patch) | |
| tree | 1f6819198962916919393d8af42a833fa9833b9b /proxy/code/src | |
| parent | e84cc16f4c8c44b7ada26b27d55f66dfa3df79f4 (diff) | |
more better xml annotations and making BaseApi more generic
Diffstat (limited to 'proxy/code/src')
10 files changed, 94 insertions, 39 deletions
diff --git a/proxy/code/src/org/fedoraproject/candlepin/api/BaseApi.java b/proxy/code/src/org/fedoraproject/candlepin/api/BaseApi.java index eff841c..91d71fb 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/api/BaseApi.java +++ b/proxy/code/src/org/fedoraproject/candlepin/api/BaseApi.java @@ -41,7 +41,6 @@ public abstract class BaseApi { private static final Logger log = Logger.getLogger(BaseApi.class); @GET @Path("/{uuid}") - // @Produces("text/plain") @Produces(MediaType.APPLICATION_JSON) public Object get(@PathParam("uuid") String uuid) { Object o = ObjectFactory.get(). @@ -50,8 +49,7 @@ public abstract class BaseApi { } @GET @Path("/list") - @Produces("text/plain") - // @Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON) public String list() { StringBuffer retval = new StringBuffer(); List objects = ObjectFactory.get().listObjectsByClass(getApiClass()); @@ -65,11 +63,7 @@ public abstract class BaseApi { @POST @Produces("text/plain") - public void post(Form form) { - String name = form.getFirst("name"); - if (name == null) { - throw new RuntimeException("Missing name parameter."); - } + public void create(Form form) { String newuuid = BaseModel.generateUUID(); Object args[] = new Object[1]; args[0] = newuuid; diff --git a/proxy/code/src/org/fedoraproject/candlepin/api/test/ApiTest.java b/proxy/code/src/org/fedoraproject/candlepin/api/test/ApiTest.java index c05a697..022f310 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/api/test/ApiTest.java +++ b/proxy/code/src/org/fedoraproject/candlepin/api/test/ApiTest.java @@ -14,6 +14,7 @@ import org.fedoraproject.candlepin.model.ObjectFactory; import org.fedoraproject.candlepin.model.Organization; import org.fedoraproject.candlepin.model.User; import org.fedoraproject.candlepin.model.test.OrganizationTest; +import org.fedoraproject.candlepin.model.test.TestUtil; import junit.framework.TestCase; @@ -67,12 +68,12 @@ public class ApiTest extends TestCase { public void testCreateConsumer() throws Exception { String newname = "test-consumer-" + System.currentTimeMillis(); - Organization o = OrganizationTest.createOrg(); + Organization o = TestUtil.createOrg(); ConsumerApi capi = new ConsumerApi(); Form f = new Form(); f.add("name", newname); f.add("type", "standard-system"); - capi.post(f); + capi.create(f); assertNotNull(ObjectFactory.get().lookupByFieldName(Consumer.class, "name", newname)); diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/BaseModel.java b/proxy/code/src/org/fedoraproject/candlepin/model/BaseModel.java index 6d7162c..c474958 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/model/BaseModel.java +++ b/proxy/code/src/org/fedoraproject/candlepin/model/BaseModel.java @@ -18,7 +18,6 @@ import java.util.UUID; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; /** @@ -26,12 +25,10 @@ import javax.xml.bind.annotation.XmlRootElement; * */ @XmlRootElement -@XmlAccessorType(XmlAccessType.FIELD) +@XmlAccessorType(XmlAccessType.PROPERTY) public class BaseModel { - @XmlElement private String uuid; - @XmlElement private String name; /** diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/Entitlement.java b/proxy/code/src/org/fedoraproject/candlepin/model/Entitlement.java index b4157db..c9d76e6 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/model/Entitlement.java +++ b/proxy/code/src/org/fedoraproject/candlepin/model/Entitlement.java @@ -16,7 +16,6 @@ package org.fedoraproject.candlepin.model; import java.util.List; - public class Entitlement extends BaseModel { private Organization org; diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/Organization.java b/proxy/code/src/org/fedoraproject/candlepin/model/Organization.java index 883de5c..3c72c6c 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/model/Organization.java +++ b/proxy/code/src/org/fedoraproject/candlepin/model/Organization.java @@ -17,20 +17,10 @@ package org.fedoraproject.candlepin.model; import java.util.LinkedList; import java.util.List; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement -@XmlAccessorType(XmlAccessType.FIELD) public class Organization extends BaseModel { - @XmlElement private List<Consumer> consumers; - @XmlElement private List<EntitlementPool> entitlementPools; - @XmlElement private List<User> users; /** diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/Product.java b/proxy/code/src/org/fedoraproject/candlepin/model/Product.java index 5dfe7fc..5186592 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/model/Product.java +++ b/proxy/code/src/org/fedoraproject/candlepin/model/Product.java @@ -17,6 +17,12 @@ package org.fedoraproject.candlepin.model; import java.util.LinkedList; import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement +@XmlAccessorType(XmlAccessType.PROPERTY) public class Product extends BaseModel { private List<Product> childProducts; diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/User.java b/proxy/code/src/org/fedoraproject/candlepin/model/User.java index d4a4475..d4c1ad4 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/model/User.java +++ b/proxy/code/src/org/fedoraproject/candlepin/model/User.java @@ -16,18 +16,14 @@ package org.fedoraproject.candlepin.model; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement -@XmlAccessorType(XmlAccessType.FIELD) +@XmlAccessorType(XmlAccessType.PROPERTY) public class User extends BaseModel { - @XmlElement private Organization organization; - @XmlElement private String login; - @XmlElement private String password; /** diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/test/ConsumerTest.java b/proxy/code/src/org/fedoraproject/candlepin/model/test/ConsumerTest.java new file mode 100644 index 0000000..d4b2e85 --- /dev/null +++ b/proxy/code/src/org/fedoraproject/candlepin/model/test/ConsumerTest.java @@ -0,0 +1,39 @@ +/** + * Copyright (c) 2008 Red Hat, Inc. + * + * This software is licensed to you under the GNU General Public License, + * version 2 (GPLv2). There is NO WARRANTY for this software, express or + * implied, including the implied warranties of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 + * along with this software; if not, see + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. + * + * Red Hat trademarks are not licensed under GPLv2. No permission is + * granted to use or replicate Red Hat trademarks that are incorporated + * in this software or its documentation. + */ +package org.fedoraproject.candlepin.model.test; + +import org.fedoraproject.candlepin.model.BaseModel; +import org.fedoraproject.candlepin.model.Consumer; +import org.fedoraproject.candlepin.model.Organization; +import org.fedoraproject.candlepin.model.Product; + +import junit.framework.TestCase; + + +public class ConsumerTest extends TestCase { + + public void testConsumedProduct() throws Exception { + Organization o = TestUtil.createOrg(); + + Product rhel = new Product(BaseModel.generateUUID()); + rhel.setName("Red Hat Enterprise Linux"); + + Consumer c = TestUtil.createConsumer(o); + c.addConsumedProduct(rhel); + + + + } +} diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/test/OrganizationTest.java b/proxy/code/src/org/fedoraproject/candlepin/model/test/OrganizationTest.java index 4dad8e8..70d453d 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/model/test/OrganizationTest.java +++ b/proxy/code/src/org/fedoraproject/candlepin/model/test/OrganizationTest.java @@ -32,13 +32,6 @@ import java.util.List; */ public class OrganizationTest extends TestCase { - public static Organization createOrg() { - String lookedUp = BaseModel.generateUUID(); - Organization o = new Organization(); - o.setUuid(lookedUp); - ObjectFactory.get().store(o); - return o; - } public void testOrg() throws Exception { Organization o = new Organization(BaseModel.generateUUID()); @@ -47,7 +40,7 @@ public class OrganizationTest extends TestCase { public void testLookup() throws Exception { - Organization o = createOrg(); + Organization o = TestUtil.createOrg(); String lookedUp = o.getUuid(); o = (Organization) ObjectFactory.get(). lookupByUUID(Organization.class, lookedUp); @@ -56,7 +49,7 @@ public class OrganizationTest extends TestCase { public void testList() throws Exception { for (int i = 0; i < 10; i++) { - createOrg(); + TestUtil.createOrg(); } List orgs = ObjectFactory.get().listObjectsByClass(Organization.class); diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/test/TestUtil.java b/proxy/code/src/org/fedoraproject/candlepin/model/test/TestUtil.java new file mode 100644 index 0000000..2175863 --- /dev/null +++ b/proxy/code/src/org/fedoraproject/candlepin/model/test/TestUtil.java @@ -0,0 +1,40 @@ +/** + * Copyright (c) 2008 Red Hat, Inc. + * + * This software is licensed to you under the GNU General Public License, + * version 2 (GPLv2). There is NO WARRANTY for this software, express or + * implied, including the implied warranties of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 + * along with this software; if not, see + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. + * + * Red Hat trademarks are not licensed under GPLv2. No permission is + * granted to use or replicate Red Hat trademarks that are incorporated + * in this software or its documentation. + */ +package org.fedoraproject.candlepin.model.test; + +import org.fedoraproject.candlepin.model.BaseModel; +import org.fedoraproject.candlepin.model.Consumer; +import org.fedoraproject.candlepin.model.ObjectFactory; +import org.fedoraproject.candlepin.model.Organization; + + + +public class TestUtil { + + public static Organization createOrg() { + String lookedUp = BaseModel.generateUUID(); + Organization o = new Organization(); + o.setUuid(lookedUp); + ObjectFactory.get().store(o); + return o; + } + + public static Consumer createConsumer(Organization org) { + Consumer c = new Consumer(BaseModel.generateUUID()); + c.setOrganization(org); + ObjectFactory.get().store(c); + return c; + } +} |
