Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkmoore2010-01-25 21:04:34 +0000
committerkmoore2010-01-25 21:04:34 +0000
commitdd04862aa2268e15ae6db17ce7da1b24a29e14dc (patch)
treed08b728e3b73c57d797c70ae14a200cd8521aebb /jpa/tests/org.eclipse.jpt.core.tests
parent673b711e00504604204c138f7c926512f25c0d73 (diff)
downloadwebtools.dali-dd04862aa2268e15ae6db17ce7da1b24a29e14dc.tar.gz
webtools.dali-dd04862aa2268e15ae6db17ce7da1b24a29e14dc.tar.xz
webtools.dali-dd04862aa2268e15ae6db17ce7da1b24a29e14dc.zip
299547 - this fixes the order column table default and adds validation for the column
Diffstat (limited to 'jpa/tests/org.eclipse.jpt.core.tests')
-rw-r--r--jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/java/GenericJavaElementCollectionMapping2_0Tests.java26
-rw-r--r--jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/java/GenericJavaManyToManyMapping2_0Tests.java127
-rw-r--r--jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/java/GenericJavaOneToManyMapping2_0Tests.java105
-rw-r--r--jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/orm/GenericOrmElementCollectionMapping2_0Tests.java55
-rw-r--r--jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/orm/GenericOrmManyToManyMapping2_0Tests.java201
-rw-r--r--jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/orm/GenericOrmOneToManyMapping2_0Tests.java146
6 files changed, 658 insertions, 2 deletions
diff --git a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/java/GenericJavaElementCollectionMapping2_0Tests.java b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/java/GenericJavaElementCollectionMapping2_0Tests.java
index 84ba7d0e75..adb6ec613e 100644
--- a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/java/GenericJavaElementCollectionMapping2_0Tests.java
+++ b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/java/GenericJavaElementCollectionMapping2_0Tests.java
@@ -28,6 +28,8 @@ import org.eclipse.jpt.core.context.VersionMapping;
import org.eclipse.jpt.core.context.java.JavaPersistentType;
import org.eclipse.jpt.core.context.persistence.ClassRef;
import org.eclipse.jpt.core.jpa2.context.ElementCollectionMapping2_0;
+import org.eclipse.jpt.core.jpa2.context.OrderColumn2_0;
+import org.eclipse.jpt.core.jpa2.context.Orderable2_0;
import org.eclipse.jpt.core.jpa2.resource.java.ElementCollection2_0Annotation;
import org.eclipse.jpt.core.jpa2.resource.java.JPA2_0;
import org.eclipse.jpt.core.jpa2.resource.java.MapKeyClass2_0Annotation;
@@ -924,4 +926,28 @@ public class GenericJavaElementCollectionMapping2_0Tests extends Generic2_0Conte
elementCollectionMapping.setSpecifiedMapKeyClass(null);
assertEquals("java.lang.Integer", elementCollectionMapping.getMapKeyClass());
}
+
+ public void testOrderColumnDefaults() throws Exception {
+ createTestEntityWithGenericEmbeddableElementCollectionMapping();
+ addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME);
+
+ PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
+ ElementCollectionMapping2_0 elementCollectionMapping = (ElementCollectionMapping2_0) persistentAttribute.getMapping();
+
+ Orderable2_0 orderable = ((Orderable2_0) elementCollectionMapping.getOrderable());
+ assertEquals(false, orderable.isOrderColumnOrdering());
+ assertEquals(true, orderable.isNoOrdering());
+
+ orderable.setOrderColumnOrdering(true);
+ OrderColumn2_0 orderColumn = orderable.getOrderColumn();
+ assertEquals(true, orderable.isOrderColumnOrdering());
+ assertEquals(null, orderColumn.getSpecifiedName());
+ assertEquals("addresses_ORDER", orderColumn.getDefaultName());
+ assertEquals(TYPE_NAME + "_addresses", orderColumn.getTable());
+
+ orderColumn.setSpecifiedName("FOO");
+ assertEquals("FOO", orderColumn.getSpecifiedName());
+ assertEquals("addresses_ORDER", orderColumn.getDefaultName());
+ assertEquals(TYPE_NAME + "_addresses", orderColumn.getTable());
+ }
}
diff --git a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/java/GenericJavaManyToManyMapping2_0Tests.java b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/java/GenericJavaManyToManyMapping2_0Tests.java
index 1ec6bdc70d..ebb2fe3dd7 100644
--- a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/java/GenericJavaManyToManyMapping2_0Tests.java
+++ b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/java/GenericJavaManyToManyMapping2_0Tests.java
@@ -13,8 +13,13 @@ package org.eclipse.jpt.core.tests.internal.jpa2.context.java;
import java.util.Iterator;
import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jpt.core.context.AttributeMapping;
+import org.eclipse.jpt.core.context.Entity;
import org.eclipse.jpt.core.context.ManyToManyMapping;
import org.eclipse.jpt.core.context.PersistentAttribute;
+import org.eclipse.jpt.core.context.java.JavaPersistentType;
+import org.eclipse.jpt.core.jpa2.context.OrderColumn2_0;
+import org.eclipse.jpt.core.jpa2.context.Orderable2_0;
+import org.eclipse.jpt.core.jpa2.resource.java.JPA2_0;
import org.eclipse.jpt.core.jpa2.resource.java.MapKeyClass2_0Annotation;
import org.eclipse.jpt.core.resource.java.JPA;
import org.eclipse.jpt.core.resource.java.JavaResourcePersistentAttribute;
@@ -420,4 +425,126 @@ public class GenericJavaManyToManyMapping2_0Tests
manyToManyMapping.setSpecifiedMapKeyClass(null);
assertEquals("java.lang.Integer", manyToManyMapping.getMapKeyClass());
}
+
+ public void testOrderColumnDefaults() throws Exception {
+ createTestEntityPrintQueue();
+ createTestEntityPrintJob();
+
+ addXmlClassRef(PACKAGE_NAME + ".PrintQueue");
+ addXmlClassRef(PACKAGE_NAME + ".PrintJob");
+ JavaPersistentType printQueuePersistentType = (JavaPersistentType) getPersistenceUnit().getPersistentType("test.PrintQueue");
+ ManyToManyMapping jobsMapping = (ManyToManyMapping) printQueuePersistentType.getAttributeNamed("jobs").getMapping();
+ JavaPersistentType printJobPersistentType = (JavaPersistentType) getPersistenceUnit().getPersistentType("test.PrintJob");
+ ManyToManyMapping queuesMapping = (ManyToManyMapping) printJobPersistentType.getAttributeNamed("queues").getMapping();
+
+ Orderable2_0 jobsOrderable = ((Orderable2_0) jobsMapping.getOrderable());
+ OrderColumn2_0 jobsOrderColumn = jobsOrderable.getOrderColumn();
+ assertEquals(true, jobsOrderable.isOrderColumnOrdering());
+ assertEquals(null, jobsOrderColumn.getSpecifiedName());
+ assertEquals("jobs_ORDER", jobsOrderColumn.getDefaultName());
+ assertEquals("PrintJob_PrintQueue", jobsOrderColumn.getTable()); //the join table name
+ Orderable2_0 queuesOrderable = ((Orderable2_0) queuesMapping.getOrderable());
+ OrderColumn2_0 queuesOrderColumn = queuesOrderable.getOrderColumn();
+ assertEquals(true, queuesOrderable.isOrderColumnOrdering());
+ assertEquals(null, queuesOrderColumn.getSpecifiedName());
+ assertEquals("queues_ORDER", queuesOrderColumn.getDefaultName());
+ assertEquals("PrintJob_PrintQueue", queuesOrderColumn.getTable());
+
+ jobsOrderColumn.setSpecifiedName("FOO");
+ assertEquals("FOO", jobsOrderColumn.getSpecifiedName());
+ assertEquals("jobs_ORDER", jobsOrderColumn.getDefaultName());
+ assertEquals("PrintJob_PrintQueue", jobsOrderColumn.getTable());
+ queuesOrderColumn.setSpecifiedName("BAR");
+ assertEquals("BAR", queuesOrderColumn.getSpecifiedName());
+ assertEquals("queues_ORDER", queuesOrderColumn.getDefaultName());
+ assertEquals("PrintJob_PrintQueue", queuesOrderColumn.getTable());
+
+ ((Entity) printJobPersistentType.getMapping()).getTable().setSpecifiedName("MY_TABLE");
+ assertEquals("MY_TABLE_PrintQueue", jobsOrderColumn.getTable());
+ assertEquals("MY_TABLE_PrintQueue", queuesOrderColumn.getTable());
+
+ ((Entity) printQueuePersistentType.getMapping()).getTable().setSpecifiedName("OTHER_TABLE");
+ assertEquals("MY_TABLE_OTHER_TABLE", jobsOrderColumn.getTable());
+ assertEquals("MY_TABLE_OTHER_TABLE", queuesOrderColumn.getTable());
+
+ queuesMapping.getRelationshipReference().getJoinTableJoiningStrategy().getJoinTable().setSpecifiedName("MY_JOIN_TABLE");
+ assertEquals("MY_JOIN_TABLE", jobsOrderColumn.getTable());
+ assertEquals("MY_JOIN_TABLE", queuesOrderColumn.getTable());
+ }
+
+ private void createTestEntityPrintQueue() throws Exception {
+ SourceWriter sourceWriter = new SourceWriter() {
+ public void appendSourceTo(StringBuilder sb) {
+ sb.append(CR);
+ sb.append("import ");
+ sb.append(JPA.ENTITY);
+ sb.append(";");
+ sb.append(CR);
+ sb.append("import ");
+ sb.append(JPA.ID);
+ sb.append(";");
+ sb.append(CR);
+ sb.append("import ");
+ sb.append(JPA.MANY_TO_MANY);
+ sb.append(";");
+ sb.append(CR);
+ sb.append("import ");
+ sb.append(JPA2_0.ORDER_COLUMN);
+ sb.append(";");
+ sb.append(CR);
+ sb.append("@Entity");
+ sb.append(CR);
+ sb.append("public class ").append("PrintQueue").append(" ");
+ sb.append("{").append(CR);
+ sb.append(CR);
+ sb.append(" @Id").append(CR);
+ sb.append(" private String name;").append(CR);
+ sb.append(CR);
+ sb.append(" @ManyToMany(mappedBy=\"queues\")").append(CR);
+ sb.append(" @OrderColumn").append(CR);
+ sb.append(" private java.util.List<PrintJob> jobs;").append(CR);
+ sb.append(CR);
+ sb.append("}").append(CR);
+ }
+ };
+ this.javaProject.createCompilationUnit(PACKAGE_NAME, "PrintQueue.java", sourceWriter);
+ }
+
+ private void createTestEntityPrintJob() throws Exception {
+ SourceWriter sourceWriter = new SourceWriter() {
+ public void appendSourceTo(StringBuilder sb) {
+ sb.append(CR);
+ sb.append("import ");
+ sb.append(JPA.ENTITY);
+ sb.append(";");
+ sb.append(CR);
+ sb.append("import ");
+ sb.append(JPA.ID);
+ sb.append(";");
+ sb.append(CR);
+ sb.append("import ");
+ sb.append(JPA.MANY_TO_MANY);
+ sb.append(";");
+ sb.append(CR);
+ sb.append("import ");
+ sb.append(JPA2_0.ORDER_COLUMN);
+ sb.append(";");
+ sb.append(CR);
+ sb.append("@Entity");
+ sb.append(CR);
+ sb.append("public class ").append("PrintJob").append(" ");
+ sb.append("{").append(CR);
+ sb.append(CR);
+ sb.append(" @Id").append(CR);
+ sb.append(" private int id;").append(CR);
+ sb.append(CR);
+ sb.append(" @ManyToMany").append(CR);
+ sb.append(" @OrderColumn").append(CR);
+ sb.append(" private java.util.List<PrintQueue> queues;").append(CR);
+ sb.append(CR);
+ sb.append("}").append(CR);
+ }
+ };
+ this.javaProject.createCompilationUnit(PACKAGE_NAME, "PrintJob.java", sourceWriter);
+ }
}
diff --git a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/java/GenericJavaOneToManyMapping2_0Tests.java b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/java/GenericJavaOneToManyMapping2_0Tests.java
index 790b506ed5..cac8b37c78 100644
--- a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/java/GenericJavaOneToManyMapping2_0Tests.java
+++ b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/java/GenericJavaOneToManyMapping2_0Tests.java
@@ -13,11 +13,16 @@ import java.util.Iterator;
import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jpt.core.context.AttributeMapping;
+import org.eclipse.jpt.core.context.Entity;
import org.eclipse.jpt.core.context.OneToManyMapping;
import org.eclipse.jpt.core.context.PersistentAttribute;
+import org.eclipse.jpt.core.context.java.JavaPersistentType;
import org.eclipse.jpt.core.jpa2.context.OneToManyMapping2_0;
+import org.eclipse.jpt.core.jpa2.context.OrderColumn2_0;
+import org.eclipse.jpt.core.jpa2.context.Orderable2_0;
import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovable2_0;
import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovalHolder2_0;
+import org.eclipse.jpt.core.jpa2.resource.java.JPA2_0;
import org.eclipse.jpt.core.jpa2.resource.java.MapKeyClass2_0Annotation;
import org.eclipse.jpt.core.jpa2.resource.java.OneToMany2_0Annotation;
import org.eclipse.jpt.core.resource.java.JPA;
@@ -588,4 +593,104 @@ public class GenericJavaOneToManyMapping2_0Tests
oneToManyMapping.setSpecifiedMapKeyClass(null);
assertEquals("java.lang.Integer", oneToManyMapping.getMapKeyClass());
}
+
+ public void testOrderColumnDefaults() throws Exception {
+ createTestEntityPrintQueue();
+ createTestEntityPrintJob();
+
+ addXmlClassRef(PACKAGE_NAME + ".PrintQueue");
+ addXmlClassRef(PACKAGE_NAME + ".PrintJob");
+
+ OneToManyMapping oneToManyMapping = (OneToManyMapping) getJavaPersistentType().getAttributeNamed("jobs").getMapping();
+
+ Orderable2_0 orderable = ((Orderable2_0) oneToManyMapping.getOrderable());
+ OrderColumn2_0 orderColumn = orderable.getOrderColumn();
+ assertEquals(true, orderable.isOrderColumnOrdering());
+ assertEquals(null, orderColumn.getSpecifiedName());
+ assertEquals("jobs_ORDER", orderColumn.getDefaultName());
+ assertEquals("PrintJob", orderColumn.getTable());
+
+ orderColumn.setSpecifiedName("FOO");
+ assertEquals("FOO", orderColumn.getSpecifiedName());
+ assertEquals("jobs_ORDER", orderColumn.getDefaultName());
+ assertEquals("PrintJob", orderColumn.getTable());
+
+ JavaPersistentType printJobPersistentType = (JavaPersistentType) getPersistenceUnit().getPersistentType("test.PrintJob");
+ ((Entity) printJobPersistentType.getMapping()).getTable().setSpecifiedName("MY_TABLE");
+
+ assertEquals("MY_TABLE", orderColumn.getTable());
+ }
+
+ private void createTestEntityPrintQueue() throws Exception {
+ SourceWriter sourceWriter = new SourceWriter() {
+ public void appendSourceTo(StringBuilder sb) {
+ sb.append(CR);
+ sb.append("import ");
+ sb.append(JPA.ENTITY);
+ sb.append(";");
+ sb.append(CR);
+ sb.append("import ");
+ sb.append(JPA.ID);
+ sb.append(";");
+ sb.append(CR);
+ sb.append("import ");
+ sb.append(JPA.ONE_TO_MANY);
+ sb.append(";");
+ sb.append(CR);
+ sb.append("import ");
+ sb.append(JPA2_0.ORDER_COLUMN);
+ sb.append(";");
+ sb.append(CR);
+ sb.append(CR);
+ sb.append("@Entity");
+ sb.append(CR);
+ sb.append("public class ").append("PrintQueue").append(" ");
+ sb.append("{").append(CR);
+ sb.append(CR);
+ sb.append(" @Id").append(CR);
+ sb.append(" private String name;").append(CR);
+ sb.append(CR);
+ sb.append(" @OneToMany(mappedBy=\"queue\")").append(CR);
+ sb.append(" @OrderColumn").append(CR);
+ sb.append(" private java.util.List<PrintJob> jobs;").append(CR);
+ sb.append(CR);
+ sb.append("}").append(CR);
+ }
+ };
+ this.javaProject.createCompilationUnit(PACKAGE_NAME, "PrintQueue.java", sourceWriter);
+ }
+
+ private void createTestEntityPrintJob() throws Exception {
+ SourceWriter sourceWriter = new SourceWriter() {
+ public void appendSourceTo(StringBuilder sb) {
+ sb.append(CR);
+ sb.append("import ");
+ sb.append(JPA.ENTITY);
+ sb.append(";");
+ sb.append(CR);
+ sb.append("import ");
+ sb.append(JPA.ID);
+ sb.append(";");
+ sb.append(CR);
+ sb.append("import ");
+ sb.append(JPA.MANY_TO_ONE);
+ sb.append(";");
+ sb.append(CR);
+ sb.append("@Entity");
+ sb.append(CR);
+ sb.append("public class ").append("PrintJob").append(" ");
+ sb.append("{").append(CR);
+ sb.append(CR);
+ sb.append(" @Id").append(CR);
+ sb.append(" private int id;").append(CR);
+ sb.append(CR);
+ sb.append(" @ManyToOne").append(CR);
+ sb.append(" private PrintQueue queue;").append(CR);
+ sb.append(CR);
+ sb.append("}").append(CR);
+ }
+ };
+ this.javaProject.createCompilationUnit(PACKAGE_NAME, "PrintJob.java", sourceWriter);
+ }
+
}
diff --git a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/orm/GenericOrmElementCollectionMapping2_0Tests.java b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/orm/GenericOrmElementCollectionMapping2_0Tests.java
index 30a8367873..a53aa1eb5d 100644
--- a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/orm/GenericOrmElementCollectionMapping2_0Tests.java
+++ b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/orm/GenericOrmElementCollectionMapping2_0Tests.java
@@ -28,6 +28,8 @@ import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
import org.eclipse.jpt.core.context.orm.OrmPersistentType;
import org.eclipse.jpt.core.jpa2.MappingKeys2_0;
import org.eclipse.jpt.core.jpa2.context.ElementCollectionMapping2_0;
+import org.eclipse.jpt.core.jpa2.context.OrderColumn2_0;
+import org.eclipse.jpt.core.jpa2.context.Orderable2_0;
import org.eclipse.jpt.core.jpa2.context.java.JavaElementCollectionMapping2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmElementCollectionMapping2_0;
import org.eclipse.jpt.core.jpa2.resource.java.JPA2_0;
@@ -876,4 +878,57 @@ public class GenericOrmElementCollectionMapping2_0Tests extends Generic2_0Contex
assertNull(ormElementCollectionMapping.getSpecifiedMapKeyClass());
assertNull(elementCollection.getMapKeyClass());
}
+
+ public void testOrderColumnDefaults() throws Exception {
+ createTestEntityWithGenericBasicElementCollectionMapping();
+ OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME);
+ OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys2_0.ELEMENT_COLLECTION_ATTRIBUTE_MAPPING_KEY, "addresses");
+ OrmElementCollectionMapping2_0 elementCollectionMapping = (OrmElementCollectionMapping2_0) ormPersistentAttribute.getMapping();
+
+ Orderable2_0 orderable = ((Orderable2_0) elementCollectionMapping.getOrderable());
+ assertEquals(false, orderable.isOrderColumnOrdering());
+ assertEquals(true, orderable.isNoOrdering());
+
+ orderable.setOrderColumnOrdering(true);
+ OrderColumn2_0 orderColumn = orderable.getOrderColumn();
+ assertEquals(true, orderable.isOrderColumnOrdering());
+ assertEquals(null, orderColumn.getSpecifiedName());
+ assertEquals("addresses_ORDER", orderColumn.getDefaultName());
+ assertEquals(TYPE_NAME + "_addresses", orderColumn.getTable());
+
+ orderColumn.setSpecifiedName("FOO");
+ assertEquals("FOO", orderColumn.getSpecifiedName());
+ assertEquals("addresses_ORDER", orderColumn.getDefaultName());
+ assertEquals(TYPE_NAME + "_addresses", orderColumn.getTable());
+ }
+
+ public void testVirtualOrderColumn() throws Exception {
+ createTestEntityWithGenericBasicElementCollectionMapping();
+ OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME);
+ OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys2_0.ELEMENT_COLLECTION_ATTRIBUTE_MAPPING_KEY, "addresses");
+ OrmElementCollectionMapping2_0 elementCollectionMapping = (OrmElementCollectionMapping2_0) ormPersistentAttribute.getMapping();
+
+ Orderable2_0 orderable = ((Orderable2_0) elementCollectionMapping.getOrderable());
+ assertEquals(false, orderable.isOrderColumnOrdering());
+ assertEquals(true, orderable.isNoOrdering());
+
+ JavaElementCollectionMapping2_0 javaElementCollectionMapping = (JavaElementCollectionMapping2_0) ormPersistentAttribute.getJavaPersistentAttribute().getMapping();
+ ((Orderable2_0) javaElementCollectionMapping.getOrderable()).setOrderColumnOrdering(true);
+
+ assertEquals(false, orderable.isOrderColumnOrdering());
+ assertEquals(true, orderable.isNoOrdering());
+
+ ormPersistentAttribute.makeVirtual();
+ ormPersistentAttribute = ormPersistentType.getAttributeNamed("addresses");
+ elementCollectionMapping = (OrmElementCollectionMapping2_0) ormPersistentAttribute.getMapping();
+ orderable = ((Orderable2_0) elementCollectionMapping.getOrderable());
+ assertEquals(true, orderable.isOrderColumnOrdering());
+ assertEquals(false, orderable.isNoOrdering());
+ assertEquals(TYPE_NAME + "_addresses", orderable.getOrderColumn().getTable());
+ assertEquals("addresses_ORDER", orderable.getOrderColumn().getName());
+
+ ((Orderable2_0) javaElementCollectionMapping.getOrderable()).getOrderColumn().setSpecifiedName("FOO");
+ assertEquals(TYPE_NAME + "_addresses", orderable.getOrderColumn().getTable());
+ assertEquals("FOO", orderable.getOrderColumn().getName());
+ }
} \ No newline at end of file
diff --git a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/orm/GenericOrmManyToManyMapping2_0Tests.java b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/orm/GenericOrmManyToManyMapping2_0Tests.java
index 978800e372..4fdf3a7886 100644
--- a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/orm/GenericOrmManyToManyMapping2_0Tests.java
+++ b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/orm/GenericOrmManyToManyMapping2_0Tests.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Oracle.
+ * Copyright (c) 2009, 2010 Oracle.
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License v1.0 which
* accompanies this distribution, and is available at
@@ -14,12 +14,16 @@ import java.util.Iterator;
import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jpt.core.MappingKeys;
import org.eclipse.jpt.core.context.AttributeMapping;
+import org.eclipse.jpt.core.context.Entity;
import org.eclipse.jpt.core.context.ManyToManyMapping;
import org.eclipse.jpt.core.context.PersistentAttribute;
import org.eclipse.jpt.core.context.java.JavaManyToManyMapping;
import org.eclipse.jpt.core.context.orm.OrmManyToManyMapping;
import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
import org.eclipse.jpt.core.context.orm.OrmPersistentType;
+import org.eclipse.jpt.core.jpa2.context.OrderColumn2_0;
+import org.eclipse.jpt.core.jpa2.context.Orderable2_0;
+import org.eclipse.jpt.core.jpa2.resource.java.JPA2_0;
import org.eclipse.jpt.core.resource.java.JPA;
import org.eclipse.jpt.core.resource.orm.OrmFactory;
import org.eclipse.jpt.core.resource.orm.XmlManyToMany;
@@ -427,4 +431,199 @@ public class GenericOrmManyToManyMapping2_0Tests
assertNull(ormManyToManyMapping.getSpecifiedMapKeyClass());
assertNull(manyToMany.getMapKeyClass());
}
+
+ public void testOrderColumnDefaults() throws Exception {
+ createTestEntityPrintQueue();
+ createTestEntityPrintJob();
+
+ OrmPersistentType printQueuePersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".PrintQueue");
+ OrmPersistentAttribute jobsPersistentAttribute = printQueuePersistentType.addSpecifiedAttribute(MappingKeys.MANY_TO_MANY_ATTRIBUTE_MAPPING_KEY, "jobs");
+ OrmManyToManyMapping jobsMapping = (OrmManyToManyMapping) jobsPersistentAttribute.getMapping();
+ jobsMapping.getRelationshipReference().setMappedByJoiningStrategy();
+ jobsMapping.getRelationshipReference().getMappedByJoiningStrategy().setMappedByAttribute("queues");
+
+ OrmPersistentType printJobPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".PrintJob");
+ OrmPersistentAttribute queuesPersistentAttribute = printJobPersistentType.addSpecifiedAttribute(MappingKeys.MANY_TO_MANY_ATTRIBUTE_MAPPING_KEY, "queues");
+ OrmManyToManyMapping queuesMapping = (OrmManyToManyMapping) queuesPersistentAttribute.getMapping();
+
+ getOrmXmlResource().save(null);
+ Orderable2_0 jobsOrderable = ((Orderable2_0) jobsMapping.getOrderable());
+ OrderColumn2_0 jobsOrderColumn = jobsOrderable.getOrderColumn();
+ assertEquals(false, jobsOrderable.isOrderColumnOrdering());
+ assertEquals(true, jobsOrderable.isNoOrdering());
+ Orderable2_0 queuesOrderable = ((Orderable2_0) queuesMapping.getOrderable());
+ OrderColumn2_0 queuesOrderColumn = queuesOrderable.getOrderColumn();
+ assertEquals(false, queuesOrderable.isOrderColumnOrdering());
+ assertEquals(true, queuesOrderable.isNoOrdering());
+
+
+ jobsOrderable.setOrderColumnOrdering(true);
+ jobsOrderColumn = jobsOrderable.getOrderColumn();
+ assertEquals(true, jobsOrderable.isOrderColumnOrdering());
+ assertEquals(null, jobsOrderColumn.getSpecifiedName());
+ assertEquals("jobs_ORDER", jobsOrderColumn.getDefaultName());
+ assertEquals("PrintJob_PrintQueue", jobsOrderColumn.getTable());
+ queuesOrderable.setOrderColumnOrdering(true);
+ queuesOrderColumn = queuesOrderable.getOrderColumn();
+ assertEquals(true, queuesOrderable.isOrderColumnOrdering());
+ assertEquals(null, queuesOrderColumn.getSpecifiedName());
+ assertEquals("queues_ORDER", queuesOrderColumn.getDefaultName());
+ assertEquals("PrintJob_PrintQueue", queuesOrderColumn.getTable());
+
+ jobsOrderColumn.setSpecifiedName("FOO");
+ assertEquals("FOO", jobsOrderColumn.getSpecifiedName());
+ assertEquals("jobs_ORDER", jobsOrderColumn.getDefaultName());
+ assertEquals("PrintJob_PrintQueue", jobsOrderColumn.getTable());
+ queuesOrderColumn.setSpecifiedName("BAR");
+ assertEquals("BAR", queuesOrderColumn.getSpecifiedName());
+ assertEquals("queues_ORDER", queuesOrderColumn.getDefaultName());
+ assertEquals("PrintJob_PrintQueue", queuesOrderColumn.getTable());
+
+
+ ((Entity) printJobPersistentType.getMapping()).getTable().setSpecifiedName("MY_TABLE");
+ assertEquals("MY_TABLE_PrintQueue", jobsOrderColumn.getTable());
+ assertEquals("MY_TABLE_PrintQueue", queuesOrderColumn.getTable());
+
+ ((Entity) printQueuePersistentType.getMapping()).getTable().setSpecifiedName("OTHER_TABLE");
+ assertEquals("MY_TABLE_OTHER_TABLE", jobsOrderColumn.getTable());
+ assertEquals("MY_TABLE_OTHER_TABLE", queuesOrderColumn.getTable());
+
+ queuesMapping.getRelationshipReference().getJoinTableJoiningStrategy().getJoinTable().setSpecifiedName("MY_JOIN_TABLE");
+ assertEquals("MY_JOIN_TABLE", jobsOrderColumn.getTable());
+ assertEquals("MY_JOIN_TABLE", queuesOrderColumn.getTable());
+ }
+
+ public void testVirtualOrderColumn() throws Exception {
+ createTestEntityPrintQueue();
+ createTestEntityPrintJob();
+
+ OrmPersistentType printQueuePersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".PrintQueue");
+ OrmPersistentAttribute jobsPersistentAttribute = printQueuePersistentType.addSpecifiedAttribute(MappingKeys.MANY_TO_MANY_ATTRIBUTE_MAPPING_KEY, "jobs");
+ OrmManyToManyMapping jobsMapping = (OrmManyToManyMapping) jobsPersistentAttribute.getMapping();
+
+ OrmPersistentType printJobPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".PrintJob");
+ OrmPersistentAttribute queuesPersistentAttribute = printJobPersistentType.addSpecifiedAttribute(MappingKeys.MANY_TO_MANY_ATTRIBUTE_MAPPING_KEY, "queues");
+ OrmManyToManyMapping queuesMapping = (OrmManyToManyMapping) queuesPersistentAttribute.getMapping();
+
+ Orderable2_0 jobsOrderable = ((Orderable2_0) jobsMapping.getOrderable());
+ assertEquals(false, jobsOrderable.isOrderColumnOrdering());
+ assertEquals(true, jobsOrderable.isNoOrdering());
+ Orderable2_0 queuesOrderable = ((Orderable2_0) queuesMapping.getOrderable());
+ assertEquals(false, queuesOrderable.isOrderColumnOrdering());
+ assertEquals(true, queuesOrderable.isNoOrdering());
+
+ JavaManyToManyMapping javaJobsManyToManyMapping = (JavaManyToManyMapping) jobsPersistentAttribute.getJavaPersistentAttribute().getMapping();
+ ((Orderable2_0) javaJobsManyToManyMapping.getOrderable()).setOrderColumnOrdering(true);
+
+ assertEquals(false, jobsOrderable.isOrderColumnOrdering());
+ assertEquals(true, jobsOrderable.isNoOrdering());
+ assertEquals(false, queuesOrderable.isOrderColumnOrdering());
+ assertEquals(true, queuesOrderable.isNoOrdering());
+
+ jobsPersistentAttribute.makeVirtual();
+ jobsPersistentAttribute = printQueuePersistentType.getAttributeNamed("jobs");
+ jobsMapping = (OrmManyToManyMapping) jobsPersistentAttribute.getMapping();
+ jobsOrderable = ((Orderable2_0) jobsMapping.getOrderable());
+ assertEquals(true, jobsOrderable.isOrderColumnOrdering());
+ assertEquals(false, jobsOrderable.isNoOrdering());
+ assertEquals("PrintJob_PrintQueue", jobsOrderable.getOrderColumn().getTable());
+ assertEquals("jobs_ORDER", jobsOrderable.getOrderColumn().getName());
+ queuesPersistentAttribute.makeVirtual();
+ queuesPersistentAttribute = printJobPersistentType.getAttributeNamed("queues");
+ queuesMapping = (OrmManyToManyMapping) queuesPersistentAttribute.getMapping();
+ queuesOrderable = ((Orderable2_0) queuesMapping.getOrderable());
+ assertEquals(true, queuesOrderable.isOrderColumnOrdering());
+ assertEquals(false, queuesOrderable.isNoOrdering());
+ assertEquals("PrintJob_PrintQueue", queuesOrderable.getOrderColumn().getTable());
+ assertEquals("queues_ORDER", queuesOrderable.getOrderColumn().getName());
+
+ ((Orderable2_0) javaJobsManyToManyMapping.getOrderable()).getOrderColumn().setSpecifiedName("FOO");
+ assertEquals("PrintJob_PrintQueue", jobsOrderable.getOrderColumn().getTable());
+ assertEquals("FOO", jobsOrderable.getOrderColumn().getName());
+ assertEquals("PrintJob_PrintQueue", queuesOrderable.getOrderColumn().getTable());
+ assertEquals("queues_ORDER", queuesOrderable.getOrderColumn().getName());
+
+ JavaManyToManyMapping javaQueuesManyToManyMapping = (JavaManyToManyMapping) queuesPersistentAttribute.getJavaPersistentAttribute().getMapping();
+ javaQueuesManyToManyMapping.getRelationshipReference().getJoinTableJoiningStrategy().getJoinTable().setSpecifiedName("JOIN_TABLE");
+ assertEquals("JOIN_TABLE", jobsOrderable.getOrderColumn().getTable());
+ assertEquals("FOO", jobsOrderable.getOrderColumn().getName());
+ assertEquals("JOIN_TABLE", queuesOrderable.getOrderColumn().getTable());
+ assertEquals("queues_ORDER", queuesOrderable.getOrderColumn().getName());
+ }
+
+ private void createTestEntityPrintQueue() throws Exception {
+ SourceWriter sourceWriter = new SourceWriter() {
+ public void appendSourceTo(StringBuilder sb) {
+ sb.append(CR);
+ sb.append("import ");
+ sb.append(JPA.ENTITY);
+ sb.append(";");
+ sb.append(CR);
+ sb.append("import ");
+ sb.append(JPA.ID);
+ sb.append(";");
+ sb.append(CR);
+ sb.append("import ");
+ sb.append(JPA.MANY_TO_MANY);
+ sb.append(";");
+ sb.append(CR);
+ sb.append("import ");
+ sb.append(JPA2_0.ORDER_COLUMN);
+ sb.append(";");
+ sb.append(CR);
+ sb.append("@Entity");
+ sb.append(CR);
+ sb.append("public class ").append("PrintQueue").append(" ");
+ sb.append("{").append(CR);
+ sb.append(CR);
+ sb.append(" @Id").append(CR);
+ sb.append(" private String name;").append(CR);
+ sb.append(CR);
+ sb.append(" @ManyToMany(mappedBy=\"queues\")").append(CR);
+ sb.append(" @OrderColumn").append(CR);
+ sb.append(" private java.util.List<test.PrintJob> jobs;").append(CR);
+ sb.append(CR);
+ sb.append("}").append(CR);
+ }
+ };
+ this.javaProject.createCompilationUnit(PACKAGE_NAME, "PrintQueue.java", sourceWriter);
+ }
+
+ private void createTestEntityPrintJob() throws Exception {
+ SourceWriter sourceWriter = new SourceWriter() {
+ public void appendSourceTo(StringBuilder sb) {
+ sb.append(CR);
+ sb.append("import ");
+ sb.append(JPA.ENTITY);
+ sb.append(";");
+ sb.append(CR);
+ sb.append("import ");
+ sb.append(JPA.ID);
+ sb.append(";");
+ sb.append(CR);
+ sb.append("import ");
+ sb.append(JPA.MANY_TO_MANY);
+ sb.append(";");
+ sb.append(CR);
+ sb.append("import ");
+ sb.append(JPA2_0.ORDER_COLUMN);
+ sb.append(";");
+ sb.append(CR);
+ sb.append("@Entity");
+ sb.append(CR);
+ sb.append("public class ").append("PrintJob").append(" ");
+ sb.append("{").append(CR);
+ sb.append(CR);
+ sb.append(" @Id").append(CR);
+ sb.append(" private int id;").append(CR);
+ sb.append(CR);
+ sb.append(" @ManyToMany").append(CR);
+ sb.append(" @OrderColumn").append(CR);
+ sb.append(" private java.util.List<test.PrintQueue> queues;").append(CR);
+ sb.append(CR);
+ sb.append("}").append(CR);
+ }
+ };
+ this.javaProject.createCompilationUnit(PACKAGE_NAME, "PrintJob.java", sourceWriter);
+ }
}
diff --git a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/orm/GenericOrmOneToManyMapping2_0Tests.java b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/orm/GenericOrmOneToManyMapping2_0Tests.java
index e3931e1cbe..87afa3bbdb 100644
--- a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/orm/GenericOrmOneToManyMapping2_0Tests.java
+++ b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/orm/GenericOrmOneToManyMapping2_0Tests.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2009 Oracle. All rights reserved.
+* Copyright (c) 2009, 2010 Oracle. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0, which accompanies this distribution
* and is available at http://www.eclipse.org/legal/epl-v10.html.
@@ -13,6 +13,7 @@ import java.util.Iterator;
import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jpt.core.MappingKeys;
import org.eclipse.jpt.core.context.AttributeMapping;
+import org.eclipse.jpt.core.context.Entity;
import org.eclipse.jpt.core.context.OneToManyMapping;
import org.eclipse.jpt.core.context.PersistentAttribute;
import org.eclipse.jpt.core.context.java.JavaOneToManyMapping;
@@ -20,9 +21,12 @@ import org.eclipse.jpt.core.context.orm.OrmOneToManyMapping;
import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
import org.eclipse.jpt.core.context.orm.OrmPersistentType;
import org.eclipse.jpt.core.jpa2.context.OneToManyMapping2_0;
+import org.eclipse.jpt.core.jpa2.context.OrderColumn2_0;
+import org.eclipse.jpt.core.jpa2.context.Orderable2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmOneToManyMapping2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmOrphanRemovable2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmOrphanRemovalHolder2_0;
+import org.eclipse.jpt.core.jpa2.resource.java.JPA2_0;
import org.eclipse.jpt.core.resource.java.JPA;
import org.eclipse.jpt.core.resource.orm.OrmFactory;
import org.eclipse.jpt.core.resource.orm.XmlOneToMany;
@@ -473,4 +477,144 @@ public class GenericOrmOneToManyMapping2_0Tests
assertNull(ormOneToManyMapping.getSpecifiedMapKeyClass());
assertNull(oneToMany.getMapKeyClass());
}
+
+ public void testOrderColumnDefaults() throws Exception {
+ createTestEntityPrintQueue();
+ createTestEntityPrintJob();
+
+ OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".PrintQueue");
+ getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".PrintJob");
+ OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY, "jobs");
+ OrmOneToManyMapping oneToManyMapping = (OrmOneToManyMapping) ormPersistentAttribute.getMapping();
+ oneToManyMapping.getRelationshipReference().setMappedByJoiningStrategy();
+ oneToManyMapping.getRelationshipReference().getMappedByJoiningStrategy().setMappedByAttribute("queue");
+
+ Orderable2_0 orderable = ((Orderable2_0) oneToManyMapping.getOrderable());
+ assertEquals(false, orderable.isOrderColumnOrdering());
+ assertEquals(true, orderable.isNoOrdering());
+
+ orderable.setOrderColumnOrdering(true);
+ OrderColumn2_0 orderColumn = orderable.getOrderColumn();
+ assertEquals(true, orderable.isOrderColumnOrdering());
+ assertEquals(null, orderColumn.getSpecifiedName());
+ assertEquals("jobs_ORDER", orderColumn.getDefaultName());
+ assertEquals("PrintJob", orderColumn.getTable());
+
+ orderColumn.setSpecifiedName("FOO");
+ assertEquals("FOO", orderColumn.getSpecifiedName());
+ assertEquals("jobs_ORDER", orderColumn.getDefaultName());
+ assertEquals("PrintJob", orderColumn.getTable());
+
+ OrmPersistentType printJobPersistentType = (OrmPersistentType) getPersistenceUnit().getPersistentType("test.PrintJob");
+ ((Entity) printJobPersistentType.getMapping()).getTable().setSpecifiedName("MY_TABLE");
+
+ assertEquals("MY_TABLE", orderColumn.getTable());
+ }
+
+ public void testVirtualOrderColumn() throws Exception {
+ createTestEntityPrintQueue();
+ createTestEntityPrintJob();
+
+ OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".PrintQueue");
+ getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".PrintJob");
+ OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY, "jobs");
+ OrmOneToManyMapping oneToManyMapping = (OrmOneToManyMapping) ormPersistentAttribute.getMapping();
+
+ Orderable2_0 orderable = ((Orderable2_0) oneToManyMapping.getOrderable());
+ assertEquals(false, orderable.isOrderColumnOrdering());
+ assertEquals(true, orderable.isNoOrdering());
+
+ JavaOneToManyMapping javaOneToManyMapping = (JavaOneToManyMapping) ormPersistentAttribute.getJavaPersistentAttribute().getMapping();
+ ((Orderable2_0) javaOneToManyMapping.getOrderable()).setOrderColumnOrdering(true);
+
+ assertEquals(false, orderable.isOrderColumnOrdering());
+ assertEquals(true, orderable.isNoOrdering());
+
+ ormPersistentAttribute.makeVirtual();
+ ormPersistentAttribute = ormPersistentType.getAttributeNamed("jobs");
+ oneToManyMapping = (OrmOneToManyMapping) ormPersistentAttribute.getMapping();
+ orderable = ((Orderable2_0) oneToManyMapping.getOrderable());
+ assertEquals(true, orderable.isOrderColumnOrdering());
+ assertEquals(false, orderable.isNoOrdering());
+ assertEquals("PrintJob", orderable.getOrderColumn().getTable());
+ assertEquals("jobs_ORDER", orderable.getOrderColumn().getName());
+
+ ((Orderable2_0) javaOneToManyMapping.getOrderable()).getOrderColumn().setSpecifiedName("FOO");
+ assertEquals("PrintJob", orderable.getOrderColumn().getTable());
+ assertEquals("FOO", orderable.getOrderColumn().getName());
+ }
+
+
+ private void createTestEntityPrintQueue() throws Exception {
+ SourceWriter sourceWriter = new SourceWriter() {
+ public void appendSourceTo(StringBuilder sb) {
+ sb.append(CR);
+ sb.append("import ");
+ sb.append(JPA.ENTITY);
+ sb.append(";");
+ sb.append(CR);
+ sb.append("import ");
+ sb.append(JPA.ID);
+ sb.append(";");
+ sb.append(CR);
+ sb.append("import ");
+ sb.append(JPA.ONE_TO_MANY);
+ sb.append(";");
+ sb.append(CR);
+ sb.append("import ");
+ sb.append(JPA2_0.ORDER_COLUMN);
+ sb.append(";");
+ sb.append(CR);
+ sb.append(CR);
+ sb.append("@Entity");
+ sb.append(CR);
+ sb.append("public class ").append("PrintQueue").append(" ");
+ sb.append("{").append(CR);
+ sb.append(CR);
+ sb.append(" @Id").append(CR);
+ sb.append(" private String name;").append(CR);
+ sb.append(CR);
+ sb.append(" @OneToMany(mappedBy=\"queue\")").append(CR);
+ sb.append(" @OrderColumn").append(CR);
+ sb.append(" private java.util.List<PrintJob> jobs;").append(CR);
+ sb.append(CR);
+ sb.append("}").append(CR);
+ }
+ };
+ this.javaProject.createCompilationUnit(PACKAGE_NAME, "PrintQueue.java", sourceWriter);
+ }
+
+ private void createTestEntityPrintJob() throws Exception {
+ SourceWriter sourceWriter = new SourceWriter() {
+ public void appendSourceTo(StringBuilder sb) {
+ sb.append(CR);
+ sb.append("import ");
+ sb.append(JPA.ENTITY);
+ sb.append(";");
+ sb.append(CR);
+ sb.append("import ");
+ sb.append(JPA.ID);
+ sb.append(";");
+ sb.append(CR);
+ sb.append("import ");
+ sb.append(JPA.MANY_TO_ONE);
+ sb.append(";");
+ sb.append(CR);
+ sb.append("@Entity");
+ sb.append(CR);
+ sb.append("public class ").append("PrintJob").append(" ");
+ sb.append("{").append(CR);
+ sb.append(CR);
+ sb.append(" @Id").append(CR);
+ sb.append(" private int id;").append(CR);
+ sb.append(CR);
+ sb.append(" @ManyToOne").append(CR);
+ sb.append(" private PrintQueue queue;").append(CR);
+ sb.append(CR);
+ sb.append("}").append(CR);
+ }
+ };
+ this.javaProject.createCompilationUnit(PACKAGE_NAME, "PrintJob.java", sourceWriter);
+ }
+
}

Back to the top