From dc9788486d606cc3c6e5175621b3544b5c8c7df8 Mon Sep 17 00:00:00 2001 From: Nikita Timofeev Date: Mon, 14 Oct 2024 19:10:08 +0400 Subject: [PATCH 1/2] CAY-2739 Mapping Proposal: replace "toDepPk" with "fk" --- .../factory/IngresMergerTokenFactory.java | 2 +- .../dbimport/ManyToManyCandidateEntity.java | 6 +- .../reverse/dbload/RelationshipLoader.java | 24 +-- .../dbsync/merge/DataMapMergerTest.java | 20 +-- .../cayenne/dbsync/merge/MergerFactoryIT.java | 2 + .../dbsync/merge/builders/DataMapBuilder.java | 8 +- .../merge/builders/DbRelationshipBuilder.java | 16 +- .../token/model/DropColumnToModelIT.java | 1 + .../model/DropRelationshipToModelIT.java | 1 + .../reverse/dbload/RelationshipsLoaderIT.java | 2 +- .../validation/DbRelationshipValidator.java | 18 +-- .../apache/cayenne/access/DbGenerator.java | 12 +- .../flush/ArcValuesCreationHandler.java | 24 +-- .../operation/GraphBasedDbRowOpSorter.java | 2 +- .../cayenne/ashwood/AshwoodEntitySorter.java | 2 +- .../xml/DbRelationshipHandler.java | 7 +- .../java/org/apache/cayenne/map/DbEntity.java | 6 +- .../apache/cayenne/map/DbRelationship.java | 65 ++------ .../apache/cayenne/map/ObjRelationship.java | 4 +- .../flush/ArcValuesCreationHandlerTest.java | 12 +- .../xml/DbRelationshipHandlerTest.java | 2 +- .../modeler/DbRelationshipDialogView.java | 12 +- .../modeler/dialog/DbRelationshipDialog.java | 141 ++++++++++-------- .../dbentity/DbAttributeTableModel.java | 35 +++-- .../dbentity/DbEntityRelationshipPanel.java | 2 +- .../dbentity/DbRelationshipTableModel.java | 62 ++++---- .../undo/RelationshipUndoableEdit.java | 2 +- .../cayenne/wocompat/EOModelProcessor.java | 4 +- 28 files changed, 243 insertions(+), 251 deletions(-) diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/IngresMergerTokenFactory.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/IngresMergerTokenFactory.java index 74c929dabf..4f24435183 100644 --- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/IngresMergerTokenFactory.java +++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/IngresMergerTokenFactory.java @@ -80,7 +80,7 @@ public MergerToken createAddRelationshipToDb(DbEntity entity, final DbRelationsh return new AddRelationshipToDb(entity, rel) { @Override public List createSql(DbAdapter adapter) { - if (!rel.isToMany() && rel.isToPK() && !rel.isToDependentPK()) { + if (rel.isToMasterPK()) { DbEntity source = (DbEntity) rel.getSourceEntity(); QuotingStrategy context = adapter.getQuotingStrategy(); diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbimport/ManyToManyCandidateEntity.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbimport/ManyToManyCandidateEntity.java index 3eb9836074..7eb3fe6838 100644 --- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbimport/ManyToManyCandidateEntity.java +++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbimport/ManyToManyCandidateEntity.java @@ -84,11 +84,11 @@ public static ManyToManyCandidateEntity build(ObjEntity joinEntity) { } private boolean isManyToMany() { - boolean isNotHaveAttributes = joinEntity.getAttributes().size() == 0; + boolean isNotHaveAttributes = joinEntity.getAttributes().isEmpty(); return isNotHaveAttributes - && reverseRelationship1 != null && reverseRelationship1.isToDependentPK() - && reverseRelationship2 != null && reverseRelationship2.isToDependentPK() + && reverseRelationship1 != null && !reverseRelationship1.isFK() + && reverseRelationship2 != null && !reverseRelationship2.isFK() && entity1 != null && entity2 != null; } diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbload/RelationshipLoader.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbload/RelationshipLoader.java index fdd2899b11..241d6e7c9e 100644 --- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbload/RelationshipLoader.java +++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbload/RelationshipLoader.java @@ -76,6 +76,7 @@ public void load(DatabaseMetaData metaData, DbLoadDataStore map) throws SQLExcep DbRelationship forwardRelationship = new DbRelationship(); forwardRelationship.setSourceEntity(pkEntity); forwardRelationship.setTargetEntityName(fkEntity); + forwardRelationship.setFK(false); // TODO: dirty and non-transparent... using DbRelationshipDetected for the benefit of the merge package. // This info is available from joins.... @@ -84,14 +85,10 @@ public void load(DatabaseMetaData metaData, DbLoadDataStore map) throws SQLExcep reverseRelationship.setSourceEntity(fkEntity); reverseRelationship.setTargetEntityName(pkEntity); reverseRelationship.setToMany(false); - + reverseRelationship.setFK(true); createAndAppendJoins(exportedKeys, pkEntity, fkEntity, forwardRelationship, reverseRelationship); - boolean toDependentPK = isToDependentPK(forwardRelationship); - boolean toMany = isToMany(toDependentPK, fkEntity, forwardRelationship); - - forwardRelationship.setToDependentPK(toDependentPK); - forwardRelationship.setToMany(toMany); + forwardRelationship.setToMany(isToMany(fkEntity, forwardRelationship)); // set relationship names only after their joins are ready ... // generator logic is based on relationship state... @@ -146,18 +143,13 @@ private void checkAndAddRelationship(DbEntity entity, DbRelationship relationshi } } - private boolean isToMany(boolean toDependentPK, DbEntity fkEntity, DbRelationship forwardRelationship) { - return !toDependentPK || fkEntity.getPrimaryKeys().size() != forwardRelationship.getJoins().size(); - } - - private boolean isToDependentPK(DbRelationship forwardRelationship) { - for (DbJoin dbJoin : forwardRelationship.getJoins()) { - if (!dbJoin.getTarget().isPrimaryKey()) { - return false; + private boolean isToMany(DbEntity fkEntity, DbRelationship forwardRelationship) { + for (DbJoin join : forwardRelationship.getJoins()) { + if (!join.getSource().isPrimaryKey() || !join.getTarget().isPrimaryKey()) { + return true; } } - - return true; + return fkEntity.getPrimaryKeys().size() != forwardRelationship.getJoins().size(); } private void createAndAppendJoins(Set exportedKeys, DbEntity pkEntity, DbEntity fkEntity, diff --git a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/DataMapMergerTest.java b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/DataMapMergerTest.java index 4f14d81433..33c2301520 100644 --- a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/DataMapMergerTest.java +++ b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/DataMapMergerTest.java @@ -252,7 +252,7 @@ public void testAddRelationship() throws Exception { dbEntity("table2").attributes( dbAttr("attr01").typeInt().primaryKey(), dbAttr("attr02").typeInt()) - ).join("rel", "table1.attr01", "table2.attr01") + ).join("rel", "table1.attr01", "table2.attr01", true) .build(); DataMap db = dataMap().with( @@ -287,8 +287,8 @@ public void testAddRelationship1() throws Exception { dbAttr("attr01").typeInt().primaryKey(), dbAttr("attr02").typeInt().primaryKey(), dbAttr("attr03").typeInt().primaryKey()) - ).join("rel", "table1.attr01", "table2.attr01") - .join("rel1", "table1.attr01", "table2.attr03") + ).join("rel", "table1.attr01", "table2.attr01",true) + .join("rel1", "table1.attr01", "table2.attr03",false) .build(); DataMap db = dataMap().with( @@ -300,8 +300,8 @@ public void testAddRelationship1() throws Exception { dbAttr("attr01").typeInt().primaryKey(), dbAttr("attr02").typeInt().primaryKey(), dbAttr("attr03").typeInt().primaryKey()) - ).join("rel", "table1.attr01", "table2.attr02") - .join("rel1", "table1.attr01", "table2.attr03") + ).join("rel", "table1.attr01", "table2.attr02",true) + .join("rel1", "table1.attr01", "table2.attr03",false) .build(); @@ -329,7 +329,7 @@ public void testTableNameUppercaseRelationship() throws Exception { dbAttr("attr01").typeInt().primaryKey(), dbAttr("attr02").typeInt().primaryKey(), dbAttr("attr03").typeInt().primaryKey()) - ).join("rel", "TABLE1.attr01", "table2.attr01").build(); + ).join("rel", "TABLE1.attr01", "table2.attr01",true).build(); DataMap db = dataMap().with( dbEntity("table1").attributes( @@ -340,7 +340,7 @@ public void testTableNameUppercaseRelationship() throws Exception { dbAttr("attr01").typeInt().primaryKey(), dbAttr("attr02").typeInt().primaryKey(), dbAttr("attr03").typeInt().primaryKey()) - ).join("rel", "table1.attr01", "table2.attr01").build(); + ).join("rel", "table1.attr01", "table2.attr01",false).build(); List tokens = dbMerger().createMergeTokens(existing, db); @@ -358,7 +358,7 @@ public void testAttributeNameUppercaseRelationship() throws Exception { dbAttr("attr01").typeInt().primaryKey(), dbAttr("attr02").typeInt().primaryKey(), dbAttr("attr03").typeInt().primaryKey()) - ).join("rel", "table1.ATTR01", "table2.attr01").build(); + ).join("rel", "table1.ATTR01", "table2.attr01",true).build(); DataMap db = dataMap().with( dbEntity("table1").attributes( @@ -369,7 +369,7 @@ public void testAttributeNameUppercaseRelationship() throws Exception { dbAttr("attr01").typeInt().primaryKey(), dbAttr("attr02").typeInt().primaryKey(), dbAttr("attr03").typeInt().primaryKey()) - ).join("rel", "table1.attr01", "table2.attr01").build(); + ).join("rel", "table1.attr01", "table2.attr01",false).build(); List tokens = dbMerger().createMergeTokens(existing, db); @@ -397,7 +397,7 @@ public void testRemoveRelationship() throws Exception { dbEntity("table2").attributes( dbAttr("attr01").typeInt().primaryKey(), dbAttr("attr02").typeInt()) - ).join("rel", "table1.attr01", "table2.attr01") + ).join("rel", "table1.attr01", "table2.attr01",true) .build(); diff --git a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/MergerFactoryIT.java b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/MergerFactoryIT.java index 963f493171..271f49ac73 100644 --- a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/MergerFactoryIT.java +++ b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/MergerFactoryIT.java @@ -201,6 +201,7 @@ public void testAddForeignKeyWithTable() throws Exception { r1.setSourceEntity(dbEntity); r1.setTargetEntityName(artistDbEntity); r1.setToMany(false); + r1.setFK(true); r1.addJoin(new DbJoin(r1, "ARTIST_ID", "ARTIST_ID")); dbEntity.addRelationship(r1); @@ -262,6 +263,7 @@ public void testAddForeignKeyAfterTable() throws Exception { r1.setSourceEntity(dbEntity); r1.setTargetEntityName(artistDbEntity); r1.setToMany(false); + r1.setFK(true); r1.addJoin(new DbJoin(r1, "ARTIST_ID", "ARTIST_ID")); dbEntity.addRelationship(r1); diff --git a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/builders/DataMapBuilder.java b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/builders/DataMapBuilder.java index 5a7d518aaf..a169dd3beb 100644 --- a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/builders/DataMapBuilder.java +++ b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/builders/DataMapBuilder.java @@ -87,11 +87,11 @@ public DataMapBuilder withObjEntities(int count) { return this; } - public DataMapBuilder join(String from, String to) { - return join(null, from, to); + public DataMapBuilder join(String from, String to, boolean isFK) { + return join(null, from, to,isFK); } - public DataMapBuilder join(String name, String from, String to) { + public DataMapBuilder join(String name, String from, String to, boolean isFK) { String[] fromSplit = from.split("\\."); DbEntity fromEntity = obj.getDbEntity(fromSplit[0]); if (fromEntity == null) { @@ -103,7 +103,7 @@ public DataMapBuilder join(String name, String from, String to) { fromEntity.addRelationship(new DbRelationshipBuilder(name) .from(fromEntity, fromSplit[1]) .to(toSplit[0], toSplit[1]) - + .fK(isFK) .build()); return this; diff --git a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/builders/DbRelationshipBuilder.java b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/builders/DbRelationshipBuilder.java index d9d8553e2e..5543280497 100644 --- a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/builders/DbRelationshipBuilder.java +++ b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/builders/DbRelationshipBuilder.java @@ -52,14 +52,19 @@ public DbRelationshipBuilder name(String name) { return this; } - public DbRelationshipBuilder from(DbEntity entity, String ... columns) { + public DbRelationshipBuilder from(DbEntity entity, String... columns) { obj.setSourceEntity(entity); this.from = columns; return this; } - public DbRelationshipBuilder to(String entityName, String ... columns) { + public DbRelationshipBuilder fK(boolean fk) { + obj.setFK(fk); + return this; + } + + public DbRelationshipBuilder to(String entityName, String... columns) { obj.setTargetEntityName(entityName); this.to = columns; @@ -80,6 +85,13 @@ public DbRelationship build() { obj.addJoin(new DbJoin(obj, from[i], to[i])); } + DbJoin join = new DbJoin(obj); + if (!obj.isFK() && join.getTarget() != null && join.getSource() != null) { + if (join.getTarget().isPrimaryKey() && !join.getSource().isPrimaryKey()) { + obj.setFK(true); + } + } + return obj; } } diff --git a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/token/model/DropColumnToModelIT.java b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/token/model/DropColumnToModelIT.java index 69e5cc3163..360ef4e8a2 100644 --- a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/token/model/DropColumnToModelIT.java +++ b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/token/model/DropColumnToModelIT.java @@ -151,6 +151,7 @@ public void testRemoveFKColumnWithoutRelationshipInDb() throws Exception { rel2To1.setSourceEntity(dbEntity2); rel2To1.setTargetEntityName(dbEntity1); rel2To1.setToMany(false); + rel2To1.setFK(true); rel2To1.addJoin(new DbJoin(rel2To1, e2col2.getName(), e1col1.getName())); dbEntity2.addRelationship(rel2To1); assertSame(rel1To2, rel2To1.getReverseRelationship()); diff --git a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/token/model/DropRelationshipToModelIT.java b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/token/model/DropRelationshipToModelIT.java index 7dc4d5a965..73558ff9e4 100644 --- a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/token/model/DropRelationshipToModelIT.java +++ b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/token/model/DropRelationshipToModelIT.java @@ -86,6 +86,7 @@ public void testForeignKey() throws Exception { rel2To1.setSourceEntity(dbEntity2); rel2To1.setTargetEntityName(dbEntity1); rel2To1.setToMany(false); + rel2To1.setFK(true); rel2To1.addJoin(new DbJoin(rel2To1, e2col2.getName(), e1col1.getName())); dbEntity2.addRelationship(rel2To1); assertSame(rel1To2, rel2To1.getReverseRelationship()); diff --git a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/dbload/RelationshipsLoaderIT.java b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/dbload/RelationshipsLoaderIT.java index 40b64cf4c2..7b78c61082 100644 --- a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/dbload/RelationshipsLoaderIT.java +++ b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/dbload/RelationshipsLoaderIT.java @@ -76,7 +76,7 @@ public void testRelationshipLoad() throws Exception { assertNotNull("No relationship to PAINTING_INFO", oneToOne); assertFalse("Relationship to PAINTING_INFO must be to-one", oneToOne.isToMany()); - assertTrue("Relationship to PAINTING_INFO must be to-one", oneToOne.isToDependentPK()); + assertTrue("Relationship to PAINTING_INFO must be to-one", !oneToOne.isFK()); } // private void assertUniqueConstraintsInRelationships(DataMap map) { diff --git a/cayenne-project/src/main/java/org/apache/cayenne/project/validation/DbRelationshipValidator.java b/cayenne-project/src/main/java/org/apache/cayenne/project/validation/DbRelationshipValidator.java index 287546d0f7..86a421d4b6 100644 --- a/cayenne-project/src/main/java/org/apache/cayenne/project/validation/DbRelationshipValidator.java +++ b/cayenne-project/src/main/java/org/apache/cayenne/project/validation/DbRelationshipValidator.java @@ -170,15 +170,15 @@ private void checkForSameTypes(DbRelationship relationship, ValidationResult val } private void checkOnGeneratedStrategyConflict(DbRelationship relationship, ValidationResult validationResult) { - if (!relationship.isToDependentPK()) { - return; - } - Collection attributes = relationship.getTargetEntity().getGeneratedAttributes(); - for (DbAttribute attribute : attributes) { - if (attribute.isGenerated()) { - addFailure(validationResult, relationship, - "'To Dep Pk' incompatible with Database-Generated on '%s' relationship", - toString(relationship)); + if (relationship.isFK()) { + for (DbJoin join : relationship.getJoins()) { + if (join.getSource().isGenerated()) { + addFailure( + validationResult, + relationship, + "'FK' incompatible with Database-Generated on '%s' relationship", + toString(relationship)); + } } } } diff --git a/cayenne/src/main/java/org/apache/cayenne/access/DbGenerator.java b/cayenne/src/main/java/org/apache/cayenne/access/DbGenerator.java index 022cc367b0..794c78e258 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/DbGenerator.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/DbGenerator.java @@ -360,18 +360,12 @@ public List createConstraintsQueries(DbEntity table) { } } - // create an FK CONSTRAINT only if the relationship is to PK - // and if this is not a dependent PK - - // create UNIQUE CONSTRAINT on FK if reverse relationship is to-one - - if (rel.isToPK() && !rel.isToDependentPK()) { - + // create an FK CONSTRAINT only if the relationship is to PK and if this is FK + if (rel.isToPK() && rel.isFK()) { if (getAdapter().supportsUniqueConstraints()) { - + // create UNIQUE CONSTRAINT on FK if reverse relationship is to-one DbRelationship reverse = rel.getReverseRelationship(); if (reverse != null && !reverse.isToMany() && !reverse.isToPK()) { - String unique = getAdapter().createUniqueConstraint(rel.getSourceEntity(), rel.getSourceAttributes()); if (unique != null) { diff --git a/cayenne/src/main/java/org/apache/cayenne/access/flush/ArcValuesCreationHandler.java b/cayenne/src/main/java/org/apache/cayenne/access/flush/ArcValuesCreationHandler.java index 8e6d1e5005..9a4a795e7d 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/flush/ArcValuesCreationHandler.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/flush/ArcValuesCreationHandler.java @@ -195,8 +195,8 @@ protected void processRelationship(DbRelationship dbRelationship, ObjectId srcId // We manage 3 cases here: // 1. PK -> FK: just propagate value from PK and to FK - // 2. PK -> PK: check isToDep flag and set dependent one - // 3. NON-PK -> FK (not supported fully for now, see CAY-2488): also check isToDep flag, + // 2. PK -> PK: check isFk flag and set dependent one + // 3. NON-PK -> FK (not supported fully for now, see CAY-2488): also check isFk flag, // but get value from DbRow, not ObjID if(srcPK != targetPK) { // case 1 @@ -214,16 +214,7 @@ protected void processRelationship(DbRelationship dbRelationship, ObjectId srcId } else { // case 2 and 3 processDelete = false; - if(dbRelationship.isToDependentPK()) { - valueToUse = ObjectIdValueSupplier.getFor(srcId, join.getSourceName()); - rowOp = factory.getOrCreate(dbRelationship.getTargetEntity(), targetId, DbRowOpType.UPDATE); - attribute = join.getTarget(); - id = targetId; - if(dbRelationship.isToMany()) { - // strange mapping toDepPK and toMany, but just skip it - rowOp = null; - } - } else { + if(dbRelationship.isFK()) { valueToUse = ObjectIdValueSupplier.getFor(targetId, join.getTargetName()); rowOp = factory.getOrCreate(dbRelationship.getSourceEntity(), srcId, defaultType); attribute = join.getSource(); @@ -232,6 +223,15 @@ protected void processRelationship(DbRelationship dbRelationship, ObjectId srcId // strange mapping toDepPK and toMany, but just skip it rowOp = null; } + } else { + valueToUse = ObjectIdValueSupplier.getFor(srcId, join.getSourceName()); + rowOp = factory.getOrCreate(dbRelationship.getTargetEntity(), targetId, DbRowOpType.UPDATE); + attribute = join.getTarget(); + id = targetId; + if(dbRelationship.isToMany()) { + // strange mapping toDepPK and toMany, but just skip it + rowOp = null; + } } } diff --git a/cayenne/src/main/java/org/apache/cayenne/access/flush/operation/GraphBasedDbRowOpSorter.java b/cayenne/src/main/java/org/apache/cayenne/access/flush/operation/GraphBasedDbRowOpSorter.java index 7818afd1e9..049f9d920d 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/flush/operation/GraphBasedDbRowOpSorter.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/flush/operation/GraphBasedDbRowOpSorter.java @@ -84,7 +84,7 @@ private void initDataNoSync() { resolver.getDbEntities().forEach(entity -> entity.getRelationships().forEach(dbRelationship -> { - if(dbRelationship.isToMany() || !dbRelationship.isToPK() || dbRelationship.isToDependentPK()) { + if(dbRelationship.isToMany() || !dbRelationship.isToPK() || !dbRelationship.isFK()) { // TODO: can we ignore all of these relationships? return; } diff --git a/cayenne/src/main/java/org/apache/cayenne/ashwood/AshwoodEntitySorter.java b/cayenne/src/main/java/org/apache/cayenne/ashwood/AshwoodEntitySorter.java index 7a1ba26743..d2d1cfe86f 100644 --- a/cayenne/src/main/java/org/apache/cayenne/ashwood/AshwoodEntitySorter.java +++ b/cayenne/src/main/java/org/apache/cayenne/ashwood/AshwoodEntitySorter.java @@ -113,7 +113,7 @@ protected void doIndexSorter() { for (DbEntity destination : entityResolver.getDbEntities()) { for (DbRelationship candidate : destination.getRelationships()) { - if ((!candidate.isToMany() && !candidate.isToDependentPK()) || candidate.isToMasterPK()) { + if (candidate.isToMasterPK()) { DbEntity origin = candidate.getTargetEntity(); boolean newReflexive = destination.equals(origin); diff --git a/cayenne/src/main/java/org/apache/cayenne/configuration/xml/DbRelationshipHandler.java b/cayenne/src/main/java/org/apache/cayenne/configuration/xml/DbRelationshipHandler.java index da390e1ddc..71cc0342b2 100644 --- a/cayenne/src/main/java/org/apache/cayenne/configuration/xml/DbRelationshipHandler.java +++ b/cayenne/src/main/java/org/apache/cayenne/configuration/xml/DbRelationshipHandler.java @@ -79,7 +79,7 @@ private void createRelationship(Attributes attributes) throws SAXException { dbRelationship.setSourceEntity(source); dbRelationship.setTargetEntityName(attributes.getValue("target")); dbRelationship.setToMany(DataMapHandler.TRUE.equalsIgnoreCase(attributes.getValue("toMany"))); - dbRelationship.setToDependentPK(DataMapHandler.TRUE.equalsIgnoreCase(attributes.getValue("toDependentPK"))); + dbRelationship.setFK(DataMapHandler.TRUE.equalsIgnoreCase(attributes.getValue("fk"))); source.addRelationship(dbRelationship); } @@ -89,6 +89,11 @@ private void createDbAttributePair(Attributes attributes) { join.setSourceName(attributes.getValue("source")); join.setTargetName(attributes.getValue("target")); dbRelationship.addJoin(join); + if (!dbRelationship.isFK() && join.getTarget() != null) { + if (join.getTarget().isPrimaryKey() && !join.getSource().isPrimaryKey()) { + dbRelationship.setFK(true); + } + } } public DbRelationship getDbRelationship() { diff --git a/cayenne/src/main/java/org/apache/cayenne/map/DbEntity.java b/cayenne/src/main/java/org/apache/cayenne/map/DbEntity.java index d7419775a0..a79caf6331 100644 --- a/cayenne/src/main/java/org/apache/cayenne/map/DbEntity.java +++ b/cayenne/src/main/java/org/apache/cayenne/map/DbEntity.java @@ -424,11 +424,11 @@ private void handleAttributeUpdate(AttributeEvent e) { } } - // check toDep PK for reverse relationships + // check isFK for reverse relationships for (DbRelationship rel : getRelationships()) { DbRelationship reverse = rel.getReverseRelationship(); - if(reverse != null && reverse.isToDependentPK() && !reverse.isValidForDepPk()) { - reverse.setToDependentPK(false); + if(reverse != null && reverse.isFK() && !reverse.isValidForFk()) { + reverse.setFK(false); } } } diff --git a/cayenne/src/main/java/org/apache/cayenne/map/DbRelationship.java b/cayenne/src/main/java/org/apache/cayenne/map/DbRelationship.java index 15145ca729..4ee19650f2 100644 --- a/cayenne/src/main/java/org/apache/cayenne/map/DbRelationship.java +++ b/cayenne/src/main/java/org/apache/cayenne/map/DbRelationship.java @@ -42,11 +42,7 @@ public class DbRelationship extends Relationship joins = new ArrayList<>(2); - // Is relationship from source to target points to dependent primary - // key (primary key column of destination table that is also a FK to the - // source - // column) - protected boolean toDependentPK; + protected boolean isFK; public DbRelationship() { super(); @@ -77,7 +73,7 @@ public void encodeAsXML(XMLEncoder encoder, ConfigurationNodeVisitor delegate) { encoder.attribute("target", getTargetEntityName()); } - encoder.attribute("toDependentPK", isToDependentPK() && isValidForDepPk()); + encoder.attribute("fk", isFK() && isValidForFk()); encoder.attribute("toMany", isToMany()); encoder.nested(getJoins(), delegate); @@ -120,7 +116,7 @@ public Collection getSourceAttributes() { } private Collection mapJoinsToAttributes(Function mapper) { - if (joins.size() == 0) { + if (joins.isEmpty()) { return Collections.emptyList(); } // fast path for common case @@ -146,18 +142,13 @@ public DbRelationship createReverseRelationship() { DbRelationship reverse = new DbRelationship(); reverse.setSourceEntity(targetEntity); reverse.setTargetEntityName(getSourceEntity().getName()); - - // TODO: andrus 12/24/2007 - one more case to handle - set reverse - // toDepPK = true - // if this relationship toDepPK is false, but the entities are joined on - // a PK... - // on the other hand, these can still be two independent entities... - - if (isToDependentPK() && !toMany && joins.size() == targetEntity.getPrimaryKeys().size()) { + if (!isFK() && !toMany && joins.size() == targetEntity.getPrimaryKeys().size()) { reverse.setToMany(false); + // TODO: should we set isFK flag on the reverse? } else { reverse.setToMany(!toMany); } + reverse.setFK(!isFK()); for (DbJoin join : joins) { DbJoin reverseJoin = join.createReverseJoin(); @@ -258,16 +249,10 @@ public boolean isFromPK() { } /** - * Returns true if a method isToDependentPK of - * reverse relationship of this relationship returns true. + * Returns true if this is not to many relationship and {@link #isFK()} equals true. */ public boolean isToMasterPK() { - if (isToMany() || isToDependentPK()) { - return false; - } - - DbRelationship revRel = getReverseRelationship(); - return revRel != null && revRel.isToDependentPK(); + return !isToMany() && isFK(); } /** @@ -278,43 +263,23 @@ public boolean isToMasterPK() { * @since 4.0 */ public boolean isSourceIndependentFromTargetChange() { - // note - call "isToPK" at the end of the chain, since - // if it is to a dependent PK, we still should return true... - return isToMany() || isToDependentPK() || !isToPK(); + return !isFK(); } - /** - * Returns true if relationship from source to target points to - * dependent primary key. Dependent PK is a primary key column of the - * destination table that is also a FK to the source column. - */ - public boolean isToDependentPK() { - return toDependentPK; + public boolean isFK() { + return isFK; } - public void setToDependentPK(boolean toDependentPK) { - this.toDependentPK = toDependentPK; + public void setFK(boolean FK) { + this.isFK = FK; } /** * @since 1.1 */ - public boolean isValidForDepPk() { + public boolean isValidForFk() { // handle case with no joins - if (getJoins().size() == 0) { - return false; - } - - for (DbJoin join : getJoins()) { - DbAttribute target = join.getTarget(); - DbAttribute source = join.getSource(); - - if (target != null && !target.isPrimaryKey() || source != null && !source.isPrimaryKey()) { - return false; - } - } - - return true; + return !getJoins().isEmpty(); } /** diff --git a/cayenne/src/main/java/org/apache/cayenne/map/ObjRelationship.java b/cayenne/src/main/java/org/apache/cayenne/map/ObjRelationship.java index 54b8763fae..f68958e868 100644 --- a/cayenne/src/main/java/org/apache/cayenne/map/ObjRelationship.java +++ b/cayenne/src/main/java/org/apache/cayenne/map/ObjRelationship.java @@ -321,7 +321,7 @@ public boolean isOptional() { return false; } DbRelationship reverseRelationship = dbRelationship.getReverseRelationship(); - return !reverseRelationship.isToDependentPK(); + return reverseRelationship.isFK(); } return true; @@ -378,7 +378,7 @@ public boolean isSourceIndependentFromTargetChange() { * Returns true if underlying DbRelationships point to dependent entity. */ public boolean isToDependentEntity() { - return (getDbRelationships().get(0)).isToDependentPK(); + return !(getDbRelationships().get(0)).isFK(); } /** diff --git a/cayenne/src/test/java/org/apache/cayenne/access/flush/ArcValuesCreationHandlerTest.java b/cayenne/src/test/java/org/apache/cayenne/access/flush/ArcValuesCreationHandlerTest.java index b6ad2f7384..3acf82e859 100644 --- a/cayenne/src/test/java/org/apache/cayenne/access/flush/ArcValuesCreationHandlerTest.java +++ b/cayenne/src/test/java/org/apache/cayenne/access/flush/ArcValuesCreationHandlerTest.java @@ -87,7 +87,7 @@ public void processRelationshipPkPkMaster() { ObjectId targetId = ObjectId.of("test2", "id2", 2); DbRelationship relationship = DbRelBuilder.of("id1", "id2") - .withToDepPk().withDstPk().withSrcPk().build(); + .withDstPk().withSrcPk().build(); handler.processRelationship(relationship, srcId, targetId, true); @@ -105,7 +105,7 @@ public void processRelationshipPkPkDependent() { ObjectId targetId = ObjectId.of("test2", "id2", 2); DbRelationship relationship = DbRelBuilder.of("id1", "id2") - .withDstPk().withSrcPk().build(); + .withFk().withDstPk().withSrcPk().build(); handler.processRelationship(relationship, srcId, targetId, true); @@ -164,7 +164,7 @@ final static class DbRelBuilder { private String dstName; private boolean srcPk; private boolean dstPk; - private boolean toDepPk; + private boolean fK; static DbRelBuilder of(String srcName, String dstName) { DbRelBuilder builder = new DbRelBuilder(); @@ -183,14 +183,14 @@ DbRelBuilder withDstPk() { return this; } - DbRelBuilder withToDepPk() { - toDepPk = true; + DbRelBuilder withFk() { + fK = true; return this; } DbRelationship build() { DbRelationship relationship = mock(DbRelationship.class); - when(relationship.isToDependentPK()).thenReturn(toDepPk); + when(relationship.isFK()).thenReturn(fK); DbJoin join = mock(DbJoin.class); DbAttribute src = new DbAttribute(srcName); src.setPrimaryKey(srcPk); diff --git a/cayenne/src/test/java/org/apache/cayenne/configuration/xml/DbRelationshipHandlerTest.java b/cayenne/src/test/java/org/apache/cayenne/configuration/xml/DbRelationshipHandlerTest.java index 98e41c5f97..245f33262a 100644 --- a/cayenne/src/test/java/org/apache/cayenne/configuration/xml/DbRelationshipHandlerTest.java +++ b/cayenne/src/test/java/org/apache/cayenne/configuration/xml/DbRelationshipHandlerTest.java @@ -50,7 +50,7 @@ public NamespaceAwareNestedTagHandler createHandler(NamespaceAwareNestedTagHandl assertNotNull(relationship); assertEquals("PAINTING", relationship.getTargetEntityName()); - assertTrue(relationship.isToDependentPK()); + assertFalse(relationship.isFK()); assertTrue(relationship.isToMany()); assertEquals("ID", relationship.getJoins().get(0).getSourceName()); assertEquals("ARTIST_ID", relationship.getJoins().get(0).getTargetName()); diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/DbRelationshipDialogView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/DbRelationshipDialogView.java index d17eb1a9be..aa22983837 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/DbRelationshipDialogView.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/DbRelationshipDialogView.java @@ -46,7 +46,7 @@ public class DbRelationshipDialogView extends CayenneDialog { private JTextField name; private JComboBox targetEntities; - private JCheckBox toDepPk; + private JCheckBox fK; private JCheckBox toMany; private JTextField comment; private JLabel sourceName; @@ -71,7 +71,7 @@ public DbRelationshipDialogView() { private void initView() { name = new JTextField(25); targetEntities = new JComboBox<>(); - toDepPk = new JCheckBox(); + fK = new JCheckBox(); toMany = new JCheckBox(); comment = new JTextField(25); @@ -114,8 +114,8 @@ private void initView() { builder.addLabel("Target Entity:", cc.xy(1, 7)); builder.add(targetEntities, cc.xywh(3, 7, 1, 1)); - builder.addLabel("To Dep PK:", cc.xy(1, 9)); - builder.add(toDepPk, cc.xywh(3, 9, 1, 1)); + builder.addLabel("Foreign key:", cc.xy(1, 9)); + builder.add(fK, cc.xywh(3, 9, 1, 1)); builder.addLabel("To Many:", cc.xy(1, 11)); builder.add(toMany, cc.xywh(3, 11, 1, 1)); @@ -165,8 +165,8 @@ public JComboBox getTargetEntities() { return targetEntities; } - public JCheckBox getToDepPk() { - return toDepPk; + public JCheckBox getFK() { + return fK; } public JCheckBox getToMany() { diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/DbRelationshipDialog.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/DbRelationshipDialog.java index c8d57ea76f..efe4e2161d 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/DbRelationshipDialog.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/DbRelationshipDialog.java @@ -19,25 +19,10 @@ package org.apache.cayenne.modeler.dialog; -import javax.swing.AbstractListModel; -import javax.swing.ComboBoxModel; -import javax.swing.JComboBox; -import javax.swing.JOptionPane; -import javax.swing.table.TableColumn; -import java.awt.Component; -import java.awt.event.WindowAdapter; -import java.awt.event.WindowEvent; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; -import java.util.Optional; -import java.util.function.Function; - import org.apache.cayenne.CayenneRuntimeException; import org.apache.cayenne.configuration.DataChannelDescriptor; import org.apache.cayenne.dbsync.naming.NameBuilder; +import org.apache.cayenne.map.DbAttribute; import org.apache.cayenne.map.DbEntity; import org.apache.cayenne.map.DbJoin; import org.apache.cayenne.map.DbRelationship; @@ -55,6 +40,23 @@ import org.apache.cayenne.project.extension.info.ObjectInfo; import org.apache.cayenne.util.Util; +import javax.swing.AbstractListModel; +import javax.swing.ComboBoxModel; +import javax.swing.JComboBox; +import javax.swing.JOptionPane; +import javax.swing.event.TableModelEvent; +import javax.swing.table.TableColumn; +import java.awt.Component; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; +import java.util.Optional; +import java.util.function.Function; + /** * @since 4.2 */ @@ -125,15 +127,15 @@ private void initFromModel() { view.getTargetEntities().setModel(targetComboBoxModel); view.getSourceName().setText(relationship.getSourceEntityName()); - view.getToDepPk().setSelected(relationship.isToDependentPK()); + view.getFK().setSelected(relationship.isFK()); view.getToMany().setSelected(relationship.isToMany()); view.getNameField().setText(relationship.getName()); - if(reverseRelationship != null) { + if (reverseRelationship != null) { view.getReverseName().setText(reverseRelationship.getName()); } - if(relationship.getTargetEntity() == null) { + if (relationship.getTargetEntity() == null) { enableOptions(false); } else { enableInfo(); @@ -147,10 +149,10 @@ private void initFromModel() { private void initController() { view.getTargetEntities().addActionListener(action -> { - DbEntity selectedItem = ((TargetComboBoxModel)view.getTargetEntities().getModel()).selected; - if(relationship.getTargetEntityName() == null) { + DbEntity selectedItem = ((TargetComboBoxModel) view.getTargetEntities().getModel()).selected; + if (relationship.getTargetEntityName() == null) { relationship.setTargetEntityName(selectedItem.getName()); - } else if(!relationship.getTargetEntityName().equals(selectedItem.getName())){ + } else if (!relationship.getTargetEntityName().equals(selectedItem.getName())) { if (WarningDialogByDbTargetChange.showWarningDialog(projectController, relationship)) { // clear joins... relationship.removeAllJoins(); @@ -158,8 +160,8 @@ private void initController() { } else { view.getTargetEntities().setSelectedItem(relationship.getTargetEntityName()); } - relationship.setToDependentPK(false); - view.getToDepPk().setSelected(relationship.isValidForDepPk()); + relationship.setFK(false); + view.getFK().setSelected(relationship.isValidForFk()); projectController.fireDbRelationshipEvent(new RelationshipEvent(this, relationship, relationship.getSourceEntity())); } enableInfo(); @@ -183,12 +185,12 @@ private void initController() { DbJoin join = model.getJoin(row); relationship.removeJoin(join); - if(relationship.isValidForDepPk()) { - view.getToDepPk().setEnabled(true); + if (relationship.isValidForFk()) { + view.getFK().setEnabled(true); } else { - view.getToDepPk().setEnabled(false); - view.getToDepPk().setSelected(false); - relationship.setToDependentPK(false); + view.getFK().setEnabled(false); + view.getFK().setSelected(false); + relationship.setFK(false); } model.removeRow(join); @@ -206,27 +208,35 @@ private void initController() { view.setVisible(false); }); - view.addWindowListener(new WindowAdapter() - { + view.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { view.setCancelPressed(true); } }); - view.getToDepPk().setEnabled(relationship.isValidForDepPk()); - view.getToDepPk().addActionListener(selected -> { - boolean isSelected = view.getToDepPk().isSelected(); + view.getFK().setEnabled(relationship.isValidForFk()); + view.getFK().addActionListener(selected -> { + boolean isSelected = view.getFK().isSelected(); DbRelationship reverseRelationship = relationship.getReverseRelationship(); - if(reverseRelationship != null && reverseRelationship.isToDependentPK() && isSelected) { - boolean setToDepPk = JOptionPane.showConfirmDialog(Application.getFrame(), "Unset reverse relationship's \"To Dep PK\" setting?", - "Warning", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE) == JOptionPane.OK_OPTION; - relationship.setToDependentPK(setToDepPk); - reverseRelationship.setToDependentPK(!setToDepPk); + if (reverseRelationship != null) { + boolean isOKAnswer = JOptionPane.showConfirmDialog(Application.getFrame() + , isSelected ? "Foreign key will be unset in reverse relationship" : "Foreign key will be set in reverse relationship" + , "Warning" + , JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE) == JOptionPane.OK_OPTION; + if (isOKAnswer) { + relationship.setFK(isSelected); + reverseRelationship.setFK(!isSelected); + } else { + relationship.setFK(!isSelected); + reverseRelationship.setFK(isSelected); + view.getFK().setSelected(!isSelected); + } } else { - relationship.setToDependentPK(view.getToDepPk().isSelected()); + relationship.setFK(isSelected); } }); + } private void enableInfo() { @@ -236,12 +246,21 @@ private void enableInfo() { projectController, this, true)); view.getTable().getModel().addTableModelListener(change -> { - if(change.getLastRow() != Integer.MAX_VALUE) { - if(relationship.isValidForDepPk()) { - view.getToDepPk().setEnabled(true); - } else { - view.getToDepPk().setEnabled(false); + if (!isEventRowDeletion(change)) { + if (relationship.getReverseRelationship() == null) { + for (DbJoin join : relationship.getJoins()) { + if (!relationship.isFK()) { + DbAttribute target = join.getTarget(); + DbAttribute source = join.getSource(); + + if (target != null && source != null && target.isPrimaryKey() && !source.isPrimaryKey()) { + relationship.setFK(true); + view.getFK().setSelected(true); + } + } + } } + view.getFK().setEnabled(relationship.isValidForFk()); } }); @@ -262,6 +281,10 @@ private void enableInfo() { view.getTablePreferences().bind(view.getTable(), null, null, null, DbJoinTableModel.SOURCE, true); } + private boolean isEventRowDeletion(TableModelEvent change) { + return change.getLastRow() == Integer.MAX_VALUE; + } + private void enableOptions(boolean enable) { view.enableOptions(enable); } @@ -313,11 +336,11 @@ private void save() { if (relationship.getSourceEntity() == relationship.getTargetEntity()) { projectController .fireDbRelationshipEvent( - new RelationshipEvent( - this, - reverseRelationship, - reverseRelationship.getSourceEntity(), - MapEvent.ADD)); + new RelationshipEvent( + this, + reverseRelationship, + reverseRelationship.getSourceEntity(), + MapEvent.ADD)); } } else { handleNameUpdate(reverseRelationship, view.getReverseName().getText().trim()); @@ -327,8 +350,8 @@ private void save() { reverseRelationship.setJoins(reverseJoins); // check if joins map to a primary key of this entity - if (!relationship.isToDependentPK() && reverseRelationship.isValidForDepPk()) { - reverseRelationship.setToDependentPK(true); + if (!relationship.isFK() && reverseRelationship.isValidForFk()) { + reverseRelationship.setFK(true); } } @@ -336,7 +359,7 @@ private void save() { } private void handleNameUpdate(DbRelationship relationship, String userInputName) { - if(Util.nullSafeEquals(relationship.getName(), userInputName)) { + if (Util.nullSafeEquals(relationship.getName(), userInputName)) { return; } @@ -353,7 +376,7 @@ private void handleNameUpdate(DbRelationship relationship, String userInputName) projectController .fireDbRelationshipEvent( - new RelationshipEvent(this, relationship, relationship.getSourceEntity(), oldName)); + new RelationshipEvent(this, relationship, relationship.getSourceEntity(), oldName)); } private Collection getReverseJoins() { @@ -380,7 +403,7 @@ private Collection getReverseJoins() { } private void fireDbRelationshipEvent(boolean isCreate) { - if(!isCreate) { + if (!isCreate) { projectController .fireDbRelationshipEvent( new RelationshipEvent(this, relationship, relationship.getSourceEntity(), MapEvent.CHANGE)); @@ -388,7 +411,7 @@ private void fireDbRelationshipEvent(boolean isCreate) { Application.getInstance().getUndoManager().addEdit(undo); } else { DbEntity dbEntity = relationship.getSourceEntity(); - if(dbEntity.getRelationship(relationship.getName()) == null) { + if (dbEntity.getRelationship(relationship.getName()) == null) { dbEntity.addRelationship(relationship); } @@ -421,7 +444,7 @@ final class TargetComboBoxModel extends AbstractListModel implements Com } private String getTitle(DbEntity entity) { - if(entity == null) { + if (entity == null) { return ""; } return relationship.getSourceEntity().getDataMap() == entity.getDataMap() @@ -441,8 +464,8 @@ public String getElementAt(int index) { @Override public void setSelectedItem(Object anItem) { - String title = (String)anItem; - if(title != null) { + String title = (String) anItem; + if (title != null) { int spacer = title.indexOf(' '); if (spacer != -1) { title = title.substring(0, spacer); diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbAttributeTableModel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbAttributeTableModel.java index 4998183fef..a69cd2fd07 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbAttributeTableModel.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbAttributeTableModel.java @@ -53,12 +53,12 @@ public class DbAttributeTableModel extends CayenneTableModel { protected DbEntity entity; public DbAttributeTableModel(DbEntity entity, ProjectController mediator, - Object eventSource) { + Object eventSource) { this(entity, mediator, eventSource, new ArrayList<>(entity.getAttributes())); } public DbAttributeTableModel(DbEntity entity, ProjectController mediator, - Object eventSource, List objectList) { + Object eventSource, List objectList) { super(mediator, eventSource, objectList); this.entity = entity; } @@ -71,11 +71,11 @@ public int typeColumnInd() { return DB_ATTRIBUTE_TYPE; } - public int lengthColumnId(){ + public int lengthColumnId() { return DB_ATTRIBUTE_MAX; } - public int scaleColumnId(){ + public int scaleColumnId() { return DB_ATTRIBUTE_SCALE; } @@ -283,27 +283,26 @@ public boolean setPrimaryKey(Boolean newVal, DbAttribute attr, int row) { .addAll(ProjectUtil.getRelationshipsUsingAttributeAsSource(attr)); if (relationships.size() > 0) { - relationships.removeIf(relationship -> !relationship.isToDependentPK()); + relationships.removeIf(relationship -> !relationship.isFK()); - // filtered only those that are to dep PK + // filtered only those that are isFk if (relationships.size() > 0) { - String message = (relationships.size() == 1) - ? "Fix \"To Dep PK\" relationship using this attribute?" - : "Fix " + relationships.size() - + " \"To Dep PK\" relationships using this attribute?"; + StringBuilder message = new StringBuilder("Removing an attribute can affect the following relationships:\n"); + for (DbRelationship relationship : relationships) { + message.append(relationship.getName()).append("\n"); + } + message.append("It would be a good idea to check them after making the change. Continue?"); int answer = JOptionPane.showConfirmDialog( Application.getFrame(), - message); - if (answer != JOptionPane.YES_OPTION) { + message.toString(), + "Warning", + JOptionPane.OK_CANCEL_OPTION, + JOptionPane.WARNING_MESSAGE); + if (answer != JOptionPane.OK_OPTION) { // no action needed return false; } - - // fix target relationships - for (DbRelationship relationship : relationships) { - relationship.setToDependentPK(false); - } } } } @@ -345,7 +344,7 @@ public boolean isColumnSortable(int sortCol) { @Override public void sortByColumn(int sortCol, boolean isAscent) { - switch(sortCol){ + switch (sortCol) { case DB_ATTRIBUTE_NAME: sortByElementProperty("name", isAscent); break; diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityRelationshipPanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityRelationshipPanel.java index 93080652b9..94cb094aec 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityRelationshipPanel.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityRelationshipPanel.java @@ -233,7 +233,7 @@ protected void rebuildTable(DbEntity entity) { targetCombo = Application.getWidgetFactory().createComboBox(); AutoCompletion.enable(targetCombo); - table.getColumnModel().getColumn(DbRelationshipTableModel.TO_DEPENDENT_KEY) + table.getColumnModel().getColumn(DbRelationshipTableModel.FK) .setCellRenderer(new CheckBoxCellRenderer()); targetCombo.setRenderer(CellRenderers.entityListRendererWithIcons(entity.getDataMap())); diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbRelationshipTableModel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbRelationshipTableModel.java index cb27cad215..a5efae342c 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbRelationshipTableModel.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbRelationshipTableModel.java @@ -42,14 +42,14 @@ public class DbRelationshipTableModel extends CayenneTableModel // Columns static final int NAME = 0; static final int TARGET = 1; - static final int TO_DEPENDENT_KEY = 2; + static final int FK = 2; static final int CARDINALITY = 3; static final int COMMENTS = 4; protected DbEntity entity; public DbRelationshipTableModel(DbEntity entity, ProjectController mediator, - Object eventSource) { + Object eventSource) { super(mediator, eventSource, new ArrayList<>(entity.getRelationships())); this.entity = entity; @@ -72,8 +72,8 @@ public String getColumnName(int col) { return "Name"; case TARGET: return "Target"; - case TO_DEPENDENT_KEY: - return "To Dep PK"; + case FK: + return "FK"; case CARDINALITY: return "To Many"; case COMMENTS: @@ -87,7 +87,7 @@ public Class getColumnClass(int col) { switch (col) { case TARGET: return DbEntity.class; - case TO_DEPENDENT_KEY: + case FK: case CARDINALITY: return Boolean.class; default: @@ -110,8 +110,8 @@ public Object getValueAt(int row, int col) { return rel.getName(); case TARGET: return rel.getTargetEntity(); - case TO_DEPENDENT_KEY: - return rel.isToDependentPK() ? Boolean.TRUE : Boolean.FALSE; + case FK: + return rel.isFK() ? Boolean.TRUE : Boolean.FALSE; case CARDINALITY: return rel.isToMany() ? Boolean.TRUE : Boolean.FALSE; case COMMENTS: @@ -138,35 +138,33 @@ public void setUpdatedValueAt(Object aValue, int row, int column) { rel.setName((String) aValue); mediator.fireDbRelationshipEvent(e); fireTableCellUpdated(row, column); - } else if (column == TO_DEPENDENT_KEY) { + } else if (column == FK) { boolean flag = (Boolean) aValue; - // make sure reverse relationship "to-dep-pk" is unset. - if (flag) { - DbRelationship reverse = rel.getReverseRelationship(); - if (reverse != null && reverse.isToDependentPK()) { - String message = "Unset reverse relationship's \"To Dep PK\" setting?"; - int answer = JOptionPane.showConfirmDialog( - Application.getFrame(), - message); - if (answer != JOptionPane.YES_OPTION) { - // no action needed - return; - } - - // unset reverse - reverse.setToDependentPK(false); + // set/unset FK at both ends of relationship. + DbRelationship reverse = rel.getReverseRelationship(); + if (reverse != null) { + boolean isOKAnswer = JOptionPane.showConfirmDialog(Application.getFrame() + , flag ? "Foreign key will be unset in reverse relationship" : "Foreign key will be set in reverse relationship" + , "Warning" + , JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE) == JOptionPane.OK_OPTION; + if (isOKAnswer) { + rel.setFK(flag); + reverse.setFK(!flag); + } else { + rel.setFK(!flag); + reverse.setFK(flag); } + } else { + rel.setFK(flag); } - - rel.setToDependentPK(flag); mediator.fireDbRelationshipEvent(new RelationshipEvent(eventSource, rel, entity)); } else if (column == CARDINALITY) { rel.setToMany((Boolean) aValue); mediator.fireDbRelationshipEvent(new RelationshipEvent(eventSource, rel, entity)); updateDependentObjRelationships(rel); - } else if(column == COMMENTS) { + } else if (column == COMMENTS) { setComment((String) aValue, rel); mediator.fireDbRelationshipEvent(new RelationshipEvent(eventSource, rel, entity)); } @@ -186,7 +184,7 @@ void updateDependentObjRelationships(DbRelationship relationship) { Collection objRelationshipsForDbRelationship = ProjectUtil .findObjRelationshipsForDbRelationship(mediator, relationship); - for(ObjRelationship objRelationship : objRelationshipsForDbRelationship) { + for (ObjRelationship objRelationship : objRelationshipsForDbRelationship) { objRelationship.recalculateToManyValue(); } } @@ -195,10 +193,10 @@ public boolean isCellEditable(int row, int col) { DbRelationship rel = getRelationship(row); if (rel == null) { return false; - } else if(col == TARGET) { + } else if (col == TARGET) { return false; - } else if (col == TO_DEPENDENT_KEY) { - return rel.isValidForDepPk(); + } else if (col == FK) { + return rel.isValidForFk(); } return true; } @@ -217,8 +215,8 @@ public void sortByColumn(int sortCol, boolean isAscent) { case TARGET: sortByElementProperty("targetEntityName", isAscent); break; - case TO_DEPENDENT_KEY: - sortByElementProperty("toDependentPK", isAscent); + case FK: + sortByElementProperty("FK", isAscent); break; case CARDINALITY: sortByElementProperty("toMany", isAscent); diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/undo/RelationshipUndoableEdit.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/undo/RelationshipUndoableEdit.java index 789a932735..ebd227ab9c 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/undo/RelationshipUndoableEdit.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/undo/RelationshipUndoableEdit.java @@ -102,7 +102,7 @@ private Relationship copyRelationship(Relationship relationship) { private DbRelationship getDbRelationship(DbRelationship dbRelationship) { DbRelationship rel = new DbRelationship(); rel.setName(dbRelationship.getName()); - rel.setToDependentPK(dbRelationship.isToDependentPK()); + rel.setFK(dbRelationship.isFK()); rel.setToMany(dbRelationship.isToMany()); rel.setTargetEntityName(dbRelationship.getTargetEntityName()); rel.setSourceEntity(dbRelationship.getSourceEntity()); diff --git a/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOModelProcessor.java b/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOModelProcessor.java index 3947f57148..bba49babd9 100644 --- a/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOModelProcessor.java +++ b/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOModelProcessor.java @@ -597,7 +597,7 @@ protected void makeRelationships(EOModelHelper helper, ObjEntity objEntity) { String relName = (String) relMap.get("name"); boolean toMany = "Y".equals(relMap.get("isToMany")); - boolean toDependentPK = "Y".equals(relMap.get("propagatesPrimaryKey")); + boolean isFK = !"Y".equals(relMap.get("propagatesPrimaryKey")); ObjEntity target = helper.getDataMap().getObjEntity(targetName); // target maybe null for cross-EOModel relationships @@ -629,7 +629,7 @@ protected void makeRelationships(EOModelHelper helper, ObjEntity objEntity) { dbRel.setTargetEntityName(dbTarget); dbRel.setToMany(toMany); dbRel.setName(relName); - dbRel.setToDependentPK(toDependentPK); + dbRel.setFK(isFK); dbSrc.addRelationship(dbRel); List joins = (List) relMap.get("joins"); From ec984008abe7e551b4edde73c91817036ec942de Mon Sep 17 00:00:00 2001 From: Nikita Timofeev Date: Mon, 14 Oct 2024 19:10:35 +0400 Subject: [PATCH 2/2] CAY-2739 Mapping Proposal: replace "toDepPk" with "fk" - new project version and upgrade handler --- .../src/test/resources/cgenTest.map.xml | 8 +- .../src/test/resources/embeddable.map.xml | 6 +- .../tools/build-include-table.map.xml-result | 6 +- .../cayenne/tools/cgen-dependent.map.xml | 6 +- .../org/apache/cayenne/tools/cgen.map.xml | 6 +- ...estExcludeRelationshipFirst.map.xml-result | 6 +- .../src/test/resources/testmap.map.xml | 6 +- .../src/test/resources/cayenne-lifecycle.xml | 4 +- .../src/test/resources/lifecycle-map.map.xml | 6 +- .../src/test/resources/cayenne-lifecycle.xml | 6 +- .../src/test/resources/lifecycle-map.map.xml | 34 +- .../src/test/resources/cayenne-crypto.xml | 6 +- .../src/test/resources/datamap.map.xml | 8 +- .../dbimport/DefaultDbImportActionTest.java | 18 +- .../cayenne-relationship-optimisation.xml | 4 +- .../relationship-optimisation.map.xml | 6 +- .../org/apache/cayenne/tools/cgenMap.map.xml | 8 +- .../cayenne/tools/cgen_with_config.map.xml | 8 +- .../cayenne/tools/exclude_Table.map.xml | 6 +- .../apache/cayenne/tools/test_datamap.map.xml | 6 +- .../src/test/resources/cayenne-lifecycle.xml | 4 +- .../src/test/resources/lifecycle-map.map.xml | 6 +- .../CompatibilityTestModule.java | 4 +- .../CompatibilityUpgradeServiceIT.java | 6 +- .../org/apache/cayenne/project/Project.java | 2 +- .../apache/cayenne/project/ProjectModule.java | 4 +- .../upgrade/DefaultUpgradeService.java | 2 +- .../upgrade/handlers/UpgradeHandler.java | 6 + .../upgrade/handlers/UpgradeHandler_V12.java | 57 +++ .../handlers/v12/ToDepPkToFkUpdater.java | 279 ++++++++++++++ .../upgrade/DefaultUpgradeServiceTest.java | 9 +- .../handlers/BaseUpgradeHandlerTest.java | 15 + .../handlers/UpgradeHandler_V12Test.java | 143 +++++++ .../cayenne/project/cayenne-PROJECT1.xml | 4 +- .../cayenne/project/cayenne-PROJECT2.xml | 4 +- .../cayenne/project/testProjectMap1_1.map.xml | 6 +- .../cayenne/project/testProjectMap1_2.map.xml | 6 +- .../cayenne/project/testProjectMap2_1.map.xml | 6 +- .../cayenne/project/testProjectMap2_2.map.xml | 6 +- .../upgrade/handlers/cayenne-project-v11.xml | 19 +- .../upgrade/handlers/cayenne-project-v12.xml | 19 +- .../upgrade/handlers/cayenne-project-v99.xml | 3 + .../upgrade/handlers/fkTestmap-1.map.xml | 135 +++++++ .../upgrade/handlers/fkTestmap-2.map.xml | 16 + .../upgrade/handlers/test-map-v11.map.xml | 27 ++ .../configuration/DataChannelDescriptor.java | 4 +- .../xml/XMLDataChannelDescriptorLoader.java | 2 +- .../java/org/apache/cayenne/map/DataMap.java | 4 +- .../org/apache/cayenne/schema/12/cgen.xsd | 51 +++ .../org/apache/cayenne/schema/12/dbimport.xsd | 110 ++++++ .../org/apache/cayenne/schema/12/domain.xsd | 130 +++++++ .../org/apache/cayenne/schema/12/graph.xsd | 55 +++ .../org/apache/cayenne/schema/12/info.xsd | 29 ++ .../org/apache/cayenne/schema/12/modelMap.xsd | 364 ++++++++++++++++++ .../apache/cayenne/schema/12/validation.xsd | 30 ++ .../resources/annotation/cayenne-project.xml | 6 +- .../annotation/datamapAnnotation.map.xml | 6 +- cayenne/src/test/resources/array-type.map.xml | 6 +- cayenne/src/test/resources/binary-pk.map.xml | 8 +- cayenne/src/test/resources/cay-2032.map.xml | 10 +- .../resources/cay2641/cayenne-cay-2641.xml | 6 +- .../resources/cay2641/datamapLazy.map.xml | 8 +- .../resources/cay2666/cayenne-cay-2666.xml | 6 +- .../test/resources/cay2666/datamap.map.xml | 33 +- .../test/resources/cay743/cayenne-domain.xml | 5 +- .../src/test/resources/cay743/map1.map.xml | 12 +- .../src/test/resources/cay743/map2.map.xml | 12 +- .../src/test/resources/cayenne-array-type.xml | 6 +- .../src/test/resources/cayenne-binary-pk.xml | 6 +- .../src/test/resources/cayenne-cay-2032.xml | 6 +- .../src/test/resources/cayenne-compound.xml | 6 +- .../src/test/resources/cayenne-date-time.xml | 6 +- .../test/resources/cayenne-delete-rules.xml | 6 +- .../src/test/resources/cayenne-embeddable.xml | 6 +- cayenne/src/test/resources/cayenne-empty.xml | 6 +- cayenne/src/test/resources/cayenne-enum.xml | 6 +- .../test/resources/cayenne-extended-type.xml | 6 +- .../src/test/resources/cayenne-generated.xml | 6 +- .../src/test/resources/cayenne-generic.xml | 6 +- .../resources/cayenne-hybrid-data-object.xml | 6 +- .../cayenne-inheritance-single-table1.xml | 6 +- .../cayenne-inheritance-vertical.xml | 6 +- .../cayenne-inheritance-with-enum.xml | 6 +- .../test/resources/cayenne-inheritance.xml | 6 +- cayenne/src/test/resources/cayenne-java8.xml | 6 +- cayenne/src/test/resources/cayenne-json.xml | 24 +- .../resources/cayenne-lazy-attributes.xml | 6 +- .../cayenne-lifecycle-callbacks-order.xml | 6 +- .../src/test/resources/cayenne-lifecycles.xml | 6 +- cayenne/src/test/resources/cayenne-lob.xml | 6 +- .../src/test/resources/cayenne-locking.xml | 6 +- .../test/resources/cayenne-map-to-many.xml | 6 +- .../test/resources/cayenne-meaningful-pk.xml | 6 +- .../src/test/resources/cayenne-misc-types.xml | 6 +- .../cayenne-mixed-persistence-strategy.xml | 6 +- .../src/test/resources/cayenne-multi-tier.xml | 6 +- .../src/test/resources/cayenne-multinode.xml | 6 +- cayenne/src/test/resources/cayenne-no-pk.xml | 6 +- .../test/resources/cayenne-numeric-types.xml | 6 +- .../test/resources/cayenne-oneway-rels.xml | 6 +- ...e.configuration.rop.server.test-config.xml | 6 +- cayenne/src/test/resources/cayenne-people.xml | 6 +- .../src/test/resources/cayenne-primitive.xml | 6 +- .../src/test/resources/cayenne-qualified.xml | 8 +- .../resources/cayenne-quoted-identifiers.xml | 6 +- .../src/test/resources/cayenne-reflexive.xml | 6 +- .../cayenne-relationships-activity.xml | 6 +- .../cayenne-relationships-child-master.xml | 6 +- .../resources/cayenne-relationships-clob.xml | 6 +- ...yenne-relationships-collection-to-many.xml | 6 +- .../cayenne-relationships-delete-rules.xml | 6 +- .../cayenne-relationships-flattened.xml | 6 +- ...ayenne-relationships-many-to-many-join.xml | 6 +- .../cayenne-relationships-set-to-many.xml | 6 +- .../cayenne-relationships-to-many-fk.xml | 6 +- .../cayenne-relationships-to-one-fk.xml | 6 +- .../test/resources/cayenne-relationships.xml | 6 +- .../test/resources/cayenne-return-types.xml | 6 +- .../test/resources/cayenne-soft-delete.xml | 6 +- cayenne/src/test/resources/cayenne-sus.xml | 6 +- .../resources/cayenne-table-primitives.xml | 6 +- .../src/test/resources/cayenne-testmap.xml | 6 +- cayenne/src/test/resources/cayenne-things.xml | 6 +- cayenne/src/test/resources/cayenne-toone.xml | 6 +- .../cayenne-unsupported-distinct-types.xml | 6 +- cayenne/src/test/resources/cayenne-uuid.xml | 6 +- .../test/resources/cayenne-weighted-sort.xml | 6 +- cayenne/src/test/resources/compound.map.xml | 18 +- .../src/test/resources/custom-name-file.xml | 5 +- cayenne/src/test/resources/date-time.map.xml | 6 +- .../src/test/resources/delete-rules.map.xml | 12 +- cayenne/src/test/resources/embeddable.map.xml | 12 +- cayenne/src/test/resources/empty.map.xml | 6 +- cayenne/src/test/resources/enum.map.xml | 6 +- .../src/test/resources/extended-type.map.xml | 6 +- cayenne/src/test/resources/generated.map.xml | 20 +- cayenne/src/test/resources/generic.map.xml | 8 +- .../test/resources/hybrid-data-object.map.xml | 8 +- .../inheritance-single-table1.map.xml | 18 +- .../resources/inheritance-vertical.map.xml | 142 +++---- .../resources/inheritance-with-enum.map.xml | 8 +- .../src/test/resources/inheritance.map.xml | 10 +- cayenne/src/test/resources/java8.map.xml | 6 +- cayenne/src/test/resources/json.map.xml | 24 +- .../test/resources/lazy-attributes.map.xml | 6 +- .../lifecycle-callbacks-order.map.xml | 6 +- cayenne/src/test/resources/lifecycles.map.xml | 6 +- cayenne/src/test/resources/lob.map.xml | 8 +- cayenne/src/test/resources/locking.map.xml | 10 +- cayenne/src/test/resources/map-db1.map.xml | 6 +- cayenne/src/test/resources/map-db2.map.xml | 10 +- .../src/test/resources/map-to-many.map.xml | 10 +- .../src/test/resources/meaningful-pk.map.xml | 12 +- cayenne/src/test/resources/misc-types.map.xml | 6 +- .../mixed-persistence-strategy.map.xml | 8 +- cayenne/src/test/resources/multi-tier.map.xml | 16 +- cayenne/src/test/resources/no-pk.map.xml | 6 +- .../src/test/resources/numeric-types.map.xml | 6 +- .../src/test/resources/oneway-rels.map.xml | 8 +- .../configuration/xml/cayenne-testConfig1.xml | 2 +- .../configuration/xml/cayenne-testConfig2.xml | 2 +- .../configuration/xml/cayenne-testConfig3.xml | 2 +- .../configuration/xml/cayenne-testConfig5.xml | 2 +- .../configuration/xml/testConfigMap2.map.xml | 6 +- .../xml/testConfigMap3_1.map.xml | 6 +- .../xml/testConfigMap3_2.map.xml | 6 +- .../configuration/xml/testConfigMap4.map.xml | 20 +- cayenne/src/test/resources/people.map.xml | 16 +- cayenne/src/test/resources/primitive.map.xml | 6 +- cayenne/src/test/resources/qualified.map.xml | 56 ++- .../test/resources/quoted-identifiers.map.xml | 8 +- cayenne/src/test/resources/reflexive.map.xml | 10 +- .../resources/relationships-activity.map.xml | 8 +- .../relationships-child-master.map.xml | 8 +- .../test/resources/relationships-clob.map.xml | 8 +- .../relationships-collection-to-many.map.xml | 8 +- .../relationships-delete-rules.map.xml | 18 +- .../resources/relationships-flattened.map.xml | 32 +- .../relationships-many-to-many-join.map.xml | 22 +- .../relationships-set-to-many.map.xml | 8 +- .../relationships-to-many-fk.map.xml | 12 +- .../resources/relationships-to-one-fk.map.xml | 8 +- .../src/test/resources/relationships.map.xml | 18 +- .../src/test/resources/return-types.map.xml | 6 +- .../src/test/resources/soft-delete.map.xml | 6 +- cayenne/src/test/resources/sus-map.map.xml | 6 +- .../test/resources/table-primitives.map.xml | 6 +- cayenne/src/test/resources/testmap.map.xml | 55 +-- cayenne/src/test/resources/things.map.xml | 18 +- cayenne/src/test/resources/toone.map.xml | 10 +- .../unsupported-distinct-types.map.xml | 22 +- cayenne/src/test/resources/uuid.map.xml | 6 +- .../src/test/resources/weighted-sort.map.xml | 8 +- .../resources/cgen/cayenne-testDomain.xml | 4 +- .../resources/cgen/testAdditionalMap.map.xml | 6 +- .../src/test/resources/cgen/testCgen.map.xml | 8 +- .../test/resources/cgen/testCgenMap.map.xml | 8 +- .../test/resources/cgen/testDomainMap.map.xml | 8 +- .../testAddedFlattenedRelationship.map.xml | 6 +- ...tAddedFlattenedRelationship.map.xml-result | 6 +- .../dbimport/testComplexChangeOrder.map.xml | 6 +- .../testComplexChangeOrder.map.xml-result | 6 +- .../dbimport/testConfigFromDataMap.map.xml | 8 +- .../testConfigFromDataMap.map.xml-result | 8 +- .../testCustomObjectLayerSettings.map.xml | 6 +- ...stCustomObjectLayerSettings.map.xml-result | 6 +- .../dbimport/testDbAttributeChange.map.xml | 6 +- .../testDbAttributeChange.map.xml-result | 6 +- .../testDefaultPackage.map.xml-result | 6 +- .../tools/dbimport/testDropProcedure.map.xml | 6 +- .../dbimport/testDropProcedure.map.xml-result | 6 +- .../dbimport/testExcludeRelationship.map.xml | 6 +- .../testExcludeRelationship.map.xml-result | 6 +- ...estExcludeRelationshipFirst.map.xml-result | 6 +- .../testFilteringWithSchema.map.xml-result | 6 +- .../dbimport/testFkAttributeRename.map.xml | 6 +- .../testFkAttributeRename.map.xml-result | 6 +- ...ManyToManyWithRecursiveLink.map.xml-result | 6 +- .../dbimport/testForceDataMapSchema.map.xml | 6 +- .../testForceDataMapSchema.map.xml-result | 6 +- .../testImportAddTableAndColumn.map.xml | 6 +- ...testImportAddTableAndColumn.map.xml-result | 6 +- .../testImportNewDataMap.map.xml-result | 6 +- .../testImportNewRelationship.map.xml | 6 +- .../testImportNewRelationship.map.xml-result | 6 +- .../dbimport/testImportProcedure.map.xml | 6 +- .../testImportProcedure.map.xml-result | 6 +- .../dbimport/testImportWithoutChanges.map.xml | 6 +- .../testImportWithoutChanges.map.xml-result | 6 +- .../tools/dbimport/testInheritance.map.xml | 6 +- .../dbimport/testInheritance.map.xml-result | 6 +- .../tools/dbimport/testJava7Types.map.xml | 6 +- .../dbimport/testJava7Types.map.xml-result | 6 +- .../tools/dbimport/testJava8Types.map.xml | 6 +- .../dbimport/testJava8Types.map.xml-result | 6 +- .../testNamingStrategy.map.xml-result | 6 +- .../dbimport/testOneToOne.map.xml-result | 6 +- .../testPreserveCustomObjMappings.map.xml | 6 +- ...stPreserveCustomObjMappings.map.xml-result | 6 +- .../testPreserveRelationships.map.xml | 6 +- .../testPreserveRelationships.map.xml-result | 6 +- .../tools/dbimport/testSameProcedure.map.xml | 6 +- .../dbimport/testSameProcedure.map.xml-result | 6 +- .../testSchemasAndTableExclude.map.xml-result | 6 +- .../testSkipPrimaryKeyLoading.map.xml | 6 +- .../testSkipPrimaryKeyLoading.map.xml-result | 6 +- .../testSkipRelationshipsLoading.map.xml | 6 +- ...estSkipRelationshipsLoading.map.xml-result | 6 +- .../dbimport/testTableTypes.map.xml-result | 6 +- .../tools/dbimport/testTableTypesMap.map.xml | 8 +- .../dbimport/testTableTypesMap.map.xml-result | 8 +- .../dbimport/testUnFlattensManyToMany.map.xml | 6 +- .../testUnFlattensManyToMany.map.xml-result | 6 +- .../dbimport/testViewsExclude.map.xml-result | 6 +- .../src/test/resources/cayenne-client.xml | 4 +- .../src/test/resources/embeddable.map.xml | 6 +- .../src/test/resources/testmap.map.xml | 6 +- .../modeler/cayenne-configured-validation.xml | 8 +- .../src/main/resources/cayenne-project.xml | 6 +- .../src/main/resources/datamap.map.xml | 6 +- 260 files changed, 2455 insertions(+), 1062 deletions(-) create mode 100644 cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/handlers/UpgradeHandler_V12.java create mode 100644 cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/handlers/v12/ToDepPkToFkUpdater.java create mode 100644 cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/handlers/UpgradeHandler_V12Test.java create mode 100644 cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/handlers/cayenne-project-v99.xml create mode 100644 cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/handlers/fkTestmap-1.map.xml create mode 100644 cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/handlers/fkTestmap-2.map.xml create mode 100644 cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/handlers/test-map-v11.map.xml create mode 100644 cayenne/src/main/resources/org/apache/cayenne/schema/12/cgen.xsd create mode 100644 cayenne/src/main/resources/org/apache/cayenne/schema/12/dbimport.xsd create mode 100644 cayenne/src/main/resources/org/apache/cayenne/schema/12/domain.xsd create mode 100644 cayenne/src/main/resources/org/apache/cayenne/schema/12/graph.xsd create mode 100644 cayenne/src/main/resources/org/apache/cayenne/schema/12/info.xsd create mode 100644 cayenne/src/main/resources/org/apache/cayenne/schema/12/modelMap.xsd create mode 100644 cayenne/src/main/resources/org/apache/cayenne/schema/12/validation.xsd diff --git a/cayenne-ant/src/test/resources/cgenTest.map.xml b/cayenne-ant/src/test/resources/cgenTest.map.xml index 5f8bc0d23a..99367a1612 100644 --- a/cayenne-ant/src/test/resources/cgenTest.map.xml +++ b/cayenne-ant/src/test/resources/cgenTest.map.xml @@ -1,12 +1,12 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> - + cgenConfigTest ObjEntity Embeddable diff --git a/cayenne-ant/src/test/resources/embeddable.map.xml b/cayenne-ant/src/test/resources/embeddable.map.xml index 9cce86baa6..0f4aa7c26f 100644 --- a/cayenne-ant/src/test/resources/embeddable.map.xml +++ b/cayenne-ant/src/test/resources/embeddable.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne-ant/src/test/resources/org/apache/cayenne/tools/build-include-table.map.xml-result b/cayenne-ant/src/test/resources/org/apache/cayenne/tools/build-include-table.map.xml-result index 8c86e4bb30..be55a39b54 100644 --- a/cayenne-ant/src/test/resources/org/apache/cayenne/tools/build-include-table.map.xml-result +++ b/cayenne-ant/src/test/resources/org/apache/cayenne/tools/build-include-table.map.xml-result @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne-ant/src/test/resources/org/apache/cayenne/tools/cgen-dependent.map.xml b/cayenne-ant/src/test/resources/org/apache/cayenne/tools/cgen-dependent.map.xml index 41b8a5d410..07831be686 100644 --- a/cayenne-ant/src/test/resources/org/apache/cayenne/tools/cgen-dependent.map.xml +++ b/cayenne-ant/src/test/resources/org/apache/cayenne/tools/cgen-dependent.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne-ant/src/test/resources/org/apache/cayenne/tools/cgen.map.xml b/cayenne-ant/src/test/resources/org/apache/cayenne/tools/cgen.map.xml index 0c2416e339..6bc191a7eb 100644 --- a/cayenne-ant/src/test/resources/org/apache/cayenne/tools/cgen.map.xml +++ b/cayenne-ant/src/test/resources/org/apache/cayenne/tools/cgen.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne-ant/src/test/resources/org/apache/cayenne/tools/testExcludeRelationshipFirst.map.xml-result b/cayenne-ant/src/test/resources/org/apache/cayenne/tools/testExcludeRelationshipFirst.map.xml-result index 423f81963e..cd8aeaaa23 100644 --- a/cayenne-ant/src/test/resources/org/apache/cayenne/tools/testExcludeRelationshipFirst.map.xml-result +++ b/cayenne-ant/src/test/resources/org/apache/cayenne/tools/testExcludeRelationshipFirst.map.xml-result @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne-ant/src/test/resources/testmap.map.xml b/cayenne-ant/src/test/resources/testmap.map.xml index e5c941a640..5b81610a7e 100644 --- a/cayenne-ant/src/test/resources/testmap.map.xml +++ b/cayenne-ant/src/test/resources/testmap.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne-cache-invalidation/src/test/resources/cayenne-lifecycle.xml b/cayenne-cache-invalidation/src/test/resources/cayenne-lifecycle.xml index e86a4ea3ef..26f434c2f2 100644 --- a/cayenne-cache-invalidation/src/test/resources/cayenne-lifecycle.xml +++ b/cayenne-cache-invalidation/src/test/resources/cayenne-lifecycle.xml @@ -1,6 +1,6 @@ - + - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne-commitlog/src/test/resources/cayenne-lifecycle.xml b/cayenne-commitlog/src/test/resources/cayenne-lifecycle.xml index cc49efd04d..cdc1381a6e 100644 --- a/cayenne-commitlog/src/test/resources/cayenne-lifecycle.xml +++ b/cayenne-commitlog/src/test/resources/cayenne-lifecycle.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -104,28 +104,28 @@ - + - + - + - + - + - + - + - + @@ -137,16 +137,4 @@ - - ../java - entity - - templates/v4_1/superclass.vm - *.java - true - true - false - false - false - diff --git a/cayenne-crypto/src/test/resources/cayenne-crypto.xml b/cayenne-crypto/src/test/resources/cayenne-crypto.xml index f13080b773..daeeddb2b2 100644 --- a/cayenne-crypto/src/test/resources/cayenne-crypto.xml +++ b/cayenne-crypto/src/test/resources/cayenne-crypto.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -78,7 +78,7 @@ - + diff --git a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/dbimport/DefaultDbImportActionTest.java b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/dbimport/DefaultDbImportActionTest.java index 657d701a76..5506c5a728 100644 --- a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/dbimport/DefaultDbImportActionTest.java +++ b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/dbimport/DefaultDbImportActionTest.java @@ -380,10 +380,10 @@ public void testSaveLoadedWithNonEmptyProject() throws Exception { assertFalse(projectFile.exists()); Files.write(projectFile.toPath(), ("\n" + - "\n" + + "\t xsi:schemaLocation=\"http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd\"\n" + + "\t project-version=\"12\">\n" + "").getBytes(StandardCharsets.UTF_8)); assertTrue(projectFile.isFile()); @@ -425,10 +425,10 @@ public void testSaveLoadedWithNonEmptyProjectAndNonEmptyDataMap() throws Excepti assertFalse(projectFile.exists()); Files.write(projectFile.toPath(), ("\n" + - "\n" + + "\t xsi:schemaLocation=\"http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd\"\n" + + "\t project-version=\"12\">\n" + "\t\n" + "").getBytes(StandardCharsets.UTF_8)); assertTrue(projectFile.isFile()); @@ -444,10 +444,10 @@ public void testSaveLoadedWithNonEmptyProjectAndNonEmptyDataMap() throws Excepti assertFalse(dataMapFile.exists()); Files.write(dataMapFile.toPath(), ("\n" + - "\n" + + "\t xsi:schemaLocation=\"http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd\"\n" + + "\t project-version=\"12\">\n" + "\t\n" + "\t\t\n" + "\t\n" + diff --git a/cayenne-dbsync/src/test/resources/org/apache/cayenne/dbsync/reverse/dbimport/cayenne-relationship-optimisation.xml b/cayenne-dbsync/src/test/resources/org/apache/cayenne/dbsync/reverse/dbimport/cayenne-relationship-optimisation.xml index 20c8684b52..a004453950 100644 --- a/cayenne-dbsync/src/test/resources/org/apache/cayenne/dbsync/reverse/dbimport/cayenne-relationship-optimisation.xml +++ b/cayenne-dbsync/src/test/resources/org/apache/cayenne/dbsync/reverse/dbimport/cayenne-relationship-optimisation.xml @@ -1,5 +1,5 @@ - + diff --git a/cayenne-dbsync/src/test/resources/org/apache/cayenne/dbsync/reverse/dbimport/relationship-optimisation.map.xml b/cayenne-dbsync/src/test/resources/org/apache/cayenne/dbsync/reverse/dbimport/relationship-optimisation.map.xml index 1ad8d4087a..91d183d3a4 100644 --- a/cayenne-dbsync/src/test/resources/org/apache/cayenne/dbsync/reverse/dbimport/relationship-optimisation.map.xml +++ b/cayenne-dbsync/src/test/resources/org/apache/cayenne/dbsync/reverse/dbimport/relationship-optimisation.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne-gradle-plugin/src/test/resources/org/apache/cayenne/tools/cgenMap.map.xml b/cayenne-gradle-plugin/src/test/resources/org/apache/cayenne/tools/cgenMap.map.xml index 7f57be4c83..49170c404d 100644 --- a/cayenne-gradle-plugin/src/test/resources/org/apache/cayenne/tools/cgenMap.map.xml +++ b/cayenne-gradle-plugin/src/test/resources/org/apache/cayenne/tools/cgenMap.map.xml @@ -1,12 +1,12 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> - + ./customDirectory ObjEntity Embeddable diff --git a/cayenne-gradle-plugin/src/test/resources/org/apache/cayenne/tools/cgen_with_config.map.xml b/cayenne-gradle-plugin/src/test/resources/org/apache/cayenne/tools/cgen_with_config.map.xml index 86529a7233..d367c3329c 100644 --- a/cayenne-gradle-plugin/src/test/resources/org/apache/cayenne/tools/cgen_with_config.map.xml +++ b/cayenne-gradle-plugin/src/test/resources/org/apache/cayenne/tools/cgen_with_config.map.xml @@ -1,12 +1,12 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> - + ./customDirectory1 ObjEntity Embeddable diff --git a/cayenne-gradle-plugin/src/test/resources/org/apache/cayenne/tools/exclude_Table.map.xml b/cayenne-gradle-plugin/src/test/resources/org/apache/cayenne/tools/exclude_Table.map.xml index ba6cbd45f9..660de6c491 100644 --- a/cayenne-gradle-plugin/src/test/resources/org/apache/cayenne/tools/exclude_Table.map.xml +++ b/cayenne-gradle-plugin/src/test/resources/org/apache/cayenne/tools/exclude_Table.map.xml @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne-gradle-plugin/src/test/resources/org/apache/cayenne/tools/test_datamap.map.xml b/cayenne-gradle-plugin/src/test/resources/org/apache/cayenne/tools/test_datamap.map.xml index ba6cbd45f9..660de6c491 100644 --- a/cayenne-gradle-plugin/src/test/resources/org/apache/cayenne/tools/test_datamap.map.xml +++ b/cayenne-gradle-plugin/src/test/resources/org/apache/cayenne/tools/test_datamap.map.xml @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne-lifecycle/src/test/resources/cayenne-lifecycle.xml b/cayenne-lifecycle/src/test/resources/cayenne-lifecycle.xml index f24cef68bb..c2bddd4abe 100644 --- a/cayenne-lifecycle/src/test/resources/cayenne-lifecycle.xml +++ b/cayenne-lifecycle/src/test/resources/cayenne-lifecycle.xml @@ -1,6 +1,6 @@ - + - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne-project-compatibility/src/test/java/org/apache/cayenne/project/compatibility/CompatibilityTestModule.java b/cayenne-project-compatibility/src/test/java/org/apache/cayenne/project/compatibility/CompatibilityTestModule.java index 2e38b56ac7..8d5f1bfa31 100644 --- a/cayenne-project-compatibility/src/test/java/org/apache/cayenne/project/compatibility/CompatibilityTestModule.java +++ b/cayenne-project-compatibility/src/test/java/org/apache/cayenne/project/compatibility/CompatibilityTestModule.java @@ -35,6 +35,7 @@ import org.apache.cayenne.project.upgrade.handlers.UpgradeHandler; import org.apache.cayenne.project.upgrade.handlers.UpgradeHandler_V10; import org.apache.cayenne.project.upgrade.handlers.UpgradeHandler_V11; +import org.apache.cayenne.project.upgrade.handlers.UpgradeHandler_V12; import org.apache.cayenne.project.upgrade.handlers.UpgradeHandler_V7; import org.apache.cayenne.project.upgrade.handlers.UpgradeHandler_V8; import org.apache.cayenne.project.upgrade.handlers.UpgradeHandler_V9; @@ -61,7 +62,8 @@ public void configure(Binder binder) { .add(UpgradeHandler_V8.class) .add(UpgradeHandler_V9.class) .add(UpgradeHandler_V10.class) - .add(UpgradeHandler_V11.class); + .add(UpgradeHandler_V11.class) + .add(UpgradeHandler_V12.class); binder.bind(ProjectSaver.class).toInstance(mock(ProjectSaver.class)); binder.bind(DataChannelDescriptorLoader.class).toInstance(mock(DataChannelDescriptorLoader.class)); diff --git a/cayenne-project-compatibility/src/test/java/org/apache/cayenne/project/compatibility/CompatibilityUpgradeServiceIT.java b/cayenne-project-compatibility/src/test/java/org/apache/cayenne/project/compatibility/CompatibilityUpgradeServiceIT.java index 9dd17d1387..d7f247a521 100644 --- a/cayenne-project-compatibility/src/test/java/org/apache/cayenne/project/compatibility/CompatibilityUpgradeServiceIT.java +++ b/cayenne-project-compatibility/src/test/java/org/apache/cayenne/project/compatibility/CompatibilityUpgradeServiceIT.java @@ -52,12 +52,12 @@ public void testUpgradeFullProjectDom() { Document domainDocument = documentProvider.getDocument(resourceUrl); assertNotNull(domainDocument); - assertEquals("11", domainDocument.getDocumentElement().getAttribute("project-version")); + assertEquals("12", domainDocument.getDocumentElement().getAttribute("project-version")); URL dataMapUrl = getClass().getResource("test-map-v6.map.xml"); Document dataMapDocument = documentProvider.getDocument(dataMapUrl); assertNotNull(dataMapDocument); - assertEquals("11", dataMapDocument.getDocumentElement().getAttribute("project-version")); + assertEquals("12", dataMapDocument.getDocumentElement().getAttribute("project-version")); assertEquals(1, dataMapDocument.getElementsByTagName("obj-entity").getLength()); assertEquals(1, dataMapDocument.getElementsByTagName("db-entity").getLength()); assertEquals(2, dataMapDocument.getElementsByTagName("db-attribute").getLength()); @@ -81,7 +81,7 @@ public void testUpgradeStandAloneDataMapDom() { dataMapDocument = documentProvider.getDocument(dataMapUrl); assertNotNull(dataMapDocument); - assertEquals("11", dataMapDocument.getDocumentElement().getAttribute("project-version")); + assertEquals("12", dataMapDocument.getDocumentElement().getAttribute("project-version")); } private Injector getInjector() { diff --git a/cayenne-project/src/main/java/org/apache/cayenne/project/Project.java b/cayenne-project/src/main/java/org/apache/cayenne/project/Project.java index 4cd6c3242f..20e840d88c 100644 --- a/cayenne-project/src/main/java/org/apache/cayenne/project/Project.java +++ b/cayenne-project/src/main/java/org/apache/cayenne/project/Project.java @@ -42,7 +42,7 @@ public class Project { * * @since 4.1 */ - static public final int VERSION = 11; + static public final int VERSION = 12; protected boolean modified; diff --git a/cayenne-project/src/main/java/org/apache/cayenne/project/ProjectModule.java b/cayenne-project/src/main/java/org/apache/cayenne/project/ProjectModule.java index a594bd1cae..0b9ede4dc0 100644 --- a/cayenne-project/src/main/java/org/apache/cayenne/project/ProjectModule.java +++ b/cayenne-project/src/main/java/org/apache/cayenne/project/ProjectModule.java @@ -29,6 +29,7 @@ import org.apache.cayenne.project.upgrade.handlers.UpgradeHandler; import org.apache.cayenne.project.upgrade.handlers.UpgradeHandler_V10; import org.apache.cayenne.project.upgrade.handlers.UpgradeHandler_V11; +import org.apache.cayenne.project.upgrade.handlers.UpgradeHandler_V12; import org.apache.cayenne.project.upgrade.handlers.UpgradeHandler_V7; import org.apache.cayenne.project.upgrade.handlers.UpgradeHandler_V8; import org.apache.cayenne.project.upgrade.handlers.UpgradeHandler_V9; @@ -85,6 +86,7 @@ public void configure(Binder binder) { .addUpgradeHandler(UpgradeHandler_V8.class) .addUpgradeHandler(UpgradeHandler_V9.class) .addUpgradeHandler(UpgradeHandler_V10.class) - .addUpgradeHandler(UpgradeHandler_V11.class); + .addUpgradeHandler(UpgradeHandler_V11.class) + .addUpgradeHandler(UpgradeHandler_V12.class); } } diff --git a/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/DefaultUpgradeService.java b/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/DefaultUpgradeService.java index f9234559bf..c5824ec862 100644 --- a/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/DefaultUpgradeService.java +++ b/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/DefaultUpgradeService.java @@ -187,8 +187,8 @@ protected List upgradeDOM(Resource resource, List h for(UpgradeUnit dataMapUnit : dataMapUnits) { handler.processDataMapDom(dataMapUnit); } + handler.processAllDataMapDomes(dataMapUnits); } - return allUnits; } diff --git a/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/handlers/UpgradeHandler.java b/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/handlers/UpgradeHandler.java index e5be3c86d3..bc8779733d 100644 --- a/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/handlers/UpgradeHandler.java +++ b/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/handlers/UpgradeHandler.java @@ -29,6 +29,8 @@ import org.w3c.dom.Element; import org.w3c.dom.NodeList; +import java.util.List; + /** * Interface that upgrade handlers should implement. * Implementation also should be injected into DI stack in right order. @@ -126,4 +128,8 @@ default void updateExtensionSchema(UpgradeUnit upgradeUnit, String extension) { element.setAttribute("xmlns", "http://cayenne.apache.org/schema/"+getVersion()+"/"+extension.toLowerCase()); } } + + default void processAllDataMapDomes(List dataMapUnits) { + //noop + } } diff --git a/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/handlers/UpgradeHandler_V12.java b/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/handlers/UpgradeHandler_V12.java new file mode 100644 index 0000000000..2f6af888c3 --- /dev/null +++ b/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/handlers/UpgradeHandler_V12.java @@ -0,0 +1,57 @@ +/***************************************************************** + * 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 + * + * https://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. + ****************************************************************/ + + +package org.apache.cayenne.project.upgrade.handlers; + +import org.apache.cayenne.project.upgrade.UpgradeUnit; +import org.apache.cayenne.project.upgrade.handlers.v12.ToDepPkToFkUpdater; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.List; + +/** + * @since 5.0-M2 + */ +public class UpgradeHandler_V12 implements UpgradeHandler { + + private static final Logger LOGGER = LoggerFactory.getLogger(UpgradeHandler_V12.class); + + @Override + public String getVersion() { + return "12"; + } + + @Override + public void processProjectDom(UpgradeUnit upgradeUnit) { + updateDomainSchemaAndVersion(upgradeUnit); + } + + @Override + public void processDataMapDom(UpgradeUnit upgradeUnit) { + updateDataMapSchemaAndVersion(upgradeUnit); + } + + @Override + public void processAllDataMapDomes(List dataMapUnits) { + ToDepPkToFkUpdater fkUpdater = new ToDepPkToFkUpdater(); + fkUpdater.update(dataMapUnits); + } +} diff --git a/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/handlers/v12/ToDepPkToFkUpdater.java b/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/handlers/v12/ToDepPkToFkUpdater.java new file mode 100644 index 0000000000..aaaef4e932 --- /dev/null +++ b/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/handlers/v12/ToDepPkToFkUpdater.java @@ -0,0 +1,279 @@ +/***************************************************************** + * 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 + * + * https://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. + ****************************************************************/ + +package org.apache.cayenne.project.upgrade.handlers.v12; + +import org.apache.cayenne.project.upgrade.UpgradeUnit; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.w3c.dom.Element; +import org.w3c.dom.NamedNodeMap; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + +import java.util.ArrayList; +import java.util.List; + +/** + * Utility class transforming "toDependentPK" flag to "fk" in db relationships + * + * @since 5.0-M2 + */ +public class ToDepPkToFkUpdater { + + private static final Logger logger = LoggerFactory.getLogger(ToDepPkToFkUpdater.class); + + private static final String TO_DEP_PK_TAG = "toDependentPK"; + private static final String FK_TAG = "fk"; + private static final String DB_RELATIONSHIP_TAG = "db-relationship"; + private static final String DB_ENTITY_TAG = "db-entity"; + private static final String DB_ATTRIBUTE_TAG = "db-attribute"; + private static final String DB_ATTRIBUTE_PAIR_TAG = "db-attribute-pair"; + + public void update(List units) { + + List dataMaps = new ArrayList<>(units.size()); + List combinedDbEntityList = new ArrayList<>(); + + for (UpgradeUnit upgradeUnit : units) { + Element dataMap = upgradeUnit.getDocument().getDocumentElement(); + dataMaps.add(dataMap); + combinedDbEntityList.add(dataMap.getElementsByTagName(DB_ENTITY_TAG)); + } + + for (Element dataMap : dataMaps) { + NodeList relationships = dataMap.getElementsByTagName(DB_RELATIONSHIP_TAG); + + for (int i = 0; i < relationships.getLength(); i++) { + Node relationship = relationships.item(i); + + Element reverseRelationship = findReverseRelationship(relationships, relationship); + + if (reverseRelationship == null) { + reverseRelationship = findReverseInAllDatamaps(dataMaps, relationship); + } + + if (!isToDepPK(relationship) + && !isToDepPK(reverseRelationship) + && !isFK(relationship) + && !isFK(reverseRelationship)) { + setFk((Element) relationship, reverseRelationship, combinedDbEntityList); + } + + if (isToDepPK(relationship)) { + handleToDepPK(relationship, reverseRelationship, combinedDbEntityList); + } + } + } + } + + private Element findReverseInAllDatamaps(List dataMaps, Node relationship) { + for (Element dataMap : dataMaps) { + NodeList relationships = dataMap.getElementsByTagName(DB_RELATIONSHIP_TAG); + Element reverseRelationship = findReverseRelationship(relationships, relationship); + if (reverseRelationship != null) { + return reverseRelationship; + } + } + return null; + } + + private void setFk(Element relationship, Element reverseRelationship, List combinedDbEntityList) { + + Node sourceEntity = getDbEntityByJoinDirection(combinedDbEntityList, relationship, "source"); + Node targetEntity = getDbEntityByJoinDirection(combinedDbEntityList, relationship, "target"); + + NodeList pairNodes = relationship.getElementsByTagName(DB_ATTRIBUTE_PAIR_TAG); + for (int i = 0; i < pairNodes.getLength(); i++) { + if (sourceEntity != null && targetEntity != null) { + Node currentNode = pairNodes.item(i); + + boolean sourceIsPK = isPrimaryKey(sourceEntity, currentNode, "source"); + boolean targetIsPK = isPrimaryKey(targetEntity, currentNode, "target"); + + if (sourceIsPK != targetIsPK) { + handleDefinedFkCase(relationship, reverseRelationship, sourceIsPK); + return; + } else { + handleUndefinedFkCase(relationship, reverseRelationship, pairNodes, i); + } + } + } + } + + private void handleUndefinedFkCase(Element relationship, Element reverseRelationship, NodeList pairNodes, int i) { + //Check is this last join, which means there are no joins where fk direction is defined and this + // relationship has both side. + if (isLastJoinPair(pairNodes, i) && reverseRelationship != null) { + relationship.setAttribute(FK_TAG, "true"); + logger.warn(String.format("Foreign key in relationships pair %s and %s was undefined. FK = true was set in the %s by default" + , relationship.getAttribute("name") + , reverseRelationship.getAttribute("name") + , relationship.getAttribute("name"))); + } + } + + private void handleDefinedFkCase(Element relationship, Element reverseRelationship, boolean sourceIsPK) { + if (sourceIsPK && reverseRelationship != null) { + reverseRelationship.setAttribute(FK_TAG, "true"); + } + if (!sourceIsPK) { + relationship.setAttribute(FK_TAG, "true"); + } + } + + private boolean isLastJoinPair(NodeList pairNodes, int i) { + return i == pairNodes.getLength() - 1; + } + + private boolean isPrimaryKey(Node entity, Node node, String joinDirection) { + String joinName = node.getAttributes().getNamedItem(joinDirection).getNodeValue(); + NodeList childNodes = entity.getChildNodes(); + for (int i = 0; i < childNodes.getLength(); i++) { + Node item = childNodes.item(i); + if(!DB_ATTRIBUTE_TAG.equals(item.getNodeName())) { + continue; + } + if (item.getAttributes() != null) { + String name = item.getAttributes().getNamedItem("name").getNodeValue(); + if (name.equals(joinName)) { + Node isPrimaryKey = item.getAttributes().getNamedItem("isPrimaryKey"); + if (isPrimaryKey != null) { + return isPrimaryKey.getNodeValue().equals("true"); + } + } + } + } + return false; + } + + private Node getDbEntityByJoinDirection(List combinedDbEntityList, Element relationship, String joinDirection) { + NamedNodeMap relationshipAttrs = relationship.getAttributes(); + String searchedEntityName = relationshipAttrs.getNamedItem(joinDirection).getNodeValue(); + for (NodeList list : combinedDbEntityList) { + for (int i = 0; i < list.getLength(); i++) { + String entityName = list.item(i).getAttributes().getNamedItem("name").getNodeValue(); + if (searchedEntityName.equals(entityName)) { + return list.item(i); + } + } + } + return null; + } + + private boolean isToDepPK(Node relationship) { + if (relationship == null) { + return false; + } + NamedNodeMap relationshipAttrs = relationship.getAttributes(); + Node toDependentPK = relationshipAttrs.getNamedItem(TO_DEP_PK_TAG); + return toDependentPK != null && toDependentPK.getNodeValue().equalsIgnoreCase("true"); + } + + private boolean isFK(Node relationship) { + if (relationship == null) { + return false; + } + NamedNodeMap relationshipAttrs = relationship.getAttributes(); + Node fkNode = relationshipAttrs.getNamedItem(FK_TAG); + return fkNode != null && fkNode.getNodeValue().equalsIgnoreCase("true"); + } + + private void handleToDepPK(Node relationship, Element reverseRelationship, List combinedDbEntityList) { + relationship.getAttributes().removeNamedItem(TO_DEP_PK_TAG); + if (reverseRelationship != null) { + if (!isToDepPK(reverseRelationship)) { + reverseRelationship.setAttribute(FK_TAG, "true"); + } else { + reverseRelationship.getAttributes().removeNamedItem(TO_DEP_PK_TAG); + setFk((Element) relationship, reverseRelationship, combinedDbEntityList); + } + } + } + + private Element findReverseRelationship(NodeList dbRelationshipList, Node dbRelationshipNode) { + Element dbRelationship = (Element) dbRelationshipNode; + + String sourceAttr = dbRelationship.getAttribute("source"); + String targetAttr = dbRelationship.getAttribute("target"); + + List pairs = getDbAttrPairs(dbRelationship); + + for (int j = 0; j < dbRelationshipList.getLength(); j++) { + Node candidateDbRelationshipNode = dbRelationshipList.item(j); + if (candidateDbRelationshipNode.getNodeType() == Node.ELEMENT_NODE) { + Element candidateDbRelationship = (Element) candidateDbRelationshipNode; + if (isCandidateSuitable(sourceAttr, targetAttr, pairs, candidateDbRelationship)) { + return candidateDbRelationship; + } + } + } + return null; + } + + private boolean isCandidateSuitable(String sourceAttr, String targetAttr, List pairs, Element candidateDbRelationship) { + String candidateSourceAttr = candidateDbRelationship.getAttribute("source"); + String candidateTargetAttr = candidateDbRelationship.getAttribute("target"); + + List candidatePairs = getDbAttrPairs(candidateDbRelationship); + + return sourceAttr.equals(candidateTargetAttr) + && targetAttr.equals(candidateSourceAttr) + && pairs.size() == candidatePairs.size() + && containAllReversed(pairs, candidatePairs); + } + + private boolean containAllReversed(List pairs, List candidatePairs) { + return pairs.stream() + .allMatch(pair -> candidatePairs.stream().anyMatch(pair::isReverseFor)); + } + + private List getDbAttrPairs(Element dbRelationship) { + List pairs = new ArrayList<>(); + NodeList attributes = dbRelationship.getElementsByTagName(DB_ATTRIBUTE_PAIR_TAG); + for (int j = 0; j < attributes.getLength(); j++) { + Node attributeNode = attributes.item(j); + if (attributeNode.getNodeType() == Node.ELEMENT_NODE) { + Element element = (Element) attributeNode; + String pairSource = element.getAttribute("source"); + String pairTarget = element.getAttribute("target"); + pairs.add(new DbAttrPair(pairSource, pairTarget)); + } + } + return pairs; + } + + private static class DbAttrPair { + private final String source; + private final String target; + + public DbAttrPair(String source, String target) { + this.source = source; + this.target = target; + } + + private boolean isReverseFor(DbAttrPair pair) { + return this.source.equals(pair.target) && this.target.equals(pair.source); + } + } +} + + + + diff --git a/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/DefaultUpgradeServiceTest.java b/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/DefaultUpgradeServiceTest.java index a2ba5ca124..a8f17c1bfa 100644 --- a/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/DefaultUpgradeServiceTest.java +++ b/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/DefaultUpgradeServiceTest.java @@ -27,6 +27,7 @@ import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; +import org.apache.cayenne.project.Project; import org.apache.cayenne.project.upgrade.handlers.UpgradeHandler; import org.apache.cayenne.resource.Resource; import org.apache.cayenne.resource.URLResource; @@ -68,9 +69,12 @@ public void getUpgradeType() throws Exception { assertEquals(UpgradeType.UPGRADE_NEEDED, metaData.getUpgradeType()); metaData = upgradeService.getUpgradeType(getResourceForVersion("11")); - assertEquals(UpgradeType.UPGRADE_NOT_NEEDED, metaData.getUpgradeType()); + assertEquals(UpgradeType.UPGRADE_NEEDED, metaData.getUpgradeType()); metaData = upgradeService.getUpgradeType(getResourceForVersion("12")); + assertEquals(UpgradeType.UPGRADE_NOT_NEEDED, metaData.getUpgradeType()); + + metaData = upgradeService.getUpgradeType(getResourceForVersion("99")); assertEquals(UpgradeType.DOWNGRADE_NEEDED, metaData.getUpgradeType()); } @@ -131,6 +135,7 @@ public void upgradeDOM() throws Exception { verify(handler).processProjectDom(any(UpgradeUnit.class)); // two data maps verify(handler, times(2)).processDataMapDom(any(UpgradeUnit.class)); + verify(handler).processAllDataMapDomes(anyList()); verifyNoMoreInteractions(handler); } } @@ -138,7 +143,7 @@ public void upgradeDOM() throws Exception { @Test public void readDocument() throws Exception { Document document = Util.readDocument(getClass().getResource("../cayenne-PROJECT1.xml")); - assertEquals("11", document.getDocumentElement().getAttribute("project-version")); + assertEquals(String.valueOf(Project.VERSION), document.getDocumentElement().getAttribute("project-version")); } private Document readDocument(URL url) throws Exception { diff --git a/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/handlers/BaseUpgradeHandlerTest.java b/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/handlers/BaseUpgradeHandlerTest.java index e021b15900..9cf1266cca 100644 --- a/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/handlers/BaseUpgradeHandlerTest.java +++ b/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/handlers/BaseUpgradeHandlerTest.java @@ -21,6 +21,8 @@ import java.io.InputStreamReader; import java.io.StringReader; +import java.util.ArrayList; +import java.util.List; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; @@ -58,6 +60,19 @@ Document processDataMapDom(String xmlResourceName) throws Exception { return unit.getDocument(); } + List processAllDataMapDomes(List xmlResourceNames) throws Exception { + List upgradeUnits = new ArrayList<>(xmlResourceNames.size()); + List documents = new ArrayList<>(); + for (String xmlResourceName : xmlResourceNames) { + UpgradeUnit unit = new UpgradeUnit(new URLResource(getClass().getResource(xmlResourceName)), + documentFromResource(xmlResourceName)); + upgradeUnits.add(unit); + documents.add(unit.getDocument()); + } + handler.processAllDataMapDomes(upgradeUnits); + return documents; + } + Document documentFromString(String xml) throws Exception { DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder(); return db.parse(new InputSource(new StringReader(xml))); diff --git a/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/handlers/UpgradeHandler_V12Test.java b/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/handlers/UpgradeHandler_V12Test.java new file mode 100644 index 0000000000..12dab48c1d --- /dev/null +++ b/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/handlers/UpgradeHandler_V12Test.java @@ -0,0 +1,143 @@ +/***************************************************************** + * 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 + * + * https://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. + ****************************************************************/ + +package org.apache.cayenne.project.upgrade.handlers; + +import org.apache.cayenne.configuration.DataChannelDescriptor; +import org.junit.Test; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.NamedNodeMap; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + +import java.util.Arrays; +import java.util.List; + +import static org.junit.Assert.*; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verifyNoInteractions; + +/** + * @since 5.0 + */ +public class UpgradeHandler_V12Test extends BaseUpgradeHandlerTest { + + UpgradeHandler newHandler() { + return new UpgradeHandler_V12(); + } + + @Test + public void testProjectDomUpgrade() throws Exception { + Document document = processProjectDom("cayenne-project-v11.xml"); + + Element root = document.getDocumentElement(); + assertEquals("12", root.getAttribute("project-version")); + assertEquals("http://cayenne.apache.org/schema/12/domain", root.getAttribute("xmlns")); + assertEquals(2, root.getElementsByTagName("map").getLength()); + } + + @Test + public void testDataMapDomUpgrade() throws Exception { + Document document = processDataMapDom("test-map-v11.map.xml"); + + Element root = document.getDocumentElement(); + assertEquals("12", root.getAttribute("project-version")); + assertEquals("http://cayenne.apache.org/schema/12/modelMap", root.getAttribute("xmlns")); + } + + @Test + public void testToDepPkToFkUpgrade() throws Exception { + List resources = Arrays.asList( "fkTestmap-1.map.xml","fkTestmap-2.map.xml"); + List documents = processAllDataMapDomes(resources); + Document fkTestmap_1 = documents.get(0); + Document fkTestmap_2 = documents.get(1); + + Element rootMap_1 = fkTestmap_1.getDocumentElement(); + NodeList dbRelationshipsMap_1 = rootMap_1.getElementsByTagName("db-relationship"); + + Element rootMap_2 = fkTestmap_2.getDocumentElement(); + NodeList dbRelationshipsMap_2 = rootMap_2.getElementsByTagName("db-relationship"); + + for (int i = 0; i < dbRelationshipsMap_1.getLength(); i++) { + NamedNodeMap attributes = dbRelationshipsMap_1.item(i).getAttributes(); + String name = attributes.getNamedItem("name").getNodeValue(); + Node fk = attributes.getNamedItem("fk"); + switch (name) { + case "reverse_several_matching_joins": + case "noReverse_fk": + case "joinsAnotherOrder": + case "toDepPk": + case "nPk_Pk": + case "nPk_nPk": + case "PK_PK": + case "toDepPK_toDepPK": + assertNotNull(fk); + assertEquals(fk.getNodeValue(), "true"); + break; + case "noReverse_notFk": + case "reverse_nPk_Pk": + case "reverse_nPk_nPk": + case "reverse_PK_PK": + case "several_matching_joins": + case "reverse_toDepPK_toDepPK": + assertNull(fk); + break; + } + } + + for (int i = 0; i < dbRelationshipsMap_2.getLength(); i++) { + NamedNodeMap attributes = dbRelationshipsMap_2.item(i).getAttributes(); + String name = attributes.getNamedItem("name").getNodeValue(); + Node fk = attributes.getNamedItem("fk"); + switch (name) { + case "reverse_reverseInAnotherDatamap": + case "reverse_reverseInAnotherDatamapToDepPK": + assertNotNull(fk); + assertEquals(fk.getNodeValue(), "true"); + break; + } + } + + for (int i = 0; i < dbRelationshipsMap_1.getLength(); i++) { + NamedNodeMap attributes = dbRelationshipsMap_1.item(i).getAttributes(); + String name = attributes.getNamedItem("name").getNodeValue(); + Node toDepPK = attributes.getNamedItem("toDependentPK"); + switch (name) { + case "reverse_toDepPk": + case "reverseInAnotherDatamapToDepPK": + case "toDepPK_toDepPK": + case "reverse_toDepPK_toDepPK": + assertNull(toDepPK); + break; + } + } + + assertEquals(18, dbRelationshipsMap_1.getLength()); + assertEquals(2, dbRelationshipsMap_2.getLength()); + + } + + @Test + public void testModelUpgrade() { + DataChannelDescriptor descriptor = mock(DataChannelDescriptor.class); + handler.processModel(descriptor); + verifyNoInteractions(descriptor); + } +} \ No newline at end of file diff --git a/cayenne-project/src/test/resources/org/apache/cayenne/project/cayenne-PROJECT1.xml b/cayenne-project/src/test/resources/org/apache/cayenne/project/cayenne-PROJECT1.xml index 63e9b0069f..fcb85cb992 100644 --- a/cayenne-project/src/test/resources/org/apache/cayenne/project/cayenne-PROJECT1.xml +++ b/cayenne-project/src/test/resources/org/apache/cayenne/project/cayenne-PROJECT1.xml @@ -1,6 +1,6 @@ - + - + - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"/> diff --git a/cayenne-project/src/test/resources/org/apache/cayenne/project/testProjectMap1_2.map.xml b/cayenne-project/src/test/resources/org/apache/cayenne/project/testProjectMap1_2.map.xml index a1b827fce0..5c9e091e85 100644 --- a/cayenne-project/src/test/resources/org/apache/cayenne/project/testProjectMap1_2.map.xml +++ b/cayenne-project/src/test/resources/org/apache/cayenne/project/testProjectMap1_2.map.xml @@ -1,5 +1,5 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"/> diff --git a/cayenne-project/src/test/resources/org/apache/cayenne/project/testProjectMap2_1.map.xml b/cayenne-project/src/test/resources/org/apache/cayenne/project/testProjectMap2_1.map.xml index a1b827fce0..5c9e091e85 100644 --- a/cayenne-project/src/test/resources/org/apache/cayenne/project/testProjectMap2_1.map.xml +++ b/cayenne-project/src/test/resources/org/apache/cayenne/project/testProjectMap2_1.map.xml @@ -1,5 +1,5 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"/> diff --git a/cayenne-project/src/test/resources/org/apache/cayenne/project/testProjectMap2_2.map.xml b/cayenne-project/src/test/resources/org/apache/cayenne/project/testProjectMap2_2.map.xml index a1b827fce0..5c9e091e85 100644 --- a/cayenne-project/src/test/resources/org/apache/cayenne/project/testProjectMap2_2.map.xml +++ b/cayenne-project/src/test/resources/org/apache/cayenne/project/testProjectMap2_2.map.xml @@ -1,5 +1,5 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"/> diff --git a/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/handlers/cayenne-project-v11.xml b/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/handlers/cayenne-project-v11.xml index 51f7c4cd15..6eb70756a0 100644 --- a/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/handlers/cayenne-project-v11.xml +++ b/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/handlers/cayenne-project-v11.xml @@ -1,3 +1,18 @@ - - \ No newline at end of file + + + + + + + + + + + + diff --git a/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/handlers/cayenne-project-v12.xml b/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/handlers/cayenne-project-v12.xml index 01e3f1c03b..0a4e82ce1c 100644 --- a/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/handlers/cayenne-project-v12.xml +++ b/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/handlers/cayenne-project-v12.xml @@ -1,3 +1,18 @@ - - \ No newline at end of file + + + + + + + + + + + + diff --git a/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/handlers/cayenne-project-v99.xml b/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/handlers/cayenne-project-v99.xml new file mode 100644 index 0000000000..e1b0f808d5 --- /dev/null +++ b/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/handlers/cayenne-project-v99.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/handlers/fkTestmap-1.map.xml b/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/handlers/fkTestmap-1.map.xml new file mode 100644 index 0000000000..81e93ab510 --- /dev/null +++ b/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/handlers/fkTestmap-1.map.xml @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/handlers/fkTestmap-2.map.xml b/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/handlers/fkTestmap-2.map.xml new file mode 100644 index 0000000000..e0383b5b11 --- /dev/null +++ b/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/handlers/fkTestmap-2.map.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/handlers/test-map-v11.map.xml b/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/handlers/test-map-v11.map.xml new file mode 100644 index 0000000000..2f3ab16df6 --- /dev/null +++ b/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/handlers/test-map-v11.map.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + ../../../../target/cgenClasses + entity + + /org/apache/cayenne/project/upgrade/handlers + org/apache/cayenne/project/upgrade/handlers/velocityTemplate.vm + ../../testWrongPath + org/apache/cayenne/project/upgrade/handlers/velocityTemplate.vm + templates/v4_1/datamap-superclass.vm + + + org.example + + diff --git a/cayenne/src/main/java/org/apache/cayenne/configuration/DataChannelDescriptor.java b/cayenne/src/main/java/org/apache/cayenne/configuration/DataChannelDescriptor.java index 54386801a2..d9fab97f97 100644 --- a/cayenne/src/main/java/org/apache/cayenne/configuration/DataChannelDescriptor.java +++ b/cayenne/src/main/java/org/apache/cayenne/configuration/DataChannelDescriptor.java @@ -43,8 +43,8 @@ public class DataChannelDescriptor implements ConfigurationNode, Serializable, X /** * The namespace in which the data map XML file will be created. */ - public static final String SCHEMA_XSD = "http://cayenne.apache.org/schema/11/domain"; - public static final String SCHEMA_XSD_LOCATION = "https://cayenne.apache.org/schema/11/domain.xsd"; + public static final String SCHEMA_XSD = "http://cayenne.apache.org/schema/12/domain"; + public static final String SCHEMA_XSD_LOCATION = "https://cayenne.apache.org/schema/12/domain.xsd"; protected String name; protected Map properties; diff --git a/cayenne/src/main/java/org/apache/cayenne/configuration/xml/XMLDataChannelDescriptorLoader.java b/cayenne/src/main/java/org/apache/cayenne/configuration/xml/XMLDataChannelDescriptorLoader.java index c2ea04420e..b0255f1c2a 100644 --- a/cayenne/src/main/java/org/apache/cayenne/configuration/xml/XMLDataChannelDescriptorLoader.java +++ b/cayenne/src/main/java/org/apache/cayenne/configuration/xml/XMLDataChannelDescriptorLoader.java @@ -48,7 +48,7 @@ public class XMLDataChannelDescriptorLoader implements DataChannelDescriptorLoad /** * Versions of project XML files that this loader can read. */ - static final String[] SUPPORTED_PROJECT_VERSIONS = {"11"}; + static final String[] SUPPORTED_PROJECT_VERSIONS = {"12"}; static { Arrays.sort(SUPPORTED_PROJECT_VERSIONS); } diff --git a/cayenne/src/main/java/org/apache/cayenne/map/DataMap.java b/cayenne/src/main/java/org/apache/cayenne/map/DataMap.java index 6b405c6783..c3813e2dce 100644 --- a/cayenne/src/main/java/org/apache/cayenne/map/DataMap.java +++ b/cayenne/src/main/java/org/apache/cayenne/map/DataMap.java @@ -96,8 +96,8 @@ public class DataMap implements Serializable, ConfigurationNode, XMLSerializable * The namespace in which the data map XML file will be created. This is * also the URI to locate a copy of the schema document. */ - public static final String SCHEMA_XSD = "http://cayenne.apache.org/schema/11/modelMap"; - public static final String SCHEMA_XSD_LOCATION = "https://cayenne.apache.org/schema/11/modelMap.xsd"; + public static final String SCHEMA_XSD = "http://cayenne.apache.org/schema/12/modelMap"; + public static final String SCHEMA_XSD_LOCATION = "https://cayenne.apache.org/schema/12/modelMap.xsd"; protected String name; protected String location; diff --git a/cayenne/src/main/resources/org/apache/cayenne/schema/12/cgen.xsd b/cayenne/src/main/resources/org/apache/cayenne/schema/12/cgen.xsd new file mode 100644 index 0000000000..f84c29ce18 --- /dev/null +++ b/cayenne/src/main/resources/org/apache/cayenne/schema/12/cgen.xsd @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cayenne/src/main/resources/org/apache/cayenne/schema/12/dbimport.xsd b/cayenne/src/main/resources/org/apache/cayenne/schema/12/dbimport.xsd new file mode 100644 index 0000000000..ea8c606dee --- /dev/null +++ b/cayenne/src/main/resources/org/apache/cayenne/schema/12/dbimport.xsd @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cayenne/src/main/resources/org/apache/cayenne/schema/12/domain.xsd b/cayenne/src/main/resources/org/apache/cayenne/schema/12/domain.xsd new file mode 100644 index 0000000000..5e0eba4afc --- /dev/null +++ b/cayenne/src/main/resources/org/apache/cayenne/schema/12/domain.xsd @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + A generic property used by other elements. + + + + + + + + + + Link to an external file with data map. + + + + + + + + + Data node description. + + + + + + + + + + + + + + + + + + A reference to a map. + + + + + + + + + Data source configuration. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cayenne/src/main/resources/org/apache/cayenne/schema/12/graph.xsd b/cayenne/src/main/resources/org/apache/cayenne/schema/12/graph.xsd new file mode 100644 index 0000000000..f457891ddc --- /dev/null +++ b/cayenne/src/main/resources/org/apache/cayenne/schema/12/graph.xsd @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cayenne/src/main/resources/org/apache/cayenne/schema/12/info.xsd b/cayenne/src/main/resources/org/apache/cayenne/schema/12/info.xsd new file mode 100644 index 0000000000..de9e65dfc6 --- /dev/null +++ b/cayenne/src/main/resources/org/apache/cayenne/schema/12/info.xsd @@ -0,0 +1,29 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/cayenne/src/main/resources/org/apache/cayenne/schema/12/modelMap.xsd b/cayenne/src/main/resources/org/apache/cayenne/schema/12/modelMap.xsd new file mode 100644 index 0000000000..8f1c2b3384 --- /dev/null +++ b/cayenne/src/main/resources/org/apache/cayenne/schema/12/modelMap.xsd @@ -0,0 +1,364 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A database column. + + + + + + + + + If true, the value of attribute is unique and used as a primary key identifier. + + + + + + + + + + + + + A persistent Java class managed by Cayenne. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Defines arbitrary SQL statement. Note that SQL statement can be customized for different SQL dialects per DbAdapter class. If no adapter-specific statement is found, the one with no adapter label is used by default. + + + + + + + + + + + + + + + A generic property used by other elements. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Used to install the Automatic Sequence/Key Generation facility for db-entity. This feature is intended for use with simple (non-compound) integral primary keys. + + + + + + Specifies the Key Generation Method that will be employed + 'ORACLE' - use Oracle's SEQUENCE + 'NAMED_SEQUENCE_TABLE' - use USER designated SEQUENCE TABLE. User specifies the name of a DBMS Table with the schema (sequence INT) which will be used to hold sequence values (not supported yet) + + + + + For db-generator-type ORACLE this is the name of the ORACLE SEQUENCE to use. The SEQUENCE is assumed to already exist in the Database. +If this is db-generator-type NAMED_SEQUENCE_TABLE Key Generation, this specifies the name of the SEQUENCE TABLE to use. The NAMED_SEQUENCE_TABLE is assumed to already exist in the database. + + + + + Size of key cache. For db-generator-type ORACLE , this value MUST match the Oracle SEQUENCE INCREMENT value. If there is a mismatch between this value and the Oracle SEQUENCE INCREMENT value, then there will likely be duplicate key problems. +For db-generator-type NAMED_SEQUENCE_TABLE , this tells how many keys the Container will fetch in a single DBMS call. + + + + + + diff --git a/cayenne/src/main/resources/org/apache/cayenne/schema/12/validation.xsd b/cayenne/src/main/resources/org/apache/cayenne/schema/12/validation.xsd new file mode 100644 index 0000000000..886bd82e62 --- /dev/null +++ b/cayenne/src/main/resources/org/apache/cayenne/schema/12/validation.xsd @@ -0,0 +1,30 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/cayenne/src/test/resources/annotation/cayenne-project.xml b/cayenne/src/test/resources/annotation/cayenne-project.xml index 05f0bc4572..b112e3f88c 100644 --- a/cayenne/src/test/resources/annotation/cayenne-project.xml +++ b/cayenne/src/test/resources/annotation/cayenne-project.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/annotation/datamapAnnotation.map.xml b/cayenne/src/test/resources/annotation/datamapAnnotation.map.xml index 8dd3be6aa2..014b9a597c 100644 --- a/cayenne/src/test/resources/annotation/datamapAnnotation.map.xml +++ b/cayenne/src/test/resources/annotation/datamapAnnotation.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/array-type.map.xml b/cayenne/src/test/resources/array-type.map.xml index 9f8d46c7fd..e64b30296c 100644 --- a/cayenne/src/test/resources/array-type.map.xml +++ b/cayenne/src/test/resources/array-type.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/binary-pk.map.xml b/cayenne/src/test/resources/binary-pk.map.xml index 874d087d6a..86f0f1f2aa 100644 --- a/cayenne/src/test/resources/binary-pk.map.xml +++ b/cayenne/src/test/resources/binary-pk.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -23,7 +23,7 @@ - + diff --git a/cayenne/src/test/resources/cay-2032.map.xml b/cayenne/src/test/resources/cay-2032.map.xml index 10290fe17e..c45633beec 100644 --- a/cayenne/src/test/resources/cay-2032.map.xml +++ b/cayenne/src/test/resources/cay-2032.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -19,10 +19,10 @@ - + - + diff --git a/cayenne/src/test/resources/cay2641/cayenne-cay-2641.xml b/cayenne/src/test/resources/cay2641/cayenne-cay-2641.xml index 20e5d31df0..523b6d3dcf 100644 --- a/cayenne/src/test/resources/cay2641/cayenne-cay-2641.xml +++ b/cayenne/src/test/resources/cay2641/cayenne-cay-2641.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cay2641/datamapLazy.map.xml b/cayenne/src/test/resources/cay2641/datamapLazy.map.xml index 7d7da7d4fa..99f5fc4159 100644 --- a/cayenne/src/test/resources/cay2641/datamapLazy.map.xml +++ b/cayenne/src/test/resources/cay2641/datamapLazy.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -24,7 +24,7 @@ - + diff --git a/cayenne/src/test/resources/cay2666/cayenne-cay-2666.xml b/cayenne/src/test/resources/cay2666/cayenne-cay-2666.xml index 25a23ce1f0..21ce206516 100644 --- a/cayenne/src/test/resources/cay2666/cayenne-cay-2666.xml +++ b/cayenne/src/test/resources/cay2666/cayenne-cay-2666.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cay2666/datamap.map.xml b/cayenne/src/test/resources/cay2666/datamap.map.xml index fb022816ac..0f801b057f 100644 --- a/cayenne/src/test/resources/cay2666/datamap.map.xml +++ b/cayenne/src/test/resources/cay2666/datamap.map.xml @@ -1,10 +1,10 @@ - - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> + @@ -12,29 +12,4 @@ - - - TABLE - VIEW - - false - false - org.apache.cayenne.dbsync.naming.DefaultObjectNameGenerator - false - false - false - true - - - ../../java - entity - - templates/v4_1/superclass.vm - *.java - true - true - false - false - false - diff --git a/cayenne/src/test/resources/cay743/cayenne-domain.xml b/cayenne/src/test/resources/cay743/cayenne-domain.xml index ff9fb6f1e5..fcef6df236 100644 --- a/cayenne/src/test/resources/cay743/cayenne-domain.xml +++ b/cayenne/src/test/resources/cay743/cayenne-domain.xml @@ -1,5 +1,8 @@ - + diff --git a/cayenne/src/test/resources/cay743/map1.map.xml b/cayenne/src/test/resources/cay743/map1.map.xml index cc63a736ac..7860e931e6 100644 --- a/cayenne/src/test/resources/cay743/map1.map.xml +++ b/cayenne/src/test/resources/cay743/map1.map.xml @@ -1,10 +1,8 @@ - - - - - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> + + diff --git a/cayenne/src/test/resources/cay743/map2.map.xml b/cayenne/src/test/resources/cay743/map2.map.xml index b27680c4e6..c6f55c04dd 100644 --- a/cayenne/src/test/resources/cay743/map2.map.xml +++ b/cayenne/src/test/resources/cay743/map2.map.xml @@ -1,10 +1,8 @@ - - - - - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> + + diff --git a/cayenne/src/test/resources/cayenne-array-type.xml b/cayenne/src/test/resources/cayenne-array-type.xml index a05970e25d..d5397e751c 100644 --- a/cayenne/src/test/resources/cayenne-array-type.xml +++ b/cayenne/src/test/resources/cayenne-array-type.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-binary-pk.xml b/cayenne/src/test/resources/cayenne-binary-pk.xml index 236af179f1..c293b201f1 100644 --- a/cayenne/src/test/resources/cayenne-binary-pk.xml +++ b/cayenne/src/test/resources/cayenne-binary-pk.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-cay-2032.xml b/cayenne/src/test/resources/cayenne-cay-2032.xml index f1de161e92..d20593e18c 100644 --- a/cayenne/src/test/resources/cayenne-cay-2032.xml +++ b/cayenne/src/test/resources/cayenne-cay-2032.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-compound.xml b/cayenne/src/test/resources/cayenne-compound.xml index 4482359615..1f1d240c60 100644 --- a/cayenne/src/test/resources/cayenne-compound.xml +++ b/cayenne/src/test/resources/cayenne-compound.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-date-time.xml b/cayenne/src/test/resources/cayenne-date-time.xml index 4ccb92efc8..1be10a67fa 100644 --- a/cayenne/src/test/resources/cayenne-date-time.xml +++ b/cayenne/src/test/resources/cayenne-date-time.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-delete-rules.xml b/cayenne/src/test/resources/cayenne-delete-rules.xml index 5f8c8123c4..a89f73d20b 100644 --- a/cayenne/src/test/resources/cayenne-delete-rules.xml +++ b/cayenne/src/test/resources/cayenne-delete-rules.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-embeddable.xml b/cayenne/src/test/resources/cayenne-embeddable.xml index 920b660f0d..29cd1e911e 100644 --- a/cayenne/src/test/resources/cayenne-embeddable.xml +++ b/cayenne/src/test/resources/cayenne-embeddable.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-empty.xml b/cayenne/src/test/resources/cayenne-empty.xml index 1d3e02b998..747195de15 100644 --- a/cayenne/src/test/resources/cayenne-empty.xml +++ b/cayenne/src/test/resources/cayenne-empty.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-enum.xml b/cayenne/src/test/resources/cayenne-enum.xml index eabf0ddcee..7d91c65dcc 100644 --- a/cayenne/src/test/resources/cayenne-enum.xml +++ b/cayenne/src/test/resources/cayenne-enum.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-extended-type.xml b/cayenne/src/test/resources/cayenne-extended-type.xml index 15a94a3e82..1fdb019f63 100644 --- a/cayenne/src/test/resources/cayenne-extended-type.xml +++ b/cayenne/src/test/resources/cayenne-extended-type.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-generated.xml b/cayenne/src/test/resources/cayenne-generated.xml index 1fcb18f8f7..45b1ea9d52 100644 --- a/cayenne/src/test/resources/cayenne-generated.xml +++ b/cayenne/src/test/resources/cayenne-generated.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-generic.xml b/cayenne/src/test/resources/cayenne-generic.xml index bb7f826a9b..b9cd0d3a5b 100644 --- a/cayenne/src/test/resources/cayenne-generic.xml +++ b/cayenne/src/test/resources/cayenne-generic.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-hybrid-data-object.xml b/cayenne/src/test/resources/cayenne-hybrid-data-object.xml index c33ce45eaf..5631203a92 100644 --- a/cayenne/src/test/resources/cayenne-hybrid-data-object.xml +++ b/cayenne/src/test/resources/cayenne-hybrid-data-object.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-inheritance-single-table1.xml b/cayenne/src/test/resources/cayenne-inheritance-single-table1.xml index 008f6f21fc..99ae49cdb5 100644 --- a/cayenne/src/test/resources/cayenne-inheritance-single-table1.xml +++ b/cayenne/src/test/resources/cayenne-inheritance-single-table1.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-inheritance-vertical.xml b/cayenne/src/test/resources/cayenne-inheritance-vertical.xml index 16426b61ce..f80b91a1fe 100644 --- a/cayenne/src/test/resources/cayenne-inheritance-vertical.xml +++ b/cayenne/src/test/resources/cayenne-inheritance-vertical.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-inheritance-with-enum.xml b/cayenne/src/test/resources/cayenne-inheritance-with-enum.xml index 97acaf315f..dfcb7eeee1 100644 --- a/cayenne/src/test/resources/cayenne-inheritance-with-enum.xml +++ b/cayenne/src/test/resources/cayenne-inheritance-with-enum.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-inheritance.xml b/cayenne/src/test/resources/cayenne-inheritance.xml index d3f684d934..ec9948f5fc 100644 --- a/cayenne/src/test/resources/cayenne-inheritance.xml +++ b/cayenne/src/test/resources/cayenne-inheritance.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-java8.xml b/cayenne/src/test/resources/cayenne-java8.xml index d71706b601..d5846c4836 100644 --- a/cayenne/src/test/resources/cayenne-java8.xml +++ b/cayenne/src/test/resources/cayenne-java8.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-json.xml b/cayenne/src/test/resources/cayenne-json.xml index a49827cfb2..e994803ed2 100644 --- a/cayenne/src/test/resources/cayenne-json.xml +++ b/cayenne/src/test/resources/cayenne-json.xml @@ -1,25 +1,7 @@ - - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-lazy-attributes.xml b/cayenne/src/test/resources/cayenne-lazy-attributes.xml index 42f569825e..a8c98efbdb 100644 --- a/cayenne/src/test/resources/cayenne-lazy-attributes.xml +++ b/cayenne/src/test/resources/cayenne-lazy-attributes.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-lifecycle-callbacks-order.xml b/cayenne/src/test/resources/cayenne-lifecycle-callbacks-order.xml index 834bdf3bbf..1c757f05bf 100644 --- a/cayenne/src/test/resources/cayenne-lifecycle-callbacks-order.xml +++ b/cayenne/src/test/resources/cayenne-lifecycle-callbacks-order.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-lifecycles.xml b/cayenne/src/test/resources/cayenne-lifecycles.xml index b254e8eeaf..d23ecf6825 100644 --- a/cayenne/src/test/resources/cayenne-lifecycles.xml +++ b/cayenne/src/test/resources/cayenne-lifecycles.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-lob.xml b/cayenne/src/test/resources/cayenne-lob.xml index 0168f7c065..73bee4cba4 100644 --- a/cayenne/src/test/resources/cayenne-lob.xml +++ b/cayenne/src/test/resources/cayenne-lob.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-locking.xml b/cayenne/src/test/resources/cayenne-locking.xml index b323d3b035..17496aa871 100644 --- a/cayenne/src/test/resources/cayenne-locking.xml +++ b/cayenne/src/test/resources/cayenne-locking.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-map-to-many.xml b/cayenne/src/test/resources/cayenne-map-to-many.xml index f4f9d1f06e..89f1b4717d 100644 --- a/cayenne/src/test/resources/cayenne-map-to-many.xml +++ b/cayenne/src/test/resources/cayenne-map-to-many.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-meaningful-pk.xml b/cayenne/src/test/resources/cayenne-meaningful-pk.xml index c807d73447..836d4f476f 100644 --- a/cayenne/src/test/resources/cayenne-meaningful-pk.xml +++ b/cayenne/src/test/resources/cayenne-meaningful-pk.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-misc-types.xml b/cayenne/src/test/resources/cayenne-misc-types.xml index 60716a5739..70d1140461 100644 --- a/cayenne/src/test/resources/cayenne-misc-types.xml +++ b/cayenne/src/test/resources/cayenne-misc-types.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-mixed-persistence-strategy.xml b/cayenne/src/test/resources/cayenne-mixed-persistence-strategy.xml index 97d71e7e3a..d432df785e 100644 --- a/cayenne/src/test/resources/cayenne-mixed-persistence-strategy.xml +++ b/cayenne/src/test/resources/cayenne-mixed-persistence-strategy.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-multi-tier.xml b/cayenne/src/test/resources/cayenne-multi-tier.xml index 5ec51c892a..954a96d523 100644 --- a/cayenne/src/test/resources/cayenne-multi-tier.xml +++ b/cayenne/src/test/resources/cayenne-multi-tier.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-multinode.xml b/cayenne/src/test/resources/cayenne-multinode.xml index 7390f0b891..5401583110 100644 --- a/cayenne/src/test/resources/cayenne-multinode.xml +++ b/cayenne/src/test/resources/cayenne-multinode.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-no-pk.xml b/cayenne/src/test/resources/cayenne-no-pk.xml index 3c815f3acc..e72d515db7 100644 --- a/cayenne/src/test/resources/cayenne-no-pk.xml +++ b/cayenne/src/test/resources/cayenne-no-pk.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-numeric-types.xml b/cayenne/src/test/resources/cayenne-numeric-types.xml index 994b2012b8..798e0f46a3 100644 --- a/cayenne/src/test/resources/cayenne-numeric-types.xml +++ b/cayenne/src/test/resources/cayenne-numeric-types.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-oneway-rels.xml b/cayenne/src/test/resources/cayenne-oneway-rels.xml index 6afbdf003c..9aab329b94 100644 --- a/cayenne/src/test/resources/cayenne-oneway-rels.xml +++ b/cayenne/src/test/resources/cayenne-oneway-rels.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-org.apache.cayenne.configuration.rop.server.test-config.xml b/cayenne/src/test/resources/cayenne-org.apache.cayenne.configuration.rop.server.test-config.xml index e5d5e64b89..556bdc458d 100644 --- a/cayenne/src/test/resources/cayenne-org.apache.cayenne.configuration.rop.server.test-config.xml +++ b/cayenne/src/test/resources/cayenne-org.apache.cayenne.configuration.rop.server.test-config.xml @@ -1,5 +1,5 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"/> diff --git a/cayenne/src/test/resources/cayenne-people.xml b/cayenne/src/test/resources/cayenne-people.xml index fb4472937b..dcc0ee08cb 100644 --- a/cayenne/src/test/resources/cayenne-people.xml +++ b/cayenne/src/test/resources/cayenne-people.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-primitive.xml b/cayenne/src/test/resources/cayenne-primitive.xml index b41fbbe64c..5295baea2c 100644 --- a/cayenne/src/test/resources/cayenne-primitive.xml +++ b/cayenne/src/test/resources/cayenne-primitive.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-qualified.xml b/cayenne/src/test/resources/cayenne-qualified.xml index 98e5cb4bc7..56b4e15dc2 100644 --- a/cayenne/src/test/resources/cayenne-qualified.xml +++ b/cayenne/src/test/resources/cayenne-qualified.xml @@ -1,7 +1,3 @@ - - + - + \ No newline at end of file diff --git a/cayenne/src/test/resources/cayenne-quoted-identifiers.xml b/cayenne/src/test/resources/cayenne-quoted-identifiers.xml index 775bc7f40e..9d08fc73ed 100644 --- a/cayenne/src/test/resources/cayenne-quoted-identifiers.xml +++ b/cayenne/src/test/resources/cayenne-quoted-identifiers.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-reflexive.xml b/cayenne/src/test/resources/cayenne-reflexive.xml index 99e25becde..e9fef09421 100644 --- a/cayenne/src/test/resources/cayenne-reflexive.xml +++ b/cayenne/src/test/resources/cayenne-reflexive.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-relationships-activity.xml b/cayenne/src/test/resources/cayenne-relationships-activity.xml index a64ccb40a6..b756569614 100644 --- a/cayenne/src/test/resources/cayenne-relationships-activity.xml +++ b/cayenne/src/test/resources/cayenne-relationships-activity.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-relationships-child-master.xml b/cayenne/src/test/resources/cayenne-relationships-child-master.xml index d9ed4e7b11..15631fc645 100644 --- a/cayenne/src/test/resources/cayenne-relationships-child-master.xml +++ b/cayenne/src/test/resources/cayenne-relationships-child-master.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-relationships-clob.xml b/cayenne/src/test/resources/cayenne-relationships-clob.xml index 2c7739ac22..b21ba089b1 100644 --- a/cayenne/src/test/resources/cayenne-relationships-clob.xml +++ b/cayenne/src/test/resources/cayenne-relationships-clob.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-relationships-collection-to-many.xml b/cayenne/src/test/resources/cayenne-relationships-collection-to-many.xml index 34b173f99a..6f6ca9d31c 100644 --- a/cayenne/src/test/resources/cayenne-relationships-collection-to-many.xml +++ b/cayenne/src/test/resources/cayenne-relationships-collection-to-many.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-relationships-delete-rules.xml b/cayenne/src/test/resources/cayenne-relationships-delete-rules.xml index efd007513d..a273c12ed7 100644 --- a/cayenne/src/test/resources/cayenne-relationships-delete-rules.xml +++ b/cayenne/src/test/resources/cayenne-relationships-delete-rules.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-relationships-flattened.xml b/cayenne/src/test/resources/cayenne-relationships-flattened.xml index 06d9b36d39..dcd6bc5296 100644 --- a/cayenne/src/test/resources/cayenne-relationships-flattened.xml +++ b/cayenne/src/test/resources/cayenne-relationships-flattened.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-relationships-many-to-many-join.xml b/cayenne/src/test/resources/cayenne-relationships-many-to-many-join.xml index 2ca1391bfd..a5cedc9adb 100644 --- a/cayenne/src/test/resources/cayenne-relationships-many-to-many-join.xml +++ b/cayenne/src/test/resources/cayenne-relationships-many-to-many-join.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-relationships-set-to-many.xml b/cayenne/src/test/resources/cayenne-relationships-set-to-many.xml index aa04dbe7e5..4c11e6035a 100644 --- a/cayenne/src/test/resources/cayenne-relationships-set-to-many.xml +++ b/cayenne/src/test/resources/cayenne-relationships-set-to-many.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-relationships-to-many-fk.xml b/cayenne/src/test/resources/cayenne-relationships-to-many-fk.xml index deba943606..9cadec1176 100644 --- a/cayenne/src/test/resources/cayenne-relationships-to-many-fk.xml +++ b/cayenne/src/test/resources/cayenne-relationships-to-many-fk.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-relationships-to-one-fk.xml b/cayenne/src/test/resources/cayenne-relationships-to-one-fk.xml index db9ac6dba7..649ede0a38 100644 --- a/cayenne/src/test/resources/cayenne-relationships-to-one-fk.xml +++ b/cayenne/src/test/resources/cayenne-relationships-to-one-fk.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-relationships.xml b/cayenne/src/test/resources/cayenne-relationships.xml index fa816cdb9a..fbf9554643 100644 --- a/cayenne/src/test/resources/cayenne-relationships.xml +++ b/cayenne/src/test/resources/cayenne-relationships.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-return-types.xml b/cayenne/src/test/resources/cayenne-return-types.xml index f6edc0d39f..527d8bdf2d 100644 --- a/cayenne/src/test/resources/cayenne-return-types.xml +++ b/cayenne/src/test/resources/cayenne-return-types.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-soft-delete.xml b/cayenne/src/test/resources/cayenne-soft-delete.xml index 7abd00ce38..c7e57e552a 100644 --- a/cayenne/src/test/resources/cayenne-soft-delete.xml +++ b/cayenne/src/test/resources/cayenne-soft-delete.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-sus.xml b/cayenne/src/test/resources/cayenne-sus.xml index 708fdc91ab..51e4e9edc5 100644 --- a/cayenne/src/test/resources/cayenne-sus.xml +++ b/cayenne/src/test/resources/cayenne-sus.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-table-primitives.xml b/cayenne/src/test/resources/cayenne-table-primitives.xml index 82de00fe90..4e7d542af9 100644 --- a/cayenne/src/test/resources/cayenne-table-primitives.xml +++ b/cayenne/src/test/resources/cayenne-table-primitives.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-testmap.xml b/cayenne/src/test/resources/cayenne-testmap.xml index cef48fe1ec..d653caa705 100644 --- a/cayenne/src/test/resources/cayenne-testmap.xml +++ b/cayenne/src/test/resources/cayenne-testmap.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-things.xml b/cayenne/src/test/resources/cayenne-things.xml index 50fdc0acbd..e0c9e7d869 100644 --- a/cayenne/src/test/resources/cayenne-things.xml +++ b/cayenne/src/test/resources/cayenne-things.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-toone.xml b/cayenne/src/test/resources/cayenne-toone.xml index 244a81bced..e337d16f28 100644 --- a/cayenne/src/test/resources/cayenne-toone.xml +++ b/cayenne/src/test/resources/cayenne-toone.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-unsupported-distinct-types.xml b/cayenne/src/test/resources/cayenne-unsupported-distinct-types.xml index d0d7f95db2..565c10532b 100644 --- a/cayenne/src/test/resources/cayenne-unsupported-distinct-types.xml +++ b/cayenne/src/test/resources/cayenne-unsupported-distinct-types.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-uuid.xml b/cayenne/src/test/resources/cayenne-uuid.xml index 0885c2fd40..2a368eb19a 100644 --- a/cayenne/src/test/resources/cayenne-uuid.xml +++ b/cayenne/src/test/resources/cayenne-uuid.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/cayenne-weighted-sort.xml b/cayenne/src/test/resources/cayenne-weighted-sort.xml index 2ef36180c1..e2305384b7 100644 --- a/cayenne/src/test/resources/cayenne-weighted-sort.xml +++ b/cayenne/src/test/resources/cayenne-weighted-sort.xml @@ -1,7 +1,7 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/compound.map.xml b/cayenne/src/test/resources/compound.map.xml index 5f49d4f3da..ddb81b58e4 100644 --- a/cayenne/src/test/resources/compound.map.xml +++ b/cayenne/src/test/resources/compound.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -72,13 +72,13 @@ - + - + @@ -86,17 +86,17 @@ - + - + - + - + diff --git a/cayenne/src/test/resources/custom-name-file.xml b/cayenne/src/test/resources/custom-name-file.xml index 4280aeffd1..ec18261ec3 100644 --- a/cayenne/src/test/resources/custom-name-file.xml +++ b/cayenne/src/test/resources/custom-name-file.xml @@ -17,6 +17,9 @@ specific language governing permissions and limitations under the License. --> - + diff --git a/cayenne/src/test/resources/date-time.map.xml b/cayenne/src/test/resources/date-time.map.xml index bb31821b1a..22e4f404a1 100644 --- a/cayenne/src/test/resources/date-time.map.xml +++ b/cayenne/src/test/resources/date-time.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/delete-rules.map.xml b/cayenne/src/test/resources/delete-rules.map.xml index dd89e627c3..d36fa616b9 100644 --- a/cayenne/src/test/resources/delete-rules.map.xml +++ b/cayenne/src/test/resources/delete-rules.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -35,13 +35,13 @@ - + - + - + diff --git a/cayenne/src/test/resources/embeddable.map.xml b/cayenne/src/test/resources/embeddable.map.xml index e65c5eb889..434cc6a4d7 100644 --- a/cayenne/src/test/resources/embeddable.map.xml +++ b/cayenne/src/test/resources/embeddable.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -56,16 +56,16 @@ - + - + - + diff --git a/cayenne/src/test/resources/empty.map.xml b/cayenne/src/test/resources/empty.map.xml index 9707cbd9f6..61e18261da 100644 --- a/cayenne/src/test/resources/empty.map.xml +++ b/cayenne/src/test/resources/empty.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/enum.map.xml b/cayenne/src/test/resources/enum.map.xml index 2cee2c0813..b2ab5ac752 100644 --- a/cayenne/src/test/resources/enum.map.xml +++ b/cayenne/src/test/resources/enum.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/extended-type.map.xml b/cayenne/src/test/resources/extended-type.map.xml index e1494fec42..2c64fbc578 100644 --- a/cayenne/src/test/resources/extended-type.map.xml +++ b/cayenne/src/test/resources/extended-type.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/generated.map.xml b/cayenne/src/test/resources/generated.map.xml index c36332887b..2007cccbd0 100644 --- a/cayenne/src/test/resources/generated.map.xml +++ b/cayenne/src/test/resources/generated.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -63,16 +63,16 @@ - + - + - + - + @@ -81,13 +81,13 @@ - + - + - + diff --git a/cayenne/src/test/resources/generic.map.xml b/cayenne/src/test/resources/generic.map.xml index d34ce8ec47..a01b4895cd 100644 --- a/cayenne/src/test/resources/generic.map.xml +++ b/cayenne/src/test/resources/generic.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -22,7 +22,7 @@ - + diff --git a/cayenne/src/test/resources/hybrid-data-object.map.xml b/cayenne/src/test/resources/hybrid-data-object.map.xml index eed4d8ebbe..a37c47062c 100644 --- a/cayenne/src/test/resources/hybrid-data-object.map.xml +++ b/cayenne/src/test/resources/hybrid-data-object.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -29,7 +29,7 @@ - + diff --git a/cayenne/src/test/resources/inheritance-single-table1.map.xml b/cayenne/src/test/resources/inheritance-single-table1.map.xml index 11f798b80f..c77a9a327c 100644 --- a/cayenne/src/test/resources/inheritance-single-table1.map.xml +++ b/cayenne/src/test/resources/inheritance-single-table1.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -47,28 +47,28 @@ - + - + - + - + - + - + diff --git a/cayenne/src/test/resources/inheritance-vertical.map.xml b/cayenne/src/test/resources/inheritance-vertical.map.xml index f5b8509f06..e16f14ae23 100644 --- a/cayenne/src/test/resources/inheritance-vertical.map.xml +++ b/cayenne/src/test/resources/inheritance-vertical.map.xml @@ -1,9 +1,23 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> + + + + + + + + + + + + + + @@ -83,20 +97,6 @@ - - - - - - - - - - - - - - @@ -111,6 +111,19 @@ + + + + + + + + + + + + + @@ -190,32 +203,31 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + - + - + - + - + @@ -224,61 +236,61 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -293,42 +305,30 @@ - + - + - + - + - + - + - + - + - - - - - - - - - - - - diff --git a/cayenne/src/test/resources/inheritance-with-enum.map.xml b/cayenne/src/test/resources/inheritance-with-enum.map.xml index 32a9ecb592..ad2b0108ad 100644 --- a/cayenne/src/test/resources/inheritance-with-enum.map.xml +++ b/cayenne/src/test/resources/inheritance-with-enum.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -27,7 +27,7 @@ - + diff --git a/cayenne/src/test/resources/inheritance.map.xml b/cayenne/src/test/resources/inheritance.map.xml index b27eaddc00..f247bf2b23 100644 --- a/cayenne/src/test/resources/inheritance.map.xml +++ b/cayenne/src/test/resources/inheritance.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -24,10 +24,10 @@ - + - + diff --git a/cayenne/src/test/resources/java8.map.xml b/cayenne/src/test/resources/java8.map.xml index 7a7e149271..a4361e32f2 100644 --- a/cayenne/src/test/resources/java8.map.xml +++ b/cayenne/src/test/resources/java8.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/json.map.xml b/cayenne/src/test/resources/json.map.xml index 9070f92164..67e56faf13 100644 --- a/cayenne/src/test/resources/json.map.xml +++ b/cayenne/src/test/resources/json.map.xml @@ -1,26 +1,8 @@ - - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/lazy-attributes.map.xml b/cayenne/src/test/resources/lazy-attributes.map.xml index 0c9b370a85..92cab1a0b9 100644 --- a/cayenne/src/test/resources/lazy-attributes.map.xml +++ b/cayenne/src/test/resources/lazy-attributes.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/lifecycle-callbacks-order.map.xml b/cayenne/src/test/resources/lifecycle-callbacks-order.map.xml index 74d17b26b5..e167fbff17 100644 --- a/cayenne/src/test/resources/lifecycle-callbacks-order.map.xml +++ b/cayenne/src/test/resources/lifecycle-callbacks-order.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/lifecycles.map.xml b/cayenne/src/test/resources/lifecycles.map.xml index 8b50fbf157..9b7ab5bc65 100644 --- a/cayenne/src/test/resources/lifecycles.map.xml +++ b/cayenne/src/test/resources/lifecycles.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/lob.map.xml b/cayenne/src/test/resources/lob.map.xml index 75ec91279e..7a6274de3d 100644 --- a/cayenne/src/test/resources/lob.map.xml +++ b/cayenne/src/test/resources/lob.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -42,7 +42,7 @@ - + diff --git a/cayenne/src/test/resources/locking.map.xml b/cayenne/src/test/resources/locking.map.xml index c8d7c02996..1c286f3a0f 100644 --- a/cayenne/src/test/resources/locking.map.xml +++ b/cayenne/src/test/resources/locking.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -33,13 +33,13 @@ - + - + diff --git a/cayenne/src/test/resources/map-db1.map.xml b/cayenne/src/test/resources/map-db1.map.xml index 4847d504be..8020aa02c3 100644 --- a/cayenne/src/test/resources/map-db1.map.xml +++ b/cayenne/src/test/resources/map-db1.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/map-db2.map.xml b/cayenne/src/test/resources/map-db2.map.xml index 69e8966e43..2ce0da130f 100644 --- a/cayenne/src/test/resources/map-db2.map.xml +++ b/cayenne/src/test/resources/map-db2.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -23,10 +23,10 @@ - + - + diff --git a/cayenne/src/test/resources/map-to-many.map.xml b/cayenne/src/test/resources/map-to-many.map.xml index 48f2a334df..aa115a8e93 100644 --- a/cayenne/src/test/resources/map-to-many.map.xml +++ b/cayenne/src/test/resources/map-to-many.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -28,13 +28,13 @@ - + - + diff --git a/cayenne/src/test/resources/meaningful-pk.map.xml b/cayenne/src/test/resources/meaningful-pk.map.xml index c72e416567..e12f5a8951 100644 --- a/cayenne/src/test/resources/meaningful-pk.map.xml +++ b/cayenne/src/test/resources/meaningful-pk.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -49,13 +49,13 @@ - + - + - + diff --git a/cayenne/src/test/resources/misc-types.map.xml b/cayenne/src/test/resources/misc-types.map.xml index 38c5725654..f7b6bc6831 100644 --- a/cayenne/src/test/resources/misc-types.map.xml +++ b/cayenne/src/test/resources/misc-types.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/mixed-persistence-strategy.map.xml b/cayenne/src/test/resources/mixed-persistence-strategy.map.xml index a1d6df35cc..ee005b39fe 100644 --- a/cayenne/src/test/resources/mixed-persistence-strategy.map.xml +++ b/cayenne/src/test/resources/mixed-persistence-strategy.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -25,7 +25,7 @@ - + diff --git a/cayenne/src/test/resources/multi-tier.map.xml b/cayenne/src/test/resources/multi-tier.map.xml index 7c45cfe266..87e778e465 100644 --- a/cayenne/src/test/resources/multi-tier.map.xml +++ b/cayenne/src/test/resources/multi-tier.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -54,25 +54,25 @@ - + - + - + - + - + diff --git a/cayenne/src/test/resources/no-pk.map.xml b/cayenne/src/test/resources/no-pk.map.xml index adab20a770..8c4723cead 100644 --- a/cayenne/src/test/resources/no-pk.map.xml +++ b/cayenne/src/test/resources/no-pk.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/numeric-types.map.xml b/cayenne/src/test/resources/numeric-types.map.xml index ab521e2f3d..d45368da6f 100644 --- a/cayenne/src/test/resources/numeric-types.map.xml +++ b/cayenne/src/test/resources/numeric-types.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/oneway-rels.map.xml b/cayenne/src/test/resources/oneway-rels.map.xml index b6ed28239d..396f5c7b82 100644 --- a/cayenne/src/test/resources/oneway-rels.map.xml +++ b/cayenne/src/test/resources/oneway-rels.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -24,7 +24,7 @@ - + diff --git a/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/cayenne-testConfig1.xml b/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/cayenne-testConfig1.xml index 75bbf39ec3..cfc3adb250 100644 --- a/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/cayenne-testConfig1.xml +++ b/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/cayenne-testConfig1.xml @@ -1,4 +1,4 @@ - + diff --git a/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/cayenne-testConfig2.xml b/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/cayenne-testConfig2.xml index 4e2ae16070..c2b51e4b8f 100644 --- a/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/cayenne-testConfig2.xml +++ b/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/cayenne-testConfig2.xml @@ -1,4 +1,4 @@ - + diff --git a/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/cayenne-testConfig3.xml b/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/cayenne-testConfig3.xml index 0fb7161e8c..14de42bf58 100644 --- a/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/cayenne-testConfig3.xml +++ b/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/cayenne-testConfig3.xml @@ -1,5 +1,5 @@ - + diff --git a/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/cayenne-testConfig5.xml b/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/cayenne-testConfig5.xml index c3a424da6d..19cc45c8c8 100644 --- a/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/cayenne-testConfig5.xml +++ b/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/cayenne-testConfig5.xml @@ -1,4 +1,4 @@ - + diff --git a/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/testConfigMap2.map.xml b/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/testConfigMap2.map.xml index 216abb6486..c8a677b210 100644 --- a/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/testConfigMap2.map.xml +++ b/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/testConfigMap2.map.xml @@ -18,9 +18,9 @@ ~ under the License. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/testConfigMap3_1.map.xml b/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/testConfigMap3_1.map.xml index 216abb6486..c8a677b210 100644 --- a/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/testConfigMap3_1.map.xml +++ b/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/testConfigMap3_1.map.xml @@ -18,9 +18,9 @@ ~ under the License. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/testConfigMap3_2.map.xml b/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/testConfigMap3_2.map.xml index 216abb6486..c8a677b210 100644 --- a/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/testConfigMap3_2.map.xml +++ b/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/testConfigMap3_2.map.xml @@ -18,9 +18,9 @@ ~ under the License. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/testConfigMap4.map.xml b/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/testConfigMap4.map.xml index 8e43fc7c93..cff71454c8 100644 --- a/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/testConfigMap4.map.xml +++ b/cayenne/src/test/resources/org/apache/cayenne/configuration/xml/testConfigMap4.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -177,7 +177,7 @@ - + @@ -186,10 +186,10 @@ - + - + @@ -198,7 +198,7 @@ - + @@ -216,17 +216,17 @@ - + - + - + diff --git a/cayenne/src/test/resources/people.map.xml b/cayenne/src/test/resources/people.map.xml index e944468d33..1998cc4a16 100644 --- a/cayenne/src/test/resources/people.map.xml +++ b/cayenne/src/test/resources/people.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -61,7 +61,7 @@ - + @@ -70,7 +70,7 @@ - + @@ -82,13 +82,13 @@ - + - + - + diff --git a/cayenne/src/test/resources/primitive.map.xml b/cayenne/src/test/resources/primitive.map.xml index 8d026f721c..d366776bd8 100644 --- a/cayenne/src/test/resources/primitive.map.xml +++ b/cayenne/src/test/resources/primitive.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/qualified.map.xml b/cayenne/src/test/resources/qualified.map.xml index b57d3f2601..9b5d3c80d9 100644 --- a/cayenne/src/test/resources/qualified.map.xml +++ b/cayenne/src/test/resources/qualified.map.xml @@ -1,64 +1,60 @@ - - + - - + + - - + + - - + + - - + + - + - - + + - + - - + + - - + + - - + + - + - + - - - - - + + + + + \ No newline at end of file diff --git a/cayenne/src/test/resources/quoted-identifiers.map.xml b/cayenne/src/test/resources/quoted-identifiers.map.xml index eddbcc6e86..de516fe840 100644 --- a/cayenne/src/test/resources/quoted-identifiers.map.xml +++ b/cayenne/src/test/resources/quoted-identifiers.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -33,7 +33,7 @@ - + diff --git a/cayenne/src/test/resources/reflexive.map.xml b/cayenne/src/test/resources/reflexive.map.xml index 731b7e7640..eda2d1796b 100644 --- a/cayenne/src/test/resources/reflexive.map.xml +++ b/cayenne/src/test/resources/reflexive.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -26,10 +26,10 @@ - + - + diff --git a/cayenne/src/test/resources/relationships-activity.map.xml b/cayenne/src/test/resources/relationships-activity.map.xml index 08ecce0caa..c00ad2d035 100644 --- a/cayenne/src/test/resources/relationships-activity.map.xml +++ b/cayenne/src/test/resources/relationships-activity.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -23,7 +23,7 @@ - + diff --git a/cayenne/src/test/resources/relationships-child-master.map.xml b/cayenne/src/test/resources/relationships-child-master.map.xml index de441d291d..7679ba17fc 100644 --- a/cayenne/src/test/resources/relationships-child-master.map.xml +++ b/cayenne/src/test/resources/relationships-child-master.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -16,7 +16,7 @@ - + diff --git a/cayenne/src/test/resources/relationships-clob.map.xml b/cayenne/src/test/resources/relationships-clob.map.xml index bc11b81003..b26687598e 100644 --- a/cayenne/src/test/resources/relationships-clob.map.xml +++ b/cayenne/src/test/resources/relationships-clob.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -21,7 +21,7 @@ - + diff --git a/cayenne/src/test/resources/relationships-collection-to-many.map.xml b/cayenne/src/test/resources/relationships-collection-to-many.map.xml index 8cb145957a..bc0ecbb815 100644 --- a/cayenne/src/test/resources/relationships-collection-to-many.map.xml +++ b/cayenne/src/test/resources/relationships-collection-to-many.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -16,7 +16,7 @@ - + diff --git a/cayenne/src/test/resources/relationships-delete-rules.map.xml b/cayenne/src/test/resources/relationships-delete-rules.map.xml index c2553352aa..51ff88cd1f 100644 --- a/cayenne/src/test/resources/relationships-delete-rules.map.xml +++ b/cayenne/src/test/resources/relationships-delete-rules.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -30,22 +30,22 @@ - + - + - + - + - + @@ -54,7 +54,7 @@ - + diff --git a/cayenne/src/test/resources/relationships-flattened.map.xml b/cayenne/src/test/resources/relationships-flattened.map.xml index e1f3938cfd..4bd80563a8 100644 --- a/cayenne/src/test/resources/relationships-flattened.map.xml +++ b/cayenne/src/test/resources/relationships-flattened.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -75,40 +75,40 @@ - + - + - + - + - + - + - + - + - + - + @@ -123,7 +123,7 @@ - + @@ -132,10 +132,10 @@ - + - + diff --git a/cayenne/src/test/resources/relationships-many-to-many-join.map.xml b/cayenne/src/test/resources/relationships-many-to-many-join.map.xml index 899ebfcacb..2321eacccd 100644 --- a/cayenne/src/test/resources/relationships-many-to-many-join.map.xml +++ b/cayenne/src/test/resources/relationships-many-to-many-join.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -39,28 +39,28 @@ - + - + - + - + - + - + - + - + diff --git a/cayenne/src/test/resources/relationships-set-to-many.map.xml b/cayenne/src/test/resources/relationships-set-to-many.map.xml index 3965e0a217..87244f76cc 100644 --- a/cayenne/src/test/resources/relationships-set-to-many.map.xml +++ b/cayenne/src/test/resources/relationships-set-to-many.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -16,7 +16,7 @@ - + diff --git a/cayenne/src/test/resources/relationships-to-many-fk.map.xml b/cayenne/src/test/resources/relationships-to-many-fk.map.xml index 149b044f4b..dff8d4db74 100644 --- a/cayenne/src/test/resources/relationships-to-many-fk.map.xml +++ b/cayenne/src/test/resources/relationships-to-many-fk.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -32,13 +32,13 @@ - + - + - + diff --git a/cayenne/src/test/resources/relationships-to-one-fk.map.xml b/cayenne/src/test/resources/relationships-to-one-fk.map.xml index 4fd681d4e6..be82a5b2cf 100644 --- a/cayenne/src/test/resources/relationships-to-one-fk.map.xml +++ b/cayenne/src/test/resources/relationships-to-one-fk.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -13,7 +13,7 @@ - + diff --git a/cayenne/src/test/resources/relationships.map.xml b/cayenne/src/test/resources/relationships.map.xml index fa44bf2be0..fb80f303c8 100644 --- a/cayenne/src/test/resources/relationships.map.xml +++ b/cayenne/src/test/resources/relationships.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -48,31 +48,31 @@ - + - + - + - + - + - + diff --git a/cayenne/src/test/resources/return-types.map.xml b/cayenne/src/test/resources/return-types.map.xml index e2dce8ad68..b753440560 100644 --- a/cayenne/src/test/resources/return-types.map.xml +++ b/cayenne/src/test/resources/return-types.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/soft-delete.map.xml b/cayenne/src/test/resources/soft-delete.map.xml index 34f89c3f51..6ded7f6a54 100644 --- a/cayenne/src/test/resources/soft-delete.map.xml +++ b/cayenne/src/test/resources/soft-delete.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/sus-map.map.xml b/cayenne/src/test/resources/sus-map.map.xml index f54120b4a9..ed2a16d9e9 100644 --- a/cayenne/src/test/resources/sus-map.map.xml +++ b/cayenne/src/test/resources/sus-map.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/table-primitives.map.xml b/cayenne/src/test/resources/table-primitives.map.xml index 399f3feeac..f1f615c1d5 100644 --- a/cayenne/src/test/resources/table-primitives.map.xml +++ b/cayenne/src/test/resources/table-primitives.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/testmap.map.xml b/cayenne/src/test/resources/testmap.map.xml index 567adeddf7..a7510d0573 100644 --- a/cayenne/src/test/resources/testmap.map.xml +++ b/cayenne/src/test/resources/testmap.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -89,7 +89,6 @@ - @@ -164,46 +163,46 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -212,19 +211,19 @@ - + - + - + - + - + @@ -310,20 +309,4 @@ VALUES (#bind($id), #bind($title), #bind($price))]]> - - ../java - entity - - templates/v4_1/superclass.vm - templates/v4_1/embeddable-subclass.vm - templates/v4_1/embeddable-superclass.vm - templates/v4_1/datamap-subclass.vm - templates/v4_1/datamap-superclass.vm - *.java - true - true - false - false - true - diff --git a/cayenne/src/test/resources/things.map.xml b/cayenne/src/test/resources/things.map.xml index cd9c10420b..dc3c686a38 100644 --- a/cayenne/src/test/resources/things.map.xml +++ b/cayenne/src/test/resources/things.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -54,14 +54,14 @@ - + - + - + @@ -73,13 +73,13 @@ - + - + - + diff --git a/cayenne/src/test/resources/toone.map.xml b/cayenne/src/test/resources/toone.map.xml index ef9ddbfaa4..dfee96e06d 100644 --- a/cayenne/src/test/resources/toone.map.xml +++ b/cayenne/src/test/resources/toone.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -12,10 +12,10 @@ - + - + diff --git a/cayenne/src/test/resources/unsupported-distinct-types.map.xml b/cayenne/src/test/resources/unsupported-distinct-types.map.xml index 3c6d7ea12b..f4a7b0f5d9 100644 --- a/cayenne/src/test/resources/unsupported-distinct-types.map.xml +++ b/cayenne/src/test/resources/unsupported-distinct-types.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -26,28 +26,28 @@ - + - + - + - + - + - + - + - + diff --git a/cayenne/src/test/resources/uuid.map.xml b/cayenne/src/test/resources/uuid.map.xml index 85730d5886..dde28e47d6 100644 --- a/cayenne/src/test/resources/uuid.map.xml +++ b/cayenne/src/test/resources/uuid.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/cayenne/src/test/resources/weighted-sort.map.xml b/cayenne/src/test/resources/weighted-sort.map.xml index 193a8032d6..7dbf623312 100644 --- a/cayenne/src/test/resources/weighted-sort.map.xml +++ b/cayenne/src/test/resources/weighted-sort.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -13,7 +13,7 @@ - + diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/cgen/cayenne-testDomain.xml b/maven-plugins/cayenne-maven-plugin/src/test/resources/cgen/cayenne-testDomain.xml index 8b949c6f8c..fafb908f7c 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/cgen/cayenne-testDomain.xml +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/cgen/cayenne-testDomain.xml @@ -1,6 +1,6 @@ - + diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/cgen/testAdditionalMap.map.xml b/maven-plugins/cayenne-maven-plugin/src/test/resources/cgen/testAdditionalMap.map.xml index f3ed92a249..a71e5147d3 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/cgen/testAdditionalMap.map.xml +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/cgen/testAdditionalMap.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/cgen/testCgen.map.xml b/maven-plugins/cayenne-maven-plugin/src/test/resources/cgen/testCgen.map.xml index c0e8160315..849bce7f81 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/cgen/testCgen.map.xml +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/cgen/testCgen.map.xml @@ -1,12 +1,12 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> - + ../../../../target/cgenClasses entity ObjEntity1 diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/cgen/testCgenMap.map.xml b/maven-plugins/cayenne-maven-plugin/src/test/resources/cgen/testCgenMap.map.xml index 87c8984db8..d1f2e329af 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/cgen/testCgenMap.map.xml +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/cgen/testCgenMap.map.xml @@ -1,12 +1,12 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> - + ../../../../target/cgenClasses entity ObjEntity diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/cgen/testDomainMap.map.xml b/maven-plugins/cayenne-maven-plugin/src/test/resources/cgen/testDomainMap.map.xml index c4a3a9bfec..8f4c8b2838 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/cgen/testDomainMap.map.xml +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/cgen/testDomainMap.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -26,7 +26,7 @@ - + diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testAddedFlattenedRelationship.map.xml b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testAddedFlattenedRelationship.map.xml index 734faf0a50..c63b2305bb 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testAddedFlattenedRelationship.map.xml +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testAddedFlattenedRelationship.map.xml @@ -17,10 +17,10 @@ ~ specific language governing permissions and limitations ~ under the License. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testAddedFlattenedRelationship.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testAddedFlattenedRelationship.map.xml-result index b4f848ce21..8b1ccc1e8f 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testAddedFlattenedRelationship.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testAddedFlattenedRelationship.map.xml-result @@ -17,10 +17,10 @@ ~ specific language governing permissions and limitations ~ under the License. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testComplexChangeOrder.map.xml b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testComplexChangeOrder.map.xml index ca0f15040c..63866d5265 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testComplexChangeOrder.map.xml +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testComplexChangeOrder.map.xml @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testComplexChangeOrder.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testComplexChangeOrder.map.xml-result index 78ce0d1a23..0823d2e5de 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testComplexChangeOrder.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testComplexChangeOrder.map.xml-result @@ -17,10 +17,10 @@ ~ specific language governing permissions and limitations ~ under the License. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testConfigFromDataMap.map.xml b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testConfigFromDataMap.map.xml index 91039a4089..c203051fe0 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testConfigFromDataMap.map.xml +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testConfigFromDataMap.map.xml @@ -17,12 +17,12 @@ ~ specific language governing permissions and limitations ~ under the License. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> - + SCHEMA_01 COL5 diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testConfigFromDataMap.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testConfigFromDataMap.map.xml-result index cc8142a628..4eaa726281 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testConfigFromDataMap.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testConfigFromDataMap.map.xml-result @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> @@ -32,7 +32,7 @@ - + SCHEMA_01 COL5 diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testCustomObjectLayerSettings.map.xml b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testCustomObjectLayerSettings.map.xml index a8bc94d1ba..0e4c1e2be9 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testCustomObjectLayerSettings.map.xml +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testCustomObjectLayerSettings.map.xml @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testCustomObjectLayerSettings.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testCustomObjectLayerSettings.map.xml-result index 508f166c30..0fb1bafb4c 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testCustomObjectLayerSettings.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testCustomObjectLayerSettings.map.xml-result @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDbAttributeChange.map.xml b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDbAttributeChange.map.xml index 74f4e41e0c..92c89c232a 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDbAttributeChange.map.xml +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDbAttributeChange.map.xml @@ -17,10 +17,10 @@ ~ specific language governing permissions and limitations ~ under the License. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDbAttributeChange.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDbAttributeChange.map.xml-result index 008b0edfe9..880a578acf 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDbAttributeChange.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDbAttributeChange.map.xml-result @@ -18,10 +18,10 @@ ~ specific language governing permissions and limitations ~ under the License. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDefaultPackage.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDefaultPackage.map.xml-result index 97a177a362..fe08ca075e 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDefaultPackage.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDefaultPackage.map.xml-result @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDropProcedure.map.xml b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDropProcedure.map.xml index a2b5a44590..40977a17fd 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDropProcedure.map.xml +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDropProcedure.map.xml @@ -17,10 +17,10 @@ ~ specific language governing permissions and limitations ~ under the License. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/10/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDropProcedure.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDropProcedure.map.xml-result index 7141fad2b9..bf75d760b9 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDropProcedure.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDropProcedure.map.xml-result @@ -17,10 +17,10 @@ ~ specific language governing permissions and limitations ~ under the License. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/10/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testExcludeRelationship.map.xml b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testExcludeRelationship.map.xml index 802ff4779a..121935dc27 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testExcludeRelationship.map.xml +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testExcludeRelationship.map.xml @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testExcludeRelationship.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testExcludeRelationship.map.xml-result index f204139fb1..1c051eadd1 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testExcludeRelationship.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testExcludeRelationship.map.xml-result @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testExcludeRelationshipFirst.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testExcludeRelationshipFirst.map.xml-result index 284f981acf..43a50dc7bc 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testExcludeRelationshipFirst.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testExcludeRelationshipFirst.map.xml-result @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFilteringWithSchema.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFilteringWithSchema.map.xml-result index 361062ca4e..943e985dfd 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFilteringWithSchema.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFilteringWithSchema.map.xml-result @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFkAttributeRename.map.xml b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFkAttributeRename.map.xml index ebfb7caf00..e655d3d569 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFkAttributeRename.map.xml +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFkAttributeRename.map.xml @@ -17,10 +17,10 @@ ~ specific language governing permissions and limitations ~ under the License. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFkAttributeRename.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFkAttributeRename.map.xml-result index 514da4dd61..c72aa794d8 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFkAttributeRename.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFkAttributeRename.map.xml-result @@ -18,10 +18,10 @@ ~ specific language governing permissions and limitations ~ under the License. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFlattensManyToManyWithRecursiveLink.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFlattensManyToManyWithRecursiveLink.map.xml-result index 5086b5c1a9..b6cb5e8051 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFlattensManyToManyWithRecursiveLink.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFlattensManyToManyWithRecursiveLink.map.xml-result @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testForceDataMapSchema.map.xml b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testForceDataMapSchema.map.xml index 6c96d5f4cf..ee895f2002 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testForceDataMapSchema.map.xml +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testForceDataMapSchema.map.xml @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testForceDataMapSchema.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testForceDataMapSchema.map.xml-result index e6bd87039f..b981d4f955 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testForceDataMapSchema.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testForceDataMapSchema.map.xml-result @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportAddTableAndColumn.map.xml b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportAddTableAndColumn.map.xml index fad541f1d1..46261a1651 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportAddTableAndColumn.map.xml +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportAddTableAndColumn.map.xml @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportAddTableAndColumn.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportAddTableAndColumn.map.xml-result index 43696e7454..5d753dc57a 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportAddTableAndColumn.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportAddTableAndColumn.map.xml-result @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportNewDataMap.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportNewDataMap.map.xml-result index 8bbbaa7f10..d6261241ff 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportNewDataMap.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportNewDataMap.map.xml-result @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportNewRelationship.map.xml b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportNewRelationship.map.xml index 9ef8480b17..555f0ad24e 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportNewRelationship.map.xml +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportNewRelationship.map.xml @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportNewRelationship.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportNewRelationship.map.xml-result index dd1cb4f616..25aed44a35 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportNewRelationship.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportNewRelationship.map.xml-result @@ -17,10 +17,10 @@ ~ specific language governing permissions and limitations ~ under the License. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportProcedure.map.xml b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportProcedure.map.xml index 429d6fdc67..da7b48a6ae 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportProcedure.map.xml +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportProcedure.map.xml @@ -17,10 +17,10 @@ ~ specific language governing permissions and limitations ~ under the License. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/10/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportProcedure.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportProcedure.map.xml-result index d1d3176dd7..0da7db6c22 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportProcedure.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportProcedure.map.xml-result @@ -17,10 +17,10 @@ ~ specific language governing permissions and limitations ~ under the License. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/10/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportWithoutChanges.map.xml b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportWithoutChanges.map.xml index caef5adab4..dd7944ce3d 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportWithoutChanges.map.xml +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportWithoutChanges.map.xml @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportWithoutChanges.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportWithoutChanges.map.xml-result index 3402bacb0e..15ec784541 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportWithoutChanges.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportWithoutChanges.map.xml-result @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testInheritance.map.xml b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testInheritance.map.xml index ead7892f81..6e1c9685b6 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testInheritance.map.xml +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testInheritance.map.xml @@ -17,10 +17,10 @@ ~ specific language governing permissions and limitations ~ under the License. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testInheritance.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testInheritance.map.xml-result index 5e7be28ae5..228cc06a90 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testInheritance.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testInheritance.map.xml-result @@ -17,10 +17,10 @@ ~ specific language governing permissions and limitations ~ under the License. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testJava7Types.map.xml b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testJava7Types.map.xml index d90f5b0695..378d2de765 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testJava7Types.map.xml +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testJava7Types.map.xml @@ -17,10 +17,10 @@ ~ specific language governing permissions and limitations ~ under the License. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testJava7Types.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testJava7Types.map.xml-result index 6ef1888ec2..a5d68d1d93 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testJava7Types.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testJava7Types.map.xml-result @@ -18,10 +18,10 @@ ~ specific language governing permissions and limitations ~ under the License. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testJava8Types.map.xml b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testJava8Types.map.xml index d90f5b0695..378d2de765 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testJava8Types.map.xml +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testJava8Types.map.xml @@ -17,10 +17,10 @@ ~ specific language governing permissions and limitations ~ under the License. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testJava8Types.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testJava8Types.map.xml-result index 7907d0d27d..dc21479d08 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testJava8Types.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testJava8Types.map.xml-result @@ -18,10 +18,10 @@ ~ specific language governing permissions and limitations ~ under the License. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testNamingStrategy.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testNamingStrategy.map.xml-result index c9beb81198..712d2b244b 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testNamingStrategy.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testNamingStrategy.map.xml-result @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testOneToOne.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testOneToOne.map.xml-result index 9d7f01edbb..a479775624 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testOneToOne.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testOneToOne.map.xml-result @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveCustomObjMappings.map.xml b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveCustomObjMappings.map.xml index 05686922df..705535d461 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveCustomObjMappings.map.xml +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveCustomObjMappings.map.xml @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveCustomObjMappings.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveCustomObjMappings.map.xml-result index 797180697c..f0fb0388f3 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveCustomObjMappings.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveCustomObjMappings.map.xml-result @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveRelationships.map.xml b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveRelationships.map.xml index c295747f93..3545b135ca 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveRelationships.map.xml +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveRelationships.map.xml @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveRelationships.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveRelationships.map.xml-result index dc52095466..248d2f3ef3 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveRelationships.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveRelationships.map.xml-result @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSameProcedure.map.xml b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSameProcedure.map.xml index a2b5a44590..40977a17fd 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSameProcedure.map.xml +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSameProcedure.map.xml @@ -17,10 +17,10 @@ ~ specific language governing permissions and limitations ~ under the License. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/10/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSameProcedure.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSameProcedure.map.xml-result index d1d3176dd7..0da7db6c22 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSameProcedure.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSameProcedure.map.xml-result @@ -17,10 +17,10 @@ ~ specific language governing permissions and limitations ~ under the License. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/10/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSchemasAndTableExclude.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSchemasAndTableExclude.map.xml-result index 2228d265f0..c28913ef6e 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSchemasAndTableExclude.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSchemasAndTableExclude.map.xml-result @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipPrimaryKeyLoading.map.xml b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipPrimaryKeyLoading.map.xml index 2c2c7d82b6..d42992a86e 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipPrimaryKeyLoading.map.xml +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipPrimaryKeyLoading.map.xml @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipPrimaryKeyLoading.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipPrimaryKeyLoading.map.xml-result index f715f1004d..23b361df99 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipPrimaryKeyLoading.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipPrimaryKeyLoading.map.xml-result @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipRelationshipsLoading.map.xml b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipRelationshipsLoading.map.xml index 1aaf8aba44..cba8f98b34 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipRelationshipsLoading.map.xml +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipRelationshipsLoading.map.xml @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipRelationshipsLoading.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipRelationshipsLoading.map.xml-result index 1aaf8aba44..cba8f98b34 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipRelationshipsLoading.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipRelationshipsLoading.map.xml-result @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testTableTypes.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testTableTypes.map.xml-result index b303915108..21deb9f6a8 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testTableTypes.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testTableTypes.map.xml-result @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testTableTypesMap.map.xml b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testTableTypesMap.map.xml index 1543186694..838bd3e091 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testTableTypesMap.map.xml +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testTableTypesMap.map.xml @@ -17,11 +17,11 @@ specific language governing permissions and limitations under the License. --> - - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> + TABLE diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testTableTypesMap.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testTableTypesMap.map.xml-result index 3ca3448991..2a433ff1aa 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testTableTypesMap.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testTableTypesMap.map.xml-result @@ -17,16 +17,16 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap https://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> - + TABLE diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testUnFlattensManyToMany.map.xml b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testUnFlattensManyToMany.map.xml index edb7699a23..a3afde5300 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testUnFlattensManyToMany.map.xml +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testUnFlattensManyToMany.map.xml @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testUnFlattensManyToMany.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testUnFlattensManyToMany.map.xml-result index 67f667ade4..62bd10224f 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testUnFlattensManyToMany.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testUnFlattensManyToMany.map.xml-result @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testViewsExclude.map.xml-result b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testViewsExclude.map.xml-result index f10a86c53a..b8e8ef5ef6 100644 --- a/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testViewsExclude.map.xml-result +++ b/maven-plugins/cayenne-maven-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testViewsExclude.map.xml-result @@ -17,10 +17,10 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-tools-itest/src/test/resources/cayenne-client.xml b/maven-plugins/cayenne-tools-itest/src/test/resources/cayenne-client.xml index 32200f28d6..6087178718 100644 --- a/maven-plugins/cayenne-tools-itest/src/test/resources/cayenne-client.xml +++ b/maven-plugins/cayenne-tools-itest/src/test/resources/cayenne-client.xml @@ -1,5 +1,5 @@ - + diff --git a/maven-plugins/cayenne-tools-itest/src/test/resources/embeddable.map.xml b/maven-plugins/cayenne-tools-itest/src/test/resources/embeddable.map.xml index 9cce86baa6..0f4aa7c26f 100644 --- a/maven-plugins/cayenne-tools-itest/src/test/resources/embeddable.map.xml +++ b/maven-plugins/cayenne-tools-itest/src/test/resources/embeddable.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/maven-plugins/cayenne-tools-itest/src/test/resources/testmap.map.xml b/maven-plugins/cayenne-tools-itest/src/test/resources/testmap.map.xml index e5c941a640..5b81610a7e 100644 --- a/maven-plugins/cayenne-tools-itest/src/test/resources/testmap.map.xml +++ b/maven-plugins/cayenne-tools-itest/src/test/resources/testmap.map.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12"> diff --git a/modeler/cayenne-modeler/src/test/resources/org/apache/cayenne/modeler/cayenne-configured-validation.xml b/modeler/cayenne-modeler/src/test/resources/org/apache/cayenne/modeler/cayenne-configured-validation.xml index 8deb69daa9..2d4d9e9ec2 100644 --- a/modeler/cayenne-modeler/src/test/resources/org/apache/cayenne/modeler/cayenne-configured-validation.xml +++ b/modeler/cayenne-modeler/src/test/resources/org/apache/cayenne/modeler/cayenne-configured-validation.xml @@ -1,9 +1,9 @@ - - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain https://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> + DATA_CHANNEL_NO_NAME DATA_NODE_NO_NAME DATA_NODE_NAME_DUPLICATE diff --git a/tutorials/tutorial/src/main/resources/cayenne-project.xml b/tutorials/tutorial/src/main/resources/cayenne-project.xml index cc76b6c626..70324d3a4b 100644 --- a/tutorials/tutorial/src/main/resources/cayenne-project.xml +++ b/tutorials/tutorial/src/main/resources/cayenne-project.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/domain http://cayenne.apache.org/schema/12/domain.xsd" + project-version="12"> - + xsi:schemaLocation="http://cayenne.apache.org/schema/12/modelMap http://cayenne.apache.org/schema/12/modelMap.xsd" + project-version="12">