diff options
author | Devan Goodwin <dgoodwin@redhat.com> | 2009-11-27 16:01:36 -0400 |
---|---|---|
committer | Devan Goodwin <dgoodwin@redhat.com> | 2009-11-27 16:01:36 -0400 |
commit | f5838c3f453f6b1160ccfaab2f0aee4dfb3ca561 (patch) | |
tree | 114a0844c779262cecf51677ad535db0f238dda2 | |
parent | 445c96e191e83eaa670cb0a00cb00d653f8fb71f (diff) | |
download | candlepin-f5838c3f453f6b1160ccfaab2f0aee4dfb3ca561.tar.gz candlepin-f5838c3f453f6b1160ccfaab2f0aee4dfb3ca561.tar.xz candlepin-f5838c3f453f6b1160ccfaab2f0aee4dfb3ca561.zip |
Consumer.type should be a required column.
5 files changed, 26 insertions, 5 deletions
diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/Consumer.java b/proxy/code/src/org/fedoraproject/candlepin/model/Consumer.java index 45b7d7b..5e11a6a 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/model/Consumer.java +++ b/proxy/code/src/org/fedoraproject/candlepin/model/Consumer.java @@ -59,6 +59,7 @@ public class Consumer { private String name; @ManyToOne + @JoinColumn(nullable=false) private ConsumerType type; @ManyToOne @@ -89,14 +90,14 @@ public class Consumer { this.type = type; this.info = new ConsumerInfo(); - this.info.setParent(this); // TODO: ??? + this.info.setConsumer(this); // TODO: ??? this.consumedProducts = new HashSet<Product>(); this.entitlements = new HashSet<Entitlement>(); } public Consumer() { this.info = new ConsumerInfo(); - this.info.setParent(this); // TODO: ??? + this.info.setConsumer(this); // TODO: ??? this.consumedProducts = new HashSet<Product>(); this.entitlements = new HashSet<Entitlement>(); } diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/ConsumerInfo.java b/proxy/code/src/org/fedoraproject/candlepin/model/ConsumerInfo.java index 11297d9..6ea48bc 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/model/ConsumerInfo.java +++ b/proxy/code/src/org/fedoraproject/candlepin/model/ConsumerInfo.java @@ -91,8 +91,8 @@ public class ConsumerInfo { /** * @param parentIn The parent to set. */ - public void setParent(Consumer parentIn) { - consumer = parentIn; + public void setConsumer(Consumer consumerIn) { + consumer = consumerIn; } /** 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 d633c6a..aedb49d 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/model/test/ConsumerTest.java +++ b/proxy/code/src/org/fedoraproject/candlepin/model/test/ConsumerTest.java @@ -16,6 +16,8 @@ package org.fedoraproject.candlepin.model.test; import java.util.Map; +import javax.persistence.PersistenceException; + import org.fedoraproject.candlepin.model.Consumer; import org.fedoraproject.candlepin.model.ConsumerInfo; import org.fedoraproject.candlepin.model.ConsumerType; @@ -62,6 +64,16 @@ public class ConsumerTest extends DatabaseTestFixture { commitTransaction(); } + + @Test(expected = PersistenceException.class) + public void testConsumerTypeRequired() { + Consumer newConsumer = new Consumer(); + newConsumer.setName("cname"); + newConsumer.setOwner(owner); + beginTransaction(); + em.persist(newConsumer); + commitTransaction(); + } @Test public void testLookup() throws Exception { diff --git a/proxy/code/src/org/fedoraproject/candlepin/resource/ConsumerResource.java b/proxy/code/src/org/fedoraproject/candlepin/resource/ConsumerResource.java index 4a87b67..478c49d 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/resource/ConsumerResource.java +++ b/proxy/code/src/org/fedoraproject/candlepin/resource/ConsumerResource.java @@ -97,7 +97,7 @@ public class ConsumerResource extends BaseResource { public ConsumerInfo getInfo() { ConsumerInfo ci = new ConsumerInfo(); // ci.setType(new ConsumerType("system")); - ci.setParent(null); + ci.setConsumer(null); // Map<String,String> m = new HashMap<String,String>(); // m.put("cpu", "i386"); // m.put("hey", "biteme"); diff --git a/proxy/code/src/org/fedoraproject/candlepin/test/DatabaseTestFixture.java b/proxy/code/src/org/fedoraproject/candlepin/test/DatabaseTestFixture.java index 6f8d474..f6c44e0 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.ConsumerInfo; import org.fedoraproject.candlepin.model.ConsumerType; import org.fedoraproject.candlepin.model.Owner; import org.fedoraproject.candlepin.model.Product; @@ -38,6 +39,8 @@ public class DatabaseTestFixture { */ @After public void cleanDb() { + em.close(); + em = EntityManagerUtil.createEntityManager(); if (!em.getTransaction().isActive()) { beginTransaction(); } @@ -60,6 +63,11 @@ public class DatabaseTestFixture { em.remove(c); } +// List<ConsumerInfo> consumerInfos = em.createQuery("from ConsumerInfo c").getResultList(); +// for (ConsumerInfo c : consumerInfos) { +// 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"). |