You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2010/03/28 21:12:31 UTC
svn commit: r928478 - in
/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test:
java/org/apache/art/ java/org/apache/art/auto/
java/org/apache/cayenne/access/ resources/
Author: aadamchik
Date: Sun Mar 28 19:12:30 2010
New Revision: 928478
URL: http://svn.apache.org/viewvc?rev=928478&view=rev
Log:
CAY-1409 Pkgenerator is accessed needlessly for join tables with own database generated PK
a unit test that shows Cayenne working correctly, still used for debugging unneeded PkGenerator access
Added:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/art/GeneratedF1.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/art/GeneratedF2.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/art/auto/_GeneratedF1.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/art/auto/_GeneratedF2.java
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/art/auto/_Testmap.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/IdentityColumnsTest.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/cayenne-default.xml
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/embeddable.map.xml
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/inheritance-flat.map.xml
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/inheritance.map.xml
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/qualified.map.xml
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/quotemap.map.xml
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/sus-map.map.xml
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/testmap.map.xml
Added: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/art/GeneratedF1.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/art/GeneratedF1.java?rev=928478&view=auto
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/art/GeneratedF1.java (added)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/art/GeneratedF1.java Sun Mar 28 19:12:30 2010
@@ -0,0 +1,7 @@
+package org.apache.art;
+
+import org.apache.art.auto._GeneratedF1;
+
+public class GeneratedF1 extends _GeneratedF1 {
+
+}
Added: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/art/GeneratedF2.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/art/GeneratedF2.java?rev=928478&view=auto
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/art/GeneratedF2.java (added)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/art/GeneratedF2.java Sun Mar 28 19:12:30 2010
@@ -0,0 +1,7 @@
+package org.apache.art;
+
+import org.apache.art.auto._GeneratedF2;
+
+public class GeneratedF2 extends _GeneratedF2 {
+
+}
Added: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/art/auto/_GeneratedF1.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/art/auto/_GeneratedF1.java?rev=928478&view=auto
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/art/auto/_GeneratedF1.java (added)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/art/auto/_GeneratedF1.java Sun Mar 28 19:12:30 2010
@@ -0,0 +1,32 @@
+package org.apache.art.auto;
+
+import java.util.List;
+
+import org.apache.art.GeneratedF2;
+import org.apache.cayenne.CayenneDataObject;
+
+/**
+ * Class _GeneratedF1 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _GeneratedF1 extends CayenneDataObject {
+
+ public static final String F2_PROPERTY = "f2";
+
+ public static final String ID_PK_COLUMN = "ID";
+
+ public void addToF2(GeneratedF2 obj) {
+ addToManyTarget("f2", obj, true);
+ }
+ public void removeFromF2(GeneratedF2 obj) {
+ removeToManyTarget("f2", obj, true);
+ }
+ @SuppressWarnings("unchecked")
+ public List<GeneratedF2> getF2() {
+ return (List<GeneratedF2>)readProperty("f2");
+ }
+
+
+}
Added: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/art/auto/_GeneratedF2.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/art/auto/_GeneratedF2.java?rev=928478&view=auto
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/art/auto/_GeneratedF2.java (added)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/art/auto/_GeneratedF2.java Sun Mar 28 19:12:30 2010
@@ -0,0 +1,32 @@
+package org.apache.art.auto;
+
+import java.util.List;
+
+import org.apache.art.GeneratedF1;
+import org.apache.cayenne.CayenneDataObject;
+
+/**
+ * Class _GeneratedF2 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _GeneratedF2 extends CayenneDataObject {
+
+ public static final String F1_PROPERTY = "f1";
+
+ public static final String ID_PK_COLUMN = "ID";
+
+ public void addToF1(GeneratedF1 obj) {
+ addToManyTarget("f1", obj, true);
+ }
+ public void removeFromF1(GeneratedF1 obj) {
+ removeToManyTarget("f1", obj, true);
+ }
+ @SuppressWarnings("unchecked")
+ public List<GeneratedF1> getF1() {
+ return (List<GeneratedF1>)readProperty("f1");
+ }
+
+
+}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/art/auto/_Testmap.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/art/auto/_Testmap.java?rev=928478&r1=928477&r2=928478&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/art/auto/_Testmap.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/art/auto/_Testmap.java Sun Mar 28 19:12:30 2010
@@ -16,6 +16,40 @@ import org.apache.cayenne.query.NamedQue
*/
public class _Testmap {
+ public static final String EJBQL_QUERY_TEST_QUERYNAME = "EjbqlQueryTest";
+
+ public static final String NON_SELECTING_QUERY_QUERYNAME = "NonSelectingQuery";
+
+ public static final String OBJECT_QUERY_QUERYNAME = "ObjectQuery";
+
+ public static final String PARAMETERIZED_NON_SELECTING_QUERY_QUERYNAME = "ParameterizedNonSelectingQuery";
+
+ public static final String PARAMETERIZED_QUERY_WITH_LOCAL_CACHE_QUERYNAME = "ParameterizedQueryWithLocalCache";
+
+ public static final String PARAMETERIZED_QUERY_WITH_SHARED_CACHE_QUERYNAME = "ParameterizedQueryWithSharedCache";
+
+ public static final String PROCEDURE_QUERY_QUERYNAME = "ProcedureQuery";
+
+ public static final String QUERY_WITH_LOCAL_CACHE_QUERYNAME = "QueryWithLocalCache";
+
+ public static final String QUERY_WITH_ORDERING_QUERYNAME = "QueryWithOrdering";
+
+ public static final String QUERY_WITH_PREFETCH_QUERYNAME = "QueryWithPrefetch";
+
+ public static final String QUERY_WITH_QUALIFIER_QUERYNAME = "QueryWithQualifier";
+
+ public static final String QUERY_WITH_SHARED_CACHE_QUERYNAME = "QueryWithSharedCache";
+
+ public static final String SELECT_DATE_TEST_QUERYNAME = "SelectDateTest";
+
+ public static final String SELECT_RETURN_TYPES_MAP1_QUERYNAME = "SelectReturnTypesMap1";
+
+ public static final String SELECT_RETURN_TYPES_MAP2_QUERYNAME = "SelectReturnTypesMap2";
+
+ public static final String SELECT_TEST_LOWER_QUERYNAME = "SelectTestLower";
+
+ public static final String SELECT_TEST_UPPER_QUERYNAME = "SelectTestUpper";
+
public List<Painting> performObjectQuery(ObjectContext context , Artist artist) {
String[] parameters = {
"artist",
@@ -79,4 +113,4 @@ public class _Testmap {
public List<Artist> performQueryWithSharedCache(ObjectContext context ) {
return context.performQuery(new NamedQuery("QueryWithSharedCache"));
}
-}
+}
\ No newline at end of file
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/IdentityColumnsTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/IdentityColumnsTest.java?rev=928478&r1=928477&r2=928478&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/IdentityColumnsTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/IdentityColumnsTest.java Sun Mar 28 19:12:30 2010
@@ -28,10 +28,15 @@ import org.apache.art.GeneratedColumnCom
import org.apache.art.GeneratedColumnDep;
import org.apache.art.GeneratedColumnTest2;
import org.apache.art.GeneratedColumnTestEntity;
+import org.apache.art.GeneratedF1;
+import org.apache.art.GeneratedF2;
import org.apache.cayenne.Cayenne;
import org.apache.cayenne.ObjectId;
import org.apache.cayenne.Persistent;
+import org.apache.cayenne.map.DbAttribute;
+import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.query.SelectQuery;
+import org.apache.cayenne.test.TableHelper;
import org.apache.cayenne.unit.CayenneCase;
/**
@@ -86,24 +91,61 @@ public class IdentityColumnsTest extends
// make sure that id is the same as id in the DB
context.invalidateObjects(Collections.singleton(idObject));
- GeneratedColumnTestEntity object = Cayenne
- .objectForPK(context, GeneratedColumnTestEntity.class, id);
+ GeneratedColumnTestEntity object = Cayenne.objectForPK(
+ context,
+ GeneratedColumnTestEntity.class,
+ id);
assertNotNull(object);
assertEquals(name, object.getName());
}
+ public void testGeneratedJoinInFlattenedRelationship() throws Exception {
+ String joinTableName = "GENERATED_JOIN";
+
+ TableHelper joinTable = new TableHelper(getDbHelper(), joinTableName);
+ joinTable.deleteAll();
+
+ DataContext context = createDataContext();
+
+ // before saving objects, let's manually access PKGenerator to get a base PK value
+ // for comparison
+ DbEntity joinTableEntity = context.getEntityResolver().getDbEntity(joinTableName);
+ DbAttribute pkAttribute = (DbAttribute) joinTableEntity.getAttribute("ID");
+ Number pk = (Number) getNode().getAdapter().getPkGenerator().generatePk(
+ getNode(),
+ pkAttribute);
+
+ GeneratedF1 f1 = context.newObject(GeneratedF1.class);
+ GeneratedF2 f2 = context.newObject(GeneratedF2.class);
+ f1.addToF2(f2);
+
+ context.commitChanges();
+
+ int id = joinTable.getInt("ID");
+ assertTrue(id > 0);
+
+ // this is a leap of faith that autoincrement-based IDs will not match
+ // PkGenertor provided ids... This sorta works though if pk generator has a 200
+ // base value
+ if (getNode().getAdapter().supportsGeneratedKeys()) {
+ assertFalse("Looks like auto-increment wasn't used for the join table. ID: "
+ + id, id == pk.intValue() + 1);
+ }
+ else {
+ assertEquals(id, pk.intValue() + 1);
+ }
+ }
+
/**
* Tests CAY-422 bug.
*/
public void testUnrelatedUpdate() throws Exception {
DataContext context = createDataContext();
- GeneratedColumnTestEntity m = context
- .newObject(GeneratedColumnTestEntity.class);
+ GeneratedColumnTestEntity m = context.newObject(GeneratedColumnTestEntity.class);
m.setName("m");
- GeneratedColumnDep d = context
- .newObject(GeneratedColumnDep.class);
+ GeneratedColumnDep d = context.newObject(GeneratedColumnDep.class);
d.setName("d");
d.setToMaster(m);
context.commitChanges();
@@ -130,8 +172,7 @@ public class IdentityColumnsTest extends
.newObject(GeneratedColumnTestEntity.class);
idObject1.setName("o1");
- GeneratedColumnTest2 idObject2 = context
- .newObject(GeneratedColumnTest2.class);
+ GeneratedColumnTest2 idObject2 = context.newObject(GeneratedColumnTest2.class);
idObject2.setName("o2");
context.commitChanges();
@@ -146,12 +187,9 @@ public class IdentityColumnsTest extends
};
GeneratedColumnTestEntity[] idObjects = new GeneratedColumnTestEntity[] {
- context
- .newObject(GeneratedColumnTestEntity.class),
- context
- .newObject(GeneratedColumnTestEntity.class),
- context
- .newObject(GeneratedColumnTestEntity.class)
+ context.newObject(GeneratedColumnTestEntity.class),
+ context.newObject(GeneratedColumnTestEntity.class),
+ context.newObject(GeneratedColumnTestEntity.class)
};
for (int i = 0; i < idObjects.length; i++) {
@@ -169,8 +207,10 @@ public class IdentityColumnsTest extends
context.invalidateObjects(Arrays.asList(idObjects));
for (int i = 0; i < ids.length; i++) {
- GeneratedColumnTestEntity object = Cayenne
- .objectForPK(context, GeneratedColumnTestEntity.class, ids[i]);
+ GeneratedColumnTestEntity object = Cayenne.objectForPK(
+ context,
+ GeneratedColumnTestEntity.class,
+ ids[i]);
assertNotNull(object);
assertEquals(names[i], object.getName());
}
@@ -190,13 +230,11 @@ public class IdentityColumnsTest extends
.newObject(GeneratedColumnCompMaster.class);
master.setName(masterName);
- GeneratedColumnCompKey dep1 = context
- .newObject(GeneratedColumnCompKey.class);
+ GeneratedColumnCompKey dep1 = context.newObject(GeneratedColumnCompKey.class);
dep1.setName(depName1);
dep1.setToMaster(master);
- GeneratedColumnCompKey dep2 = context
- .newObject(GeneratedColumnCompKey.class);
+ GeneratedColumnCompKey dep2 = context.newObject(GeneratedColumnCompKey.class);
dep2.setName(depName2);
dep2.setToMaster(master);
@@ -235,8 +273,7 @@ public class IdentityColumnsTest extends
.newObject(GeneratedColumnTestEntity.class);
master1.setName("aaa");
- GeneratedColumnDep dependent = context
- .newObject(GeneratedColumnDep.class);
+ GeneratedColumnDep dependent = context.newObject(GeneratedColumnDep.class);
dependent.setName("aaa");
dependent.setToMaster(master1);
@@ -260,10 +297,7 @@ public class IdentityColumnsTest extends
context.invalidateObjects(Arrays.asList(master2, dependent));
- assertNotNull(Cayenne.objectForPK(
- context,
- GeneratedColumnTestEntity.class,
- id1));
+ assertNotNull(Cayenne.objectForPK(context, GeneratedColumnTestEntity.class, id1));
assertNotNull(Cayenne.objectForPK(context, GeneratedColumnDep.class, id2));
}
@@ -279,9 +313,8 @@ public class IdentityColumnsTest extends
.newObject(GeneratedColumnTestEntity.class);
idObject.setName("aaa");
- GeneratedColumnDep dependent = idObject
- .getObjectContext()
- .newObject(GeneratedColumnDep.class);
+ GeneratedColumnDep dependent = idObject.getObjectContext().newObject(
+ GeneratedColumnDep.class);
dependent.setName("aaa");
dependent.setToMaster(idObject);
@@ -299,10 +332,7 @@ public class IdentityColumnsTest extends
// refetch from DB
context.invalidateObjects(Arrays.asList(idObject, dependent));
- assertNotNull(Cayenne.objectForPK(
- context,
- GeneratedColumnTestEntity.class,
- id1));
+ assertNotNull(Cayenne.objectForPK(context, GeneratedColumnTestEntity.class, id1));
assertNotNull(Cayenne.objectForPK(context, GeneratedColumnDep.class, id2));
}
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/cayenne-default.xml
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/cayenne-default.xml?rev=928478&r1=928477&r2=928478&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/cayenne-default.xml (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/cayenne-default.xml Sun Mar 28 19:12:30 2010
@@ -1,17 +1,17 @@
-<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="6">
- <map name="embeddable"/>
- <map name="generic"/>
- <map name="inheritance"/>
- <map name="inheritance-flat"/>
- <map name="locking"/>
- <map name="map-db1"/>
- <map name="map-db2"/>
- <map name="multi-tier"/>
- <map name="people"/>
- <map name="qualified"/>
- <map name="quotemap"/>
- <map name="relationships"/>
- <map name="sus-map"/>
- <map name="testmap"/>
-</domain>
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="6">
+ <map name="embeddable"/>
+ <map name="generic"/>
+ <map name="inheritance"/>
+ <map name="inheritance-flat"/>
+ <map name="locking"/>
+ <map name="map-db1"/>
+ <map name="map-db2"/>
+ <map name="multi-tier"/>
+ <map name="people"/>
+ <map name="qualified"/>
+ <map name="quotemap"/>
+ <map name="relationships"/>
+ <map name="sus-map"/>
+ <map name="testmap"/>
+</domain>
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/embeddable.map.xml
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/embeddable.map.xml?rev=928478&r1=928477&r2=928478&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/embeddable.map.xml (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/embeddable.map.xml Sun Mar 28 19:12:30 2010
@@ -1,27 +1,27 @@
-<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/3.0/modelMap"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/3.0/modelMap http://cayenne.apache.org/schema/3.0/modelMap.xsd"
- project-version="6">
- <property name="defaultPackage" value="org.apache.cayenne.testdo.embeddable"/>
- <embeddable className="org.apache.cayenne.testdo.embeddable.Embeddable1">
- <embeddable-attribute name="embedded10" type="java.lang.String" db-attribute-name="EMBEDDED10"/>
- <embeddable-attribute name="embedded20" type="java.lang.String" db-attribute-name="EMBEDDED20"/>
- </embeddable>
- <db-entity name="EMBED_ENTITY1">
- <db-attribute name="EMBEDDED10" type="VARCHAR" length="100"/>
- <db-attribute name="EMBEDDED20" type="VARCHAR" length="100"/>
- <db-attribute name="EMBEDDED30" type="VARCHAR" length="100"/>
- <db-attribute name="EMBEDDED40" type="VARCHAR" length="100"/>
- <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
- <db-attribute name="NAME" type="VARCHAR" length="100"/>
- </db-entity>
- <obj-entity name="EmbedEntity1" className="org.apache.cayenne.testdo.embeddable.EmbedEntity1" dbEntityName="EMBED_ENTITY1">
- <embedded-attribute name="embedded1" type="org.apache.cayenne.testdo.embeddable.Embeddable1"/>
- <embedded-attribute name="embedded2" type="org.apache.cayenne.testdo.embeddable.Embeddable1">
- <embeddable-attribute-override name="embedded10" db-attribute-path="EMBEDDED30"/>
- <embeddable-attribute-override name="embedded20" db-attribute-path="EMBEDDED40"/>
- </embedded-attribute>
- <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
- </obj-entity>
-</data-map>
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/3.0/modelMap"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://cayenne.apache.org/schema/3.0/modelMap http://cayenne.apache.org/schema/3.0/modelMap.xsd"
+ project-version="6">
+ <property name="defaultPackage" value="org.apache.cayenne.testdo.embeddable"/>
+ <embeddable className="org.apache.cayenne.testdo.embeddable.Embeddable1">
+ <embeddable-attribute name="embedded10" type="java.lang.String" db-attribute-name="EMBEDDED10"/>
+ <embeddable-attribute name="embedded20" type="java.lang.String" db-attribute-name="EMBEDDED20"/>
+ </embeddable>
+ <db-entity name="EMBED_ENTITY1">
+ <db-attribute name="EMBEDDED10" type="VARCHAR" length="100"/>
+ <db-attribute name="EMBEDDED20" type="VARCHAR" length="100"/>
+ <db-attribute name="EMBEDDED30" type="VARCHAR" length="100"/>
+ <db-attribute name="EMBEDDED40" type="VARCHAR" length="100"/>
+ <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+ <db-attribute name="NAME" type="VARCHAR" length="100"/>
+ </db-entity>
+ <obj-entity name="EmbedEntity1" className="org.apache.cayenne.testdo.embeddable.EmbedEntity1" dbEntityName="EMBED_ENTITY1">
+ <embedded-attribute name="embedded1" type="org.apache.cayenne.testdo.embeddable.Embeddable1"/>
+ <embedded-attribute name="embedded2" type="org.apache.cayenne.testdo.embeddable.Embeddable1">
+ <embeddable-attribute-override name="embedded10" db-attribute-path="EMBEDDED30"/>
+ <embeddable-attribute-override name="embedded20" db-attribute-path="EMBEDDED40"/>
+ </embedded-attribute>
+ <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+ </obj-entity>
+</data-map>
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/inheritance-flat.map.xml
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/inheritance-flat.map.xml?rev=928478&r1=928477&r2=928478&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/inheritance-flat.map.xml (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/inheritance-flat.map.xml Sun Mar 28 19:12:30 2010
@@ -1,80 +1,80 @@
-<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/3.0/modelMap"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/3.0/modelMap http://cayenne.apache.org/schema/3.0/modelMap.xsd"
- project-version="6">
- <property name="defaultPackage" value="org.apache.cayenne.testdo.inheritance_flat"/>
- <db-entity name="GroupMembers">
- <db-attribute name="group_id" type="BIGINT" isMandatory="true"/>
- <db-attribute name="id" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
- <db-attribute name="role_id" type="BIGINT" isMandatory="true"/>
- </db-entity>
- <db-entity name="GroupProperties">
- <db-attribute name="description" type="VARCHAR" length="100"/>
- <db-attribute name="id" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
- </db-entity>
- <db-entity name="Roles">
- <db-attribute name="id" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
- <db-attribute name="name" type="VARCHAR" isMandatory="true" length="32"/>
- <db-attribute name="type" type="SMALLINT" isMandatory="true"/>
- </db-entity>
- <db-entity name="UserProperties">
- <db-attribute name="id" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
- <db-attribute name="nickname" type="VARCHAR" length="32"/>
- </db-entity>
- <obj-entity name="Group" superEntityName="User" className="org.apache.cayenne.testdo.inheritance_flat.Group">
- <qualifier><![CDATA[type = 2]]></qualifier>
- </obj-entity>
- <obj-entity name="GroupProperties" className="org.apache.cayenne.testdo.inheritance_flat.GroupProperties" dbEntityName="GroupProperties">
- <obj-attribute name="description" type="java.lang.String" db-attribute-path="description"/>
- <obj-attribute name="id" type="java.lang.Long" db-attribute-path="id"/>
- </obj-entity>
- <obj-entity name="Role" className="org.apache.cayenne.testdo.inheritance_flat.Role" dbEntityName="Roles">
- <qualifier><![CDATA[type = 0]]></qualifier>
- <obj-attribute name="id" type="long" db-attribute-path="id"/>
- <obj-attribute name="name" type="java.lang.String" lock="true" db-attribute-path="name"/>
- <obj-attribute name="type" type="int" db-attribute-path="type"/>
- <post-persist method-name="onPostPersist"/>
- <post-update method-name="onPostUpdate"/>
- </obj-entity>
- <obj-entity name="User" superEntityName="Role" className="org.apache.cayenne.testdo.inheritance_flat.User">
- <qualifier><![CDATA[type = 1]]></qualifier>
- <attribute-override name="id" db-attribute-path="id"/>
- <attribute-override name="name" db-attribute-path="name"/>
- <attribute-override name="type" db-attribute-path="type"/>
- </obj-entity>
- <obj-entity name="UserProperties" className="org.apache.cayenne.testdo.inheritance_flat.UserProperties" dbEntityName="UserProperties">
- <obj-attribute name="id" type="java.lang.Long" db-attribute-path="id"/>
- <obj-attribute name="nickname" type="java.lang.String" db-attribute-path="nickname"/>
- </obj-entity>
- <db-relationship name="group" source="GroupMembers" target="Roles" toMany="false">
- <db-attribute-pair source="group_id" target="id"/>
- </db-relationship>
- <db-relationship name="role" source="GroupMembers" target="Roles" toMany="false">
- <db-attribute-pair source="role_id" target="id"/>
- </db-relationship>
- <db-relationship name="group" source="GroupProperties" target="Roles" toMany="false">
- <db-attribute-pair source="id" target="id"/>
- </db-relationship>
- <db-relationship name="group_members" source="Roles" target="GroupMembers" toMany="true">
- <db-attribute-pair source="id" target="group_id"/>
- </db-relationship>
- <db-relationship name="group_properties" source="Roles" target="GroupProperties" toDependentPK="true" toMany="false">
- <db-attribute-pair source="id" target="id"/>
- </db-relationship>
- <db-relationship name="role_groups" source="Roles" target="GroupMembers" toMany="true">
- <db-attribute-pair source="id" target="role_id"/>
- </db-relationship>
- <db-relationship name="user_properties" source="Roles" target="UserProperties" toDependentPK="true" toMany="false">
- <db-attribute-pair source="id" target="id"/>
- </db-relationship>
- <db-relationship name="user" source="UserProperties" target="Roles" toMany="false">
- <db-attribute-pair source="id" target="id"/>
- </db-relationship>
- <obj-relationship name="groupMembers" source="Group" target="Role" deleteRule="Nullify" db-relationship-path="group_members.role"/>
- <obj-relationship name="groupProperties" source="Group" target="GroupProperties" deleteRule="Cascade" db-relationship-path="group_properties"/>
- <obj-relationship name="group" source="GroupProperties" target="Group" deleteRule="Nullify" db-relationship-path="group"/>
- <obj-relationship name="roleGroups" source="Role" target="Group" deleteRule="Nullify" db-relationship-path="role_groups.group"/>
- <obj-relationship name="userProperties" source="User" target="UserProperties" deleteRule="Cascade" db-relationship-path="user_properties"/>
- <obj-relationship name="user" source="UserProperties" target="User" deleteRule="Nullify" db-relationship-path="user"/>
-</data-map>
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/3.0/modelMap"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://cayenne.apache.org/schema/3.0/modelMap http://cayenne.apache.org/schema/3.0/modelMap.xsd"
+ project-version="6">
+ <property name="defaultPackage" value="org.apache.cayenne.testdo.inheritance_flat"/>
+ <db-entity name="GroupMembers">
+ <db-attribute name="group_id" type="BIGINT" isMandatory="true"/>
+ <db-attribute name="id" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
+ <db-attribute name="role_id" type="BIGINT" isMandatory="true"/>
+ </db-entity>
+ <db-entity name="GroupProperties">
+ <db-attribute name="description" type="VARCHAR" length="100"/>
+ <db-attribute name="id" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
+ </db-entity>
+ <db-entity name="Roles">
+ <db-attribute name="id" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
+ <db-attribute name="name" type="VARCHAR" isMandatory="true" length="32"/>
+ <db-attribute name="type" type="SMALLINT" isMandatory="true"/>
+ </db-entity>
+ <db-entity name="UserProperties">
+ <db-attribute name="id" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
+ <db-attribute name="nickname" type="VARCHAR" length="32"/>
+ </db-entity>
+ <obj-entity name="Group" superEntityName="User" className="org.apache.cayenne.testdo.inheritance_flat.Group">
+ <qualifier><![CDATA[type = 2]]></qualifier>
+ </obj-entity>
+ <obj-entity name="GroupProperties" className="org.apache.cayenne.testdo.inheritance_flat.GroupProperties" dbEntityName="GroupProperties">
+ <obj-attribute name="description" type="java.lang.String" db-attribute-path="description"/>
+ <obj-attribute name="id" type="java.lang.Long" db-attribute-path="id"/>
+ </obj-entity>
+ <obj-entity name="Role" className="org.apache.cayenne.testdo.inheritance_flat.Role" dbEntityName="Roles">
+ <qualifier><![CDATA[type = 0]]></qualifier>
+ <obj-attribute name="id" type="long" db-attribute-path="id"/>
+ <obj-attribute name="name" type="java.lang.String" lock="true" db-attribute-path="name"/>
+ <obj-attribute name="type" type="int" db-attribute-path="type"/>
+ <post-persist method-name="onPostPersist"/>
+ <post-update method-name="onPostUpdate"/>
+ </obj-entity>
+ <obj-entity name="User" superEntityName="Role" className="org.apache.cayenne.testdo.inheritance_flat.User">
+ <qualifier><![CDATA[type = 1]]></qualifier>
+ <attribute-override name="id" db-attribute-path="id"/>
+ <attribute-override name="name" db-attribute-path="name"/>
+ <attribute-override name="type" db-attribute-path="type"/>
+ </obj-entity>
+ <obj-entity name="UserProperties" className="org.apache.cayenne.testdo.inheritance_flat.UserProperties" dbEntityName="UserProperties">
+ <obj-attribute name="id" type="java.lang.Long" db-attribute-path="id"/>
+ <obj-attribute name="nickname" type="java.lang.String" db-attribute-path="nickname"/>
+ </obj-entity>
+ <db-relationship name="group" source="GroupMembers" target="Roles" toMany="false">
+ <db-attribute-pair source="group_id" target="id"/>
+ </db-relationship>
+ <db-relationship name="role" source="GroupMembers" target="Roles" toMany="false">
+ <db-attribute-pair source="role_id" target="id"/>
+ </db-relationship>
+ <db-relationship name="group" source="GroupProperties" target="Roles" toMany="false">
+ <db-attribute-pair source="id" target="id"/>
+ </db-relationship>
+ <db-relationship name="group_members" source="Roles" target="GroupMembers" toMany="true">
+ <db-attribute-pair source="id" target="group_id"/>
+ </db-relationship>
+ <db-relationship name="group_properties" source="Roles" target="GroupProperties" toDependentPK="true" toMany="false">
+ <db-attribute-pair source="id" target="id"/>
+ </db-relationship>
+ <db-relationship name="role_groups" source="Roles" target="GroupMembers" toMany="true">
+ <db-attribute-pair source="id" target="role_id"/>
+ </db-relationship>
+ <db-relationship name="user_properties" source="Roles" target="UserProperties" toDependentPK="true" toMany="false">
+ <db-attribute-pair source="id" target="id"/>
+ </db-relationship>
+ <db-relationship name="user" source="UserProperties" target="Roles" toMany="false">
+ <db-attribute-pair source="id" target="id"/>
+ </db-relationship>
+ <obj-relationship name="groupMembers" source="Group" target="Role" deleteRule="Nullify" db-relationship-path="group_members.role"/>
+ <obj-relationship name="groupProperties" source="Group" target="GroupProperties" deleteRule="Cascade" db-relationship-path="group_properties"/>
+ <obj-relationship name="group" source="GroupProperties" target="Group" deleteRule="Nullify" db-relationship-path="group"/>
+ <obj-relationship name="roleGroups" source="Role" target="Group" deleteRule="Nullify" db-relationship-path="role_groups.group"/>
+ <obj-relationship name="userProperties" source="User" target="UserProperties" deleteRule="Cascade" db-relationship-path="user_properties"/>
+ <obj-relationship name="user" source="UserProperties" target="User" deleteRule="Nullify" db-relationship-path="user"/>
+</data-map>
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/inheritance.map.xml
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/inheritance.map.xml?rev=928478&r1=928477&r2=928478&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/inheritance.map.xml (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/inheritance.map.xml Sun Mar 28 19:12:30 2010
@@ -1,41 +1,41 @@
-<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/3.0/modelMap"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/3.0/modelMap http://cayenne.apache.org/schema/3.0/modelMap.xsd"
- project-version="6">
- <property name="defaultPackage" value="org.apache.cayenne.testdo.horizontalinherit"/>
- <db-entity name="INHERITANCE_SUB_ENTITY1">
- <db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
- <db-attribute name="SUBENTITY_STRING_DB_ATTR" type="VARCHAR" length="255"/>
- <db-attribute name="SUPER_INT_DB_ATTR" type="INTEGER"/>
- <db-attribute name="SUPER_STRING_DB_ATTR" type="VARCHAR" length="255"/>
- </db-entity>
- <db-entity name="INHERITANCE_SUB_ENTITY2">
- <db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
- <db-attribute name="OVERRIDDEN_STRING_DB_ATTR" type="VARCHAR" length="255"/>
- <db-attribute name="SUBENTITY_INT_DB_ATTR" type="INTEGER"/>
- <db-attribute name="SUPER_INT_DB_ATTR" type="INTEGER"/>
- </db-entity>
- <db-entity name="INHERITANCE_SUB_ENTITY3">
- <db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
- <db-attribute name="OVERRIDDEN_INT_DB_ATTR" type="INTEGER"/>
- <db-attribute name="OVERRIDDEN_STRING_DB_ATTR" type="VARCHAR" length="255"/>
- <db-attribute name="SUBENTITY_BOOL_ATTR" type="BIT"/>
- </db-entity>
- <obj-entity name="AbstractSuperEntity" abstract="true" className="org.apache.cayenne.testdo.horizontalinherit.AbstractSuperEntity">
- <obj-attribute name="superIntAttr" type="int" db-attribute-path="SUPER_INT_DB_ATTR"/>
- <obj-attribute name="superStringAttr" type="java.lang.String" db-attribute-path="SUPER_STRING_DB_ATTR"/>
- </obj-entity>
- <obj-entity name="SubEntity1" superEntityName="AbstractSuperEntity" className="org.apache.cayenne.testdo.horizontalinherit.SubEntity1" dbEntityName="INHERITANCE_SUB_ENTITY1">
- <obj-attribute name="subEntityStringAttr" type="java.lang.String" db-attribute-path="SUBENTITY_STRING_DB_ATTR"/>
- </obj-entity>
- <obj-entity name="SubEntity2" superEntityName="AbstractSuperEntity" className="org.apache.cayenne.testdo.horizontalinherit.SubEntity2" dbEntityName="INHERITANCE_SUB_ENTITY2">
- <obj-attribute name="subEntityIntAttr" type="int" db-attribute-path="SUBENTITY_INT_DB_ATTR"/>
- <attribute-override name="superStringAttr" db-attribute-path="OVERRIDDEN_STRING_DB_ATTR"/>
- </obj-entity>
- <obj-entity name="SubEntity3" superEntityName="AbstractSuperEntity" className="org.apache.cayenne.testdo.horizontalinherit.SubEntity3" dbEntityName="INHERITANCE_SUB_ENTITY3">
- <obj-attribute name="subBooleanAttr" type="boolean" db-attribute-path="SUBENTITY_BOOL_ATTR"/>
- <attribute-override name="superIntAttr" db-attribute-path="OVERRIDDEN_INT_DB_ATTR"/>
- <attribute-override name="superStringAttr" db-attribute-path="OVERRIDDEN_STRING_DB_ATTR"/>
- </obj-entity>
-</data-map>
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/3.0/modelMap"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://cayenne.apache.org/schema/3.0/modelMap http://cayenne.apache.org/schema/3.0/modelMap.xsd"
+ project-version="6">
+ <property name="defaultPackage" value="org.apache.cayenne.testdo.horizontalinherit"/>
+ <db-entity name="INHERITANCE_SUB_ENTITY1">
+ <db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
+ <db-attribute name="SUBENTITY_STRING_DB_ATTR" type="VARCHAR" length="255"/>
+ <db-attribute name="SUPER_INT_DB_ATTR" type="INTEGER"/>
+ <db-attribute name="SUPER_STRING_DB_ATTR" type="VARCHAR" length="255"/>
+ </db-entity>
+ <db-entity name="INHERITANCE_SUB_ENTITY2">
+ <db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
+ <db-attribute name="OVERRIDDEN_STRING_DB_ATTR" type="VARCHAR" length="255"/>
+ <db-attribute name="SUBENTITY_INT_DB_ATTR" type="INTEGER"/>
+ <db-attribute name="SUPER_INT_DB_ATTR" type="INTEGER"/>
+ </db-entity>
+ <db-entity name="INHERITANCE_SUB_ENTITY3">
+ <db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
+ <db-attribute name="OVERRIDDEN_INT_DB_ATTR" type="INTEGER"/>
+ <db-attribute name="OVERRIDDEN_STRING_DB_ATTR" type="VARCHAR" length="255"/>
+ <db-attribute name="SUBENTITY_BOOL_ATTR" type="BIT"/>
+ </db-entity>
+ <obj-entity name="AbstractSuperEntity" abstract="true" className="org.apache.cayenne.testdo.horizontalinherit.AbstractSuperEntity">
+ <obj-attribute name="superIntAttr" type="int" db-attribute-path="SUPER_INT_DB_ATTR"/>
+ <obj-attribute name="superStringAttr" type="java.lang.String" db-attribute-path="SUPER_STRING_DB_ATTR"/>
+ </obj-entity>
+ <obj-entity name="SubEntity1" superEntityName="AbstractSuperEntity" className="org.apache.cayenne.testdo.horizontalinherit.SubEntity1" dbEntityName="INHERITANCE_SUB_ENTITY1">
+ <obj-attribute name="subEntityStringAttr" type="java.lang.String" db-attribute-path="SUBENTITY_STRING_DB_ATTR"/>
+ </obj-entity>
+ <obj-entity name="SubEntity2" superEntityName="AbstractSuperEntity" className="org.apache.cayenne.testdo.horizontalinherit.SubEntity2" dbEntityName="INHERITANCE_SUB_ENTITY2">
+ <obj-attribute name="subEntityIntAttr" type="int" db-attribute-path="SUBENTITY_INT_DB_ATTR"/>
+ <attribute-override name="superStringAttr" db-attribute-path="OVERRIDDEN_STRING_DB_ATTR"/>
+ </obj-entity>
+ <obj-entity name="SubEntity3" superEntityName="AbstractSuperEntity" className="org.apache.cayenne.testdo.horizontalinherit.SubEntity3" dbEntityName="INHERITANCE_SUB_ENTITY3">
+ <obj-attribute name="subBooleanAttr" type="boolean" db-attribute-path="SUBENTITY_BOOL_ATTR"/>
+ <attribute-override name="superIntAttr" db-attribute-path="OVERRIDDEN_INT_DB_ATTR"/>
+ <attribute-override name="superStringAttr" db-attribute-path="OVERRIDDEN_STRING_DB_ATTR"/>
+ </obj-entity>
+</data-map>
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/qualified.map.xml
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/qualified.map.xml?rev=928478&r1=928477&r2=928478&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/qualified.map.xml (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/qualified.map.xml Sun Mar 28 19:12:30 2010
@@ -1,36 +1,36 @@
-<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/3.0/modelMap"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/3.0/modelMap http://cayenne.apache.org/schema/3.0/modelMap.xsd"
- project-version="6">
- <property name="defaultPackage" value="org.apache.cayenne.testdo.qualified"/>
- <db-entity name="QUALIFIED1">
- <db-attribute name="DELETED" type="BOOLEAN"/>
- <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
- <db-attribute name="NAME" type="VARCHAR" length="200"/>
- </db-entity>
- <db-entity name="QUALIFIED2">
- <db-attribute name="DELETED" type="BOOLEAN"/>
- <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
- <db-attribute name="NAME" type="VARCHAR" length="200"/>
- <db-attribute name="QUALIFIED1_ID" type="INTEGER"/>
- </db-entity>
- <obj-entity name="Qualified1" className="org.apache.cayenne.testdo.qualified.Qualified1" dbEntityName="QUALIFIED1">
- <qualifier><![CDATA[deleted = null]]></qualifier>
- <obj-attribute name="deleted" type="java.lang.Boolean" db-attribute-path="DELETED"/>
- <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
- </obj-entity>
- <obj-entity name="Qualified2" className="org.apache.cayenne.testdo.qualified.Qualified2" dbEntityName="QUALIFIED2">
- <qualifier><![CDATA[deleted = null]]></qualifier>
- <obj-attribute name="deleted" type="java.lang.Boolean" db-attribute-path="DELETED"/>
- <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
- </obj-entity>
- <db-relationship name="qualified2s" source="QUALIFIED1" target="QUALIFIED2" toMany="true">
- <db-attribute-pair source="ID" target="QUALIFIED1_ID"/>
- </db-relationship>
- <db-relationship name="qualified1" source="QUALIFIED2" target="QUALIFIED1" toMany="false">
- <db-attribute-pair source="QUALIFIED1_ID" target="ID"/>
- </db-relationship>
- <obj-relationship name="qualified2s" source="Qualified1" target="Qualified2" db-relationship-path="qualified2s"/>
- <obj-relationship name="qualified1" source="Qualified2" target="Qualified1" db-relationship-path="qualified1"/>
-</data-map>
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/3.0/modelMap"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://cayenne.apache.org/schema/3.0/modelMap http://cayenne.apache.org/schema/3.0/modelMap.xsd"
+ project-version="6">
+ <property name="defaultPackage" value="org.apache.cayenne.testdo.qualified"/>
+ <db-entity name="QUALIFIED1">
+ <db-attribute name="DELETED" type="BOOLEAN"/>
+ <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+ <db-attribute name="NAME" type="VARCHAR" length="200"/>
+ </db-entity>
+ <db-entity name="QUALIFIED2">
+ <db-attribute name="DELETED" type="BOOLEAN"/>
+ <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+ <db-attribute name="NAME" type="VARCHAR" length="200"/>
+ <db-attribute name="QUALIFIED1_ID" type="INTEGER"/>
+ </db-entity>
+ <obj-entity name="Qualified1" className="org.apache.cayenne.testdo.qualified.Qualified1" dbEntityName="QUALIFIED1">
+ <qualifier><![CDATA[deleted = null]]></qualifier>
+ <obj-attribute name="deleted" type="java.lang.Boolean" db-attribute-path="DELETED"/>
+ <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+ </obj-entity>
+ <obj-entity name="Qualified2" className="org.apache.cayenne.testdo.qualified.Qualified2" dbEntityName="QUALIFIED2">
+ <qualifier><![CDATA[deleted = null]]></qualifier>
+ <obj-attribute name="deleted" type="java.lang.Boolean" db-attribute-path="DELETED"/>
+ <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+ </obj-entity>
+ <db-relationship name="qualified2s" source="QUALIFIED1" target="QUALIFIED2" toMany="true">
+ <db-attribute-pair source="ID" target="QUALIFIED1_ID"/>
+ </db-relationship>
+ <db-relationship name="qualified1" source="QUALIFIED2" target="QUALIFIED1" toMany="false">
+ <db-attribute-pair source="QUALIFIED1_ID" target="ID"/>
+ </db-relationship>
+ <obj-relationship name="qualified2s" source="Qualified1" target="Qualified2" db-relationship-path="qualified2s"/>
+ <obj-relationship name="qualified1" source="Qualified2" target="Qualified1" db-relationship-path="qualified1"/>
+</data-map>
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/quotemap.map.xml
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/quotemap.map.xml?rev=928478&r1=928477&r2=928478&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/quotemap.map.xml (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/quotemap.map.xml Sun Mar 28 19:12:30 2010
@@ -1,28 +1,28 @@
-<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/3.0/modelMap"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/3.0/modelMap http://cayenne.apache.org/schema/3.0/modelMap.xsd"
- project-version="6">
- <property name="defaultPackage" value="org.apache.cayenne.testdo.quotemap"/>
- <property name="quoteSqlIdentifiers" value="true"/>
- <db-entity name="QUOTE_ADRESS">
- <db-attribute name="ADRES ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
- <db-attribute name="City" type="VARCHAR" length="200"/>
- </db-entity>
- <db-entity name="quote Person">
- <db-attribute name="DAte" type="DATE"/>
- <db-attribute name="FULL name" type="VARCHAR" length="300"/>
- <db-attribute name="NAME" type="VARCHAR" length="100"/>
- <db-attribute name="id" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
- <db-attribute name="salary" type="INTEGER"/>
- </db-entity>
- <obj-entity name="QuoteAdress" className="org.apache.cayenne.testdo.quotemap.QuoteAdress" dbEntityName="QUOTE_ADRESS">
- <obj-attribute name="city" type="java.lang.String" db-attribute-path="City"/>
- </obj-entity>
- <obj-entity name="Quote_Person" className="org.apache.cayenne.testdo.quotemap.Quote_Person" dbEntityName="quote Person">
- <obj-attribute name="dAte" type="java.util.Date" db-attribute-path="DAte"/>
- <obj-attribute name="fULL_name" type="java.lang.String" db-attribute-path="FULL name"/>
- <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
- <obj-attribute name="salary" type="java.lang.Integer" db-attribute-path="salary"/>
- </obj-entity>
-</data-map>
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/3.0/modelMap"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://cayenne.apache.org/schema/3.0/modelMap http://cayenne.apache.org/schema/3.0/modelMap.xsd"
+ project-version="6">
+ <property name="defaultPackage" value="org.apache.cayenne.testdo.quotemap"/>
+ <property name="quoteSqlIdentifiers" value="true"/>
+ <db-entity name="QUOTE_ADRESS">
+ <db-attribute name="ADRES ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+ <db-attribute name="City" type="VARCHAR" length="200"/>
+ </db-entity>
+ <db-entity name="quote Person">
+ <db-attribute name="DAte" type="DATE"/>
+ <db-attribute name="FULL name" type="VARCHAR" length="300"/>
+ <db-attribute name="NAME" type="VARCHAR" length="100"/>
+ <db-attribute name="id" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+ <db-attribute name="salary" type="INTEGER"/>
+ </db-entity>
+ <obj-entity name="QuoteAdress" className="org.apache.cayenne.testdo.quotemap.QuoteAdress" dbEntityName="QUOTE_ADRESS">
+ <obj-attribute name="city" type="java.lang.String" db-attribute-path="City"/>
+ </obj-entity>
+ <obj-entity name="Quote_Person" className="org.apache.cayenne.testdo.quotemap.Quote_Person" dbEntityName="quote Person">
+ <obj-attribute name="dAte" type="java.util.Date" db-attribute-path="DAte"/>
+ <obj-attribute name="fULL_name" type="java.lang.String" db-attribute-path="FULL name"/>
+ <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+ <obj-attribute name="salary" type="java.lang.Integer" db-attribute-path="salary"/>
+ </obj-entity>
+</data-map>
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/sus-map.map.xml
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/sus-map.map.xml?rev=928478&r1=928477&r2=928478&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/sus-map.map.xml (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/sus-map.map.xml Sun Mar 28 19:12:30 2010
@@ -1,16 +1,16 @@
-<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/3.0/modelMap"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/3.0/modelMap http://cayenne.apache.org/schema/3.0/modelMap.xsd"
- project-version="6">
- <db-entity name="SUS1">
- <db-attribute name="id" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
- <db-attribute name="strNoMandatory" type="VARCHAR" length="200"/>
- <db-attribute name="testBoolean" type="BOOLEAN" isMandatory="true"/>
- <db-attribute name="testChar" type="CHAR" isMandatory="true" length="200"/>
- <db-attribute name="testString" type="VARCHAR" isMandatory="true" length="200"/>
- </db-entity>
- <db-entity name="SUS2">
- <db-attribute name="id" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
- </db-entity>
-</data-map>
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/3.0/modelMap"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://cayenne.apache.org/schema/3.0/modelMap http://cayenne.apache.org/schema/3.0/modelMap.xsd"
+ project-version="6">
+ <db-entity name="SUS1">
+ <db-attribute name="id" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+ <db-attribute name="strNoMandatory" type="VARCHAR" length="200"/>
+ <db-attribute name="testBoolean" type="BOOLEAN" isMandatory="true"/>
+ <db-attribute name="testChar" type="CHAR" isMandatory="true" length="200"/>
+ <db-attribute name="testString" type="VARCHAR" isMandatory="true" length="200"/>
+ </db-entity>
+ <db-entity name="SUS2">
+ <db-attribute name="id" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+ </db-entity>
+</data-map>
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/testmap.map.xml
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/testmap.map.xml?rev=928478&r1=928477&r2=928478&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/testmap.map.xml (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/testmap.map.xml Sun Mar 28 19:12:30 2010
@@ -171,6 +171,17 @@
<db-attribute name="GENERATED_COLUMN" type="INTEGER" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
<db-attribute name="NAME" type="VARCHAR" length="100"/>
</db-entity>
+ <db-entity name="GENERATED_F1">
+ <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+ </db-entity>
+ <db-entity name="GENERATED_F2">
+ <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+ </db-entity>
+ <db-entity name="GENERATED_JOIN">
+ <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
+ <db-attribute name="ID1" type="INTEGER"/>
+ <db-attribute name="ID2" type="INTEGER"/>
+ </db-entity>
<db-entity name="LONG_ENTITY">
<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
<db-attribute name="LONG_FIELD" type="BIGINT"/>
@@ -401,6 +412,10 @@
<obj-entity name="GeneratedColumnTestEntity" className="org.apache.art.GeneratedColumnTestEntity" dbEntityName="GENERATED_COLUMN_TEST">
<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
</obj-entity>
+ <obj-entity name="GeneratedF1" className="org.apache.art.GeneratedF1" clientClassName="test.client.GeneratedF1" dbEntityName="GENERATED_F1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+ </obj-entity>
+ <obj-entity name="GeneratedF2" className="org.apache.art.GeneratedF2" clientClassName="test.client.GeneratedF2" dbEntityName="GENERATED_F2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+ </obj-entity>
<obj-entity name="LongEntity" className="org.apache.art.LongEntity" dbEntityName="LONG_ENTITY">
<obj-attribute name="longField" type="java.lang.Long" db-attribute-path="LONG_FIELD"/>
</obj-entity>
@@ -576,6 +591,18 @@
<db-relationship name="toDep" source="GENERATED_COLUMN_TEST" target="GENERATED_COLUMN_DEP" toDependentPK="true" toMany="false">
<db-attribute-pair source="GENERATED_COLUMN" target="GENERATED_COLUMN_FK"/>
</db-relationship>
+ <db-relationship name="join" source="GENERATED_F1" target="GENERATED_JOIN" toMany="true">
+ <db-attribute-pair source="ID" target="ID1"/>
+ </db-relationship>
+ <db-relationship name="join" source="GENERATED_F2" target="GENERATED_JOIN" toMany="true">
+ <db-attribute-pair source="ID" target="ID2"/>
+ </db-relationship>
+ <db-relationship name="f1" source="GENERATED_JOIN" target="GENERATED_F1" toMany="false">
+ <db-attribute-pair source="ID1" target="ID"/>
+ </db-relationship>
+ <db-relationship name="f2" source="GENERATED_JOIN" target="GENERATED_F2" toMany="false">
+ <db-attribute-pair source="ID2" target="ID"/>
+ </db-relationship>
<db-relationship name="toMeaningfulPK" source="MEANINGFUL_PK_DEP" target="MEANINGFUL_PK_TEST1" toMany="false">
<db-attribute-pair source="MASTER_PK" target="PK_ATTRIBUTE"/>
</db-relationship>
@@ -630,6 +657,8 @@
<obj-relationship name="toDetail" source="GeneratedColumnCompMaster" target="GeneratedColumnCompKey" db-relationship-path="toDetail"/>
<obj-relationship name="toMaster" source="GeneratedColumnDep" target="GeneratedColumnTestEntity" db-relationship-path="toMaster"/>
<obj-relationship name="toDep" source="GeneratedColumnTestEntity" target="GeneratedColumnDep" db-relationship-path="toDep"/>
+ <obj-relationship name="f2" source="GeneratedF1" target="GeneratedF2" deleteRule="Nullify" db-relationship-path="join.f2"/>
+ <obj-relationship name="f1" source="GeneratedF2" target="GeneratedF1" deleteRule="Nullify" db-relationship-path="join.f1"/>
<obj-relationship name="toMeaningfulPK" source="MeaningfulPKDep" target="MeaningfulPKTest1" db-relationship-path="toMeaningfulPK"/>
<obj-relationship name="meaningfulPKDepArray" source="MeaningfulPKTest1" target="MeaningfulPKDep" db-relationship-path="meaningfulPKDepArray"/>
<obj-relationship name="details" source="MixedPersistenceStrategy" target="MixedPersistenceStrategy2" db-relationship-path="details"/>