summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/Consumer.java28
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/ConsumerInfo.java16
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/ConsumerType.java8
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/test/ConsumerTest.java2
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/test/ConsumerTypeTest.java2
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/resource/ConsumerResource.java12
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/resource/test/ConsumerResourceTest.java4
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/resource/test/EntitlementResourceTest.java11
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/test/DatabaseTestFixture.java9
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/test/TestUtil.java10
10 files changed, 46 insertions, 56 deletions
diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/Consumer.java b/proxy/code/src/org/fedoraproject/candlepin/model/Consumer.java
index 3e642fd..6b3384b 100644
--- a/proxy/code/src/org/fedoraproject/candlepin/model/Consumer.java
+++ b/proxy/code/src/org/fedoraproject/candlepin/model/Consumer.java
@@ -18,7 +18,6 @@ import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
-import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
@@ -54,6 +53,9 @@ public class Consumer {
private String name;
@ManyToOne
+ private ConsumerType type;
+
+ @ManyToOne
private Owner owner;
// TODO: Is this worth mapping? Do we need a hierarchy amidst consumers?
@@ -69,9 +71,10 @@ public class Consumer {
@Transient // TODO
private ConsumerInfo info;
- public Consumer(String name, Owner owner) {
+ public Consumer(String name, Owner owner, ConsumerType type) {
this.name = name;
this.owner = owner;
+ this.type = type;
this.info = new ConsumerInfo();
this.info.setParent(this); // TODO: ???
@@ -111,28 +114,19 @@ public class Consumer {
}
/**
- * @return the type
+ * @return Returns the type.
*/
public ConsumerType getType() {
- if (this.info == null) {
- return null;
- }
- else {
- return info.getType();
- }
+ return type;
}
-
+
/**
- * Set the type of this Consumer.
- * @param typeIn to set
+ * @param typeIn The type to set.
*/
public void setType(ConsumerType typeIn) {
- if (this.info == null) {
- this.info = new ConsumerInfo();
- }
- this.info.setType(typeIn);
+ type = typeIn;
}
-
+
/**
* @return the parent
*/
diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/ConsumerInfo.java b/proxy/code/src/org/fedoraproject/candlepin/model/ConsumerInfo.java
index 5488041..2394bd4 100644
--- a/proxy/code/src/org/fedoraproject/candlepin/model/ConsumerInfo.java
+++ b/proxy/code/src/org/fedoraproject/candlepin/model/ConsumerInfo.java
@@ -34,7 +34,6 @@ import javax.xml.bind.annotation.XmlTransient;
public class ConsumerInfo {
private Consumer parent;
- private ConsumerType type;
private Map<String, String> metadata;
/**
@@ -53,21 +52,6 @@ public class ConsumerInfo {
}
/**
- * @return Returns the type.
- */
- public ConsumerType getType() {
- return type;
- }
-
- /**
- * @param typeIn The type to set.
- */
- public void setType(ConsumerType typeIn) {
- type = typeIn;
- }
-
-
- /**
* @return Returns the metadata.
*/
public Map<String, String> getMetadata() {
diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/ConsumerType.java b/proxy/code/src/org/fedoraproject/candlepin/model/ConsumerType.java
index a8f18fe..ddb5976 100644
--- a/proxy/code/src/org/fedoraproject/candlepin/model/ConsumerType.java
+++ b/proxy/code/src/org/fedoraproject/candlepin/model/ConsumerType.java
@@ -14,8 +14,6 @@
*/
package org.fedoraproject.candlepin.model;
-import java.io.Serializable;
-
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@@ -32,13 +30,11 @@ import javax.xml.bind.annotation.XmlRootElement;
@XmlAccessorType(XmlAccessType.PROPERTY)
@Entity
@Table(name="cp_consumer_type")
-public class ConsumerType implements Serializable {
+public class ConsumerType {
+ @Id
private String label;
- /**
- * default noarg ctor
- */
public ConsumerType() {
label = null;
}
diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/test/ConsumerTest.java b/proxy/code/src/org/fedoraproject/candlepin/model/test/ConsumerTest.java
index 90c0428..bdc0912 100644
--- a/proxy/code/src/org/fedoraproject/candlepin/model/test/ConsumerTest.java
+++ b/proxy/code/src/org/fedoraproject/candlepin/model/test/ConsumerTest.java
@@ -33,11 +33,13 @@ public class ConsumerTest extends DatabaseTestFixture {
@Before
public void setUpTestObjects() {
em.getTransaction().begin();
+
String ownerName = "Example Corporation";
owner = new Owner(ownerName);
rhel = new Product("label", "Red Hat Enterprise Linux");
em.persist(owner);
em.persist(rhel);
+
em.getTransaction().commit();
}
diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/test/ConsumerTypeTest.java b/proxy/code/src/org/fedoraproject/candlepin/model/test/ConsumerTypeTest.java
index 5ab52e0..96261ba 100644
--- a/proxy/code/src/org/fedoraproject/candlepin/model/test/ConsumerTypeTest.java
+++ b/proxy/code/src/org/fedoraproject/candlepin/model/test/ConsumerTypeTest.java
@@ -29,7 +29,5 @@ public class ConsumerTypeTest {
List<EntityManager> results = em.createQuery("select ct from ConsumerType as ct")
.getResultList();
assertEquals(1, results.size());
-
-
}
}
diff --git a/proxy/code/src/org/fedoraproject/candlepin/resource/ConsumerResource.java b/proxy/code/src/org/fedoraproject/candlepin/resource/ConsumerResource.java
index cce0294..4a87b67 100644
--- a/proxy/code/src/org/fedoraproject/candlepin/resource/ConsumerResource.java
+++ b/proxy/code/src/org/fedoraproject/candlepin/resource/ConsumerResource.java
@@ -73,12 +73,14 @@ public class ConsumerResource extends BaseResource {
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
- public Consumer create(ConsumerInfo ci) {
- System.out.println("metadata: " + ci.getMetadata());
- System.out.println("ci: " + ci);
+ public Consumer create(ConsumerInfo ci, ConsumerType type) {
+// System.out.println("metadata: " + ci.getMetadata());
+// System.out.println("ci: " + ci);
//Owner owner = (Owner) ObjectFactory.get().lookupByUUID(Owner.class, owneruuid);
Consumer c = new Consumer();
c.setName(ci.getMetadataField("name"));
+ c.setType(type);
+ // TODO: Need owner specified here:
//c.setOwner(owner);
c.setInfo(ci);
ObjectFactory.get().store(c);
@@ -91,9 +93,10 @@ public class ConsumerResource extends BaseResource {
*/
@GET @Path("/info")
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
+ // TODO: What consumer?
public ConsumerInfo getInfo() {
ConsumerInfo ci = new ConsumerInfo();
- ci.setType(new ConsumerType("system"));
+// ci.setType(new ConsumerType("system"));
ci.setParent(null);
// Map<String,String> m = new HashMap<String,String>();
// m.put("cpu", "i386");
@@ -101,7 +104,6 @@ public class ConsumerResource extends BaseResource {
// ci.setMetadata(m);
ci.setMetadataField("cpu", "i386");
ci.setMetadataField("hey", "foobar");
- System.out.println(ci.getMetadata());
return ci;
}
diff --git a/proxy/code/src/org/fedoraproject/candlepin/resource/test/ConsumerResourceTest.java b/proxy/code/src/org/fedoraproject/candlepin/resource/test/ConsumerResourceTest.java
index 10a2c15..bb9b6ee 100644
--- a/proxy/code/src/org/fedoraproject/candlepin/resource/test/ConsumerResourceTest.java
+++ b/proxy/code/src/org/fedoraproject/candlepin/resource/test/ConsumerResourceTest.java
@@ -42,8 +42,8 @@ public class ConsumerResourceTest {
ConsumerResource capi = new ConsumerResource();
ConsumerInfo ci = new ConsumerInfo();
ci.setMetadataField("name", newname);
- ci.setType(new ConsumerType("standard-system"));
- capi.create(ci);
+ ConsumerType type = new ConsumerType("standard-system");
+ capi.create(ci, type);
assertNotNull(ObjectFactory.get().lookupByFieldName(Consumer.class,
"name", newname));
}
diff --git a/proxy/code/src/org/fedoraproject/candlepin/resource/test/EntitlementResourceTest.java b/proxy/code/src/org/fedoraproject/candlepin/resource/test/EntitlementResourceTest.java
index 38d264a..7302a4f 100644
--- a/proxy/code/src/org/fedoraproject/candlepin/resource/test/EntitlementResourceTest.java
+++ b/proxy/code/src/org/fedoraproject/candlepin/resource/test/EntitlementResourceTest.java
@@ -54,10 +54,13 @@ public class EntitlementResourceTest extends DatabaseTestFixture {
em.getTransaction().begin();
Owner o = TestUtil.createOwner();
- consumer = TestUtil.createConsumer(o);
+ ConsumerType type = new ConsumerType("some-consumer-type");
+
+ consumer = TestUtil.createConsumer(type, o);
product = TestUtil.createProduct();
em.persist(o);
+ em.persist(type);
em.persist(consumer);
em.persist(product);
em.getTransaction().commit();
@@ -87,11 +90,13 @@ public class EntitlementResourceTest extends DatabaseTestFixture {
assertNotNull(cert);
assertNotNull(consumer.getConsumedProducts());
assertNotNull(consumer.getEntitlements());
+
+ ConsumerType type = new ConsumerType("some-consumer-type");
// Test max membership
boolean failed = false;
for (int i = 0; i < ep.getMaxMembers() + 10; i++) {
- Consumer ci = TestUtil.createConsumer(consumer.getOwner());
+ Consumer ci = TestUtil.createConsumer(type, consumer.getOwner());
f.add("consumer_id", ci.getId());
try {
eapi.entitle(consumer, product);
@@ -133,7 +138,7 @@ public class EntitlementResourceTest extends DatabaseTestFixture {
@Test
public void testListAvailableEntitlements() {
EntitlementResource eapi = new EntitlementResource();
- consumer.setType(new ConsumerType("standard-system"));
+// consumer.setType(new ConsumerType("standard-system"));
Form f = new Form();
f.add("consumer_id", consumer.getId());
diff --git a/proxy/code/src/org/fedoraproject/candlepin/test/DatabaseTestFixture.java b/proxy/code/src/org/fedoraproject/candlepin/test/DatabaseTestFixture.java
index 33eb8f4..c4502e1 100644
--- a/proxy/code/src/org/fedoraproject/candlepin/test/DatabaseTestFixture.java
+++ b/proxy/code/src/org/fedoraproject/candlepin/test/DatabaseTestFixture.java
@@ -6,6 +6,7 @@ import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;
import org.fedoraproject.candlepin.model.Consumer;
+import org.fedoraproject.candlepin.model.ConsumerType;
import org.fedoraproject.candlepin.model.Owner;
import org.fedoraproject.candlepin.model.Product;
import org.fedoraproject.candlepin.util.EntityManagerUtil;
@@ -59,6 +60,14 @@ public class DatabaseTestFixture {
em.remove(c);
}
+ // TODO: Is this right? Or should we pre-populate default defined types, and always
+ // reference these in the tests instead of creating them everywhere?
+ List<ConsumerType> consumerTypes = em.createQuery("from ConsumerType c").
+ getResultList();
+ for (ConsumerType c : consumerTypes) {
+ em.remove(c);
+ }
+
em.getTransaction().commit();
em.close();
}
diff --git a/proxy/code/src/org/fedoraproject/candlepin/test/TestUtil.java b/proxy/code/src/org/fedoraproject/candlepin/test/TestUtil.java
index a1c7874..f71d36a 100644
--- a/proxy/code/src/org/fedoraproject/candlepin/test/TestUtil.java
+++ b/proxy/code/src/org/fedoraproject/candlepin/test/TestUtil.java
@@ -14,15 +14,15 @@
*/
package org.fedoraproject.candlepin.test;
-import org.fedoraproject.candlepin.model.BaseModel;
import org.fedoraproject.candlepin.model.Consumer;
+import org.fedoraproject.candlepin.model.ConsumerType;
import org.fedoraproject.candlepin.model.ObjectFactory;
import org.fedoraproject.candlepin.model.Owner;
import org.fedoraproject.candlepin.model.Product;
// TODO: Do we want to keep this style of creating objects for testing?
-@Deprecated
public class TestUtil {
+
private TestUtil() {
}
@@ -33,8 +33,8 @@ public class TestUtil {
return o;
}
- public static Consumer createConsumer(Owner owner) {
- Consumer c = new Consumer("Consumer Name", owner);
+ public static Consumer createConsumer(ConsumerType type, Owner owner) {
+ Consumer c = new Consumer("Consumer Name", owner, type);
ObjectFactory.get().store(c);
return c;
}
@@ -44,7 +44,7 @@ public class TestUtil {
* @return Consumer
*/
public static Consumer createConsumer() {
- return createConsumer(createOwner());
+ return createConsumer(new ConsumerType("some-consumer-type"), createOwner());
}
public static Product createProduct() {