summaryrefslogtreecommitdiffstats
path: root/proxy/code/src
diff options
context:
space:
mode:
authorMike McCune <mmccune@gibson.pdx.redhat.com>2009-07-10 15:07:48 -0700
committerMike McCune <mmccune@gibson.pdx.redhat.com>2009-07-10 15:07:48 -0700
commit36389f71dc32df70c6c458afd3e9bd5964746740 (patch)
tree1f6819198962916919393d8af42a833fa9833b9b /proxy/code/src
parente84cc16f4c8c44b7ada26b27d55f66dfa3df79f4 (diff)
more better xml annotations and making BaseApi more generic
Diffstat (limited to 'proxy/code/src')
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/api/BaseApi.java10
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/api/test/ApiTest.java5
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/BaseModel.java5
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/Entitlement.java1
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/Organization.java10
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/Product.java6
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/User.java6
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/test/ConsumerTest.java39
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/test/OrganizationTest.java11
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/test/TestUtil.java40
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;
+ }
+}