You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by da...@apache.org on 2007/01/26 02:57:14 UTC
svn commit: r500087 [1/2] - in
/incubator/openejb/trunk/openejb3/container/openejb-jee/src:
main/java/org/apache/openejb/jee/ test/java/org/apache/openejb/jee/jpa/
test/resources/ test/resources/oej2/ test/resources/oej2/cmp/
test/resources/oej2/cmp/cm...
Author: dain
Date: Thu Jan 25 17:57:12 2007
New Revision: 500087
URL: http://svn.apache.org/viewvc?view=rev&rev=500087
Log:
Added tests for conversion of all working CMR types and fixed bugs found
Added:
incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/daytrader-orm.xml
incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/itest-2.2-ejb-jar.xml
- copied, changed from r500066, incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/itest-ejb-jar-2.2.xml
incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/itest-2.2-orm.xml
incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/
incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/
- copied from r498542, incubator/openejb/trunk/openejb2/modules/openejb-builder/src/test-cmp/
incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/cmr-mapping/
- copied from r500086, incubator/openejb/trunk/openejb2/modules/openejb-builder/src/test-cmp/cmr-mapping/
incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/ejb-ql/
- copied from r500086, incubator/openejb/trunk/openejb2/modules/openejb-builder/src/test-cmp/ejb-ql/
incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/manytomany/
- copied from r500086, incubator/openejb/trunk/openejb2/modules/openejb-builder/src/test-cmp/manytomany/
incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/manytomany/simplepk/orm.xml
incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/manytomany/simplepk/unidirectional-ejb-jar.xml
incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/manytomany/simplepk/unidirectional-orm.xml
incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/
- copied from r500086, incubator/openejb/trunk/openejb2/modules/openejb-builder/src/test-cmp/onetomany/
incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/many-unidirectional-ejb-jar.xml
incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/many-unidirectional-openejb-jar.xml (with props)
incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/many-unidirectional-orm.xml
incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/one-unidirectional-ejb-jar.xml
incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/one-unidirectional-openejb-jar.xml
incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/one-unidirectional-orm.xml
incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/orm.xml
incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetoone/
- copied from r500086, incubator/openejb/trunk/openejb2/modules/openejb-builder/src/test-cmp/onetoone/
incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetoone/simplepk/orm.xml
incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetoone/simplepk/unidirectional-ejb-jar.xml
incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetoone/simplepk/unidirectional-orm.xml
Removed:
incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/itest-ejb-jar-2.2.xml
incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/unidirectional-openejb-jar.xml
Modified:
incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/EjbRelationshipRole.java
incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/java/org/apache/openejb/jee/jpa/Cmp2ConversionTest.java
incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/java/org/apache/openejb/jee/jpa/OpenEjb2CmpConversion.java
incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/daytrader-ejb-jar.xml
incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/ejb-jar.xml
Modified: incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/EjbRelationshipRole.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/EjbRelationshipRole.java?view=diff&rev=500087&r1=500086&r2=500087
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/EjbRelationshipRole.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/EjbRelationshipRole.java Thu Jan 25 17:57:12 2007
@@ -119,12 +119,12 @@
this.multiplicity = value;
}
- public EmptyType getCascadeDelete() {
- return cascadeDelete;
+ public boolean getCascadeDelete() {
+ return cascadeDelete != null;
}
- public void setCascadeDelete(EmptyType value) {
- this.cascadeDelete = value;
+ public void setCascadeDelete(boolean value) {
+ this.cascadeDelete = value ? new EmptyType() : null;
}
public RelationshipRoleSource getRelationshipRoleSource() {
Modified: incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/java/org/apache/openejb/jee/jpa/Cmp2ConversionTest.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/java/org/apache/openejb/jee/jpa/Cmp2ConversionTest.java?view=diff&rev=500087&r1=500086&r2=500087
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/java/org/apache/openejb/jee/jpa/Cmp2ConversionTest.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/java/org/apache/openejb/jee/jpa/Cmp2ConversionTest.java Thu Jan 25 17:57:12 2007
@@ -16,59 +16,94 @@
*/
package org.apache.openejb.jee.jpa;
-import java.io.InputStream;
-import java.io.IOException;
import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.HashMap;
+import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.JAXBException;
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.Unmarshaller;
import javax.xml.bind.Marshaller;
-import javax.xml.bind.ValidationEventHandler;
-import javax.xml.bind.ValidationEvent;
import junit.framework.TestCase;
-import org.apache.openejb.jee.oejb2.OpenejbJarType;
+import org.apache.openejb.jee.CmpField;
import org.apache.openejb.jee.EjbJar;
-import org.apache.openejb.jee.Relationships;
import org.apache.openejb.jee.EjbRelation;
import org.apache.openejb.jee.EjbRelationshipRole;
-import org.apache.openejb.jee.RelationshipRoleSource;
import org.apache.openejb.jee.EntityBean;
-import org.apache.openejb.jee.CmpField;
+import org.apache.openejb.jee.JaxbJavaee;
import org.apache.openejb.jee.Multiplicity;
import org.apache.openejb.jee.PersistenceType;
+import org.apache.openejb.jee.RelationshipRoleSource;
+import org.apache.openejb.jee.Relationships;
+import org.apache.openejb.jee.oejb2.JaxbOpenejbJar2;
+import org.apache.openejb.jee.oejb2.OpenejbJarType;
/**
* @version $Rev$ $Date$
*/
public class Cmp2ConversionTest extends TestCase {
+ public void testItests22() throws Exception {
+ convert("itest-2.2-ejb-jar.xml", "openejb-jar-2.2.xml", "itest-2.2-orm.xml");
+ }
- public void testEjbJarDoc() throws Exception {
- marshalAndUnmarshal(EjbJar.class, "ejb-jar-cmp-example1.xml");
+ public void testDaytrader() throws Exception {
+ convert("daytrader-ejb-jar.xml", "daytrader-corrected.xml", "daytrader-orm.xml");
}
- public void testConversion() throws Exception {
- EntityMappings entityMappings = generateEntityMappings("daytrader-ejb-jar.xml");
+ public void testOneToOne() throws Exception {
+ convert("oej2/cmp/onetoone/simplepk/");
+ }
- JAXBContext ctx = JAXBContext.newInstance(OpenejbJarType.class);
- Unmarshaller unmarshaller = ctx.createUnmarshaller();
+ public void testOneToOneUni() throws Exception {
+ convert("oej2/cmp/onetoone/simplepk/unidirectional-");
+ }
- InputStream in = this.getClass().getClassLoader().getResourceAsStream("daytrader-corrected.xml");
- String expected = readContent(in);
+ public void testOneToMany() throws Exception {
+ convert("oej2/cmp/onetomany/simplepk/ejb-jar.xml", "oej2/cmp/onetomany/simplepk/openejb-jar.xml", null);
+ }
+
+ public void testOneToManyUni() throws Exception {
+ convert("oej2/cmp/onetomany/simplepk/one-unidirectional-");
+ }
+
+ public void testManyToOneUni() throws Exception {
+ convert("oej2/cmp/onetomany/simplepk/many-unidirectional-");
+ }
+
+ public void testManyToMany() throws Exception {
+ convert("oej2/cmp/manytomany/simplepk/");
+ }
+
+ public void testManyToManyUni() throws Exception {
+ convert("oej2/cmp/manytomany/simplepk/unidirectional-");
+ }
+
+ private EntityMappings convert(String prefix) throws Exception {
+ return convert(prefix + "ejb-jar.xml", prefix + "openejb-jar.xml", prefix + "orm.xml");
+ }
+
+ private EntityMappings convert(String ejbJarFileName, String openejbJarFileName, String expectedFileName) throws Exception {
+ EntityMappings entityMappings = generateEntityMappings(ejbJarFileName);
- JAXBElement element = (JAXBElement) unmarshaller.unmarshal(new ByteArrayInputStream(expected.getBytes()));
+ String openejbJarXml = readContent(getClass().getClassLoader().getResourceAsStream(openejbJarFileName));
+ JAXBElement element = (JAXBElement) JaxbOpenejbJar2.unmarshal(OpenejbJarType.class, new ByteArrayInputStream(openejbJarXml.getBytes()));
OpenejbJarType openejbJarType = (OpenejbJarType) element.getValue();
OpenEjb2CmpConversion openEjb2CmpConversion = new OpenEjb2CmpConversion();
openEjb2CmpConversion.mergeEntityMappings(entityMappings, openejbJarType);
- String actual = toString(entityMappings);
- System.out.println(actual);
+
+ if (expectedFileName != null) {
+ InputStream in = getClass().getClassLoader().getResourceAsStream(expectedFileName);
+ String expected = readContent(in);
+ String actual = toString(entityMappings);
+ assertEquals(expected, actual);
+ }
+ return entityMappings;
}
@@ -82,16 +117,14 @@
marshaller.marshal(entityMappings, baos);
String actual = new String(baos.toByteArray());
- return actual;
+ return actual.trim();
}
- private EntityMappings generateEntityMappings(String fileName) throws IOException, JAXBException {
- JAXBContext ctx = JAXBContext.newInstance(EjbJar.class);
- Unmarshaller unmarshaller = ctx.createUnmarshaller();
-
+ private EntityMappings generateEntityMappings(String fileName) throws Exception {
InputStream in = this.getClass().getClassLoader().getResourceAsStream(fileName);
String expected = readContent(in);
- EjbJar ejbJar = (EjbJar) unmarshaller.unmarshal(new ByteArrayInputStream(expected.getBytes()));
+
+ EjbJar ejbJar = (EjbJar) JaxbJavaee.unmarshal(EjbJar.class, new ByteArrayInputStream(expected.getBytes()));
EntityMappings entityMappings = new EntityMappings();
Map<String, Entity> entitiesByName = new HashMap<String,Entity>();
@@ -167,7 +200,6 @@
if (leftRole.getCmrField() != null) {
leftFieldName = leftRole.getCmrField().getCmrFieldName();
}
- boolean leftCascade = leftRole.getCascadeDelete() != null;
boolean leftIsOne = leftRole.getMultiplicity() == Multiplicity.ONE;
EjbRelationshipRole rightRole = roles.get(1);
@@ -178,7 +210,6 @@
if (rightRole.getCmrField() != null) {
rightFieldName = rightRole.getCmrField().getCmrFieldName();
}
- boolean rightCascade = rightRole.getCascadeDelete() != null;
boolean rightIsOne = rightRole.getMultiplicity() == Multiplicity.ONE;
if (leftIsOne && rightIsOne) {
@@ -191,11 +222,7 @@
if (leftFieldName != null) {
leftOneToOne = new OneToOne();
leftOneToOne.setName(leftFieldName);
- if (leftCascade) {
- CascadeType cascadeType = new CascadeType();
- cascadeType.setCascadeAll(true);
- leftOneToOne.setCascade(cascadeType);
- }
+ setCascade(leftRole, leftOneToOne);
leftEntity.getAttributes().getOneToOne().add(leftOneToOne);
}
@@ -208,11 +235,7 @@
if (leftFieldName != null) {
rightOneToOne.setMappedBy(leftFieldName);
}
- if (rightCascade) {
- CascadeType cascadeType = new CascadeType();
- cascadeType.setCascadeAll(true);
- rightOneToOne.setCascade(cascadeType);
- }
+ setCascade(rightRole, rightOneToOne);
rightEntity.getAttributes().getOneToOne().add(rightOneToOne);
}
@@ -235,11 +258,7 @@
if (rightFieldName != null) {
leftOneToMany.setMappedBy(rightFieldName);
}
- if (leftCascade) {
- CascadeType cascadeType = new CascadeType();
- cascadeType.setCascadeAll(true);
- leftOneToMany.setCascade(cascadeType);
- }
+ setCascade(leftRole, leftOneToMany);
leftEntity.getAttributes().getOneToMany().add(leftOneToMany);
}
@@ -248,6 +267,7 @@
if (rightFieldName != null) {
rightManyToOne = new ManyToOne();
rightManyToOne.setName(rightFieldName);
+ setCascade(rightRole, rightManyToOne);
rightEntity.getAttributes().getManyToOne().add(rightManyToOne);
}
@@ -266,6 +286,7 @@
if (leftFieldName != null) {
leftManyToOne = new ManyToOne();
leftManyToOne.setName(leftFieldName);
+ setCascade(leftRole, leftManyToOne);
leftEntity.getAttributes().getManyToOne().add(leftManyToOne);
}
@@ -278,11 +299,7 @@
if (leftFieldName != null) {
rightOneToMany.setMappedBy(leftFieldName);
}
- if (rightCascade) {
- CascadeType cascadeType = new CascadeType();
- cascadeType.setCascadeAll(true);
- rightOneToMany.setCascade(cascadeType);
- }
+ setCascade(rightRole, rightOneToMany);
rightEntity.getAttributes().getOneToMany().add(rightOneToMany);
}
@@ -301,11 +318,7 @@
if (leftFieldName != null) {
leftManyToMany = new ManyToMany();
leftManyToMany.setName(leftFieldName);
- if (leftCascade) {
- CascadeType cascadeType = new CascadeType();
- cascadeType.setCascadeAll(true);
- leftManyToMany.setCascade(cascadeType);
- }
+ setCascade(leftRole, leftManyToMany);
leftEntity.getAttributes().getManyToMany().add(leftManyToMany);
}
@@ -318,11 +331,7 @@
if (leftFieldName != null) {
rightManyToMany.setMappedBy(leftFieldName);
}
- if (rightCascade) {
- CascadeType cascadeType = new CascadeType();
- cascadeType.setCascadeAll(true);
- rightManyToMany.setCascade(cascadeType);
- }
+ setCascade(rightRole, rightManyToMany);
rightEntity.getAttributes().getManyToMany().add(rightManyToMany);
}
@@ -342,36 +351,14 @@
return entityMappings;
}
- private <T> void marshalAndUnmarshal(Class<T> type, String xmlFileName) throws JAXBException, IOException {
- JAXBContext ctx = JAXBContext.newInstance(type);
- Unmarshaller unmarshaller = ctx.createUnmarshaller();
-
- InputStream in = this.getClass().getClassLoader().getResourceAsStream(xmlFileName);
- String expected = readContent(in);
-
- Object object = unmarshaller.unmarshal(new ByteArrayInputStream(expected.getBytes()));
-// JAXBElement element = (JAXBElement) object;
- unmarshaller.setEventHandler(new TestValidationEventHandler());
-// T app = (T) element.getValue();
-// System.out.println("unmarshalled");
-
- Marshaller marshaller = ctx.createMarshaller();
- marshaller.setProperty("jaxb.formatted.output", true);
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- marshaller.marshal(object, baos);
-
- String actual = new String(baos.toByteArray());
-
- assertEquals(expected, actual);
- }
-
- private static class TestValidationEventHandler implements ValidationEventHandler {
- public boolean handleEvent(ValidationEvent validationEvent) {
- System.out.println(validationEvent.getMessage());
- return true;
+ private void setCascade(EjbRelationshipRole role, RelationField field) {
+ if (role.getCascadeDelete()) {
+ CascadeType cascadeType = new CascadeType();
+ cascadeType.setCascadeAll(true);
+ field.setCascade(cascadeType);
}
}
+
private String readContent(InputStream in) throws IOException {
StringBuffer sb = new StringBuffer();
in = new BufferedInputStream(in);
@@ -380,7 +367,7 @@
sb.append((char) i);
i = in.read();
}
- return sb.toString();
+ return sb.toString().trim();
}
}
Modified: incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/java/org/apache/openejb/jee/jpa/OpenEjb2CmpConversion.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/java/org/apache/openejb/jee/jpa/OpenEjb2CmpConversion.java?view=diff&rev=500087&r1=500086&r2=500087
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/java/org/apache/openejb/jee/jpa/OpenEjb2CmpConversion.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/java/org/apache/openejb/jee/jpa/OpenEjb2CmpConversion.java Thu Jan 25 17:57:12 2007
@@ -106,7 +106,13 @@
field = other.getRelatedField();
// todo warn field not found
if (field == null) {
- continue;
+ if (other instanceof OneToMany) {
+ // for a unidirectional oneToMany, the join column declaration
+ // is placed on the oneToMany element instead of manyToOne
+ field = other;
+ } else {
+ continue;
+ }
}
}
@@ -163,29 +169,33 @@
if (roles.size() > 1) {
EjbRelationshipRoleType rightRole = roles.get(1);
- RelationField right = left.getRelatedField();
- if (right == null) {
- if (rightRole.getRelationshipRoleSource() != null) {
- String rightEjbName = rightRole.getRelationshipRoleSource().getEjbName();
- EntityData rightEntityData = entities.get(rightEjbName);
- if (rightEntityData == null) {
- // todo warn no such entity in ejb-jar.xml
+ // if there wasn't a left cmr field, find the field for the right, so we can add the join table to it
+ if (left == null) {
+ RelationField right = left.getRelatedField();
+ if (right == null) {
+ if (rightRole.getCmrField() == null) {
+ // todo warn no cmr field declared for either role
continue;
}
- right = rightEntityData.relations.get(rightRole.getCmrField().getCmrFieldName());
+ if (rightRole.getRelationshipRoleSource() != null) {
+ String rightEjbName = rightRole.getRelationshipRoleSource().getEjbName();
+ EntityData rightEntityData = entities.get(rightEjbName);
+ if (rightEntityData == null) {
+ // todo warn no such entity in ejb-jar.xml
+ continue;
+ }
+ right = rightEntityData.relations.get(rightRole.getCmrField().getCmrFieldName());
+ }
}
+ right.setJoinTable(joinTable);
}
- if (right != null) {
- if (left == null) {
- right.setJoinTable(joinTable);
- }
- EjbRelationshipRoleType.RoleMapping roleMapping = rightRole.getRoleMapping();
- for (EjbRelationshipRoleType.RoleMapping.CmrFieldMapping cmrFieldMapping : roleMapping.getCmrFieldMapping()) {
- JoinColumn joinColumn = new JoinColumn();
- joinColumn.setName(cmrFieldMapping.getForeignKeyColumn());
- joinColumn.setReferencedColumnName(cmrFieldMapping.getKeyColumn());
- joinTable.getInverseJoinColumn().add(joinColumn);
- }
+
+ EjbRelationshipRoleType.RoleMapping roleMapping = rightRole.getRoleMapping();
+ for (EjbRelationshipRoleType.RoleMapping.CmrFieldMapping cmrFieldMapping : roleMapping.getCmrFieldMapping()) {
+ JoinColumn joinColumn = new JoinColumn();
+ joinColumn.setName(cmrFieldMapping.getForeignKeyColumn());
+ joinColumn.setReferencedColumnName(cmrFieldMapping.getKeyColumn());
+ joinTable.getInverseJoinColumn().add(joinColumn);
}
}
}
@@ -193,10 +203,10 @@
}
private class EntityData {
- public final Entity entity;
+ private final Entity entity;
private final Id id;
- public final Map<String, Basic> fields = new TreeMap<String, Basic>();
- public final Map<String, RelationField> relations = new TreeMap<String, RelationField>();
+ private final Map<String, Basic> fields = new TreeMap<String, Basic>();
+ private final Map<String, RelationField> relations = new TreeMap<String, RelationField>();
public EntityData(Entity entity) {
this.entity = entity;
Modified: incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/daytrader-ejb-jar.xml
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/daytrader-ejb-jar.xml?view=diff&rev=500087&r1=500086&r2=500087
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/daytrader-ejb-jar.xml (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/daytrader-ejb-jar.xml Thu Jan 25 17:57:12 2007
@@ -15,10 +15,9 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<!--<ejb-jar version="2.1"-->
- <!--xmlns="http://java.sun.com/xml/ns/j2ee"-->
- <!--xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"> -->
-<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee" version="3.0" metadata-complete="true">
+<ejb-jar version="2.1"
+ xmlns="http://java.sun.com/xml/ns/j2ee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd">
<display-name>TradeEJBs</display-name>
<enterprise-beans>
<session>
Added: incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/daytrader-orm.xml
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/daytrader-orm.xml?view=auto&rev=500087
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/daytrader-orm.xml (added)
+++ incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/daytrader-orm.xml Thu Jan 25 17:57:12 2007
@@ -0,0 +1,179 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm">
+ <entity name="Holding" class="org.apache.geronimo.samples.daytrader.ejb.HoldingBean">
+ <description>HoldingEJB</description>
+ <table name="HOLDINGEJB"/>
+ <attributes>
+ <id name="holdingID">
+ <column name="holdingID"/>
+ </id>
+ <basic name="purchasePrice">
+ <column name="purchasePrice"/>
+ </basic>
+ <basic name="quantity">
+ <column name="quantity"/>
+ </basic>
+ <basic name="purchaseDate">
+ <column name="purchaseDate"/>
+ </basic>
+ <many-to-one name="account">
+ <join-column referenced-column-name="accountID" name="account_accountID"/>
+ <cascade>
+ <cascade-all/>
+ </cascade>
+ </many-to-one>
+ <many-to-one name="quote">
+ <join-column referenced-column-name="symbol" name="quote_symbol"/>
+ </many-to-one>
+ </attributes>
+ </entity>
+ <entity name="AccountProfile" class="org.apache.geronimo.samples.daytrader.ejb.AccountProfileBean">
+ <description>AccountProfileEJB</description>
+ <table name="AccountProfileEJB"/>
+ <attributes>
+ <id name="userID">
+ <column name="userID"/>
+ </id>
+ <basic name="address">
+ <column name="address"/>
+ </basic>
+ <basic name="passwd">
+ <column name="passwd"/>
+ </basic>
+ <basic name="email">
+ <column name="email"/>
+ </basic>
+ <basic name="creditCard">
+ <column name="creditCard"/>
+ </basic>
+ <basic name="fullName">
+ <column name="fullName"/>
+ </basic>
+ <one-to-one name="account" mapped-by="profile">
+ <cascade>
+ <cascade-all/>
+ </cascade>
+ </one-to-one>
+ </attributes>
+ </entity>
+ <entity name="Quote" class="org.apache.geronimo.samples.daytrader.ejb.QuoteBean">
+ <description>QuoteEJB</description>
+ <table name="QuoteEJB"/>
+ <attributes>
+ <id name="symbol">
+ <column name="symbol"/>
+ </id>
+ <basic name="low">
+ <column name="low"/>
+ </basic>
+ <basic name="open">
+ <column name="open1"/>
+ </basic>
+ <basic name="volume">
+ <column name="volume"/>
+ </basic>
+ <basic name="price">
+ <column name="price"/>
+ </basic>
+ <basic name="high">
+ <column name="high"/>
+ </basic>
+ <basic name="companyName">
+ <column name="companyName"/>
+ </basic>
+ <basic name="change">
+ <column name="change1"/>
+ </basic>
+ <one-to-many name="orders" mapped-by="quote"/>
+ </attributes>
+ </entity>
+ <entity name="KeyGen" class="org.apache.geronimo.samples.daytrader.ejb.KeyGenBean">
+ <description>KeyGenEJB</description>
+ <table name="KeyGenEJB"/>
+ <attributes>
+ <id name="keyName">
+ <column name="keyName"/>
+ </id>
+ <basic name="keyVal">
+ <column name="keyVal"/>
+ </basic>
+ </attributes>
+ </entity>
+ <entity name="Account" class="org.apache.geronimo.samples.daytrader.ejb.AccountBean">
+ <description>AccountEJB</description>
+ <table name="AccountEJB"/>
+ <attributes>
+ <id name="accountID">
+ <column name="accountID"/>
+ </id>
+ <basic name="creationDate">
+ <column name="creationDate"/>
+ </basic>
+ <basic name="openBalance">
+ <column name="openBalance"/>
+ </basic>
+ <basic name="logoutCount">
+ <column name="logoutCount"/>
+ </basic>
+ <basic name="balance">
+ <column name="balance"/>
+ </basic>
+ <basic name="lastLogin">
+ <column name="lastLogin"/>
+ </basic>
+ <basic name="loginCount">
+ <column name="loginCount"/>
+ </basic>
+ <one-to-many name="orders" mapped-by="account"/>
+ <one-to-many name="holdings" mapped-by="account"/>
+ <one-to-one name="profile">
+ <join-column referenced-column-name="userID" name="profile_userID"/>
+ </one-to-one>
+ </attributes>
+ </entity>
+ <entity name="Orders" class="org.apache.geronimo.samples.daytrader.ejb.OrderBean">
+ <description>OrderEJB</description>
+ <table name="OrderEJB"/>
+ <attributes>
+ <id name="orderID">
+ <column name="orderID"/>
+ </id>
+ <basic name="orderFee">
+ <column name="orderFee"/>
+ </basic>
+ <basic name="completionDate">
+ <column name="completionDate"/>
+ </basic>
+ <basic name="orderType">
+ <column name="orderType"/>
+ </basic>
+ <basic name="orderStatus">
+ <column name="orderStatus"/>
+ </basic>
+ <basic name="price">
+ <column name="price"/>
+ </basic>
+ <basic name="quantity">
+ <column name="quantity"/>
+ </basic>
+ <basic name="openDate">
+ <column name="openDate"/>
+ </basic>
+ <many-to-one name="account">
+ <join-column referenced-column-name="accountID" name="account_accountID"/>
+ <cascade>
+ <cascade-all/>
+ </cascade>
+ </many-to-one>
+ <many-to-one name="quote">
+ <join-column referenced-column-name="symbol" name="quote_symbol"/>
+ <cascade>
+ <cascade-all/>
+ </cascade>
+ </many-to-one>
+ <one-to-one name="holding">
+ <join-column referenced-column-name="holdingID" name="holding_holdingID"/>
+ </one-to-one>
+ </attributes>
+ </entity>
+</entity-mappings>
Copied: incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/itest-2.2-ejb-jar.xml (from r500066, incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/itest-ejb-jar-2.2.xml)
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/itest-2.2-ejb-jar.xml?view=diff&rev=500087&p1=incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/itest-ejb-jar-2.2.xml&r1=500066&p2=incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/itest-2.2-ejb-jar.xml&r2=500087
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/itest-ejb-jar-2.2.xml (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/itest-2.2-ejb-jar.xml Thu Jan 25 17:57:12 2007
@@ -16,12 +16,11 @@
limitations under the License.
-->
-<!--<ejb-jar xmlns="http://java.sun.com/xml/ns/j2ee"-->
- <!--xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"-->
- <!--xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee-->
- <!--http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"-->
- <!--version="2.1">-->
-<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee" version="3.0" metadata-complete="true">
+<ejb-jar xmlns="http://java.sun.com/xml/ns/j2ee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
+ http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"
+ version="2.1">
<description>
This ejb-jar file contains assembled enterprise beans that are
Added: incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/itest-2.2-orm.xml
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/itest-2.2-orm.xml?view=auto&rev=500087
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/itest-2.2-orm.xml (added)
+++ incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/itest-2.2-orm.xml Thu Jan 25 17:57:12 2007
@@ -0,0 +1,217 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm">
+ <entity name="BasicCmpBean" class="org.apache.openejb.test.entity.cmp.BasicCmpBean">
+ <description>BasicCmpBean</description>
+ <table name="entity"/>
+ <attributes>
+ <id name="id">
+ <column name="id"/>
+ <generated-value generator="IDENTITY"/>
+ </id>
+ <basic name="firstName">
+ <column name="first_name"/>
+ </basic>
+ <basic name="lastName">
+ <column name="last_name"/>
+ </basic>
+ </attributes>
+ </entity>
+ <entity name="BasicCmpBeanExplicitPK" class="org.apache.openejb.test.entity.cmp.BasicCmpBean">
+ <description>BasicCmpBeanExplicitPK</description>
+ <table name="entity_explicit_pk"/>
+ <attributes>
+ <id name="id">
+ <column name="id"/>
+ </id>
+ <basic name="firstName">
+ <column name="first_name"/>
+ </basic>
+ <basic name="lastName">
+ <column name="last_name"/>
+ </basic>
+ </attributes>
+ </entity>
+ <entity name="AOBasicCmpBean" class="org.apache.openejb.test.entity.cmp.AllowedOperationsCmpBean">
+ <description>AOBasicCmpBean</description>
+ <table name="entity"/>
+ <attributes>
+ <id name="id">
+ <column name="id"/>
+ <generated-value generator="IDENTITY"/>
+ </id>
+ <basic name="firstName">
+ <column name="first_name"/>
+ </basic>
+ <basic name="lastName">
+ <column name="last_name"/>
+ </basic>
+ </attributes>
+ </entity>
+ <entity name="EncCmpBean" class="org.apache.openejb.test.entity.cmp.EncCmpBean">
+ <description>EncCmpBean</description>
+ <table name="entity"/>
+ <attributes>
+ <id name="id">
+ <column name="id"/>
+ <generated-value generator="IDENTITY"/>
+ </id>
+ <basic name="firstName">
+ <column name="first_name"/>
+ </basic>
+ <basic name="lastName">
+ <column name="last_name"/>
+ </basic>
+ </attributes>
+ </entity>
+ <entity name="CmpRMIIIOPBean" class="org.apache.openejb.test.entity.cmp.RmiIiopCmpBean">
+ <description>CmpRMIIIOPBean</description>
+ <table name="entity"/>
+ <attributes>
+ <id name="id">
+ <column name="id"/>
+ <generated-value generator="IDENTITY"/>
+ </id>
+ <basic name="firstName">
+ <column name="first_name"/>
+ </basic>
+ <basic name="lastName">
+ <column name="last_name"/>
+ </basic>
+ </attributes>
+ </entity>
+ <entity name="BasicCmp2" class="org.apache.openejb.test.entity.cmp.BasicCmp2Bean">
+ <description>BasicCmp2Bean</description>
+ <table name="entity"/>
+ <attributes>
+ <id name="id">
+ <column name="id"/>
+ <generated-value generator="IDENTITY"/>
+ </id>
+ <basic name="firstName">
+ <column name="first_name"/>
+ </basic>
+ <basic name="lastName">
+ <column name="last_name"/>
+ </basic>
+ </attributes>
+ </entity>
+ <entity name="AOBasicCmp2" class="org.apache.openejb.test.entity.cmp.AllowedOperationsCmp2Bean">
+ <description>AOBasicCmp2Bean</description>
+ <table name="entity"/>
+ <attributes>
+ <id name="id">
+ <column name="id"/>
+ <generated-value generator="IDENTITY"/>
+ </id>
+ <basic name="firstName">
+ <column name="first_name"/>
+ </basic>
+ <basic name="lastName">
+ <column name="last_name"/>
+ </basic>
+ </attributes>
+ </entity>
+ <entity name="EncCmp2" class="org.apache.openejb.test.entity.cmp.EncCmp2Bean">
+ <description>EncCmp2Bean</description>
+ <table name="entity"/>
+ <attributes>
+ <id name="id">
+ <column name="id"/>
+ <generated-value generator="IDENTITY"/>
+ </id>
+ <basic name="firstName">
+ <column name="first_name"/>
+ </basic>
+ <basic name="lastName">
+ <column name="last_name"/>
+ </basic>
+ </attributes>
+ </entity>
+ <entity name="Cmp2RmiIiop" class="org.apache.openejb.test.entity.cmp.RmiIiopCmp2Bean">
+ <description>Cmp2RMIIIOPBean</description>
+ <table name="entity"/>
+ <attributes>
+ <id name="id">
+ <column name="id"/>
+ <generated-value generator="IDENTITY"/>
+ </id>
+ <basic name="firstName">
+ <column name="first_name"/>
+ </basic>
+ <basic name="lastName">
+ <column name="last_name"/>
+ </basic>
+ </attributes>
+ </entity>
+ <entity name="Order" class="org.apache.openejb.test.entity.cmp2.cmrmapping.OneOwningSideBean">
+ <description>OneOwningSideBean</description>
+ <table name="OneOwning"/>
+ <attributes>
+ <id/>
+ <basic name="id">
+ <column name="col_id"/>
+ </basic>
+ <basic name="field1">
+ <column name="col_field1"/>
+ </basic>
+ <one-to-one name="oneInverseSide">
+ <join-column referenced-column-name="col_id" name="col_field1"/>
+ </one-to-one>
+ </attributes>
+ </entity>
+ <entity name="Order" class="org.apache.openejb.test.entity.cmp2.cmrmapping.OneInverseSideBean">
+ <description>OneInverseSideBean</description>
+ <table name="OneInverse"/>
+ <attributes>
+ <id name="id">
+ <column name="col_id"/>
+ </id>
+ <one-to-many name="manyOwningSide" mapped-by="oneInverseSide"/>
+ <one-to-one name="oneOwningSide" mapped-by="oneInverseSide"/>
+ </attributes>
+ </entity>
+ <entity name="Order" class="org.apache.openejb.test.entity.cmp2.cmrmapping.ManyOwningSideBean">
+ <description>ManyOwningSideBean</description>
+ <table name="ManyOwning"/>
+ <attributes>
+ <id/>
+ <basic name="id">
+ <column name="col_id"/>
+ </basic>
+ <basic name="field1">
+ <column name="col_field1"/>
+ </basic>
+ <many-to-one name="oneInverseSide">
+ <join-column referenced-column-name="col_id" name="col_field1"/>
+ </many-to-one>
+ </attributes>
+ </entity>
+ <entity name="Address" class="org.apache.openejb.test.entity.cmp2.petstore.AddressEJB">
+ <description>AddressEJB</description>
+ <table name="address"/>
+ <attributes>
+ <id/>
+ <basic name="street">
+ <column name="street"/>
+ </basic>
+ <basic name="city">
+ <column name="city"/>
+ </basic>
+ </attributes>
+ </entity>
+ <entity name="Storage" class="org.apache.openejb.test.entity.cmp2.model.StorageBean">
+ <description>StorageBean</description>
+ <table name="storage"/>
+ <attributes>
+ <id name="id">
+ <column name="id"/>
+ </id>
+ <basic name="blob">
+ <column name="blob_column"/>
+ </basic>
+ <basic name="char">
+ <column name="char_column"/>
+ </basic>
+ </attributes>
+ </entity>
+</entity-mappings>
Added: incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/manytomany/simplepk/orm.xml
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/manytomany/simplepk/orm.xml?view=auto&rev=500087
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/manytomany/simplepk/orm.xml (added)
+++ incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/manytomany/simplepk/orm.xml Thu Jan 25 17:57:12 2007
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm">
+ <entity name="manytomanyA" class="org.apache.openejb.deployment.entity.cmp.cmr.manytomany.ABean">
+ <description>A</description>
+ <table name="A"/>
+ <attributes>
+ <id name="field1">
+ <column name="a1"/>
+ </id>
+ <basic name="field2">
+ <column name="a2"/>
+ </basic>
+ <many-to-many name="b">
+ <join-table name="MTM">
+ <join-column referenced-column-name="a1" name="fka1"/>
+ <inverse-join-column referenced-column-name="b1" name="fkb1"/>
+ </join-table>
+ </many-to-many>
+ </attributes>
+ </entity>
+ <entity name="manytomanyB" class="org.apache.openejb.deployment.entity.cmp.cmr.manytomany.BBean">
+ <description>B</description>
+ <table name="B"/>
+ <attributes>
+ <id name="field1">
+ <column name="b1"/>
+ </id>
+ <basic name="field2">
+ <column name="b2"/>
+ </basic>
+ <basic name="field3">
+ <column name="fka1"/>
+ </basic>
+ <many-to-many name="a" mapped-by="b"/>
+ </attributes>
+ </entity>
+</entity-mappings>
Added: incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/manytomany/simplepk/unidirectional-ejb-jar.xml
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/manytomany/simplepk/unidirectional-ejb-jar.xml?view=auto&rev=500087
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/manytomany/simplepk/unidirectional-ejb-jar.xml (added)
+++ incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/manytomany/simplepk/unidirectional-ejb-jar.xml Thu Jan 25 17:57:12 2007
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="US-ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<ejb-jar xmlns="http://java.sun.com/xml/ns/j2ee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
+ http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"
+ version="2.1">
+
+ <enterprise-beans>
+ <entity>
+ <ejb-name>A</ejb-name>
+ <local-home>org.apache.openejb.deployment.entity.cmp.cmr.manytomany.ALocalHome</local-home>
+ <local>org.apache.openejb.deployment.entity.cmp.cmr.manytomany.ALocal</local>
+ <ejb-class>org.apache.openejb.deployment.entity.cmp.cmr.manytomany.ABean</ejb-class>
+ <persistence-type>Container</persistence-type>
+ <prim-key-class>java.lang.Integer</prim-key-class>
+ <reentrant>false</reentrant>
+ <cmp-version>2.x</cmp-version>
+ <abstract-schema-name>manytomanyA</abstract-schema-name>
+ <cmp-field>
+ <field-name>field1</field-name>
+ </cmp-field>
+ <cmp-field>
+ <field-name>field2</field-name>
+ </cmp-field>
+ <primkey-field>field1</primkey-field>
+ <query>
+ <!-- CompondPK one-to-many shares the local home interface so we need to declare this useless finder -->
+ <query-method>
+ <method-name>findByPrimaryKey</method-name>
+ <method-params>
+ <method-param>org.apache.openejb.deployment.entity.cmp.cmr.CompoundPK</method-param>
+ </method-params>
+ </query-method>
+ <ejb-ql>SELECT OBJECT(A) FROM manytomanyA A</ejb-ql>
+ </query>
+ </entity>
+ <entity>
+ <ejb-name>B</ejb-name>
+ <local-home>org.apache.openejb.deployment.entity.cmp.cmr.manytomany.BLocalHome</local-home>
+ <local>org.apache.openejb.deployment.entity.cmp.cmr.manytomany.BLocal</local>
+ <ejb-class>org.apache.openejb.deployment.entity.cmp.cmr.manytomany.BBean</ejb-class>
+ <persistence-type>Container</persistence-type>
+ <prim-key-class>java.lang.Integer</prim-key-class>
+ <reentrant>false</reentrant>
+ <cmp-version>2.x</cmp-version>
+ <abstract-schema-name>manytomanyB</abstract-schema-name>
+ <cmp-field>
+ <field-name>field1</field-name>
+ </cmp-field>
+ <cmp-field>
+ <field-name>field2</field-name>
+ </cmp-field>
+ <cmp-field>
+ <field-name>field3</field-name>
+ </cmp-field>
+ <primkey-field>field1</primkey-field>
+ </entity>
+ </enterprise-beans>
+ <relationships>
+ <ejb-relation>
+ <ejb-relation-name>relation</ejb-relation-name>
+ <ejb-relationship-role>
+ <ejb-relationship-role-name>ASide</ejb-relationship-role-name>
+ <multiplicity>Many</multiplicity>
+ <relationship-role-source>
+ <ejb-name>A</ejb-name>
+ </relationship-role-source>
+ <cmr-field>
+ <cmr-field-name>b</cmr-field-name>
+ </cmr-field>
+ </ejb-relationship-role>
+ <ejb-relationship-role>
+ <ejb-relationship-role-name>BSide</ejb-relationship-role-name>
+ <multiplicity>Many</multiplicity>
+ <relationship-role-source>
+ <ejb-name>B</ejb-name>
+ </relationship-role-source>
+ </ejb-relationship-role>
+ </ejb-relation>
+ </relationships>
+ <assembly-descriptor>
+ <container-transaction>
+ <method>
+ <ejb-name>A</ejb-name>
+ <method-name>*</method-name>
+ </method>
+ <trans-attribute>Required</trans-attribute>
+ </container-transaction>
+ <container-transaction>
+ <method>
+ <ejb-name>B</ejb-name>
+ <method-name>*</method-name>
+ </method>
+ <trans-attribute>Required</trans-attribute>
+ </container-transaction>
+ </assembly-descriptor>
+
+</ejb-jar>
Added: incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/manytomany/simplepk/unidirectional-orm.xml
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/manytomany/simplepk/unidirectional-orm.xml?view=auto&rev=500087
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/manytomany/simplepk/unidirectional-orm.xml (added)
+++ incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/manytomany/simplepk/unidirectional-orm.xml Thu Jan 25 17:57:12 2007
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm">
+ <entity name="manytomanyA" class="org.apache.openejb.deployment.entity.cmp.cmr.manytomany.ABean">
+ <description>A</description>
+ <table name="A"/>
+ <attributes>
+ <id name="field1">
+ <column name="a1"/>
+ </id>
+ <basic name="field2">
+ <column name="a2"/>
+ </basic>
+ <many-to-many name="b">
+ <join-table name="MTM">
+ <join-column referenced-column-name="a1" name="fka1"/>
+ <inverse-join-column referenced-column-name="b1" name="fkb1"/>
+ </join-table>
+ </many-to-many>
+ </attributes>
+ </entity>
+ <entity name="manytomanyB" class="org.apache.openejb.deployment.entity.cmp.cmr.manytomany.BBean">
+ <description>B</description>
+ <table name="B"/>
+ <attributes>
+ <id name="field1">
+ <column name="b1"/>
+ </id>
+ <basic name="field2">
+ <column name="b2"/>
+ </basic>
+ <basic name="field3">
+ <column name="fka1"/>
+ </basic>
+ </attributes>
+ </entity>
+</entity-mappings>
Modified: incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/ejb-jar.xml
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/ejb-jar.xml?view=diff&rev=500087&r1=500086&r2=500087
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/ejb-jar.xml (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/ejb-jar.xml Thu Jan 25 17:57:12 2007
@@ -99,6 +99,7 @@
<ejb-relationship-role>
<ejb-relationship-role-name>BSide</ejb-relationship-role-name>
<multiplicity>Many</multiplicity>
+ <cascade-delete/>
<relationship-role-source>
<ejb-name>B</ejb-name>
</relationship-role-source>
Added: incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/many-unidirectional-ejb-jar.xml
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/many-unidirectional-ejb-jar.xml?view=auto&rev=500087
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/many-unidirectional-ejb-jar.xml (added)
+++ incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/many-unidirectional-ejb-jar.xml Thu Jan 25 17:57:12 2007
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="US-ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<ejb-jar xmlns="http://java.sun.com/xml/ns/j2ee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
+ http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"
+ version="2.1">
+
+ <enterprise-beans>
+ <entity>
+ <ejb-name>A</ejb-name>
+ <local-home>org.apache.openejb.deployment.entity.cmp.cmr.onetomany.ALocalHome</local-home>
+ <local>org.apache.openejb.deployment.entity.cmp.cmr.onetomany.ALocal</local>
+ <ejb-class>org.apache.openejb.deployment.entity.cmp.cmr.onetomany.ABean</ejb-class>
+ <persistence-type>Container</persistence-type>
+ <prim-key-class>java.lang.Integer</prim-key-class>
+ <reentrant>false</reentrant>
+ <cmp-version>2.x</cmp-version>
+ <abstract-schema-name>onetomanyA</abstract-schema-name>
+ <cmp-field>
+ <field-name>field1</field-name>
+ </cmp-field>
+ <cmp-field>
+ <field-name>field2</field-name>
+ </cmp-field>
+ <primkey-field>field1</primkey-field>
+ <query>
+ <!-- CompondPK one-to-many shares the local home interface so we need to declare this useless finder -->
+ <query-method>
+ <method-name>findByPrimaryKey</method-name>
+ <method-params>
+ <method-param>org.apache.openejb.deployment.entity.cmp.cmr.CompoundPK</method-param>
+ </method-params>
+ </query-method>
+ <ejb-ql>SELECT OBJECT(A) FROM onetomanyA A</ejb-ql>
+ </query>
+ </entity>
+ <entity>
+ <ejb-name>B</ejb-name>
+ <local-home>org.apache.openejb.deployment.entity.cmp.cmr.onetomany.BLocalHome</local-home>
+ <local>org.apache.openejb.deployment.entity.cmp.cmr.onetomany.BLocal</local>
+ <ejb-class>org.apache.openejb.deployment.entity.cmp.cmr.onetomany.BBean</ejb-class>
+ <persistence-type>Container</persistence-type>
+ <prim-key-class>java.lang.Integer</prim-key-class>
+ <reentrant>false</reentrant>
+ <cmp-version>2.x</cmp-version>
+ <abstract-schema-name>onetomanyB</abstract-schema-name>
+ <cmp-field>
+ <field-name>field1</field-name>
+ </cmp-field>
+ <cmp-field>
+ <field-name>field2</field-name>
+ </cmp-field>
+ <cmp-field>
+ <field-name>field3</field-name>
+ </cmp-field>
+ <primkey-field>field1</primkey-field>
+ <query>
+ <!-- CompondPK one-to-many shares the local home interface so we need to declare this useless finder -->
+ <query-method>
+ <method-name>findByPrimaryKey</method-name>
+ <method-params>
+ <method-param>org.apache.openejb.deployment.entity.cmp.cmr.CompoundPK</method-param>
+ </method-params>
+ </query-method>
+ <ejb-ql>SELECT OBJECT(B) FROM onetomanyB B</ejb-ql>
+ </query>
+ </entity>
+ </enterprise-beans>
+ <relationships>
+ <ejb-relation>
+ <ejb-relation-name>relation</ejb-relation-name>
+ <ejb-relationship-role>
+ <ejb-relationship-role-name>ASide</ejb-relationship-role-name>
+ <multiplicity>One</multiplicity>
+ <relationship-role-source>
+ <ejb-name>A</ejb-name>
+ </relationship-role-source>
+ </ejb-relationship-role>
+ <ejb-relationship-role>
+ <ejb-relationship-role-name>BSide</ejb-relationship-role-name>
+ <multiplicity>Many</multiplicity>
+ <cascade-delete/>
+ <relationship-role-source>
+ <ejb-name>B</ejb-name>
+ </relationship-role-source>
+ <cmr-field>
+ <cmr-field-name>a</cmr-field-name>
+ </cmr-field>
+ </ejb-relationship-role>
+ </ejb-relation>
+ </relationships>
+ <assembly-descriptor>
+ <container-transaction>
+ <method>
+ <ejb-name>A</ejb-name>
+ <method-name>*</method-name>
+ </method>
+ <trans-attribute>Required</trans-attribute>
+ </container-transaction>
+ <container-transaction>
+ <method>
+ <ejb-name>B</ejb-name>
+ <method-name>*</method-name>
+ </method>
+ <trans-attribute>Required</trans-attribute>
+ </container-transaction>
+ </assembly-descriptor>
+
+</ejb-jar>
Added: incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/many-unidirectional-openejb-jar.xml
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/many-unidirectional-openejb-jar.xml?view=auto&rev=500087
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/many-unidirectional-openejb-jar.xml (added)
+++ incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/many-unidirectional-openejb-jar.xml Thu Jan 25 17:57:12 2007
@@ -0,0 +1,87 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<openejb-jar xmlns="http://www.openejb.org/xml/ns/openejb-jar-2.1">
+
+ <environment>
+ <moduleId>
+ <groupId>foo</groupId>
+ <artifactId>bar</artifactId>
+ <version>1</version>
+ <type>car</type>
+ </moduleId>
+ </environment>
+
+ <cmp-connection-factory>
+ <resource-link>DefaultDatasource</resource-link>
+ </cmp-connection-factory>
+
+ <enterprise-beans>
+ <entity>
+ <ejb-name>A</ejb-name>
+ <table-name>A</table-name>
+ <cmp-field-mapping>
+ <cmp-field-name>field1</cmp-field-name>
+ <table-column>a1</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>field2</cmp-field-name>
+ <table-column>a2</table-column>
+ </cmp-field-mapping>
+ </entity>
+ <entity>
+ <ejb-name>B</ejb-name>
+ <table-name>B</table-name>
+ <cmp-field-mapping>
+ <cmp-field-name>field1</cmp-field-name>
+ <table-column>b1</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>field2</cmp-field-name>
+ <table-column>b2</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>field3</cmp-field-name>
+ <table-column>fka1</table-column>
+ </cmp-field-mapping>
+ </entity>
+ </enterprise-beans>
+
+ <relationships>
+ <ejb-relation>
+ <ejb-relation-name>relation</ejb-relation-name>
+ <ejb-relationship-role>
+ <ejb-relationship-role-name>BSide</ejb-relationship-role-name>
+ <relationship-role-source>
+ <ejb-name>B</ejb-name>
+ </relationship-role-source>
+ <cmr-field>
+ <cmr-field-name>a</cmr-field-name>
+ </cmr-field>
+ <foreign-key-column-on-source/>
+ <role-mapping>
+ <cmr-field-mapping>
+ <key-column>a1</key-column>
+ <foreign-key-column>fka1</foreign-key-column>
+ </cmr-field-mapping>
+ </role-mapping>
+ </ejb-relationship-role>
+ </ejb-relation>
+ </relationships>
+
+</openejb-jar>
Propchange: incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/many-unidirectional-openejb-jar.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/many-unidirectional-openejb-jar.xml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/many-unidirectional-orm.xml
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/many-unidirectional-orm.xml?view=auto&rev=500087
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/many-unidirectional-orm.xml (added)
+++ incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/many-unidirectional-orm.xml Thu Jan 25 17:57:12 2007
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm">
+ <entity name="onetomanyA" class="org.apache.openejb.deployment.entity.cmp.cmr.onetomany.ABean">
+ <description>A</description>
+ <table name="A"/>
+ <attributes>
+ <id name="field1">
+ <column name="a1"/>
+ </id>
+ <basic name="field2">
+ <column name="a2"/>
+ </basic>
+ </attributes>
+ </entity>
+ <entity name="onetomanyB" class="org.apache.openejb.deployment.entity.cmp.cmr.onetomany.BBean">
+ <description>B</description>
+ <table name="B"/>
+ <attributes>
+ <id name="field1">
+ <column name="b1"/>
+ </id>
+ <basic name="field2">
+ <column name="b2"/>
+ </basic>
+ <basic name="field3">
+ <column name="fka1"/>
+ </basic>
+ <many-to-one name="a">
+ <join-column referenced-column-name="a1" name="fka1"/>
+ <cascade>
+ <cascade-all/>
+ </cascade>
+ </many-to-one>
+ </attributes>
+ </entity>
+</entity-mappings>
Added: incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/one-unidirectional-ejb-jar.xml
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/one-unidirectional-ejb-jar.xml?view=auto&rev=500087
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/one-unidirectional-ejb-jar.xml (added)
+++ incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/one-unidirectional-ejb-jar.xml Thu Jan 25 17:57:12 2007
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="US-ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<ejb-jar xmlns="http://java.sun.com/xml/ns/j2ee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
+ http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"
+ version="2.1">
+
+ <enterprise-beans>
+ <entity>
+ <ejb-name>A</ejb-name>
+ <local-home>org.apache.openejb.deployment.entity.cmp.cmr.onetomany.ALocalHome</local-home>
+ <local>org.apache.openejb.deployment.entity.cmp.cmr.onetomany.ALocal</local>
+ <ejb-class>org.apache.openejb.deployment.entity.cmp.cmr.onetomany.ABean</ejb-class>
+ <persistence-type>Container</persistence-type>
+ <prim-key-class>java.lang.Integer</prim-key-class>
+ <reentrant>false</reentrant>
+ <cmp-version>2.x</cmp-version>
+ <abstract-schema-name>onetomanyA</abstract-schema-name>
+ <cmp-field>
+ <field-name>field1</field-name>
+ </cmp-field>
+ <cmp-field>
+ <field-name>field2</field-name>
+ </cmp-field>
+ <primkey-field>field1</primkey-field>
+ <query>
+ <!-- CompondPK one-to-many shares the local home interface so we need to declare this useless finder -->
+ <query-method>
+ <method-name>findByPrimaryKey</method-name>
+ <method-params>
+ <method-param>org.apache.openejb.deployment.entity.cmp.cmr.CompoundPK</method-param>
+ </method-params>
+ </query-method>
+ <ejb-ql>SELECT OBJECT(A) FROM onetomanyA A</ejb-ql>
+ </query>
+ </entity>
+ <entity>
+ <ejb-name>B</ejb-name>
+ <local-home>org.apache.openejb.deployment.entity.cmp.cmr.onetomany.BLocalHome</local-home>
+ <local>org.apache.openejb.deployment.entity.cmp.cmr.onetomany.BLocal</local>
+ <ejb-class>org.apache.openejb.deployment.entity.cmp.cmr.onetomany.BBean</ejb-class>
+ <persistence-type>Container</persistence-type>
+ <prim-key-class>java.lang.Integer</prim-key-class>
+ <reentrant>false</reentrant>
+ <cmp-version>2.x</cmp-version>
+ <abstract-schema-name>onetomanyB</abstract-schema-name>
+ <cmp-field>
+ <field-name>field1</field-name>
+ </cmp-field>
+ <cmp-field>
+ <field-name>field2</field-name>
+ </cmp-field>
+ <cmp-field>
+ <field-name>field3</field-name>
+ </cmp-field>
+ <primkey-field>field1</primkey-field>
+ <query>
+ <!-- CompondPK one-to-many shares the local home interface so we need to declare this useless finder -->
+ <query-method>
+ <method-name>findByPrimaryKey</method-name>
+ <method-params>
+ <method-param>org.apache.openejb.deployment.entity.cmp.cmr.CompoundPK</method-param>
+ </method-params>
+ </query-method>
+ <ejb-ql>SELECT OBJECT(B) FROM onetomanyB B</ejb-ql>
+ </query>
+ </entity>
+ </enterprise-beans>
+ <relationships>
+ <ejb-relation>
+ <ejb-relation-name>relation</ejb-relation-name>
+ <ejb-relationship-role>
+ <ejb-relationship-role-name>ASide</ejb-relationship-role-name>
+ <multiplicity>One</multiplicity>
+ <relationship-role-source>
+ <ejb-name>A</ejb-name>
+ </relationship-role-source>
+ <cmr-field>
+ <cmr-field-name>b</cmr-field-name>
+ </cmr-field>
+ </ejb-relationship-role>
+ <ejb-relationship-role>
+ <ejb-relationship-role-name>BSide</ejb-relationship-role-name>
+ <multiplicity>Many</multiplicity>
+ <cascade-delete/>
+ <relationship-role-source>
+ <ejb-name>B</ejb-name>
+ </relationship-role-source>
+ </ejb-relationship-role>
+ </ejb-relation>
+ </relationships>
+ <assembly-descriptor>
+ <container-transaction>
+ <method>
+ <ejb-name>A</ejb-name>
+ <method-name>*</method-name>
+ </method>
+ <trans-attribute>Required</trans-attribute>
+ </container-transaction>
+ <container-transaction>
+ <method>
+ <ejb-name>B</ejb-name>
+ <method-name>*</method-name>
+ </method>
+ <trans-attribute>Required</trans-attribute>
+ </container-transaction>
+ </assembly-descriptor>
+
+</ejb-jar>
Added: incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/one-unidirectional-openejb-jar.xml
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/one-unidirectional-openejb-jar.xml?view=auto&rev=500087
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/one-unidirectional-openejb-jar.xml (added)
+++ incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/one-unidirectional-openejb-jar.xml Thu Jan 25 17:57:12 2007
@@ -0,0 +1,92 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<openejb-jar xmlns="http://www.openejb.org/xml/ns/openejb-jar-2.1">
+
+ <environment>
+ <moduleId>
+ <groupId>foo</groupId>
+ <artifactId>bar</artifactId>
+ <version>1</version>
+ <type>car</type>
+ </moduleId>
+ </environment>
+
+ <cmp-connection-factory>
+ <resource-link>DefaultDatasource</resource-link>
+ </cmp-connection-factory>
+
+ <enterprise-beans>
+ <entity>
+ <ejb-name>A</ejb-name>
+ <table-name>A</table-name>
+ <cmp-field-mapping>
+ <cmp-field-name>field1</cmp-field-name>
+ <table-column>a1</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>
+ field2
+ </cmp-field-name>
+ <table-column>a2</table-column>
+ </cmp-field-mapping>
+ </entity>
+ <entity>
+ <ejb-name>B</ejb-name>
+ <table-name>B</table-name>
+ <cmp-field-mapping>
+ <cmp-field-name>
+ field1
+ </cmp-field-name>
+ <table-column>b1</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>field2</cmp-field-name>
+ <table-column>b2</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>
+ field3
+ </cmp-field-name>
+ <table-column>fka1</table-column>
+ </cmp-field-mapping>
+ </entity>
+ </enterprise-beans>
+
+ <relationships>
+ <ejb-relation>
+ <ejb-relation-name>relation</ejb-relation-name>
+ <ejb-relationship-role>
+ <ejb-relationship-role-name>ASide</ejb-relationship-role-name>
+ <relationship-role-source>
+ <ejb-name>A</ejb-name>
+ </relationship-role-source>
+ <cmr-field>
+ <cmr-field-name>b</cmr-field-name>
+ </cmr-field>
+ <role-mapping>
+ <cmr-field-mapping>
+ <key-column>a1</key-column>
+ <foreign-key-column>fka1</foreign-key-column>
+ </cmr-field-mapping>
+ </role-mapping>
+ </ejb-relationship-role>
+ </ejb-relation>
+ </relationships>
+
+</openejb-jar>
Added: incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/one-unidirectional-orm.xml
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/one-unidirectional-orm.xml?view=auto&rev=500087
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/one-unidirectional-orm.xml (added)
+++ incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/one-unidirectional-orm.xml Thu Jan 25 17:57:12 2007
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm">
+ <entity name="onetomanyA" class="org.apache.openejb.deployment.entity.cmp.cmr.onetomany.ABean">
+ <description>A</description>
+ <table name="A"/>
+ <attributes>
+ <id name="field1">
+ <column name="a1"/>
+ </id>
+ <basic name="field2"/>
+ <one-to-many name="b">
+ <join-column referenced-column-name="a1" name="fka1"/>
+ </one-to-many>
+ </attributes>
+ </entity>
+ <entity name="onetomanyB" class="org.apache.openejb.deployment.entity.cmp.cmr.onetomany.BBean">
+ <description>B</description>
+ <table name="B"/>
+ <attributes>
+ <id name="field1"/>
+ <basic name="field2">
+ <column name="b2"/>
+ </basic>
+ <basic name="field3"/>
+ </attributes>
+ </entity>
+</entity-mappings>
Added: incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/orm.xml
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/orm.xml?view=auto&rev=500087
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/orm.xml (added)
+++ incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetomany/simplepk/orm.xml Thu Jan 25 17:57:12 2007
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm">
+ <entity name="onetomanyA" class="org.apache.openejb.deployment.entity.cmp.cmr.onetomany.ABean">
+ <description>A</description>
+ <table name="A"/>
+ <attributes>
+ <id name="field1">
+ <column name="a1"/>
+ </id>
+ <basic name="field2"/>
+ <one-to-many name="b" mapped-by="a"/>
+ </attributes>
+ </entity>
+ <entity name="onetomanyB" class="org.apache.openejb.deployment.entity.cmp.cmr.onetomany.BBean">
+ <description>B</description>
+ <table name="B"/>
+ <attributes>
+ <id name="field1"/>
+ <basic name="field2">
+ <column name="b2"/>
+ </basic>
+ <basic name="field3"/>
+ <many-to-one name="a">
+ <join-column referenced-column-name="a1" name="fka1"/>
+ <cascade>
+ <cascade-all/>
+ </cascade>
+ </many-to-one>
+ </attributes>
+ </entity>
+</entity-mappings>
Added: incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetoone/simplepk/orm.xml
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetoone/simplepk/orm.xml?view=auto&rev=500087
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetoone/simplepk/orm.xml (added)
+++ incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/oej2/cmp/onetoone/simplepk/orm.xml Thu Jan 25 17:57:12 2007
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm">
+ <entity name="OneToOneA" class="org.apache.openejb.deployment.entity.cmp.cmr.onetoone.ABean">
+ <description>A</description>
+ <table name="A"/>
+ <attributes>
+ <id name="field1">
+ <column name="a1"/>
+ </id>
+ <basic name="field2"/>
+ <one-to-one name="b" mapped-by="a">
+ <cascade>
+ <cascade-all/>
+ </cascade>
+ </one-to-one>
+ </attributes>
+ </entity>
+ <entity name="OneToOneB" class="org.apache.openejb.deployment.entity.cmp.cmr.onetoone.BBean">
+ <description>B</description>
+ <table name="B"/>
+ <attributes>
+ <id name="field1"/>
+ <basic name="field2">
+ <column name="b2"/>
+ </basic>
+ <basic name="field3"/>
+ <one-to-one name="a">
+ <join-column referenced-column-name="a1" name="fka1"/>
+ </one-to-one>
+ </attributes>
+ </entity>
+</entity-mappings>