From 90de78de01b25c2d62bfe7e431e10aa12cb07d15 Mon Sep 17 00:00:00 2001 From: alexkolonitsky Date: Mon, 18 Aug 2014 14:18:54 +0300 Subject: [PATCH 1/5] CAY-1942 Refactoring of NamedObjectFactory and NamingStrategy * Change enums first letter to lower case * Rename SmartNameGenerator to DefaultNameGenerator; BasicNameGenerator to LegacyNamegenerator, --- .../org/apache/cayenne/access/DbLoader.java | 4 +- .../access/ManyToManyCandidateEntity.java | 2 +- .../naming/DefaultUniqueNameGenerator.java | 4 +- ...enerator.java => LegacyNameGenerator.java} | 102 +++++++++--------- .../cayenne/map/naming/NameCheckers.java | 38 +++---- .../cayenne/util/EntityMergeSupport.java | 8 +- .../access/ManyToManyCandidateEntityTest.java | 4 +- ...Test.java => LegacyNameGeneratorTest.java} | 100 ++++++++--------- .../cayenne/map/naming/NameCheckersTest.java | 66 ++++++------ ...nerator.java => DefaultNameGenerator.java} | 2 +- .../apache/cayenne/tools/DbImporterTask.java | 4 +- ...est.java => DefaultNameGeneratorTest.java} | 4 +- .../modeler/action/CreateAttributeAction.java | 6 +- .../action/CreateCallbackMethodAction.java | 2 +- .../modeler/action/CreateDataMapAction.java | 2 +- .../modeler/action/CreateDbEntityAction.java | 2 +- .../action/CreateEmbeddableAction.java | 2 +- .../modeler/action/CreateNodeAction.java | 2 +- .../modeler/action/CreateObjEntityAction.java | 4 +- .../modeler/action/CreateProcedureAction.java | 2 +- .../CreateProcedureParameterAction.java | 2 +- .../action/CreateRelationshipAction.java | 4 +- .../modeler/action/ImportDataMapAction.java | 4 +- .../modeler/action/ImportEOModelAction.java | 2 +- .../modeler/action/NewProjectAction.java | 2 +- .../cayenne/modeler/action/PasteAction.java | 38 +++---- .../dialog/ResolveDbRelationshipDialog.java | 4 +- .../modeler/dialog/db/DbLoaderHelper.java | 4 +- .../modeler/dialog/query/QueryType.java | 2 +- .../util/NameGeneratorPreferences.java | 10 +- .../cayenne/wocompat/EOModelProcessor.java | 2 +- 31 files changed, 217 insertions(+), 217 deletions(-) rename cayenne-server/src/main/java/org/apache/cayenne/map/naming/{BasicNameGenerator.java => LegacyNameGenerator.java} (94%) rename cayenne-server/src/test/java/org/apache/cayenne/map/naming/{BasicNameGeneratorTest.java => LegacyNameGeneratorTest.java} (93%) rename cayenne-tools/src/main/java/org/apache/cayenne/map/naming/{SmartNameGenerator.java => DefaultNameGenerator.java} (97%) rename cayenne-tools/src/test/java/org/apache/cayenne/map/naming/{SmartNameGeneratorTest.java => DefaultNameGeneratorTest.java} (95%) diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DbLoader.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DbLoader.java index b45ce195d8..8ce8ece82d 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/access/DbLoader.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DbLoader.java @@ -47,7 +47,7 @@ import org.apache.cayenne.map.ObjEntity; import org.apache.cayenne.map.Procedure; import org.apache.cayenne.map.ProcedureParameter; -import org.apache.cayenne.map.naming.BasicNameGenerator; +import org.apache.cayenne.map.naming.LegacyNameGenerator; import org.apache.cayenne.map.naming.ExportedKey; import org.apache.cayenne.map.naming.ObjectNameGenerator; import org.apache.cayenne.util.EntityMergeSupport; @@ -112,7 +112,7 @@ private static String uniqueRelName(Entity entity, String preferredName) { * Creates new DbLoader. */ public DbLoader(Connection connection, DbAdapter adapter, DbLoaderDelegate delegate) { - this(connection, adapter, delegate, new BasicNameGenerator()); + this(connection, adapter, delegate, new LegacyNameGenerator()); } /** diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/ManyToManyCandidateEntity.java b/cayenne-server/src/main/java/org/apache/cayenne/access/ManyToManyCandidateEntity.java index 9ef4782d87..4f68344c33 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/access/ManyToManyCandidateEntity.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/access/ManyToManyCandidateEntity.java @@ -97,7 +97,7 @@ private void addFlattenedRelationship(ObjectNameGenerator nameGenerator, ObjEnti null); ObjRelationship newRelationship = new ObjRelationship(); - newRelationship.setName(DefaultUniqueNameGenerator.generate(NameCheckers.ObjRelationship, srcEntity, + newRelationship.setName(DefaultUniqueNameGenerator.generate(NameCheckers.objRelationship, srcEntity, nameGenerator.createDbRelationshipName(key, true))); newRelationship.setSourceEntity(srcEntity); diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/naming/DefaultUniqueNameGenerator.java b/cayenne-server/src/main/java/org/apache/cayenne/map/naming/DefaultUniqueNameGenerator.java index 63e7266cc9..c9989d4ff9 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/map/naming/DefaultUniqueNameGenerator.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/map/naming/DefaultUniqueNameGenerator.java @@ -45,8 +45,8 @@ public static String generate(NameChecker checker, Object context, String baseNa public static String generate(NameChecker checker, String pattern, Object context, String baseName) { DefaultUniqueNameGenerator generator; - if (checker == NameCheckers.Embeddable) { - generator = new DefaultUniqueNameGenerator(NameCheckers.Embeddable, pattern) { + if (checker == NameCheckers.embeddable) { + generator = new DefaultUniqueNameGenerator(NameCheckers.embeddable, pattern) { @Override public String generate(Object namingContext, String nameBase) { String name = super.generate(namingContext, nameBase); diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/naming/BasicNameGenerator.java b/cayenne-server/src/main/java/org/apache/cayenne/map/naming/LegacyNameGenerator.java similarity index 94% rename from cayenne-server/src/main/java/org/apache/cayenne/map/naming/BasicNameGenerator.java rename to cayenne-server/src/main/java/org/apache/cayenne/map/naming/LegacyNameGenerator.java index b70045d5c6..1648377383 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/map/naming/BasicNameGenerator.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/map/naming/LegacyNameGenerator.java @@ -1,51 +1,51 @@ -/***************************************************************** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - ****************************************************************/ -package org.apache.cayenne.map.naming; - -import org.apache.cayenne.map.DbAttribute; -import org.apache.cayenne.map.DbEntity; -import org.apache.cayenne.map.DbRelationship; - -/** - * BasicNamingStrategy is an naming strategy that creates names in Cayenne's - * old-fashioned manner, i.e. the same way Cayenne did before 3.0 - * - * @since 3.0 - */ -public class BasicNameGenerator implements ObjectNameGenerator { - public String createDbRelationshipName( - ExportedKey key, - boolean toMany) { - - String uglyName = (toMany) ? key.getFKTableName() + "_ARRAY" : "to_" + key.getPKTableName(); - return NameConverter.underscoredToJava(uglyName, false); - } - - public String createObjEntityName(DbEntity dbEntity) { - return NameConverter.underscoredToJava(dbEntity.getName(), true); - } - - public String createObjAttributeName(DbAttribute attr) { - return NameConverter.underscoredToJava(attr.getName(), false); - } - - public String createObjRelationshipName(DbRelationship dbRel) { - return NameConverter.underscoredToJava(dbRel.getName(), false); - } -} +/***************************************************************** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + ****************************************************************/ +package org.apache.cayenne.map.naming; + +import org.apache.cayenne.map.DbAttribute; +import org.apache.cayenne.map.DbEntity; +import org.apache.cayenne.map.DbRelationship; + +/** + * BasicNamingStrategy is an naming strategy that creates names in Cayenne's + * old-fashioned manner, i.e. the same way Cayenne did before 3.0 + * + * @since 3.0 + */ +public class LegacyNameGenerator implements ObjectNameGenerator { + public String createDbRelationshipName( + ExportedKey key, + boolean toMany) { + + String uglyName = (toMany) ? key.getFKTableName() + "_ARRAY" : "to_" + key.getPKTableName(); + return NameConverter.underscoredToJava(uglyName, false); + } + + public String createObjEntityName(DbEntity dbEntity) { + return NameConverter.underscoredToJava(dbEntity.getName(), true); + } + + public String createObjAttributeName(DbAttribute attr) { + return NameConverter.underscoredToJava(attr.getName(), false); + } + + public String createObjRelationshipName(DbRelationship dbRel) { + return NameConverter.underscoredToJava(dbRel.getName(), false); + } +} diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/naming/NameCheckers.java b/cayenne-server/src/main/java/org/apache/cayenne/map/naming/NameCheckers.java index df026c99e2..ea8f3932b9 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/map/naming/NameCheckers.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/map/naming/NameCheckers.java @@ -34,14 +34,14 @@ */ public enum NameCheckers implements NameChecker { - DataChannelDescriptor("project") { + dataChannelDescriptor("project") { @Override public boolean isNameInUse(Object namingContext, String name) { return false; } }, - DataMap("datamap") { + dataMap("datamap") { @Override public boolean isNameInUse(Object namingContext, String name) { // null context is a situation when DataMap is a @@ -63,7 +63,7 @@ public boolean isNameInUse(Object namingContext, String name) { } }, - ObjEntity("ObjEntity") { + objEntity("ObjEntity") { @Override public boolean isNameInUse(Object namingContext, String name) { DataMap map = (DataMap) namingContext; @@ -71,7 +71,7 @@ public boolean isNameInUse(Object namingContext, String name) { } }, - Embeddable("Embeddable") { + embeddable("Embeddable") { @Override public boolean isNameInUse(Object namingContext, String name) { DataMap map = (DataMap) namingContext; @@ -83,7 +83,7 @@ public boolean isNameInUse(Object namingContext, String name) { } }, - EmbeddableAttribute("untitledAttr") { + embeddableAttribute("untitledAttr") { @Override public boolean isNameInUse(Object namingContext, String name) { Embeddable emb = (Embeddable) namingContext; @@ -91,7 +91,7 @@ public boolean isNameInUse(Object namingContext, String name) { } }, - DbEntity("db_entity") { + dbEntity("db_entity") { @Override public boolean isNameInUse(Object namingContext, String name) { DataMap map = (DataMap) namingContext; @@ -99,7 +99,7 @@ public boolean isNameInUse(Object namingContext, String name) { } }, - ProcedureParameter("UntitledProcedureParameter") { + procedureParameter("UntitledProcedureParameter") { @Override public boolean isNameInUse(Object namingContext, String name) { @@ -118,7 +118,7 @@ public boolean isNameInUse(Object namingContext, String name) { } }, - Procedure("procedure") { + procedure("procedure") { @Override public boolean isNameInUse(Object namingContext, String name) { DataMap map = (DataMap) namingContext; @@ -126,7 +126,7 @@ public boolean isNameInUse(Object namingContext, String name) { } }, - Query("query") { + query("query") { @Override public boolean isNameInUse(Object namingContext, String name) { DataMap map = (DataMap) namingContext; @@ -134,14 +134,14 @@ public boolean isNameInUse(Object namingContext, String name) { } }, - ObjAttribute("untitledAttr") { + objAttribute("untitledAttr") { @Override public boolean isNameInUse(Object namingContext, String name) { - return ObjRelationship.isNameInUse(namingContext, name); + return objRelationship.isNameInUse(namingContext, name); } }, - DbAttribute("untitledAttr") { + dbAttribute("untitledAttr") { @Override public boolean isNameInUse(Object namingContext, String name) { Entity ent = (Entity) namingContext; @@ -150,7 +150,7 @@ public boolean isNameInUse(Object namingContext, String name) { } }, - DataNodeDescriptor("datanode") { + dataNodeDescriptor("datanode") { @Override public boolean isNameInUse(Object namingContext, String name) { DataChannelDescriptor domain = (DataChannelDescriptor) namingContext; @@ -164,30 +164,30 @@ public boolean isNameInUse(Object namingContext, String name) { } }, - ObjRelationship("untitledRel") { + objRelationship("untitledRel") { @Override public boolean isNameInUse(Object namingContext, String name) { ObjEntity ent = (ObjEntity) namingContext; - return DbAttribute.isNameInUse(namingContext, name) + return dbAttribute.isNameInUse(namingContext, name) || ent.getCallbackMethods().contains( "get" + StringUtils.capitalize(name)); } }, - DbRelationship("untitledRel") { + dbRelationship("untitledRel") { @Override public boolean isNameInUse(Object namingContext, String name) { - return DbAttribute.isNameInUse(namingContext, name); + return dbAttribute.isNameInUse(namingContext, name); } }, - ObjCallbackMethod("ObjCallbackMethod") { + objCallbackMethod("ObjCallbackMethod") { @Override public boolean isNameInUse(Object namingContext, String name) { ObjEntity ent = (ObjEntity) namingContext; return name.startsWith("get") - && DbAttribute.isNameInUse(namingContext, + && dbAttribute.isNameInUse(namingContext, StringUtils.uncapitalize(name.substring(3))) || ent.getCallbackMethods().contains(name); } diff --git a/cayenne-server/src/main/java/org/apache/cayenne/util/EntityMergeSupport.java b/cayenne-server/src/main/java/org/apache/cayenne/util/EntityMergeSupport.java index 2cc0002152..1b1fa90495 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/util/EntityMergeSupport.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/util/EntityMergeSupport.java @@ -36,7 +36,7 @@ import org.apache.cayenne.map.ObjAttribute; import org.apache.cayenne.map.ObjEntity; import org.apache.cayenne.map.ObjRelationship; -import org.apache.cayenne.map.naming.BasicNameGenerator; +import org.apache.cayenne.map.naming.LegacyNameGenerator; import org.apache.cayenne.map.naming.DefaultUniqueNameGenerator; import org.apache.cayenne.map.naming.NameCheckers; import org.apache.cayenne.map.naming.ObjectNameGenerator; @@ -75,7 +75,7 @@ public class EntityMergeSupport { protected List listeners; public EntityMergeSupport(DataMap map) { - this(map, new BasicNameGenerator(), true); + this(map, new LegacyNameGenerator(), true); } /** @@ -172,7 +172,7 @@ public boolean synchronizeWithDbEntity(ObjEntity entity) { String attrName = nameGenerator.createObjAttributeName(da); // avoid duplicate names - attrName = DefaultUniqueNameGenerator.generate(NameCheckers.ObjAttribute, entity, attrName); + attrName = DefaultUniqueNameGenerator.generate(NameCheckers.objAttribute, entity, attrName); String type = TypesMapping.getJavaBySqlType(da.getType()); @@ -198,7 +198,7 @@ public boolean synchronizeWithDbEntity(ObjEntity entity) { // avoid duplicate names String relationshipName = nameGenerator.createObjRelationshipName(dr); - relationshipName = DefaultUniqueNameGenerator.generate(NameCheckers.ObjRelationship, entity, relationshipName); + relationshipName = DefaultUniqueNameGenerator.generate(NameCheckers.objRelationship, entity, relationshipName); ObjRelationship or = new ObjRelationship(relationshipName); or.addDbRelationship(dr); diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/ManyToManyCandidateEntityTest.java b/cayenne-server/src/test/java/org/apache/cayenne/access/ManyToManyCandidateEntityTest.java index eb9b6feed5..7be3c3d73a 100644 --- a/cayenne-server/src/test/java/org/apache/cayenne/access/ManyToManyCandidateEntityTest.java +++ b/cayenne-server/src/test/java/org/apache/cayenne/access/ManyToManyCandidateEntityTest.java @@ -38,7 +38,7 @@ import org.apache.cayenne.map.DataMap; import org.apache.cayenne.map.ObjEntity; import org.apache.cayenne.map.Relationship; -import org.apache.cayenne.map.naming.BasicNameGenerator; +import org.apache.cayenne.map.naming.LegacyNameGenerator; import org.apache.cayenne.resource.URLResource; import java.net.URL; @@ -89,7 +89,7 @@ public void testMatchingForNotManyToManyEntity() throws Exception { public void testOptimisationForManyToManyEntity() { ObjEntity manyToManyEntity = map.getObjEntity("Table1Table2"); - ManyToManyCandidateEntity.build(manyToManyEntity).optimizeRelationships(new BasicNameGenerator()); + ManyToManyCandidateEntity.build(manyToManyEntity).optimizeRelationships(new LegacyNameGenerator()); ObjEntity table1Entity = map.getObjEntity("Table1"); ObjEntity table2Entity = map.getObjEntity("Table2"); diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/naming/BasicNameGeneratorTest.java b/cayenne-server/src/test/java/org/apache/cayenne/map/naming/LegacyNameGeneratorTest.java similarity index 93% rename from cayenne-server/src/test/java/org/apache/cayenne/map/naming/BasicNameGeneratorTest.java rename to cayenne-server/src/test/java/org/apache/cayenne/map/naming/LegacyNameGeneratorTest.java index e0bd5c0237..423989c631 100644 --- a/cayenne-server/src/test/java/org/apache/cayenne/map/naming/BasicNameGeneratorTest.java +++ b/cayenne-server/src/test/java/org/apache/cayenne/map/naming/LegacyNameGeneratorTest.java @@ -1,50 +1,50 @@ -/***************************************************************** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - ****************************************************************/ -package org.apache.cayenne.map.naming; - -import junit.framework.TestCase; - -import org.apache.cayenne.map.DbAttribute; -import org.apache.cayenne.map.DbEntity; -import org.apache.cayenne.map.DbRelationship; - -public class BasicNameGeneratorTest extends TestCase { - public void testStrategy() throws Exception { - BasicNameGenerator strategy = new BasicNameGenerator(); - - ExportedKey key = new ExportedKey("ARTIST", "ARTIST_ID", null, - "PAINTING", "ARTIST_ID", null); - assertEquals(strategy.createDbRelationshipName(key, false), "toArtist"); - assertEquals(strategy.createDbRelationshipName(key, true), "paintingArray"); - - key = new ExportedKey("PERSON", "PERSON_ID", null, - "PERSON", "MOTHER_ID", null); - assertEquals(strategy.createDbRelationshipName(key, false), "toPerson"); - assertEquals(strategy.createDbRelationshipName(key, true), "personArray"); - - assertEquals(strategy.createObjEntityName(new DbEntity("ARTIST")), "Artist"); - assertEquals(strategy.createObjEntityName(new DbEntity("ARTIST_WORK")), "ArtistWork"); - - assertEquals(strategy.createObjAttributeName(new DbAttribute("NAME")), "name"); - assertEquals(strategy.createObjAttributeName(new DbAttribute("ARTIST_NAME")), "artistName"); - - assertEquals(strategy.createObjRelationshipName(new DbRelationship("toArtist")), "toArtist"); - assertEquals(strategy.createObjRelationshipName(new DbRelationship("paintingArray")), "paintingArray"); - } -} +/***************************************************************** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + ****************************************************************/ +package org.apache.cayenne.map.naming; + +import junit.framework.TestCase; + +import org.apache.cayenne.map.DbAttribute; +import org.apache.cayenne.map.DbEntity; +import org.apache.cayenne.map.DbRelationship; + +public class LegacyNameGeneratorTest extends TestCase { + public void testStrategy() throws Exception { + LegacyNameGenerator strategy = new LegacyNameGenerator(); + + ExportedKey key = new ExportedKey("ARTIST", "ARTIST_ID", null, + "PAINTING", "ARTIST_ID", null); + assertEquals(strategy.createDbRelationshipName(key, false), "toArtist"); + assertEquals(strategy.createDbRelationshipName(key, true), "paintingArray"); + + key = new ExportedKey("PERSON", "PERSON_ID", null, + "PERSON", "MOTHER_ID", null); + assertEquals(strategy.createDbRelationshipName(key, false), "toPerson"); + assertEquals(strategy.createDbRelationshipName(key, true), "personArray"); + + assertEquals(strategy.createObjEntityName(new DbEntity("ARTIST")), "Artist"); + assertEquals(strategy.createObjEntityName(new DbEntity("ARTIST_WORK")), "ArtistWork"); + + assertEquals(strategy.createObjAttributeName(new DbAttribute("NAME")), "name"); + assertEquals(strategy.createObjAttributeName(new DbAttribute("ARTIST_NAME")), "artistName"); + + assertEquals(strategy.createObjRelationshipName(new DbRelationship("toArtist")), "toArtist"); + assertEquals(strategy.createObjRelationshipName(new DbRelationship("paintingArray")), "paintingArray"); + } +} diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/naming/NameCheckersTest.java b/cayenne-server/src/test/java/org/apache/cayenne/map/naming/NameCheckersTest.java index 9e08554c9e..de21fdbe77 100644 --- a/cayenne-server/src/test/java/org/apache/cayenne/map/naming/NameCheckersTest.java +++ b/cayenne-server/src/test/java/org/apache/cayenne/map/naming/NameCheckersTest.java @@ -43,7 +43,7 @@ public class NameCheckersTest { @Test public void testObjEntityAttributes() throws Exception { - NameCheckers maker = NameCheckers.ObjAttribute; + NameCheckers maker = NameCheckers.objAttribute; ObjEntity namingContainer = new ObjEntity(); String baseName = maker.baseName(); @@ -63,7 +63,7 @@ public void testObjEntityAttributes() throws Exception { assertEquals(baseName + "3", name); namingContainer.addAttribute(new ObjAttribute(name)); - maker = NameCheckers.ObjRelationship; + maker = NameCheckers.objRelationship; baseName = maker.baseName(); name = DefaultUniqueNameGenerator.generate(maker, namingContainer); assertEquals(baseName, name); @@ -73,7 +73,7 @@ public void testObjEntityAttributes() throws Exception { assertEquals(baseName + "1", name); namingContainer.addRelationship(new ObjRelationship(name)); - maker = NameCheckers.ObjCallbackMethod; + maker = NameCheckers.objCallbackMethod; baseName = maker.baseName(); name = DefaultUniqueNameGenerator.generate(maker, namingContainer); assertEquals(baseName, name); @@ -85,23 +85,23 @@ public void testEntity () { DataMap map = new DataMap(); map.addDbEntity(new DbEntity("name")); - checkNameAndOther(map, NameCheckers.DbEntity, "name"); + checkNameAndOther(map, NameCheckers.dbEntity, "name"); map.addObjEntity(new ObjEntity("name")); - checkNameAndOther(map, NameCheckers.ObjEntity, "name"); + checkNameAndOther(map, NameCheckers.objEntity, "name"); map.addProcedure(new Procedure("name")); - checkNameAndOther(map, NameCheckers.Procedure, "name"); + checkNameAndOther(map, NameCheckers.procedure, "name"); SelectQuery query = new SelectQuery("name"); query.setName("name"); map.addQuery(query); - checkNameAndOther(map, NameCheckers.Query, "name"); + checkNameAndOther(map, NameCheckers.query, "name"); } @Test public void testProject() throws Exception { - assertFalse(NameCheckers.DataChannelDescriptor.isNameInUse(null, null)); + assertFalse(NameCheckers.dataChannelDescriptor.isNameInUse(null, null)); } @Test @@ -109,7 +109,7 @@ public void testDbEntity() throws Exception { DbEntity dbEntity = new DbEntity(); dbEntity.addRelationship(new DbRelationship("name")); - checkNameAndOther(dbEntity, NameCheckers.DbRelationship, "name"); + checkNameAndOther(dbEntity, NameCheckers.dbRelationship, "name"); } @Test @@ -117,7 +117,7 @@ public void testProcedureAttr() throws Exception { Procedure procedure = new Procedure(); procedure.addCallParameter(new ProcedureParameter("name")); - checkNameAndOther(procedure, NameCheckers.ProcedureParameter, "name"); + checkNameAndOther(procedure, NameCheckers.procedureParameter, "name"); } @Test @@ -125,7 +125,7 @@ public void testEmbeddableAttr() throws Exception { Embeddable embeddable = new Embeddable(); embeddable.addAttribute(new EmbeddableAttribute("name")); - checkNameAndOther(embeddable, NameCheckers.EmbeddableAttribute, "name"); + checkNameAndOther(embeddable, NameCheckers.embeddableAttribute, "name"); } @Test @@ -133,10 +133,10 @@ public void testDatanode() throws Exception { DataChannelDescriptor descriptor = new DataChannelDescriptor(); descriptor.getDataMaps().add(new DataMap("name")); - checkNameAndOther(descriptor, NameCheckers.DataMap, "name"); + checkNameAndOther(descriptor, NameCheckers.dataMap, "name"); descriptor.getNodeDescriptors().add(new DataNodeDescriptor("name")); - checkNameAndOther(descriptor, NameCheckers.DataNodeDescriptor, "name"); + checkNameAndOther(descriptor, NameCheckers.dataNodeDescriptor, "name"); } @Test @@ -144,10 +144,10 @@ public void testDataMap() throws Exception { DataDomain dataDomain = new DataDomain("name"); dataDomain.addDataMap(new DataMap("name")); - checkNameAndOther(dataDomain, NameCheckers.DataMap, "name"); + checkNameAndOther(dataDomain, NameCheckers.dataMap, "name"); - assertFalse(NameCheckers.DataMap.isNameInUse(null, "name")); - assertFalse(NameCheckers.DataMap.isNameInUse(1, "name")); + assertFalse(NameCheckers.dataMap.isNameInUse(null, "name")); + assertFalse(NameCheckers.dataMap.isNameInUse(1, "name")); } private void checkNameAndOther(Object namingContainer, NameCheckers maker, String newName) { @@ -161,13 +161,13 @@ public void testOverlappingAttributeAndCallbackNames() throws Exception { ObjEntity namingContainer = new ObjEntity(); namingContainer.addAttribute(new ObjAttribute("myName")); - Assert.assertEquals("getMyName1", DefaultUniqueNameGenerator.generate(NameCheckers.ObjCallbackMethod, namingContainer, "getMyName")); + Assert.assertEquals("getMyName1", DefaultUniqueNameGenerator.generate(NameCheckers.objCallbackMethod, namingContainer, "getMyName")); namingContainer.getCallbackMap().getPostAdd().addCallbackMethod("getSecondName"); - Assert.assertEquals("SecondName1", DefaultUniqueNameGenerator.generate(NameCheckers.ObjAttribute, namingContainer, "SecondName")); - Assert.assertEquals("secondName1", DefaultUniqueNameGenerator.generate(NameCheckers.ObjAttribute, namingContainer, "secondName")); - Assert.assertEquals("SecondName1", DefaultUniqueNameGenerator.generate(NameCheckers.ObjRelationship, namingContainer, "SecondName")); - Assert.assertEquals("secondName1", DefaultUniqueNameGenerator.generate(NameCheckers.ObjRelationship, namingContainer, "secondName")); + Assert.assertEquals("SecondName1", DefaultUniqueNameGenerator.generate(NameCheckers.objAttribute, namingContainer, "SecondName")); + Assert.assertEquals("secondName1", DefaultUniqueNameGenerator.generate(NameCheckers.objAttribute, namingContainer, "secondName")); + Assert.assertEquals("SecondName1", DefaultUniqueNameGenerator.generate(NameCheckers.objRelationship, namingContainer, "SecondName")); + Assert.assertEquals("secondName1", DefaultUniqueNameGenerator.generate(NameCheckers.objRelationship, namingContainer, "secondName")); } @Test @@ -175,12 +175,12 @@ public void testAttributeDifferentInFirstLetterCases() throws Exception { ObjEntity namingContainer = new ObjEntity(); namingContainer.addAttribute(new ObjAttribute("myName")); - Assert.assertTrue(NameCheckers.ObjAttribute.isNameInUse(namingContainer, "myName")); - Assert.assertFalse(NameCheckers.ObjAttribute.isNameInUse(namingContainer, "MyName")); + Assert.assertTrue(NameCheckers.objAttribute.isNameInUse(namingContainer, "myName")); + Assert.assertFalse(NameCheckers.objAttribute.isNameInUse(namingContainer, "MyName")); namingContainer.getCallbackMap().getPostAdd().addCallbackMethod("getSecondName"); - Assert.assertEquals("SecondName1", DefaultUniqueNameGenerator.generate(NameCheckers.ObjAttribute, namingContainer, "SecondName")); - Assert.assertEquals("secondName1", DefaultUniqueNameGenerator.generate(NameCheckers.ObjAttribute, namingContainer, "secondName")); + Assert.assertEquals("SecondName1", DefaultUniqueNameGenerator.generate(NameCheckers.objAttribute, namingContainer, "SecondName")); + Assert.assertEquals("secondName1", DefaultUniqueNameGenerator.generate(NameCheckers.objAttribute, namingContainer, "secondName")); } @Test @@ -188,17 +188,17 @@ public void testEmbeddable() { DataMap map = new DataMap(); map.addEmbeddable(new Embeddable("name")); - Assert.assertTrue(NameCheckers.Embeddable.isNameInUse(map, "name")); - Assert.assertEquals("name1", DefaultUniqueNameGenerator.generate(NameCheckers.Embeddable, map, "name")); - Assert.assertFalse(NameCheckers.Embeddable.isNameInUse(map, "other-name")); + Assert.assertTrue(NameCheckers.embeddable.isNameInUse(map, "name")); + Assert.assertEquals("name1", DefaultUniqueNameGenerator.generate(NameCheckers.embeddable, map, "name")); + Assert.assertFalse(NameCheckers.embeddable.isNameInUse(map, "other-name")); map.setDefaultPackage("package"); - Assert.assertFalse(NameCheckers.Embeddable.isNameInUse(map, "name")); - Assert.assertEquals("package.name", DefaultUniqueNameGenerator.generate(NameCheckers.Embeddable, map, "name")); + Assert.assertFalse(NameCheckers.embeddable.isNameInUse(map, "name")); + Assert.assertEquals("package.name", DefaultUniqueNameGenerator.generate(NameCheckers.embeddable, map, "name")); map.addEmbeddable(new Embeddable("package.name")); - Assert.assertTrue(NameCheckers.Embeddable.isNameInUse(map, "name")); - Assert.assertEquals("package.name1", DefaultUniqueNameGenerator.generate(NameCheckers.Embeddable, map, "name")); - Assert.assertFalse(NameCheckers.Embeddable.isNameInUse(map, "other-name")); + Assert.assertTrue(NameCheckers.embeddable.isNameInUse(map, "name")); + Assert.assertEquals("package.name1", DefaultUniqueNameGenerator.generate(NameCheckers.embeddable, map, "name")); + Assert.assertFalse(NameCheckers.embeddable.isNameInUse(map, "other-name")); } } \ No newline at end of file diff --git a/cayenne-tools/src/main/java/org/apache/cayenne/map/naming/SmartNameGenerator.java b/cayenne-tools/src/main/java/org/apache/cayenne/map/naming/DefaultNameGenerator.java similarity index 97% rename from cayenne-tools/src/main/java/org/apache/cayenne/map/naming/SmartNameGenerator.java rename to cayenne-tools/src/main/java/org/apache/cayenne/map/naming/DefaultNameGenerator.java index a674de89b3..7ee7ca7c3f 100644 --- a/cayenne-tools/src/main/java/org/apache/cayenne/map/naming/SmartNameGenerator.java +++ b/cayenne-tools/src/main/java/org/apache/cayenne/map/naming/DefaultNameGenerator.java @@ -31,7 +31,7 @@ * * @since 3.2 */ -public class SmartNameGenerator implements ObjectNameGenerator { +public class DefaultNameGenerator implements ObjectNameGenerator { @Override public String createDbRelationshipName(ExportedKey key, boolean toMany) { diff --git a/cayenne-tools/src/main/java/org/apache/cayenne/tools/DbImporterTask.java b/cayenne-tools/src/main/java/org/apache/cayenne/tools/DbImporterTask.java index c93f6b447f..632b0a8011 100644 --- a/cayenne-tools/src/main/java/org/apache/cayenne/tools/DbImporterTask.java +++ b/cayenne-tools/src/main/java/org/apache/cayenne/tools/DbImporterTask.java @@ -23,7 +23,7 @@ import org.apache.cayenne.di.DIBootstrap; import org.apache.cayenne.di.Injector; -import org.apache.cayenne.map.naming.SmartNameGenerator; +import org.apache.cayenne.map.naming.DefaultNameGenerator; import org.apache.cayenne.tools.configuration.ToolsModule; import org.apache.cayenne.tools.dbimport.DbImportAction; import org.apache.cayenne.tools.dbimport.DbImportModule; @@ -53,7 +53,7 @@ public DbImporterTask() { parameters.setOverwrite(true); parameters.setImportProcedures(false); parameters.setUsePrimitives(true); - parameters.setNamingStrategy(SmartNameGenerator.class.getName()); + parameters.setNamingStrategy(DefaultNameGenerator.class.getName()); } @Override diff --git a/cayenne-tools/src/test/java/org/apache/cayenne/map/naming/SmartNameGeneratorTest.java b/cayenne-tools/src/test/java/org/apache/cayenne/map/naming/DefaultNameGeneratorTest.java similarity index 95% rename from cayenne-tools/src/test/java/org/apache/cayenne/map/naming/SmartNameGeneratorTest.java rename to cayenne-tools/src/test/java/org/apache/cayenne/map/naming/DefaultNameGeneratorTest.java index 053ac8c9a7..5664d02b91 100644 --- a/cayenne-tools/src/test/java/org/apache/cayenne/map/naming/SmartNameGeneratorTest.java +++ b/cayenne-tools/src/test/java/org/apache/cayenne/map/naming/DefaultNameGeneratorTest.java @@ -24,9 +24,9 @@ import org.apache.cayenne.map.DbEntity; import org.apache.cayenne.map.DbRelationship; -public class SmartNameGeneratorTest extends TestCase { +public class DefaultNameGeneratorTest extends TestCase { public void testStrategy() throws Exception { - SmartNameGenerator strategy = new SmartNameGenerator(); + DefaultNameGenerator strategy = new DefaultNameGenerator(); ExportedKey key = new ExportedKey("ARTIST", "ARTIST_ID", null, "PAINTING", "ARTIST_ID", null); diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateAttributeAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateAttributeAction.java index 1b8b939adb..371a84bcc0 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateAttributeAction.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateAttributeAction.java @@ -77,7 +77,7 @@ public void performAction(ActionEvent e) { Embeddable embeddable = mediator.getCurrentEmbeddable(); EmbeddableAttribute attr = new EmbeddableAttribute(); - attr.setName(DefaultUniqueNameGenerator.generate(NameCheckers.EmbeddableAttribute, embeddable)); + attr.setName(DefaultUniqueNameGenerator.generate(NameCheckers.embeddableAttribute, embeddable)); createEmbAttribute(embeddable, attr); @@ -89,7 +89,7 @@ public void performAction(ActionEvent e) { ObjEntity objEntity = mediator.getCurrentObjEntity(); - ObjAttribute attr = new ObjAttribute(DefaultUniqueNameGenerator.generate(NameCheckers.ObjAttribute, objEntity), null, objEntity); + ObjAttribute attr = new ObjAttribute(DefaultUniqueNameGenerator.generate(NameCheckers.objAttribute, objEntity), null, objEntity); createObjAttribute(mediator.getCurrentDataMap(), objEntity, attr); @@ -99,7 +99,7 @@ public void performAction(ActionEvent e) { } else if (getProjectController().getCurrentDbEntity() != null) { DbEntity dbEntity = getProjectController().getCurrentDbEntity(); - DbAttribute attr = new DbAttribute(DefaultUniqueNameGenerator.generate(NameCheckers.DbAttribute, dbEntity), + DbAttribute attr = new DbAttribute(DefaultUniqueNameGenerator.generate(NameCheckers.dbAttribute, dbEntity), TypesMapping.NOT_DEFINED, dbEntity); createDbAttribute(mediator.getCurrentDataMap(), dbEntity, attr); diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateCallbackMethodAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateCallbackMethodAction.java index 7244bd8765..150241c772 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateCallbackMethodAction.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateCallbackMethodAction.java @@ -78,7 +78,7 @@ public final void performAction(ActionEvent e) { // generate methodName String methodNamePrefix = toMethodName(callbackType.getType()); - String methodName = DefaultUniqueNameGenerator.generate(NameCheckers.ObjCallbackMethod, getProjectController().getCurrentObjEntity(), methodNamePrefix); + String methodName = DefaultUniqueNameGenerator.generate(NameCheckers.objCallbackMethod, getProjectController().getCurrentObjEntity(), methodNamePrefix); createCallbackMethod(callbackType, methodName); application.getUndoManager().addEdit( diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateDataMapAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateDataMapAction.java index 362a1e8c70..cd10138f9a 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateDataMapAction.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateDataMapAction.java @@ -64,7 +64,7 @@ public void performAction(ActionEvent e) { .getProject() .getRootNode(); - DataMap map = new DataMap(DefaultUniqueNameGenerator.generate(NameCheckers.DataMap, currentDomain)); + DataMap map = new DataMap(DefaultUniqueNameGenerator.generate(NameCheckers.dataMap, currentDomain)); // set configuration source for new dataMap Resource baseResource = currentDomain.getConfigurationSource(); diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateDbEntityAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateDbEntityAction.java index 9c11a2639f..f9d6301daa 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateDbEntityAction.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateDbEntityAction.java @@ -65,7 +65,7 @@ public void performAction(ActionEvent e) { ProjectController mediator = getProjectController(); DataMap map = mediator.getCurrentDataMap(); - DbEntity entity = new DbEntity(DefaultUniqueNameGenerator.generate(NameCheckers.DbEntity, map)); + DbEntity entity = new DbEntity(DefaultUniqueNameGenerator.generate(NameCheckers.dbEntity, map)); createEntity(map, entity); diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateEmbeddableAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateEmbeddableAction.java index 49bf0015af..6466f573f2 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateEmbeddableAction.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateEmbeddableAction.java @@ -56,7 +56,7 @@ public void performAction(ActionEvent e) { DataMap dataMap = mediator.getCurrentDataMap(); - Embeddable embeddable = new Embeddable(DefaultUniqueNameGenerator.generate(NameCheckers.Embeddable, mediator.getCurrentDataMap())); + Embeddable embeddable = new Embeddable(DefaultUniqueNameGenerator.generate(NameCheckers.embeddable, mediator.getCurrentDataMap())); createEmbeddable(dataMap, embeddable); application.getUndoManager().addEdit( diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateNodeAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateNodeAction.java index 75d79ea85c..8632b18e7e 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateNodeAction.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateNodeAction.java @@ -112,7 +112,7 @@ public DataNodeDescriptor buildDataNode() { * A factory method that makes a new DataNode. */ DataNodeDescriptor buildDataNode(DataChannelDescriptor domain) { - DataNodeDescriptor node = new DataNodeDescriptor(DefaultUniqueNameGenerator.generate(NameCheckers.DataNodeDescriptor, domain)); + DataNodeDescriptor node = new DataNodeDescriptor(DefaultUniqueNameGenerator.generate(NameCheckers.dataNodeDescriptor, domain)); node.setDataChannelDescriptor(domain); return node; diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateObjEntityAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateObjEntityAction.java index 8df37d8934..7ba624d02e 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateObjEntityAction.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateObjEntityAction.java @@ -71,7 +71,7 @@ protected void createObjEntity() { ProjectController mediator = getProjectController(); DataMap dataMap = mediator.getCurrentDataMap(); - ObjEntity entity = new ObjEntity(DefaultUniqueNameGenerator.generate(NameCheckers.ObjEntity, dataMap)); + ObjEntity entity = new ObjEntity(DefaultUniqueNameGenerator.generate(NameCheckers.objEntity, dataMap)); // init defaults entity.setSuperClassName(dataMap.getDefaultSuperclass()); @@ -81,7 +81,7 @@ protected void createObjEntity() { if (dbEntity != null) { entity.setDbEntity(dbEntity); String baseName = NameConverter.underscoredToJava(dbEntity.getName(), true); - entity.setName(DefaultUniqueNameGenerator.generate(NameCheckers.ObjEntity, dbEntity.getDataMap(), baseName)); + entity.setName(DefaultUniqueNameGenerator.generate(NameCheckers.objEntity, dbEntity.getDataMap(), baseName)); } String pkg = dataMap.getDefaultPackage(); diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateProcedureAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateProcedureAction.java index 2d0e6527b1..94e7f636dd 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateProcedureAction.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateProcedureAction.java @@ -53,7 +53,7 @@ public void performAction(ActionEvent e) { ProjectController mediator = getProjectController(); DataMap map = mediator.getCurrentDataMap(); - Procedure procedure = new Procedure(DefaultUniqueNameGenerator.generate(NameCheckers.Procedure, map)); + Procedure procedure = new Procedure(DefaultUniqueNameGenerator.generate(NameCheckers.procedure, map)); createProcedure(map, procedure); diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateProcedureParameterAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateProcedureParameterAction.java index c4149215e8..c4d499175e 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateProcedureParameterAction.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateProcedureParameterAction.java @@ -66,7 +66,7 @@ public void performAction(ActionEvent e) { public void createProcedureParameter() { Procedure procedure = getProjectController().getCurrentProcedure(); - ProcedureParameter parameter = new ProcedureParameter(DefaultUniqueNameGenerator.generate(NameCheckers.ProcedureParameter, procedure)); + ProcedureParameter parameter = new ProcedureParameter(DefaultUniqueNameGenerator.generate(NameCheckers.procedureParameter, procedure)); procedure.addCallParameter(parameter); ProjectController mediator = getProjectController(); diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateRelationshipAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateRelationshipAction.java index 0127a0131f..57431b7b71 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateRelationshipAction.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateRelationshipAction.java @@ -68,7 +68,7 @@ public void performAction(ActionEvent e) { ObjEntity objEnt = getProjectController().getCurrentObjEntity(); if (objEnt != null) { - ObjRelationship rel = new ObjRelationship(DefaultUniqueNameGenerator.generate(NameCheckers.ObjRelationship, objEnt)); + ObjRelationship rel = new ObjRelationship(DefaultUniqueNameGenerator.generate(NameCheckers.objRelationship, objEnt)); createObjRelationship(objEnt, rel); application.getUndoManager().addEdit( @@ -77,7 +77,7 @@ public void performAction(ActionEvent e) { DbEntity dbEnt = getProjectController().getCurrentDbEntity(); if (dbEnt != null) { - DbRelationship rel = new DbRelationship(DefaultUniqueNameGenerator.generate(NameCheckers.DbRelationship, dbEnt)); + DbRelationship rel = new DbRelationship(DefaultUniqueNameGenerator.generate(NameCheckers.dbRelationship, dbEnt)); createDbRelationship(dbEnt, rel); application.getUndoManager().addEdit( diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ImportDataMapAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ImportDataMapAction.java index 27d9f6d335..4b5e2fee3f 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ImportDataMapAction.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ImportDataMapAction.java @@ -96,10 +96,10 @@ protected void importDataMap() { .getRootNode(); if (newMap.getName() != null) { - newMap.setName(DefaultUniqueNameGenerator.generate(NameCheckers.DataMap, domain, newMap.getName())); + newMap.setName(DefaultUniqueNameGenerator.generate(NameCheckers.dataMap, domain, newMap.getName())); } else { - newMap.setName(DefaultUniqueNameGenerator.generate(NameCheckers.DataMap, domain)); + newMap.setName(DefaultUniqueNameGenerator.generate(NameCheckers.dataMap, domain)); } Resource baseResource = domain.getConfigurationSource(); diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ImportEOModelAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ImportEOModelAction.java index 27ad76e005..d7879fc5a8 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ImportEOModelAction.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ImportEOModelAction.java @@ -302,7 +302,7 @@ protected void addDataMap(DataMap map, DataMap currentMap) { else { // fix DataMap name, as there maybe a map with the same name already DataChannelDescriptor domain = (DataChannelDescriptor) mediator.getProject().getRootNode(); - map.setName(DefaultUniqueNameGenerator.generate(NameCheckers.DataMap, domain, map.getName())); + map.setName(DefaultUniqueNameGenerator.generate(NameCheckers.dataMap, domain, map.getName())); // side effect of this operation is that if a node was created, this DataMap // will be linked with it... diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/NewProjectAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/NewProjectAction.java index 6df35cf3c4..d897350fb3 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/NewProjectAction.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/NewProjectAction.java @@ -68,7 +68,7 @@ public void performAction(ActionEvent e) { DataChannelDescriptor domain = new DataChannelDescriptor(); - domain.setName(DefaultUniqueNameGenerator.generate(NameCheckers.DataChannelDescriptor, domain)); + domain.setName(DefaultUniqueNameGenerator.generate(NameCheckers.dataChannelDescriptor, domain)); Project project = new Project( new ConfigurationTree(domain)); diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/PasteAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/PasteAction.java index 0bb6bea95e..99770ab25c 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/PasteAction.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/PasteAction.java @@ -173,7 +173,7 @@ public void paste( // paste DataMap to DataDomain or DataNode DataMap dataMap = ((DataMap) content); - dataMap.setName(DefaultUniqueNameGenerator.generate(NameCheckers.DataMap, COPY_PATTERN, domain, dataMap.getName())); + dataMap.setName(DefaultUniqueNameGenerator.generate(NameCheckers.dataMap, COPY_PATTERN, domain, dataMap.getName())); /** * Update all names in the new DataMap, so that they would not conflict with @@ -189,7 +189,7 @@ public void paste( for (DbEntity dbEntity : dataMap.getDbEntities()) { String oldName = dbEntity.getName(); - dbEntity.setName(DefaultUniqueNameGenerator.generate(NameCheckers.DbEntity, COPY_PATTERN, domain, dbEntity.getName())); + dbEntity.setName(DefaultUniqueNameGenerator.generate(NameCheckers.dbEntity, COPY_PATTERN, domain, dbEntity.getName())); if (!oldName.equals(dbEntity.getName())) { renamedDbEntities.put(oldName, dbEntity.getName()); @@ -197,7 +197,7 @@ public void paste( } for (ObjEntity objEntity : dataMap.getObjEntities()) { String oldName = objEntity.getName(); - objEntity.setName(DefaultUniqueNameGenerator.generate(NameCheckers.ObjEntity, COPY_PATTERN, domain, objEntity.getName())); + objEntity.setName(DefaultUniqueNameGenerator.generate(NameCheckers.objEntity, COPY_PATTERN, domain, objEntity.getName())); if (!oldName.equals(objEntity.getName())) { renamedObjEntities.put(oldName, objEntity.getName()); @@ -206,7 +206,7 @@ public void paste( for (Embeddable embeddable : dataMap.getEmbeddables()) { String oldName = embeddable.getClassName(); - embeddable.setClassName(DefaultUniqueNameGenerator.generate(NameCheckers.Embeddable, COPY_PATTERN, domain, embeddable.getClassName())); + embeddable.setClassName(DefaultUniqueNameGenerator.generate(NameCheckers.embeddable, COPY_PATTERN, domain, embeddable.getClassName())); if (!oldName.equals(embeddable.getClassName())) { renamedEmbeddables.put(oldName, embeddable.getClassName()); @@ -214,10 +214,10 @@ public void paste( } for (Procedure procedure : dataMap.getProcedures()) { - procedure.setName(DefaultUniqueNameGenerator.generate(NameCheckers.Procedure, COPY_PATTERN, domain, procedure.getName())); + procedure.setName(DefaultUniqueNameGenerator.generate(NameCheckers.procedure, COPY_PATTERN, domain, procedure.getName())); } for (Query query : dataMap.getQueries()) { - ((AbstractQuery) query).setName(DefaultUniqueNameGenerator.generate(NameCheckers.Query, COPY_PATTERN, domain, query.getName())); + ((AbstractQuery) query).setName(DefaultUniqueNameGenerator.generate(NameCheckers.query, COPY_PATTERN, domain, query.getName())); } // if an entity was renamed, we rename all links to it too @@ -259,7 +259,7 @@ else if (where instanceof DataMap) { if (content instanceof DbEntity) { DbEntity dbEntity = (DbEntity) content; - dbEntity.setName(DefaultUniqueNameGenerator.generate(NameCheckers.DbEntity, COPY_PATTERN, domain, dbEntity.getName())); + dbEntity.setName(DefaultUniqueNameGenerator.generate(NameCheckers.dbEntity, COPY_PATTERN, domain, dbEntity.getName())); dataMap.addDbEntity(dbEntity); CreateDbEntityAction.fireDbEntityEvent(this, mediator, dbEntity); @@ -267,7 +267,7 @@ else if (where instanceof DataMap) { else if (content instanceof ObjEntity) { // paste ObjEntity to DataMap ObjEntity objEntity = (ObjEntity) content; - objEntity.setName(DefaultUniqueNameGenerator.generate(NameCheckers.ObjEntity, COPY_PATTERN, domain, objEntity.getName())); + objEntity.setName(DefaultUniqueNameGenerator.generate(NameCheckers.objEntity, COPY_PATTERN, domain, objEntity.getName())); dataMap.addObjEntity(objEntity); CreateObjEntityAction.fireObjEntityEvent( @@ -279,7 +279,7 @@ else if (content instanceof ObjEntity) { else if (content instanceof Embeddable) { // paste Embeddable to DataMap Embeddable embeddable = (Embeddable) content; - embeddable.setClassName(DefaultUniqueNameGenerator.generate(NameCheckers.Embeddable, COPY_PATTERN, domain, embeddable.getClassName())); + embeddable.setClassName(DefaultUniqueNameGenerator.generate(NameCheckers.embeddable, COPY_PATTERN, domain, embeddable.getClassName())); dataMap.addEmbeddable(embeddable); CreateEmbeddableAction.fireEmbeddableEvent( @@ -291,7 +291,7 @@ else if (content instanceof Embeddable) { else if (content instanceof EJBQLQuery) { EJBQLQuery query = (EJBQLQuery) content; - query.setName(DefaultUniqueNameGenerator.generate(NameCheckers.Query, COPY_PATTERN, domain, query.getName())); + query.setName(DefaultUniqueNameGenerator.generate(NameCheckers.query, COPY_PATTERN, domain, query.getName())); query.setDataMap(dataMap); dataMap.addQuery(query); @@ -301,7 +301,7 @@ else if (content instanceof Query) { // paste Query to DataMap AbstractQuery query = (AbstractQuery) content; - query.setName(DefaultUniqueNameGenerator.generate(NameCheckers.Query, COPY_PATTERN, domain, query.getName())); + query.setName(DefaultUniqueNameGenerator.generate(NameCheckers.query, COPY_PATTERN, domain, query.getName())); query.setDataMap(dataMap); dataMap.addQuery(query); @@ -310,7 +310,7 @@ else if (content instanceof Query) { else if (content instanceof Procedure) { // paste Procedure to DataMap Procedure procedure = (Procedure) content; - procedure.setName(DefaultUniqueNameGenerator.generate(NameCheckers.Procedure, COPY_PATTERN, domain, procedure.getName())); + procedure.setName(DefaultUniqueNameGenerator.generate(NameCheckers.procedure, COPY_PATTERN, domain, procedure.getName())); dataMap.addProcedure(procedure); CreateProcedureAction.fireProcedureEvent( @@ -325,7 +325,7 @@ else if (where instanceof DbEntity) { if (content instanceof DbAttribute) { DbAttribute attr = (DbAttribute) content; - attr.setName(DefaultUniqueNameGenerator.generate(NameCheckers.DbAttribute, COPY_PATTERN, dbEntity, attr.getName())); + attr.setName(DefaultUniqueNameGenerator.generate(NameCheckers.dbAttribute, COPY_PATTERN, dbEntity, attr.getName())); dbEntity.addAttribute(attr); CreateAttributeAction.fireDbAttributeEvent(this, mediator, mediator @@ -333,7 +333,7 @@ else if (where instanceof DbEntity) { } else if (content instanceof DbRelationship) { DbRelationship rel = (DbRelationship) content; - rel.setName(DefaultUniqueNameGenerator.generate(NameCheckers.DbRelationship, COPY_PATTERN, dbEntity, rel.getName())); + rel.setName(DefaultUniqueNameGenerator.generate(NameCheckers.dbRelationship, COPY_PATTERN, dbEntity, rel.getName())); dbEntity.addRelationship(rel); CreateRelationshipAction.fireDbRelationshipEvent( @@ -349,7 +349,7 @@ else if (where instanceof ObjEntity) { if (content instanceof ObjAttribute) { ObjAttribute attr = (ObjAttribute) content; - attr.setName(DefaultUniqueNameGenerator.generate(NameCheckers.ObjAttribute, COPY_PATTERN, objEntity, attr.getName())); + attr.setName(DefaultUniqueNameGenerator.generate(NameCheckers.objAttribute, COPY_PATTERN, objEntity, attr.getName())); objEntity.addAttribute(attr); CreateAttributeAction.fireObjAttributeEvent(this, mediator, mediator @@ -357,7 +357,7 @@ else if (where instanceof ObjEntity) { } else if (content instanceof ObjRelationship) { ObjRelationship rel = (ObjRelationship) content; - rel.setName(DefaultUniqueNameGenerator.generate(NameCheckers.ObjRelationship, COPY_PATTERN, objEntity, rel.getName())); + rel.setName(DefaultUniqueNameGenerator.generate(NameCheckers.objRelationship, COPY_PATTERN, objEntity, rel.getName())); objEntity.addRelationship(rel); CreateRelationshipAction.fireObjRelationshipEvent( @@ -369,7 +369,7 @@ else if (content instanceof ObjRelationship) { else if(content instanceof ObjCallbackMethod) { ObjCallbackMethod method = (ObjCallbackMethod) content; - method.setName(DefaultUniqueNameGenerator.generate(NameCheckers.ObjCallbackMethod, COPY_PATTERN, objEntity, method.getName())); + method.setName(DefaultUniqueNameGenerator.generate(NameCheckers.objCallbackMethod, COPY_PATTERN, objEntity, method.getName())); objEntity.getCallbackMap().getCallbackDescriptor(mediator.getCurrentCallbackType().getType()).addCallbackMethod(method.getName()); @@ -388,7 +388,7 @@ else if (where instanceof Embeddable) { if (content instanceof EmbeddableAttribute) { EmbeddableAttribute attr = (EmbeddableAttribute) content; - attr.setName(DefaultUniqueNameGenerator.generate(NameCheckers.EmbeddableAttribute, COPY_PATTERN, embeddable, attr.getName())); + attr.setName(DefaultUniqueNameGenerator.generate(NameCheckers.embeddableAttribute, COPY_PATTERN, embeddable, attr.getName())); embeddable.addAttribute(attr); CreateAttributeAction.fireEmbeddableAttributeEvent( @@ -407,7 +407,7 @@ else if (where instanceof Procedure) { if (content instanceof ProcedureParameter) { ProcedureParameter param = (ProcedureParameter) content; - param.setName(DefaultUniqueNameGenerator.generate(NameCheckers.ProcedureParameter, COPY_PATTERN, procedure, param.getName())); + param.setName(DefaultUniqueNameGenerator.generate(NameCheckers.procedureParameter, COPY_PATTERN, procedure, param.getName())); procedure.addCallParameter(param); CreateProcedureParameterAction.fireProcedureParameterEvent( diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/ResolveDbRelationshipDialog.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/ResolveDbRelationshipDialog.java index 3180e3c756..19a51da021 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/ResolveDbRelationshipDialog.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/ResolveDbRelationshipDialog.java @@ -292,7 +292,7 @@ private void save() { } if (sourceEntityName == null) { - sourceEntityName = DefaultUniqueNameGenerator.generate(NameCheckers.DbRelationship, relationship.getSourceEntity()); + sourceEntityName = DefaultUniqueNameGenerator.generate(NameCheckers.dbRelationship, relationship.getSourceEntity()); } if (!validateName(relationship.getSourceEntity(), relationship, sourceEntityName)) { @@ -305,7 +305,7 @@ private void save() { } if (targetEntityName == null) { - targetEntityName = DefaultUniqueNameGenerator.generate(NameCheckers.DbRelationship, relationship.getTargetEntity()); + targetEntityName = DefaultUniqueNameGenerator.generate(NameCheckers.dbRelationship, relationship.getTargetEntity()); } // check if reverse name is valid diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderHelper.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderHelper.java index e4aa68db36..9b604e1371 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderHelper.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderHelper.java @@ -345,8 +345,8 @@ protected void execute() { DbLoaderHelper.this.existingMap = dataMap != null; if (!existingMap) { - dataMap = new DataMap(DefaultUniqueNameGenerator.generate(NameCheckers.DataMap)); - dataMap.setName(DefaultUniqueNameGenerator.generate(NameCheckers.DataMap, mediator.getProject().getRootNode())); + dataMap = new DataMap(DefaultUniqueNameGenerator.generate(NameCheckers.dataMap)); + dataMap.setName(DefaultUniqueNameGenerator.generate(NameCheckers.dataMap, mediator.getProject().getRootNode())); dataMap.setDefaultSchema(schemaName); } diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/query/QueryType.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/query/QueryType.java index 557331a829..c00325a545 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/query/QueryType.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/query/QueryType.java @@ -141,7 +141,7 @@ public void createQuery() { } // update query... - String queryName = DefaultUniqueNameGenerator.generate(NameCheckers.Query, dataMap); + String queryName = DefaultUniqueNameGenerator.generate(NameCheckers.query, dataMap); if (query instanceof EJBQLQuery) { ((EJBQLQuery) query).setName(queryName); ((EJBQLQuery) query).setDataMap(dataMap); diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/NameGeneratorPreferences.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/NameGeneratorPreferences.java index 3af48594b7..eef86f2562 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/NameGeneratorPreferences.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/NameGeneratorPreferences.java @@ -22,8 +22,8 @@ import java.util.Vector; import java.util.prefs.Preferences; -import org.apache.cayenne.map.naming.BasicNameGenerator; -import org.apache.cayenne.map.naming.SmartNameGenerator; +import org.apache.cayenne.map.naming.LegacyNameGenerator; +import org.apache.cayenne.map.naming.DefaultNameGenerator; import org.apache.cayenne.modeler.Application; /** @@ -31,15 +31,15 @@ */ public class NameGeneratorPreferences { - private static final String STRATEGIES_PREFERENCE = "recent.name.generators"; + private static final String STRATEGIES_PREFERENCE = "name.generators.recent"; /** * Naming strategies to appear in combobox by default */ private static final Vector PREDEFINED_STRATEGIES = new Vector(); static { - PREDEFINED_STRATEGIES.add(BasicNameGenerator.class.getCanonicalName()); - PREDEFINED_STRATEGIES.add(SmartNameGenerator.class.getCanonicalName()); + PREDEFINED_STRATEGIES.add(DefaultNameGenerator.class.getCanonicalName()); + PREDEFINED_STRATEGIES.add(LegacyNameGenerator.class.getCanonicalName()); } static final NameGeneratorPreferences instance = new NameGeneratorPreferences(); 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 3ee8ede747..d241738a65 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 @@ -628,7 +628,7 @@ protected void makeReverseDbRelationships(DbEntity dbEntity) { if (relationship.getReverseRelationship() == null) { DbRelationship reverse = relationship.createReverseRelationship(); - String name = DefaultUniqueNameGenerator.generate(NameCheckers.DbRelationship, reverse.getSourceEntity(), relationship.getName() + "Reverse"); + String name = DefaultUniqueNameGenerator.generate(NameCheckers.dbRelationship, reverse.getSourceEntity(), relationship.getName() + "Reverse"); reverse.setName(name); relationship.getTargetEntity().addRelationship(reverse); } From 1454f65c71bd011f93ac7db0d4cddd5e863556e9 Mon Sep 17 00:00:00 2001 From: alexkolonitsky Date: Mon, 18 Aug 2014 16:45:06 +0300 Subject: [PATCH 2/5] 1) add idea project files to git ignore 2) fix build/documentation generation --- .gitignore | 1 + .../cayenne-guide/src/docbkx/including-cayenne-in-project.xml | 3 --- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 6196d801e6..f12106a8f6 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ derby.log bin/ .idea +*.iml diff --git a/docs/docbook/cayenne-guide/src/docbkx/including-cayenne-in-project.xml b/docs/docbook/cayenne-guide/src/docbkx/including-cayenne-in-project.xml index 32ebe3133d..cdcabde338 100644 --- a/docs/docbook/cayenne-guide/src/docbkx/including-cayenne-in-project.xml +++ b/docs/docbook/cayenne-guide/src/docbkx/including-cayenne-in-project.xml @@ -135,9 +135,6 @@ File Root destination directory for Java classes (ignoring their package names). The default is "src/main/java". - - - embeddableTemplate From 31d59e0c4aa8af61935413984a452f1788105187 Mon Sep 17 00:00:00 2001 From: alexkolonitsky Date: Thu, 9 Oct 2014 20:04:47 +0300 Subject: [PATCH 3/5] add maven reporting plugins checkstyle, pmd, findbugs clirr - report about broken backward compatibility api --- build-tools/cayenne-checkers/pom.xml | 52 ++ .../src/main/resources/cayenne-checkstyle.xml | 96 +++ .../src/main/resources/cayenne-pmd.xml | 363 ++++++++++ .../resources/cayenne-tests-checkstyle.xml | 99 +++ .../src/main/resources/cayenne-tests-pmd.xml | 662 ++++++++++++++++++ build-tools/pom.xml | 1 + cayenne-client/pom.xml | 11 +- cayenne-crypto/pom.xml | 11 +- cayenne-di/pom.xml | 11 +- cayenne-lifecycle/pom.xml | 11 +- cayenne-project/pom.xml | 11 +- .../cayenne-checkstyle-suppression.xml | 45 ++ cayenne-server/pom.xml | 32 +- cayenne-tools/pom.xml | 11 +- modeler/cayenne-modeler-generic-ext/pom.xml | 14 + modeler/cayenne-modeler-generic/pom.xml | 14 + modeler/cayenne-modeler-mac-ext/pom.xml | 14 + modeler/cayenne-modeler-mac-legacy/pom.xml | 14 + modeler/cayenne-modeler-mac/pom.xml | 14 + modeler/cayenne-modeler-win/pom.xml | 9 + modeler/cayenne-modeler/pom.xml | 14 + modeler/cayenne-wocompat/pom.xml | 14 + plugins/maven-cayenne-modeler-plugin/pom.xml | 14 + plugins/maven-cayenne-plugin/pom.xml | 14 + pom.xml | 160 ++++- 25 files changed, 1702 insertions(+), 9 deletions(-) create mode 100644 build-tools/cayenne-checkers/pom.xml create mode 100644 build-tools/cayenne-checkers/src/main/resources/cayenne-checkstyle.xml create mode 100644 build-tools/cayenne-checkers/src/main/resources/cayenne-pmd.xml create mode 100644 build-tools/cayenne-checkers/src/main/resources/cayenne-tests-checkstyle.xml create mode 100644 build-tools/cayenne-checkers/src/main/resources/cayenne-tests-pmd.xml create mode 100644 cayenne-server/cayenne-checkstyle-suppression.xml diff --git a/build-tools/cayenne-checkers/pom.xml b/build-tools/cayenne-checkers/pom.xml new file mode 100644 index 0000000000..9f19b0934f --- /dev/null +++ b/build-tools/cayenne-checkers/pom.xml @@ -0,0 +1,52 @@ + + + + 4.0.0 + + + org.apache.cayenne.build-tools + build-tools-parent + 3.2.M2-SNAPSHOT + ../pom.xml + + + cayenne-checkers + jar + + Cayenne Code Checkers + + + + + maven-compiler-plugin + + true + + + + maven-surefire-plugin + + true + + + + + + diff --git a/build-tools/cayenne-checkers/src/main/resources/cayenne-checkstyle.xml b/build-tools/cayenne-checkers/src/main/resources/cayenne-checkstyle.xml new file mode 100644 index 0000000000..269ff41cba --- /dev/null +++ b/build-tools/cayenne-checkers/src/main/resources/cayenne-checkstyle.xml @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build-tools/cayenne-checkers/src/main/resources/cayenne-pmd.xml b/build-tools/cayenne-checkers/src/main/resources/cayenne-pmd.xml new file mode 100644 index 0000000000..04c88c2335 --- /dev/null +++ b/build-tools/cayenne-checkers/src/main/resources/cayenne-pmd.xml @@ -0,0 +1,363 @@ + + + + + + 1 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 2 + + + + + + 3 + + + 3 + + + 1 + + + 3 + + + 3 + + + 3 + + + 4 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 1 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 4 + + + 3 + + + 4 + + + 5 + + + 3 + + + 3 + + + 3 + + + 3 + + + 4 + + + 1 + + + 3 + + + 3 + + + 1 + + + 1 + + + 1 + + + 3 + + + + + + 4 + + + 4 + + + 1 + + + 1 + + + 1 + + + 3 + + + 3 + + + 3 + + + 1 + + + 3 + + + 1 + + + 1 + + + 1 + + + 1 + + + 3 + + + 3 + + + 3 + + + 1 + + + 3 + + + 1 + + + 1 + + + 3 + + + 1 + + + 3 + + + 3 + + + 5 + + + 5 + + + 3 + + + 5 + + + 5 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 4 + + + 4 + + + 4 + + + 4 + + + 4 + + + 4 + + + 4 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + diff --git a/build-tools/cayenne-checkers/src/main/resources/cayenne-tests-checkstyle.xml b/build-tools/cayenne-checkers/src/main/resources/cayenne-tests-checkstyle.xml new file mode 100644 index 0000000000..249fd4bac0 --- /dev/null +++ b/build-tools/cayenne-checkers/src/main/resources/cayenne-tests-checkstyle.xml @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build-tools/cayenne-checkers/src/main/resources/cayenne-tests-pmd.xml b/build-tools/cayenne-checkers/src/main/resources/cayenne-tests-pmd.xml new file mode 100644 index 0000000000..4e0f8f4132 --- /dev/null +++ b/build-tools/cayenne-checkers/src/main/resources/cayenne-tests-pmd.xml @@ -0,0 +1,662 @@ + + + + + 3 + + + 1 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 2 + + + + + + 3 + + + 3 + + + 1 + + + 3 + + + 3 + + + 3 + + + 4 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 1 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 4 + + + 3 + + + 4 + + + 5 + + + 3 + + + 3 + + + 3 + + + 3 + + + 4 + + + 1 + + + 3 + + + 3 + + + 1 + + + 1 + + + 1 + + + 3 + + + + + + 4 + + + 4 + + + 3 + + + + + + + + 1 + + + 1 + + + 1 + + + 5 + + + + + + + + 3 + + + + + + + + 5 + + + + + + + + 3 + + + + + + + + 5 + + + + + + + + 5 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 5 + + + + + + + + 5 + + + + + + + + 5 + + + + + + + + 3 + + + + + + + + 3 + + + 3 + + + 3 + + + 1 + + + 3 + + + 1 + + + 1 + + + 1 + + + 1 + + + + + + + + 1 + + + 3 + + + 3 + + + 3 + + + 1 + + + 3 + + + 1 + + + 3 + + + 1 + + + 3 + + + 3 + + + 3 + + + + + + + + 2 + + + + + + + + 3 + + + + + + + + 1 + + + + + + + + 5 + + + 5 + + + 3 + + + 5 + + + 5 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 4 + + + 4 + + + 4 + + + 4 + + + 4 + + + 4 + + + 4 + + + 3 + + + 3 + + + 3 + + + 3 + + + + + + + + 3 + + + + + + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + diff --git a/build-tools/pom.xml b/build-tools/pom.xml index ec6c5ef6c0..194b65205f 100644 --- a/build-tools/pom.xml +++ b/build-tools/pom.xml @@ -36,6 +36,7 @@ cayenne-legal cayenne-test-utilities + cayenne-checkers diff --git a/cayenne-client/pom.xml b/cayenne-client/pom.xml index f4da6eabe2..103790a7c6 100644 --- a/cayenne-client/pom.xml +++ b/cayenne-client/pom.xml @@ -88,6 +88,15 @@ - + + maven-checkstyle-plugin + + + + maven-pmd-plugin + + diff --git a/cayenne-crypto/pom.xml b/cayenne-crypto/pom.xml index dfee666d3d..d7b599d19a 100644 --- a/cayenne-crypto/pom.xml +++ b/cayenne-crypto/pom.xml @@ -83,6 +83,15 @@ - + + maven-checkstyle-plugin + + + + maven-pmd-plugin + + diff --git a/cayenne-di/pom.xml b/cayenne-di/pom.xml index 440face950..eb6e2cd7ad 100644 --- a/cayenne-di/pom.xml +++ b/cayenne-di/pom.xml @@ -62,6 +62,15 @@ - + + maven-checkstyle-plugin + + + + maven-pmd-plugin + + diff --git a/cayenne-lifecycle/pom.xml b/cayenne-lifecycle/pom.xml index 863c93498c..85aeceef90 100644 --- a/cayenne-lifecycle/pom.xml +++ b/cayenne-lifecycle/pom.xml @@ -71,6 +71,15 @@ - + + maven-checkstyle-plugin + + + + maven-pmd-plugin + + diff --git a/cayenne-project/pom.xml b/cayenne-project/pom.xml index a3a1996e9a..c04f02bb0b 100644 --- a/cayenne-project/pom.xml +++ b/cayenne-project/pom.xml @@ -66,6 +66,15 @@ - + + maven-checkstyle-plugin + + + + maven-pmd-plugin + + diff --git a/cayenne-server/cayenne-checkstyle-suppression.xml b/cayenne-server/cayenne-checkstyle-suppression.xml new file mode 100644 index 0000000000..2c8bb344ce --- /dev/null +++ b/cayenne-server/cayenne-checkstyle-suppression.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cayenne-server/pom.xml b/cayenne-server/pom.xml index dfc7fb28ad..80b83dd565 100644 --- a/cayenne-server/pom.xml +++ b/cayenne-server/pom.xml @@ -242,6 +242,36 @@ - + + maven-checkstyle-plugin + + ${project.basedir}/cayenne-checkstyle-suppression.xml + + + + maven-pmd-plugin + + + **/ExpressionParserTreeConstants.java + **/JavaCharStream.java + **/JJTExpressionParserState.java + **/ParseException.java + **/Token.java + **/TokenMgrError.java + **/ExpressionParser.java + **/ExpressionParserConstants.java + **/ExpressionParserTokenManager.java + **/SimpleNode.java + **/ParseException.java + **/Parser.java.java + **/ParserConstants.java + **/ParserTokenManager.java + **/SimpleCharStream.java + **/TokenMgrError.java + org/apache/cayenne/ejbql/parser/* + + + + diff --git a/cayenne-tools/pom.xml b/cayenne-tools/pom.xml index f0ada1064e..45485df27b 100644 --- a/cayenne-tools/pom.xml +++ b/cayenne-tools/pom.xml @@ -123,6 +123,15 @@ - + + maven-checkstyle-plugin + + + + maven-pmd-plugin + + \ No newline at end of file diff --git a/modeler/cayenne-modeler-generic-ext/pom.xml b/modeler/cayenne-modeler-generic-ext/pom.xml index 8c8d20fe6f..f46fb5c74a 100644 --- a/modeler/cayenne-modeler-generic-ext/pom.xml +++ b/modeler/cayenne-modeler-generic-ext/pom.xml @@ -62,4 +62,18 @@ looks + + + + + maven-checkstyle-plugin + + + + maven-pmd-plugin + + + diff --git a/modeler/cayenne-modeler-generic/pom.xml b/modeler/cayenne-modeler-generic/pom.xml index 1c909e63ca..1294019b45 100644 --- a/modeler/cayenne-modeler-generic/pom.xml +++ b/modeler/cayenne-modeler-generic/pom.xml @@ -84,6 +84,20 @@ + + + + maven-checkstyle-plugin + + + + maven-pmd-plugin + + + + objectstyle diff --git a/modeler/cayenne-modeler-mac-ext/pom.xml b/modeler/cayenne-modeler-mac-ext/pom.xml index e751af2227..aefba336f6 100644 --- a/modeler/cayenne-modeler-mac-ext/pom.xml +++ b/modeler/cayenne-modeler-mac-ext/pom.xml @@ -65,4 +65,18 @@ ${project.version} + + + + + maven-checkstyle-plugin + + + + maven-pmd-plugin + + + diff --git a/modeler/cayenne-modeler-mac-legacy/pom.xml b/modeler/cayenne-modeler-mac-legacy/pom.xml index c8d5053096..cff779f34c 100644 --- a/modeler/cayenne-modeler-mac-legacy/pom.xml +++ b/modeler/cayenne-modeler-mac-legacy/pom.xml @@ -66,6 +66,20 @@ + + + + maven-checkstyle-plugin + + + + maven-pmd-plugin + + + + mac diff --git a/modeler/cayenne-modeler-mac/pom.xml b/modeler/cayenne-modeler-mac/pom.xml index ec1d2d4d66..217219a6ca 100644 --- a/modeler/cayenne-modeler-mac/pom.xml +++ b/modeler/cayenne-modeler-mac/pom.xml @@ -66,6 +66,20 @@ + + + + maven-checkstyle-plugin + + + + maven-pmd-plugin + + + + mac diff --git a/modeler/cayenne-modeler-win/pom.xml b/modeler/cayenne-modeler-win/pom.xml index 6d3eb27be2..114235da6e 100644 --- a/modeler/cayenne-modeler-win/pom.xml +++ b/modeler/cayenne-modeler-win/pom.xml @@ -102,6 +102,15 @@ + + maven-checkstyle-plugin + + + + maven-pmd-plugin + diff --git a/modeler/cayenne-modeler/pom.xml b/modeler/cayenne-modeler/pom.xml index f640b911fb..1952a70cdb 100644 --- a/modeler/cayenne-modeler/pom.xml +++ b/modeler/cayenne-modeler/pom.xml @@ -114,4 +114,18 @@ jgraph + + + + + maven-checkstyle-plugin + + + + maven-pmd-plugin + + + \ No newline at end of file diff --git a/modeler/cayenne-wocompat/pom.xml b/modeler/cayenne-wocompat/pom.xml index e56a835ca4..f232c90ccd 100644 --- a/modeler/cayenne-wocompat/pom.xml +++ b/modeler/cayenne-wocompat/pom.xml @@ -47,4 +47,18 @@ ${project.version} + + + + + maven-checkstyle-plugin + + + + maven-pmd-plugin + + + diff --git a/plugins/maven-cayenne-modeler-plugin/pom.xml b/plugins/maven-cayenne-modeler-plugin/pom.xml index 6575ac904f..f47f071b6c 100644 --- a/plugins/maven-cayenne-modeler-plugin/pom.xml +++ b/plugins/maven-cayenne-modeler-plugin/pom.xml @@ -71,5 +71,19 @@ + + + + + maven-checkstyle-plugin + + + + maven-pmd-plugin + + + diff --git a/plugins/maven-cayenne-plugin/pom.xml b/plugins/maven-cayenne-plugin/pom.xml index 47a2153f9b..b2df095009 100644 --- a/plugins/maven-cayenne-plugin/pom.xml +++ b/plugins/maven-cayenne-plugin/pom.xml @@ -100,5 +100,19 @@ + + + + + maven-checkstyle-plugin + + + + maven-pmd-plugin + + + diff --git a/pom.xml b/pom.xml index ffaa93d64c..859b54a996 100644 --- a/pom.xml +++ b/pom.xml @@ -39,6 +39,10 @@ MMM dd yyyy HH:mm:ss ${maven.build.timestamp} 0.7.1.201405082137 + + false + false + false http://cayenne.apache.org/ @@ -516,7 +520,19 @@ true - + + central + Maven Central + http://repo1.maven.org/maven2/ + default + + false + + + true + + + install @@ -763,7 +779,104 @@ 3.0 - + + org.apache.maven.plugins + maven-checkstyle-plugin + 2.9.1 + + ${checkstyle.skip} + true + false + false + + warning + /cayenne-checkstyle.xml + + + + process-sources + + check + + + + + + org.apache.cayenne.build-tools + cayenne-checkers + ${project.version} + + + + + org.apache.maven.plugins + maven-pmd-plugin + 3.2 + + ${pmd.skip} + utf-8 + 1.6 + true + false + + 2 + + + /cayenne-pmd.xml + + + + + process-sources + + check + + + + + + org.apache.cayenne.build-tools + cayenne-checkers + ${project.version} + + + + + org.codehaus.mojo + findbugs-maven-plugin + 2.5 + + Max + + Low + + + + + process-classes + + check + + + + + + org.codehaus.mojo + clirr-maven-plugin + 2.6.1 + + 3.1RC1 + info + true + + + + org.codehaus.mojo + jdepend-maven-plugin + 2.0 + + + @@ -843,6 +956,16 @@ + + fast-and-dirty + + + true + true + true + true + + tests-development @@ -1201,11 +1324,44 @@ + + org.apache.maven.plugins + maven-jxr-plugin + 2.3 + + + org.apache.maven.plugins + maven-javadoc-plugin + org.apache.maven.plugins maven-surefire-report-plugin 2.8 + + maven-checkstyle-plugin + true + + + maven-pmd-plugin + true + + + org.codehaus.mojo + findbugs-maven-plugin + + Max + Low + + + + org.codehaus.mojo + jdepend-maven-plugin + + + org.codehaus.mojo + clirr-maven-plugin + From ff7f3df8da2fc20fbdc989adf4605f6553aaf8b9 Mon Sep 17 00:00:00 2001 From: alexkolonitsky Date: Fri, 14 Nov 2014 13:51:02 +0300 Subject: [PATCH 4/5] fix cdb import --- .../org/apache/cayenne/access/DbLoader.java | 44 +++++++++---------- .../loader/ManyToManyCandidateEntity.java | 19 +++++++- .../access/loader/filters/EntityFilters.java | 25 +++++++++++ .../modeler/dialog/db/DbLoaderHelper.java | 5 ++- 4 files changed, 66 insertions(+), 27 deletions(-) diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DbLoader.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DbLoader.java index a994ce24df..1a86fcdbbe 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/access/DbLoader.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DbLoader.java @@ -398,13 +398,16 @@ private void loadDbAttributes(FiltersConfig filters, DbEntity dbEntity) throws S DbAttribute attr = loadDbAttribute(rs); attr.setEntity(dbEntity); - if (!filters.filter(new DbPath(dbEntity.getCatalog(), dbEntity.getSchema(), tableName)) - .columnFilter().isInclude(attr)) { - + DbPath path = new DbPath(dbEntity.getCatalog(), dbEntity.getSchema(), tableName); + Filter filter = filters.filter(path).columnFilter(); + if (!filter.isInclude(attr)) { + if (LOGGER.isDebugEnabled()) { + LOGGER.debug("Importing: attribute '" + attr.getEntity().getName() + "." + attr.getName() + + "' is skipped (Path: " + path + "; Filter: " + filter + ")"); + } continue; } - dbEntity.addAttribute(attr); } } finally { @@ -499,8 +502,6 @@ protected void loadDbRelationships(DataMap map, DbLoaderConfiguration config, It } protected void loadDbRelationships(DataMap map, DbEntity entity, DbLoaderConfiguration config) throws SQLException { - String pkEntName = entity.getName(); - // Get all the foreign keys referencing this table ResultSet rs; @@ -508,23 +509,19 @@ protected void loadDbRelationships(DataMap map, DbEntity entity, DbLoaderConfigu rs = getMetaData().getExportedKeys(entity.getCatalog(), entity.getSchema(), entity.getName()); } catch (SQLException cay182Ex) { // Sybase-specific - the line above blows on VIEWS, see CAY-182. - LOGGER.info("Error getting relationships for '" + pkEntName + "', ignoring."); + LOGGER.info("Error getting relationships for '" + entity.getName() + "', ignoring."); return; } try { - if (!rs.next()) { - return; - } - // these will be initialized every time a new target entity is found // in the result set (which should be ordered by table name among other things) DbRelationship forwardRelationship = null; DbRelationshipDetected reverseRelationship = null; DbEntity fkEntity = null; - ExportedKey key; + ExportedKey key = null; - do { + while (rs.next()) { key = ExportedKey.extractData(rs); short keySeq = rs.getShort("KEY_SEQ"); @@ -537,7 +534,6 @@ protected void loadDbRelationships(DataMap map, DbEntity entity, DbLoaderConfigu // start new entity String fkEntityName = key.getFKTableName(); - String fkName = key.getFKName(); fkEntity = map.getDbEntity(fkEntityName); DbPath path = new DbPath(entity.getCatalog(), entity.getSchema(), entity.getName()); @@ -552,19 +548,13 @@ protected void loadDbRelationships(DataMap map, DbEntity entity, DbLoaderConfigu continue; } else { // init relationship - String forwardPreferredName = nameGenerator.createDbRelationshipName(key, true); - forwardRelationship = new DbRelationship(DefaultUniqueNameGenerator - .generate(NameCheckers.dbRelationship, entity, forwardPreferredName)); - + forwardRelationship = new DbRelationship(generateName(entity, key, true)); forwardRelationship.setSourceEntity(entity); forwardRelationship.setTargetEntity(fkEntity); entity.addRelationship(forwardRelationship); - String reversePreferredName = nameGenerator.createDbRelationshipName(key, false); - reverseRelationship = new DbRelationshipDetected(DefaultUniqueNameGenerator - .generate(NameCheckers.dbRelationship, fkEntity, reversePreferredName)); - - reverseRelationship.setFkName(fkName); + reverseRelationship = new DbRelationshipDetected(generateName(fkEntity, key, false)); + reverseRelationship.setFkName(key.getFKName()); reverseRelationship.setToMany(false); reverseRelationship.setSourceEntity(fkEntity); reverseRelationship.setTargetEntity(entity); @@ -598,7 +588,7 @@ protected void loadDbRelationships(DataMap map, DbEntity entity, DbLoaderConfigu } } - } while (rs.next()); + } if (forwardRelationship != null) { postProcessMasterDbRelationship(forwardRelationship, key); @@ -610,6 +600,12 @@ protected void loadDbRelationships(DataMap map, DbEntity entity, DbLoaderConfigu } } + private String generateName(DbEntity entity, ExportedKey key, boolean toMany) { + String forwardPreferredName = nameGenerator.createDbRelationshipName(key, toMany); + return DefaultUniqueNameGenerator + .generate(NameCheckers.dbRelationship, entity, forwardPreferredName); + } + /** * Detects correct relationship multiplicity and "to dep pk" flag. Only * called on relationships from PK to FK, not the reverse ones. diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/loader/ManyToManyCandidateEntity.java b/cayenne-server/src/main/java/org/apache/cayenne/access/loader/ManyToManyCandidateEntity.java index 8cf4ae1910..6e392d870d 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/access/loader/ManyToManyCandidateEntity.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/access/loader/ManyToManyCandidateEntity.java @@ -28,12 +28,17 @@ import org.apache.cayenne.map.naming.ExportedKey; import org.apache.cayenne.map.naming.NameCheckers; import org.apache.cayenne.map.naming.ObjectNameGenerator; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; /** * Class represent ObjEntity that may be optimized using flattened relationships * as many to many table */ public class ManyToManyCandidateEntity { + + private static final Log LOG = LogFactory.getLog(ManyToManyCandidateEntity.class); + private final ObjEntity joinEntity; private final DbRelationship dbRel1; @@ -82,14 +87,24 @@ public static ManyToManyCandidateEntity build(ObjEntity joinEntity) { private boolean isManyToMany() { boolean isNotHaveAttributes = joinEntity.getAttributes().size() == 0; - return isNotHaveAttributes && reverseRelationship1.isToDependentPK() && reverseRelationship2.isToDependentPK() + return isNotHaveAttributes + && reverseRelationship1.isToDependentPK() + && reverseRelationship2.isToDependentPK() && !entity1.equals(entity2); } private void addFlattenedRelationship(ObjectNameGenerator nameGenerator, ObjEntity srcEntity, ObjEntity dstEntity, DbRelationship rel1, DbRelationship rel2) { - ExportedKey key = new ExportedKey(rel1.getSourceEntity().getName(), + if (rel1.getSourceAttributes().isEmpty() && rel2.getTargetAttributes().isEmpty()) { + LOG.warn("Wrong call ManyToManyCandidateEntity.addFlattenedRelationship(... , " + srcEntity.getName() + + ", " + dstEntity.getName() + ", ...)"); + + return; + } + + ExportedKey key = new ExportedKey( + rel1.getSourceEntity().getName(), rel1.getSourceAttributes().iterator().next().getName(), null, rel2.getTargetEntity().getName(), diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/loader/filters/EntityFilters.java b/cayenne-server/src/main/java/org/apache/cayenne/access/loader/filters/EntityFilters.java index 5fde5709c5..83e9a48bfb 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/access/loader/filters/EntityFilters.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/access/loader/filters/EntityFilters.java @@ -27,6 +27,7 @@ import org.apache.commons.logging.LogFactory; import static org.apache.cayenne.access.loader.filters.FilterFactory.*; +import static org.apache.commons.lang.StringUtils.isBlank; /** * @since 3.2. @@ -321,6 +322,10 @@ public String schema() { } public Builder includeTables(String tableFilters) { + if (isBlank(tableFilters)) { + return this; + } + for (String pattern : tableFilters.split(",")) { this.tableFilters = this.tableFilters.join(include(pattern)); } @@ -329,6 +334,10 @@ public Builder includeTables(String tableFilters) { } public Builder includeColumns(String columnFilters) { + if (isBlank(columnFilters)) { + return this; + } + for (String pattern : columnFilters.split(",")) { this.columnFilters = this.columnFilters.join(include(pattern)); } @@ -337,6 +346,10 @@ public Builder includeColumns(String columnFilters) { } public Builder includeProcedures(String proceduresFilters) { + if (isBlank(proceduresFilters)) { + return this; + } + for (String pattern : proceduresFilters.split(",")) { this.proceduresFilters = this.proceduresFilters.join(include(pattern)); } @@ -345,6 +358,10 @@ public Builder includeProcedures(String proceduresFilters) { } public Builder excludeTables(String tableFilters) { + if (isBlank(tableFilters)) { + return this; + } + for (String pattern : tableFilters.split(",")) { this.tableFilters = this.tableFilters.join(exclude(pattern)); } @@ -353,6 +370,10 @@ public Builder excludeTables(String tableFilters) { } public Builder excludeColumns(String columnFilters) { + if (isBlank(columnFilters)) { + return this; + } + for (String pattern : columnFilters.split(",")) { this.columnFilters = this.columnFilters.join(exclude(pattern)); } @@ -361,6 +382,10 @@ public Builder excludeColumns(String columnFilters) { } public Builder excludeProcedures(String proceduresFilters) { + if (isBlank(proceduresFilters)) { + return this; + } + for (String pattern : proceduresFilters.split(",")) { this.proceduresFilters = this.proceduresFilters.join(exclude(pattern)); } diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderHelper.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderHelper.java index c48c2b2a6b..4776507204 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderHelper.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderHelper.java @@ -53,6 +53,8 @@ import org.apache.cayenne.modeler.event.DataMapDisplayEvent; import org.apache.cayenne.modeler.util.LongRunningTask; import org.apache.cayenne.resource.Resource; +import org.apache.cayenne.tools.dbimport.config.FiltersConfigBuilder; +import org.apache.cayenne.tools.dbimport.config.ReverseEngineering; import org.apache.cayenne.util.DeleteRuleUpdater; import org.apache.cayenne.util.Util; import org.apache.commons.logging.Log; @@ -412,7 +414,8 @@ private void importingTables() { } DbLoaderConfiguration configuration = new DbLoaderConfiguration(); - configuration.setFiltersConfig(new FiltersConfig(filterBuilder.build())); + configuration.setFiltersConfig(new FiltersConfigBuilder(new ReverseEngineering()) + .add(filterBuilder.build()).filtersConfig()); loader.load(dataMap, configuration, types); /** From b7a352148071b8183c8eb960c88e9560387f78e0 Mon Sep 17 00:00:00 2001 From: alexkolonitsky Date: Fri, 14 Nov 2014 16:22:42 +0300 Subject: [PATCH 5/5] fix cdb import --- .../src/main/java/org/apache/cayenne/access/DbLoader.java | 1 + .../cayenne/modeler/dialog/db/DbLoaderOptionsDialog.java | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DbLoader.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DbLoader.java index 1a86fcdbbe..9404167898 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/access/DbLoader.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DbLoader.java @@ -72,6 +72,7 @@ public class DbLoader { private static final Log LOGGER = LogFactory.getLog(DbLoader.class); public static final String WILDCARD = "%"; + public static final String WILDCARD_PATTERN = ".*"; /** * CAY-479 - need to track which entities which are skipped during loading from db since it it already present in diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderOptionsDialog.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderOptionsDialog.java index 41902035e8..fe24b30396 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderOptionsDialog.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderOptionsDialog.java @@ -163,9 +163,9 @@ protected void initFromModel( boolean shouldLoadProcedures) { this.choice = CANCEL; - this.tableNamePatternField.setText(DbLoader.WILDCARD); + this.tableNamePatternField.setText(DbLoader.WILDCARD_PATTERN); this.loadProcedures.setSelected(shouldLoadProcedures); - this.procNamePatternField.setText(DbLoader.WILDCARD); + this.procNamePatternField.setText(DbLoader.WILDCARD_PATTERN); this.procNamePatternField.setEnabled(shouldLoadProcedures); this.procedureLabel.setEnabled(shouldLoadProcedures);