From 318450b755e8a849e035e8d1b8895c1cfb5b278e Mon Sep 17 00:00:00 2001 From: Devan Goodwin Date: Mon, 7 Dec 2009 09:48:11 -0400 Subject: Change consumer -> consumer info relationship. Previously was using the PrimaryKeyJoinColumn where the consumer and it's info both had exactly the same ID. This made it appear as if the info was disjoint in an ERD however. Changing to a more normal join column. --- proxy/code/src/META-INF/persistence.xml | 2 +- .../code/src/org/fedoraproject/candlepin/model/Consumer.java | 3 +-- .../org/fedoraproject/candlepin/model/test/ConsumerTest.java | 12 +++++++++++- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/proxy/code/src/META-INF/persistence.xml b/proxy/code/src/META-INF/persistence.xml index b41164a..83eda51 100644 --- a/proxy/code/src/META-INF/persistence.xml +++ b/proxy/code/src/META-INF/persistence.xml @@ -12,7 +12,7 @@ - + diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/Consumer.java b/proxy/code/src/org/fedoraproject/candlepin/model/Consumer.java index 6869420..1e07c7b 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/model/Consumer.java +++ b/proxy/code/src/org/fedoraproject/candlepin/model/Consumer.java @@ -30,7 +30,6 @@ import javax.persistence.ManyToMany; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; import javax.persistence.OneToOne; -import javax.persistence.PrimaryKeyJoinColumn; import javax.persistence.Table; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; @@ -98,7 +97,7 @@ public class Consumer { private Set entitlements; @OneToOne(cascade=CascadeType.ALL) - @PrimaryKeyJoinColumn + @JoinColumn(name="consumer_info_id") private ConsumerInfo info; public Consumer(String name, Owner owner, ConsumerType type) { 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 d9a986f..51399e1 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/model/test/ConsumerTest.java +++ b/proxy/code/src/org/fedoraproject/candlepin/model/test/ConsumerTest.java @@ -102,6 +102,11 @@ public class ConsumerTest extends DatabaseTestFixture { @Test public void testMetadataInfo() { beginTransaction(); + Consumer consumer2 = new Consumer("consumer2", owner, consumerType); + consumer2.setMetadataField("foo", "bar2"); + em.persist(consumer2); + commitTransaction(); + Consumer lookedUp = (Consumer)em.find(Consumer.class, consumer.getId()); Map metadata = lookedUp.getInfo().getMetadata(); assertEquals(2, metadata.keySet().size()); @@ -110,7 +115,12 @@ public class ConsumerTest extends DatabaseTestFixture { assertEquals("bar1", metadata.get("foo1")); assertEquals("bar1", lookedUp.getInfo().getMetadataField("foo1")); assertEquals(consumer.getId(), lookedUp.getInfo().getConsumer().getId()); - commitTransaction(); + + Consumer lookedUp2 = (Consumer)em.find(Consumer.class, consumer2.getId()); + metadata = lookedUp2.getInfo().getMetadata(); + assertEquals(1, metadata.keySet().size()); + assertEquals("bar2", metadata.get("foo")); + } @Test -- cgit