You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2016/09/30 18:04:58 UTC

[2/5] cayenne git commit: CAY-2116 Split schema synchronization code in a separate module

CAY-2116 Split schema synchronization code in a separate module


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/633303cf
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/633303cf
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/633303cf

Branch: refs/heads/master
Commit: 633303cfac84cdffad50420b0ce5967e95771ca9
Parents: 3e03bc1
Author: Andrus Adamchik <an...@objectstyle.com>
Authored: Fri Sep 30 17:34:49 2016 +0300
Committer: Andrus Adamchik <an...@objectstyle.com>
Committed: Fri Sep 30 18:04:04 2016 +0300

----------------------------------------------------------------------
 .../dbsync/merge/EntityMergeSupport.java        |  6 +-
 .../cayenne/dbsync/reverse/db/DbLoader.java     |  6 +-
 .../reverse/db/ManyToManyCandidateEntity.java   |  4 +-
 .../java/org/apache/cayenne/map/ObjEntity.java  | 29 +++---
 .../map/naming/DefaultUniqueNameGenerator.java  | 96 --------------------
 .../apache/cayenne/map/naming/NameChecker.java  |  1 -
 .../cayenne/map/naming/UniqueNameGenerator.java | 71 +++++++++++++--
 .../cayenne/map/naming/NameCheckersTest.java    | 38 ++++----
 .../modeler/action/CreateAttributeAction.java   |  8 +-
 .../action/CreateCallbackMethodAction.java      |  4 +-
 .../modeler/action/CreateDataMapAction.java     |  4 +-
 .../modeler/action/CreateDbEntityAction.java    |  4 +-
 .../modeler/action/CreateEmbeddableAction.java  |  4 +-
 .../modeler/action/CreateNodeAction.java        |  4 +-
 .../modeler/action/CreateObjEntityAction.java   |  6 +-
 .../modeler/action/CreateProcedureAction.java   |  4 +-
 .../action/CreateProcedureParameterAction.java  |  4 +-
 .../action/CreateRelationshipAction.java        |  6 +-
 .../modeler/action/ImportDataMapAction.java     |  6 +-
 .../modeler/action/ImportEOModelAction.java     |  4 +-
 .../modeler/action/NewProjectAction.java        |  4 +-
 .../cayenne/modeler/action/PasteAction.java     | 38 ++++----
 .../action/ReverseEngineeringAction.java        | 14 +--
 .../dialog/ResolveDbRelationshipDialog.java     |  6 +-
 .../modeler/dialog/db/DbLoaderHelper.java       |  8 +-
 .../cayenne/modeler/dialog/query/QueryType.java |  4 +-
 .../cayenne/wocompat/EOModelProcessor.java      |  4 +-
 27 files changed, 170 insertions(+), 217 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/633303cf/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/EntityMergeSupport.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/EntityMergeSupport.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/EntityMergeSupport.java
index cabdb4d..7db68af 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/EntityMergeSupport.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/EntityMergeSupport.java
@@ -29,7 +29,7 @@ import org.apache.cayenne.map.Entity;
 import org.apache.cayenne.map.ObjAttribute;
 import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.map.ObjRelationship;
-import org.apache.cayenne.map.naming.DefaultUniqueNameGenerator;
+import org.apache.cayenne.map.naming.UniqueNameGenerator;
 import org.apache.cayenne.dbsync.reverse.naming.LegacyObjectNameGenerator;
 import org.apache.cayenne.map.naming.NameCheckers;
 import org.apache.cayenne.dbsync.reverse.naming.ObjectNameGenerator;
@@ -205,7 +205,7 @@ public class EntityMergeSupport {
 
     private boolean createObjRelationship(ObjEntity entity, DbRelationship dr, String targetEntityName) {
         String relationshipName = nameGenerator.createObjRelationshipName(dr);
-        relationshipName = DefaultUniqueNameGenerator.generate(NameCheckers.objRelationship, entity, relationshipName);
+        relationshipName = UniqueNameGenerator.generate(NameCheckers.objRelationship, entity, relationshipName);
 
         ObjRelationship or = new ObjRelationship(relationshipName);
         or.addDbRelationship(dr);
@@ -279,7 +279,7 @@ public class EntityMergeSupport {
     }
 
     private void addMissingAttribute(ObjEntity entity, DbAttribute da) {
-        String attrName = DefaultUniqueNameGenerator.generate(NameCheckers.objAttribute, entity,
+        String attrName = UniqueNameGenerator.generate(NameCheckers.objAttribute, entity,
                 nameGenerator.createObjAttributeName(da));
 
         String type = TypesMapping.getJavaBySqlType(da.getType());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/633303cf/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/db/DbLoader.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/db/DbLoader.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/db/DbLoader.java
index 2811981..5f233cd 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/db/DbLoader.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/db/DbLoader.java
@@ -34,7 +34,7 @@ import org.apache.cayenne.map.DbRelationshipDetected;
 import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.map.Procedure;
 import org.apache.cayenne.map.ProcedureParameter;
-import org.apache.cayenne.map.naming.DefaultUniqueNameGenerator;
+import org.apache.cayenne.map.naming.UniqueNameGenerator;
 import org.apache.cayenne.dbsync.reverse.naming.LegacyObjectNameGenerator;
 import org.apache.cayenne.map.naming.NameCheckers;
 import org.apache.cayenne.dbsync.reverse.naming.ObjectNameGenerator;
@@ -133,7 +133,7 @@ public class DbLoader {
                 continue;
             }
 
-            String objEntityName = DefaultUniqueNameGenerator.generate(NameCheckers.objEntity, map,
+            String objEntityName = UniqueNameGenerator.generate(NameCheckers.objEntity, map,
                     nameGenerator.createObjEntityName(dbEntity));
 
             ObjEntity objEntity = new ObjEntity(objEntityName);
@@ -439,7 +439,7 @@ public class DbLoader {
 
     private String generateName(DbEntity entity, ExportedKey key, boolean toMany) {
         String forwardPreferredName = nameGenerator.createDbRelationshipName(key, toMany);
-        return DefaultUniqueNameGenerator.generate(NameCheckers.dbRelationship, entity, forwardPreferredName);
+        return UniqueNameGenerator.generate(NameCheckers.dbRelationship, entity, forwardPreferredName);
     }
 
     private void fireObjEntitiesAddedEvents(Collection<ObjEntity> loadedObjEntities) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/633303cf/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/db/ManyToManyCandidateEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/db/ManyToManyCandidateEntity.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/db/ManyToManyCandidateEntity.java
index 718015b..06c7d82 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/db/ManyToManyCandidateEntity.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/db/ManyToManyCandidateEntity.java
@@ -21,7 +21,7 @@ package org.apache.cayenne.dbsync.reverse.db;
 import org.apache.cayenne.map.DbRelationship;
 import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.map.ObjRelationship;
-import org.apache.cayenne.map.naming.DefaultUniqueNameGenerator;
+import org.apache.cayenne.map.naming.UniqueNameGenerator;
 import org.apache.cayenne.map.naming.NameCheckers;
 import org.apache.cayenne.dbsync.reverse.naming.ObjectNameGenerator;
 import org.apache.commons.logging.Log;
@@ -113,7 +113,7 @@ class ManyToManyCandidateEntity {
                 (short) 1);
 
         ObjRelationship newRelationship = new ObjRelationship();
-        newRelationship.setName(DefaultUniqueNameGenerator.generate(NameCheckers.objRelationship, srcEntity,
+        newRelationship.setName(UniqueNameGenerator.generate(NameCheckers.objRelationship, srcEntity,
                 nameGenerator.createDbRelationshipName(key, true)));
 
         newRelationship.setSourceEntity(srcEntity);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/633303cf/cayenne-server/src/main/java/org/apache/cayenne/map/ObjEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/ObjEntity.java b/cayenne-server/src/main/java/org/apache/cayenne/map/ObjEntity.java
index 94ddfca..de79a6a 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/ObjEntity.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/ObjEntity.java
@@ -19,19 +19,6 @@
 
 package org.apache.cayenne.map;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.SortedMap;
-import java.util.TreeMap;
-
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.configuration.ConfigurationNode;
 import org.apache.cayenne.configuration.ConfigurationNodeVisitor;
@@ -42,12 +29,24 @@ import org.apache.cayenne.exp.ExpressionException;
 import org.apache.cayenne.exp.ExpressionFactory;
 import org.apache.cayenne.map.event.EntityEvent;
 import org.apache.cayenne.map.event.ObjEntityListener;
-import org.apache.cayenne.map.naming.NameConverter;
 import org.apache.cayenne.util.CayenneMapEntry;
 import org.apache.cayenne.util.Util;
 import org.apache.cayenne.util.XMLEncoder;
 import org.apache.commons.collections.Transformer;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.SortedMap;
+import java.util.TreeMap;
+
 /**
  * ObjEntity is a mapping descriptor for a DataObject Java class. It contains
  * the information about the Java class itself, as well as its mapping to the
@@ -678,7 +677,7 @@ public class ObjEntity extends Entity implements ObjEntityListener, Configuratio
 
             // create synthetic attribute
             if (attribute == null) {
-                attribute = new SyntheticPKObjAttribute(NameConverter.underscoredToJava(pk.getName(), false));
+                attribute = new SyntheticPKObjAttribute(pk.getName());
                 attribute.setDbAttributePath(pk.getName());
                 attribute.setType(TypesMapping.getJavaBySqlType(pk.getType()));
             }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/633303cf/cayenne-server/src/main/java/org/apache/cayenne/map/naming/DefaultUniqueNameGenerator.java
----------------------------------------------------------------------
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
deleted file mode 100644
index 409a48e..0000000
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/naming/DefaultUniqueNameGenerator.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*****************************************************************
- *   Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- ****************************************************************/
-package org.apache.cayenne.map.naming;
-
-import org.apache.cayenne.map.DataMap;
-
-/**
- * @since 4.0
- */
-public class DefaultUniqueNameGenerator implements UniqueNameGenerator {
-
-    public static final String DEFAULT_PATTERN = "%s%d";
-
-    private final NameChecker nameChecker;
-
-    private final String pattern;
-
-    public static String generate(NameChecker checker) {
-        return generate(checker, DEFAULT_PATTERN, null, null);
-    }
-
-    public static String generate(NameChecker checker, Object context) {
-        return generate(checker, DEFAULT_PATTERN, context, null);
-    }
-
-    public static String generate(NameChecker checker, Object context, String baseName) {
-        return generate(checker, DEFAULT_PATTERN, context, baseName);
-    }
-
-    public static String generate(NameChecker checker, String pattern, Object context, String baseName) {
-        DefaultUniqueNameGenerator generator;
-        if (checker == NameCheckers.embeddable) {
-            generator = new DefaultUniqueNameGenerator(NameCheckers.embeddable, pattern) {
-                @Override
-                public String generate(Object namingContext, String nameBase) {
-                    return ((DataMap) namingContext).getNameWithDefaultPackage(super.generate(namingContext, nameBase));
-                }
-            };
-        } else {
-            generator = new DefaultUniqueNameGenerator(checker, pattern);
-        }
-
-        return generator.generate(context, baseName);
-    }
-
-
-
-    public DefaultUniqueNameGenerator(NameChecker nameChecker, String pattern) {
-        this.nameChecker = nameChecker;
-        this.pattern = pattern;
-    }
-
-    /**
-     * Creates a unique name for the new object and constructs this object.
-     */
-    public String generate(Object namingContext) {
-        return generate(namingContext, nameChecker.baseName());
-    }
-
-    /**
-     * @since 1.0.5
-     */
-    public String generate(Object namingContext, String nameBase) {
-        return generate(pattern, namingContext, nameBase != null ? nameBase : nameChecker.baseName());
-    }
-
-    /**
-     * @since 1.0.5
-     */
-    private String generate(String pattern, Object namingContext, String nameBase) {
-        int c = 1;
-        String name = nameBase;
-        while (nameChecker.isNameInUse(namingContext, name)) {
-            name = String.format(pattern, nameBase, c++);
-        }
-
-        return name;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/633303cf/cayenne-server/src/main/java/org/apache/cayenne/map/naming/NameChecker.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/naming/NameChecker.java b/cayenne-server/src/main/java/org/apache/cayenne/map/naming/NameChecker.java
index 573e25a..68fdfd3 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/naming/NameChecker.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/naming/NameChecker.java
@@ -25,7 +25,6 @@ public interface NameChecker {
 
 	/**
 	 * Returns a base default name, like "UntitledEntity", etc.
-	 * 
 	 */
 	String baseName();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/633303cf/cayenne-server/src/main/java/org/apache/cayenne/map/naming/UniqueNameGenerator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/naming/UniqueNameGenerator.java b/cayenne-server/src/main/java/org/apache/cayenne/map/naming/UniqueNameGenerator.java
index d56f856..2fe6801 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/naming/UniqueNameGenerator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/naming/UniqueNameGenerator.java
@@ -18,15 +18,74 @@
  ****************************************************************/
 package org.apache.cayenne.map.naming;
 
+import org.apache.cayenne.map.DataMap;
+
 /**
- * A "filter" for the mapping artifact names generated elsewhere that ensures no
- * duplicate names are generated.
- * 
  * @since 4.0
  */
-public interface UniqueNameGenerator {
+public class UniqueNameGenerator {
+
+    public static final String DEFAULT_PATTERN = "%s%d";
+
+    private final NameChecker nameChecker;
+
+    private final String pattern;
+
+    public UniqueNameGenerator(NameChecker nameChecker, String pattern) {
+        this.nameChecker = nameChecker;
+        this.pattern = pattern;
+    }
+
+    public static String generate(NameChecker checker) {
+        return generate(checker, DEFAULT_PATTERN, null, null);
+    }
+
+    public static String generate(NameChecker checker, Object context) {
+        return generate(checker, DEFAULT_PATTERN, context, null);
+    }
+
+    public static String generate(NameChecker checker, Object context, String baseName) {
+        return generate(checker, DEFAULT_PATTERN, context, baseName);
+    }
+
+    public static String generate(NameChecker checker, String pattern, Object context, String baseName) {
+        UniqueNameGenerator generator;
+        if (checker == NameCheckers.embeddable) {
+            generator = new UniqueNameGenerator(NameCheckers.embeddable, pattern) {
+                @Override
+                public String generate(Object namingContext, String nameBase) {
+                    return ((DataMap) namingContext).getNameWithDefaultPackage(super.generate(namingContext, nameBase));
+                }
+            };
+        } else {
+            generator = new UniqueNameGenerator(checker, pattern);
+        }
+
+        return generator.generate(context, baseName);
+    }
+
+    /**
+     * Creates a unique name for the new object and constructs this object.
+     */
+    String generate(Object namingContext) {
+        return generate(namingContext, nameChecker.baseName());
+    }
+
+    String generate(Object namingContext, String nameBase) {
+        return generate(pattern, namingContext, nameBase != null ? nameBase : nameChecker.baseName());
+    }
+
+    /**
+     * @since 1.0.5
+     */
+    private String generate(String pattern, Object namingContext, String nameBase) {
+        int c = 1;
+        String name = nameBase;
+        while (nameChecker.isNameInUse(namingContext, name)) {
+            name = String.format(pattern, nameBase, c++);
+        }
 
-	String generate(Object namingContext);
+        return name;
+    }
 
-	String generate(Object namingContext, String nameBase);
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/633303cf/cayenne-server/src/test/java/org/apache/cayenne/map/naming/NameCheckersTest.java
----------------------------------------------------------------------
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 ad67222..e3e6628 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
@@ -47,35 +47,35 @@ public class NameCheckersTest {
         ObjEntity namingContainer = new ObjEntity();
 
         String baseName = maker.baseName();
-        String name = DefaultUniqueNameGenerator.generate(maker, namingContainer);
+        String name = UniqueNameGenerator.generate(maker, namingContainer);
         assertEquals(baseName, name);
         namingContainer.addAttribute(new ObjAttribute(name));
 
-        name = DefaultUniqueNameGenerator.generate(maker, namingContainer);
+        name = UniqueNameGenerator.generate(maker, namingContainer);
         assertEquals(baseName + "1", name);
         namingContainer.addAttribute(new ObjAttribute(name));
 
-        name = DefaultUniqueNameGenerator.generate(maker, namingContainer);
+        name = UniqueNameGenerator.generate(maker, namingContainer);
         assertEquals(baseName + "2", name);
         namingContainer.addAttribute(new ObjAttribute(name));
 
-        name = DefaultUniqueNameGenerator.generate(maker, namingContainer);
+        name = UniqueNameGenerator.generate(maker, namingContainer);
         assertEquals(baseName + "3", name);
         namingContainer.addAttribute(new ObjAttribute(name));
 
         maker = NameCheckers.objRelationship;
         baseName = maker.baseName();
-        name = DefaultUniqueNameGenerator.generate(maker, namingContainer);
+        name = UniqueNameGenerator.generate(maker, namingContainer);
         assertEquals(baseName, name);
         namingContainer.addRelationship(new ObjRelationship(name));
 
-        name = DefaultUniqueNameGenerator.generate(maker, namingContainer);
+        name = UniqueNameGenerator.generate(maker, namingContainer);
         assertEquals(baseName + "1", name);
         namingContainer.addRelationship(new ObjRelationship(name));
 
         maker = NameCheckers.objCallbackMethod;
         baseName = maker.baseName();
-        name = DefaultUniqueNameGenerator.generate(maker, namingContainer);
+        name = UniqueNameGenerator.generate(maker, namingContainer);
         assertEquals(baseName, name);
         namingContainer.addRelationship(new ObjRelationship(name));
     }
@@ -152,8 +152,8 @@ public class NameCheckersTest {
 
     private void checkNameAndOther(Object namingContainer, NameCheckers maker, String newName) {
         assertTrue(maker.isNameInUse(namingContainer, newName));
-        assertEquals(newName + "1", DefaultUniqueNameGenerator.generate(maker,namingContainer, newName));
-        assertEquals("other" + newName, DefaultUniqueNameGenerator.generate(maker,namingContainer, "other" + newName));
+        assertEquals(newName + "1", UniqueNameGenerator.generate(maker,namingContainer, newName));
+        assertEquals("other" + newName, UniqueNameGenerator.generate(maker,namingContainer, "other" + newName));
     }
 
     @Test
@@ -161,13 +161,13 @@ public class NameCheckersTest {
         ObjEntity namingContainer = new ObjEntity();
 
         namingContainer.addAttribute(new ObjAttribute("myName"));
-        Assert.assertEquals("getMyName1", DefaultUniqueNameGenerator.generate(NameCheckers.objCallbackMethod, namingContainer, "getMyName"));
+        Assert.assertEquals("getMyName1", UniqueNameGenerator.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", UniqueNameGenerator.generate(NameCheckers.objAttribute, namingContainer, "SecondName"));
+        Assert.assertEquals("secondName1", UniqueNameGenerator.generate(NameCheckers.objAttribute, namingContainer, "secondName"));
+        Assert.assertEquals("SecondName1", UniqueNameGenerator.generate(NameCheckers.objRelationship, namingContainer, "SecondName"));
+        Assert.assertEquals("secondName1", UniqueNameGenerator.generate(NameCheckers.objRelationship, namingContainer, "secondName"));
     }
 
     @Test
@@ -179,8 +179,8 @@ public class NameCheckersTest {
         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", UniqueNameGenerator.generate(NameCheckers.objAttribute, namingContainer, "SecondName"));
+        Assert.assertEquals("secondName1", UniqueNameGenerator.generate(NameCheckers.objAttribute, namingContainer, "secondName"));
     }
 
     @Test
@@ -189,16 +189,16 @@ public class NameCheckersTest {
 
         map.addEmbeddable(new Embeddable("name"));
         Assert.assertTrue(NameCheckers.embeddable.isNameInUse(map, "name"));
-        Assert.assertEquals("name1", DefaultUniqueNameGenerator.generate(NameCheckers.embeddable, map, "name"));
+        Assert.assertEquals("name1", UniqueNameGenerator.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.assertEquals("package.name", UniqueNameGenerator.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.assertEquals("package.name1", UniqueNameGenerator.generate(NameCheckers.embeddable, map, "name"));
         Assert.assertFalse(NameCheckers.embeddable.isNameInUse(map, "other-name"));
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/633303cf/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateAttributeAction.java
----------------------------------------------------------------------
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 371a84b..970aafb 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
@@ -36,7 +36,7 @@ import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.map.event.AttributeEvent;
 import org.apache.cayenne.map.event.EmbeddableAttributeEvent;
 import org.apache.cayenne.map.event.MapEvent;
-import org.apache.cayenne.map.naming.DefaultUniqueNameGenerator;
+import org.apache.cayenne.map.naming.UniqueNameGenerator;
 import org.apache.cayenne.map.naming.NameCheckers;
 import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.ProjectController;
@@ -77,7 +77,7 @@ public class CreateAttributeAction extends CayenneAction {
             Embeddable embeddable = mediator.getCurrentEmbeddable();
 
             EmbeddableAttribute attr = new EmbeddableAttribute();
-            attr.setName(DefaultUniqueNameGenerator.generate(NameCheckers.embeddableAttribute, embeddable));
+            attr.setName(UniqueNameGenerator.generate(NameCheckers.embeddableAttribute, embeddable));
 
             createEmbAttribute(embeddable, attr);
 
@@ -89,7 +89,7 @@ public class CreateAttributeAction extends CayenneAction {
 
             ObjEntity objEntity = mediator.getCurrentObjEntity();
 
-            ObjAttribute attr = new ObjAttribute(DefaultUniqueNameGenerator.generate(NameCheckers.objAttribute, objEntity), null, objEntity);
+            ObjAttribute attr = new ObjAttribute(UniqueNameGenerator.generate(NameCheckers.objAttribute, objEntity), null, objEntity);
 
             createObjAttribute(mediator.getCurrentDataMap(), objEntity, attr);
 
@@ -99,7 +99,7 @@ public class CreateAttributeAction extends CayenneAction {
         } else if (getProjectController().getCurrentDbEntity() != null) {
             DbEntity dbEntity = getProjectController().getCurrentDbEntity();
 
-            DbAttribute attr = new DbAttribute(DefaultUniqueNameGenerator.generate(NameCheckers.dbAttribute, dbEntity),
+            DbAttribute attr = new DbAttribute(UniqueNameGenerator.generate(NameCheckers.dbAttribute, dbEntity),
                     TypesMapping.NOT_DEFINED, dbEntity);
 
             createDbAttribute(mediator.getCurrentDataMap(), dbEntity, attr);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/633303cf/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateCallbackMethodAction.java
----------------------------------------------------------------------
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 150241c..5835ac9 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
@@ -23,7 +23,7 @@ import java.awt.event.ActionEvent;
 import org.apache.cayenne.map.CallbackMap;
 import org.apache.cayenne.map.LifecycleEvent;
 import org.apache.cayenne.map.event.MapEvent;
-import org.apache.cayenne.map.naming.DefaultUniqueNameGenerator;
+import org.apache.cayenne.map.naming.UniqueNameGenerator;
 import org.apache.cayenne.map.naming.NameCheckers;
 import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.editor.CallbackType;
@@ -78,7 +78,7 @@ public class CreateCallbackMethodAction extends CayenneAction {
 
         // generate methodName
         String methodNamePrefix = toMethodName(callbackType.getType());
-        String methodName = DefaultUniqueNameGenerator.generate(NameCheckers.objCallbackMethod, getProjectController().getCurrentObjEntity(), methodNamePrefix);
+        String methodName = UniqueNameGenerator.generate(NameCheckers.objCallbackMethod, getProjectController().getCurrentObjEntity(), methodNamePrefix);
 
         createCallbackMethod(callbackType, methodName);
         application.getUndoManager().addEdit(

http://git-wip-us.apache.org/repos/asf/cayenne/blob/633303cf/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateDataMapAction.java
----------------------------------------------------------------------
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 dccafcb..aecc843 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
@@ -23,7 +23,7 @@ import org.apache.cayenne.configuration.ConfigurationNode;
 import org.apache.cayenne.configuration.DataChannelDescriptor;
 import org.apache.cayenne.configuration.DataNodeDescriptor;
 import org.apache.cayenne.map.DataMap;
-import org.apache.cayenne.map.naming.DefaultUniqueNameGenerator;
+import org.apache.cayenne.map.naming.UniqueNameGenerator;
 import org.apache.cayenne.map.naming.NameCheckers;
 import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.ProjectController;
@@ -63,7 +63,7 @@ public class CreateDataMapAction extends CayenneAction {
                 .getProject()
                 .getRootNode();
 
-        DataMap map = new DataMap(DefaultUniqueNameGenerator.generate(NameCheckers.dataMap, currentDomain));
+        DataMap map = new DataMap(UniqueNameGenerator.generate(NameCheckers.dataMap, currentDomain));
 
         createDataMap(map);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/633303cf/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateDbEntityAction.java
----------------------------------------------------------------------
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 c34d686..ec2520b 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
@@ -28,7 +28,7 @@ import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.Entity;
 import org.apache.cayenne.map.event.EntityEvent;
 import org.apache.cayenne.map.event.MapEvent;
-import org.apache.cayenne.map.naming.DefaultUniqueNameGenerator;
+import org.apache.cayenne.map.naming.UniqueNameGenerator;
 import org.apache.cayenne.map.naming.NameCheckers;
 import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.ProjectController;
@@ -63,7 +63,7 @@ public class CreateDbEntityAction extends CayenneAction {
 		ProjectController mediator = getProjectController();
 
 		DataMap map = mediator.getCurrentDataMap();
-		DbEntity entity = new DbEntity(DefaultUniqueNameGenerator.generate(NameCheckers.dbEntity, map));
+		DbEntity entity = new DbEntity(UniqueNameGenerator.generate(NameCheckers.dbEntity, map));
 
 		createEntity(map, entity);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/633303cf/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateEmbeddableAction.java
----------------------------------------------------------------------
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 6466f57..05a00a4 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
@@ -27,7 +27,7 @@ import org.apache.cayenne.map.Embeddable;
 import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.map.event.EmbeddableEvent;
 import org.apache.cayenne.map.event.MapEvent;
-import org.apache.cayenne.map.naming.DefaultUniqueNameGenerator;
+import org.apache.cayenne.map.naming.UniqueNameGenerator;
 import org.apache.cayenne.map.naming.NameCheckers;
 import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.ProjectController;
@@ -56,7 +56,7 @@ public class CreateEmbeddableAction extends CayenneAction {
 
         DataMap dataMap = mediator.getCurrentDataMap();
 
-        Embeddable embeddable = new Embeddable(DefaultUniqueNameGenerator.generate(NameCheckers.embeddable, mediator.getCurrentDataMap()));
+        Embeddable embeddable = new Embeddable(UniqueNameGenerator.generate(NameCheckers.embeddable, mediator.getCurrentDataMap()));
         createEmbeddable(dataMap, embeddable);
 
         application.getUndoManager().addEdit(

http://git-wip-us.apache.org/repos/asf/cayenne/blob/633303cf/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateNodeAction.java
----------------------------------------------------------------------
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 d8b7cbd..4dfc3f3 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
@@ -29,7 +29,7 @@ import org.apache.cayenne.configuration.event.DataNodeEvent;
 import org.apache.cayenne.configuration.server.XMLPoolingDataSourceFactory;
 import org.apache.cayenne.conn.DataSourceInfo;
 import org.apache.cayenne.map.event.MapEvent;
-import org.apache.cayenne.map.naming.DefaultUniqueNameGenerator;
+import org.apache.cayenne.map.naming.UniqueNameGenerator;
 import org.apache.cayenne.map.naming.NameCheckers;
 import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.ProjectController;
@@ -104,7 +104,7 @@ public class CreateNodeAction extends CayenneAction {
 	 * A factory method that makes a new DataNode.
 	 */
 	DataNodeDescriptor buildDataNode(DataChannelDescriptor domain) {
-		DataNodeDescriptor node = new DataNodeDescriptor(DefaultUniqueNameGenerator.generate(
+		DataNodeDescriptor node = new DataNodeDescriptor(UniqueNameGenerator.generate(
 				NameCheckers.dataNodeDescriptor, domain));
 		node.setDataChannelDescriptor(domain);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/633303cf/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateObjEntityAction.java
----------------------------------------------------------------------
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 a4f54fc..cb656d9 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
@@ -27,7 +27,7 @@ import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.map.event.EntityEvent;
 import org.apache.cayenne.map.event.MapEvent;
-import org.apache.cayenne.map.naming.DefaultUniqueNameGenerator;
+import org.apache.cayenne.map.naming.UniqueNameGenerator;
 import org.apache.cayenne.map.naming.NameCheckers;
 import org.apache.cayenne.map.naming.NameConverter;
 import org.apache.cayenne.modeler.Application;
@@ -69,7 +69,7 @@ public class CreateObjEntityAction extends CayenneAction {
         ProjectController mediator = getProjectController();
 
         DataMap dataMap = mediator.getCurrentDataMap();
-        ObjEntity entity = new ObjEntity(DefaultUniqueNameGenerator.generate(NameCheckers.objEntity, dataMap));
+        ObjEntity entity = new ObjEntity(UniqueNameGenerator.generate(NameCheckers.objEntity, dataMap));
 
         // init defaults
         entity.setSuperClassName(dataMap.getDefaultSuperclass());
@@ -79,7 +79,7 @@ public class CreateObjEntityAction extends CayenneAction {
         if (dbEntity != null) {
             entity.setDbEntity(dbEntity);
             String baseName = NameConverter.underscoredToJava(dbEntity.getName(), true);
-            entity.setName(DefaultUniqueNameGenerator.generate(NameCheckers.objEntity, dbEntity.getDataMap(), baseName));
+            entity.setName(UniqueNameGenerator.generate(NameCheckers.objEntity, dbEntity.getDataMap(), baseName));
         }
 
         entity.setClassName(dataMap.getNameWithDefaultPackage(entity.getName()));

http://git-wip-us.apache.org/repos/asf/cayenne/blob/633303cf/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateProcedureAction.java
----------------------------------------------------------------------
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 1c5397f..ba060b8 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
@@ -27,7 +27,7 @@ import org.apache.cayenne.configuration.event.ProcedureEvent;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.Procedure;
 import org.apache.cayenne.map.event.MapEvent;
-import org.apache.cayenne.map.naming.DefaultUniqueNameGenerator;
+import org.apache.cayenne.map.naming.UniqueNameGenerator;
 import org.apache.cayenne.map.naming.NameCheckers;
 import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.ProjectController;
@@ -52,7 +52,7 @@ public class CreateProcedureAction extends CayenneAction {
 		ProjectController mediator = getProjectController();
 		DataMap map = mediator.getCurrentDataMap();
 
-		Procedure procedure = new Procedure(DefaultUniqueNameGenerator.generate(NameCheckers.procedure, map));
+		Procedure procedure = new Procedure(UniqueNameGenerator.generate(NameCheckers.procedure, map));
 
 		createProcedure(map, procedure);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/633303cf/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateProcedureParameterAction.java
----------------------------------------------------------------------
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 cc2f0ee..70aaa5c 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
@@ -27,7 +27,7 @@ import org.apache.cayenne.configuration.event.ProcedureParameterEvent;
 import org.apache.cayenne.map.Procedure;
 import org.apache.cayenne.map.ProcedureParameter;
 import org.apache.cayenne.map.event.MapEvent;
-import org.apache.cayenne.map.naming.DefaultUniqueNameGenerator;
+import org.apache.cayenne.map.naming.UniqueNameGenerator;
 import org.apache.cayenne.map.naming.NameCheckers;
 import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.ProjectController;
@@ -64,7 +64,7 @@ public class CreateProcedureParameterAction extends CayenneAction {
 	public void createProcedureParameter() {
 		Procedure procedure = getProjectController().getCurrentProcedure();
 
-		ProcedureParameter parameter = new ProcedureParameter(DefaultUniqueNameGenerator.generate(
+		ProcedureParameter parameter = new ProcedureParameter(UniqueNameGenerator.generate(
 				NameCheckers.procedureParameter, procedure));
 		procedure.addCallParameter(parameter);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/633303cf/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateRelationshipAction.java
----------------------------------------------------------------------
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 9a4ef96..1f62b77 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
@@ -31,7 +31,7 @@ import org.apache.cayenne.map.ObjRelationship;
 import org.apache.cayenne.map.Relationship;
 import org.apache.cayenne.map.event.MapEvent;
 import org.apache.cayenne.map.event.RelationshipEvent;
-import org.apache.cayenne.map.naming.DefaultUniqueNameGenerator;
+import org.apache.cayenne.map.naming.UniqueNameGenerator;
 import org.apache.cayenne.map.naming.NameCheckers;
 import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.ProjectController;
@@ -66,7 +66,7 @@ public class CreateRelationshipAction extends CayenneAction {
 		ObjEntity objEnt = getProjectController().getCurrentObjEntity();
 		if (objEnt != null) {
 
-			ObjRelationship rel = new ObjRelationship(DefaultUniqueNameGenerator.generate(NameCheckers.objRelationship,
+			ObjRelationship rel = new ObjRelationship(UniqueNameGenerator.generate(NameCheckers.objRelationship,
 					objEnt));
 			createObjRelationship(objEnt, rel);
 
@@ -76,7 +76,7 @@ public class CreateRelationshipAction extends CayenneAction {
 			DbEntity dbEnt = getProjectController().getCurrentDbEntity();
 			if (dbEnt != null) {
 
-				DbRelationship rel = new DbRelationship(DefaultUniqueNameGenerator.generate(
+				DbRelationship rel = new DbRelationship(UniqueNameGenerator.generate(
 						NameCheckers.dbRelationship, dbEnt));
 				createDbRelationship(dbEnt, rel);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/633303cf/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ImportDataMapAction.java
----------------------------------------------------------------------
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 4466ce4..f662b64 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
@@ -31,7 +31,7 @@ import javax.swing.JOptionPane;
 import org.apache.cayenne.configuration.DataChannelDescriptor;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.MapLoader;
-import org.apache.cayenne.map.naming.DefaultUniqueNameGenerator;
+import org.apache.cayenne.map.naming.UniqueNameGenerator;
 import org.apache.cayenne.map.naming.NameCheckers;
 import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.pref.FSPath;
@@ -85,9 +85,9 @@ public class ImportDataMapAction extends CayenneAction {
 			DataChannelDescriptor domain = (DataChannelDescriptor) getProjectController().getProject().getRootNode();
 
 			if (newMap.getName() != null) {
-				newMap.setName(DefaultUniqueNameGenerator.generate(NameCheckers.dataMap, domain, newMap.getName()));
+				newMap.setName(UniqueNameGenerator.generate(NameCheckers.dataMap, domain, newMap.getName()));
 			} else {
-				newMap.setName(DefaultUniqueNameGenerator.generate(NameCheckers.dataMap, domain));
+				newMap.setName(UniqueNameGenerator.generate(NameCheckers.dataMap, domain));
 			}
 
 			Resource baseResource = domain.getConfigurationSource();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/633303cf/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ImportEOModelAction.java
----------------------------------------------------------------------
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 5466d3b..8672759 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
@@ -45,7 +45,7 @@ import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.Entity;
 import org.apache.cayenne.map.event.EntityEvent;
 import org.apache.cayenne.map.event.MapEvent;
-import org.apache.cayenne.map.naming.DefaultUniqueNameGenerator;
+import org.apache.cayenne.map.naming.UniqueNameGenerator;
 import org.apache.cayenne.map.naming.NameCheckers;
 import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.ProjectController;
@@ -302,7 +302,7 @@ public class ImportEOModelAction extends CayenneAction {
         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(UniqueNameGenerator.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...

http://git-wip-us.apache.org/repos/asf/cayenne/blob/633303cf/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/NewProjectAction.java
----------------------------------------------------------------------
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 d897350..b088fd1 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
@@ -27,7 +27,7 @@ import javax.swing.KeyStroke;
 
 import org.apache.cayenne.configuration.ConfigurationTree;
 import org.apache.cayenne.configuration.DataChannelDescriptor;
-import org.apache.cayenne.map.naming.DefaultUniqueNameGenerator;
+import org.apache.cayenne.map.naming.UniqueNameGenerator;
 import org.apache.cayenne.map.naming.NameCheckers;
 import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.CayenneModelerController;
@@ -68,7 +68,7 @@ public class NewProjectAction extends ProjectAction {
 
         DataChannelDescriptor domain = new DataChannelDescriptor();
 
-        domain.setName(DefaultUniqueNameGenerator.generate(NameCheckers.dataChannelDescriptor, domain));
+        domain.setName(UniqueNameGenerator.generate(NameCheckers.dataChannelDescriptor, domain));
 
         Project project = new Project(
                 new ConfigurationTree<DataChannelDescriptor>(domain));

http://git-wip-us.apache.org/repos/asf/cayenne/blob/633303cf/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/PasteAction.java
----------------------------------------------------------------------
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 e1885b9..2291544 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
@@ -35,7 +35,7 @@ import org.apache.cayenne.map.ObjRelationship;
 import org.apache.cayenne.map.Procedure;
 import org.apache.cayenne.map.ProcedureParameter;
 import org.apache.cayenne.map.event.MapEvent;
-import org.apache.cayenne.map.naming.DefaultUniqueNameGenerator;
+import org.apache.cayenne.map.naming.UniqueNameGenerator;
 import org.apache.cayenne.map.naming.NameCheckers;
 import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.ProjectController;
@@ -171,7 +171,7 @@ public class PasteAction extends CayenneAction implements FlavorListener {
             // paste DataMap to DataDomain or DataNode
             DataMap dataMap = ((DataMap) content);
 
-            dataMap.setName(DefaultUniqueNameGenerator.generate(NameCheckers.dataMap, COPY_PATTERN, domain, dataMap.getName()));
+            dataMap.setName(UniqueNameGenerator.generate(NameCheckers.dataMap, COPY_PATTERN, domain, dataMap.getName()));
 
             /**
              * Update all names in the new DataMap, so that they would not conflict with
@@ -187,7 +187,7 @@ public class PasteAction extends CayenneAction implements FlavorListener {
 
             for (DbEntity dbEntity : dataMap.getDbEntities()) {
                 String oldName = dbEntity.getName();
-                dbEntity.setName(DefaultUniqueNameGenerator.generate(NameCheckers.dbEntity, COPY_PATTERN, dataMap, dbEntity.getName()));
+                dbEntity.setName(UniqueNameGenerator.generate(NameCheckers.dbEntity, COPY_PATTERN, dataMap, dbEntity.getName()));
 
                 if (!oldName.equals(dbEntity.getName())) {
                     renamedDbEntities.put(oldName, dbEntity.getName());
@@ -195,7 +195,7 @@ public class PasteAction extends CayenneAction implements FlavorListener {
             }
             for (ObjEntity objEntity : dataMap.getObjEntities()) {
                 String oldName = objEntity.getName();
-                objEntity.setName(DefaultUniqueNameGenerator.generate(NameCheckers.objEntity, COPY_PATTERN, dataMap, objEntity.getName()));
+                objEntity.setName(UniqueNameGenerator.generate(NameCheckers.objEntity, COPY_PATTERN, dataMap, objEntity.getName()));
 
                 if (!oldName.equals(objEntity.getName())) {
                     renamedObjEntities.put(oldName, objEntity.getName());
@@ -204,7 +204,7 @@ public class PasteAction extends CayenneAction implements FlavorListener {
 
             for (Embeddable embeddable : dataMap.getEmbeddables()) {
                 String oldName = embeddable.getClassName();
-                embeddable.setClassName(DefaultUniqueNameGenerator.generate(NameCheckers.embeddable, COPY_PATTERN, dataMap, embeddable.getClassName()));
+                embeddable.setClassName(UniqueNameGenerator.generate(NameCheckers.embeddable, COPY_PATTERN, dataMap, embeddable.getClassName()));
 
                 if (!oldName.equals(embeddable.getClassName())) {
                     renamedEmbeddables.put(oldName, embeddable.getClassName());
@@ -212,10 +212,10 @@ public class PasteAction extends CayenneAction implements FlavorListener {
             }
 
             for (Procedure procedure : dataMap.getProcedures()) {
-                procedure.setName(DefaultUniqueNameGenerator.generate(NameCheckers.procedure, COPY_PATTERN, dataMap, procedure.getName()));
+                procedure.setName(UniqueNameGenerator.generate(NameCheckers.procedure, COPY_PATTERN, dataMap, procedure.getName()));
             }
             for (QueryDescriptor query : dataMap.getQueryDescriptors()) {
-                query.setName(DefaultUniqueNameGenerator.generate(NameCheckers.query, COPY_PATTERN, dataMap, query.getName()));
+                query.setName(UniqueNameGenerator.generate(NameCheckers.query, COPY_PATTERN, dataMap, query.getName()));
             }
 
             // if an entity was renamed, we rename all links to it too
@@ -257,7 +257,7 @@ public class PasteAction extends CayenneAction implements FlavorListener {
 
             if (content instanceof DbEntity) {
                 DbEntity dbEntity = (DbEntity) content;
-                dbEntity.setName(DefaultUniqueNameGenerator.generate(NameCheckers.dbEntity, COPY_PATTERN, dataMap, dbEntity.getName()));
+                dbEntity.setName(UniqueNameGenerator.generate(NameCheckers.dbEntity, COPY_PATTERN, dataMap, dbEntity.getName()));
 
                 dataMap.addDbEntity(dbEntity);
                 CreateDbEntityAction.fireDbEntityEvent(this, mediator, dbEntity);
@@ -265,7 +265,7 @@ public class PasteAction extends CayenneAction implements FlavorListener {
             else if (content instanceof ObjEntity) {
                 // paste ObjEntity to DataMap
                 ObjEntity objEntity = (ObjEntity) content;
-                objEntity.setName(DefaultUniqueNameGenerator.generate(NameCheckers.objEntity, COPY_PATTERN, dataMap, objEntity.getName()));
+                objEntity.setName(UniqueNameGenerator.generate(NameCheckers.objEntity, COPY_PATTERN, dataMap, objEntity.getName()));
 
                 dataMap.addObjEntity(objEntity);
                 CreateObjEntityAction.fireObjEntityEvent(
@@ -277,7 +277,7 @@ public class PasteAction extends CayenneAction implements FlavorListener {
             else if (content instanceof Embeddable) {
                 // paste Embeddable to DataMap
                 Embeddable embeddable = (Embeddable) content;
-                embeddable.setClassName(DefaultUniqueNameGenerator.generate(NameCheckers.embeddable, COPY_PATTERN, dataMap, embeddable.getClassName()));
+                embeddable.setClassName(UniqueNameGenerator.generate(NameCheckers.embeddable, COPY_PATTERN, dataMap, embeddable.getClassName()));
 
                 dataMap.addEmbeddable(embeddable);
                 CreateEmbeddableAction.fireEmbeddableEvent(
@@ -289,7 +289,7 @@ public class PasteAction extends CayenneAction implements FlavorListener {
             else if (content instanceof QueryDescriptor) {
                 QueryDescriptor query = (QueryDescriptor) content;
 
-                query.setName(DefaultUniqueNameGenerator.generate(NameCheckers.query, COPY_PATTERN, dataMap, query.getName()));
+                query.setName(UniqueNameGenerator.generate(NameCheckers.query, COPY_PATTERN, dataMap, query.getName()));
                 query.setDataMap(dataMap);
 
                 dataMap.addQueryDescriptor(query);
@@ -298,7 +298,7 @@ public class PasteAction extends CayenneAction implements FlavorListener {
             else if (content instanceof Procedure) {
                 // paste Procedure to DataMap
                 Procedure procedure = (Procedure) content;
-                procedure.setName(DefaultUniqueNameGenerator.generate(NameCheckers.procedure, COPY_PATTERN, dataMap, procedure.getName()));
+                procedure.setName(UniqueNameGenerator.generate(NameCheckers.procedure, COPY_PATTERN, dataMap, procedure.getName()));
 
                 dataMap.addProcedure(procedure);
                 CreateProcedureAction.fireProcedureEvent(
@@ -313,7 +313,7 @@ public class PasteAction extends CayenneAction implements FlavorListener {
 
             if (content instanceof DbAttribute) {
                 DbAttribute attr = (DbAttribute) content;
-                attr.setName(DefaultUniqueNameGenerator.generate(NameCheckers.dbAttribute, COPY_PATTERN, dbEntity, attr.getName()));
+                attr.setName(UniqueNameGenerator.generate(NameCheckers.dbAttribute, COPY_PATTERN, dbEntity, attr.getName()));
 
                 dbEntity.addAttribute(attr);
                 CreateAttributeAction.fireDbAttributeEvent(this, mediator, mediator
@@ -321,7 +321,7 @@ public class PasteAction extends CayenneAction implements FlavorListener {
             }
             else if (content instanceof DbRelationship) {
                 DbRelationship rel = (DbRelationship) content;
-                rel.setName(DefaultUniqueNameGenerator.generate(NameCheckers.dbRelationship, COPY_PATTERN, dbEntity, rel.getName()));
+                rel.setName(UniqueNameGenerator.generate(NameCheckers.dbRelationship, COPY_PATTERN, dbEntity, rel.getName()));
 
                 dbEntity.addRelationship(rel);
                 CreateRelationshipAction.fireDbRelationshipEvent(
@@ -337,7 +337,7 @@ public class PasteAction extends CayenneAction implements FlavorListener {
 
             if (content instanceof ObjAttribute) {
                 ObjAttribute attr = (ObjAttribute) content;
-                attr.setName(DefaultUniqueNameGenerator.generate(NameCheckers.objAttribute, COPY_PATTERN, objEntity, attr.getName()));
+                attr.setName(UniqueNameGenerator.generate(NameCheckers.objAttribute, COPY_PATTERN, objEntity, attr.getName()));
 
                 objEntity.addAttribute(attr);
                 CreateAttributeAction.fireObjAttributeEvent(this, mediator, mediator
@@ -345,7 +345,7 @@ public class PasteAction extends CayenneAction implements FlavorListener {
             }
             else if (content instanceof ObjRelationship) {
                 ObjRelationship rel = (ObjRelationship) content;
-                rel.setName(DefaultUniqueNameGenerator.generate(NameCheckers.objRelationship, COPY_PATTERN, objEntity, rel.getName()));
+                rel.setName(UniqueNameGenerator.generate(NameCheckers.objRelationship, COPY_PATTERN, objEntity, rel.getName()));
 
                 objEntity.addRelationship(rel);
                 CreateRelationshipAction.fireObjRelationshipEvent(
@@ -357,7 +357,7 @@ public class PasteAction extends CayenneAction implements FlavorListener {
             else if(content instanceof ObjCallbackMethod) {
                 ObjCallbackMethod method = (ObjCallbackMethod) content;
 
-                method.setName(DefaultUniqueNameGenerator.generate(NameCheckers.objCallbackMethod, COPY_PATTERN, objEntity, method.getName()));
+                method.setName(UniqueNameGenerator.generate(NameCheckers.objCallbackMethod, COPY_PATTERN, objEntity, method.getName()));
                 
                 objEntity.getCallbackMap().getCallbackDescriptor(mediator.getCurrentCallbackType().getType()).addCallbackMethod(method.getName());
 
@@ -376,7 +376,7 @@ public class PasteAction extends CayenneAction implements FlavorListener {
 
             if (content instanceof EmbeddableAttribute) {
                 EmbeddableAttribute attr = (EmbeddableAttribute) content;
-                attr.setName(DefaultUniqueNameGenerator.generate(NameCheckers.embeddableAttribute, COPY_PATTERN, embeddable, attr.getName()));
+                attr.setName(UniqueNameGenerator.generate(NameCheckers.embeddableAttribute, COPY_PATTERN, embeddable, attr.getName()));
 
                 embeddable.addAttribute(attr);
                 CreateAttributeAction.fireEmbeddableAttributeEvent(
@@ -395,7 +395,7 @@ public class PasteAction extends CayenneAction implements FlavorListener {
             if (content instanceof ProcedureParameter) {
                 ProcedureParameter param = (ProcedureParameter) content;
 
-                param.setName(DefaultUniqueNameGenerator.generate(NameCheckers.procedureParameter, COPY_PATTERN, procedure, param.getName()));
+                param.setName(UniqueNameGenerator.generate(NameCheckers.procedureParameter, COPY_PATTERN, procedure, param.getName()));
 
                 procedure.addCallParameter(param);
                 CreateProcedureParameterAction.fireProcedureParameterEvent(

http://git-wip-us.apache.org/repos/asf/cayenne/blob/633303cf/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java
index 287e703..13a4aa5 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java
@@ -20,24 +20,16 @@
 package org.apache.cayenne.modeler.action;
 
 import java.awt.event.ActionEvent;
-import java.sql.Connection;
-
-import javax.swing.SwingUtilities;
 
 import org.apache.cayenne.configuration.DataChannelDescriptor;
 import org.apache.cayenne.configuration.event.DataMapEvent;
-import org.apache.cayenne.dba.DbAdapter;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.event.MapEvent;
-import org.apache.cayenne.map.naming.DefaultUniqueNameGenerator;
+import org.apache.cayenne.map.naming.UniqueNameGenerator;
 import org.apache.cayenne.map.naming.NameCheckers;
 import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.CayenneModelerController;
 import org.apache.cayenne.modeler.ProjectController;
-import org.apache.cayenne.modeler.dialog.db.ReverseEngineeringController;
-import org.apache.cayenne.modeler.dialog.db.DbLoaderHelper;
-import org.apache.cayenne.modeler.dialog.db.ReverseEngineeringScrollPane;
-import org.apache.cayenne.modeler.pref.DBConnectionInfo;
 import org.apache.cayenne.modeler.util.CayenneAction;
 
 /**
@@ -63,8 +55,8 @@ public class ReverseEngineeringAction extends CayenneAction {
         DataMap dataMap = projectController.getCurrentDataMap();
         DataChannelDescriptor dataChannelDescriptor = projectController.getCurrentDataChanel();
         if (dataMap == null) {
-            dataMap = new DataMap(DefaultUniqueNameGenerator.generate(NameCheckers.dataMap));
-            dataMap.setName(DefaultUniqueNameGenerator.generate(NameCheckers.dataMap, projectController.getProject().getRootNode()));
+            dataMap = new DataMap(UniqueNameGenerator.generate(NameCheckers.dataMap));
+            dataMap.setName(UniqueNameGenerator.generate(NameCheckers.dataMap, projectController.getProject().getRootNode()));
             dataChannelDescriptor.getDataMaps().add(dataMap);
             getProjectController().fireDataMapEvent(new DataMapEvent(this, dataMap, MapEvent.ADD));
         }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/633303cf/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/ResolveDbRelationshipDialog.java
----------------------------------------------------------------------
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 ce79cd5..03db3fe 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
@@ -46,7 +46,7 @@ import org.apache.cayenne.map.Entity;
 import org.apache.cayenne.map.Relationship;
 import org.apache.cayenne.map.event.MapEvent;
 import org.apache.cayenne.map.event.RelationshipEvent;
-import org.apache.cayenne.map.naming.DefaultUniqueNameGenerator;
+import org.apache.cayenne.map.naming.UniqueNameGenerator;
 import org.apache.cayenne.map.naming.NameCheckers;
 import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.pref.TableColumnPreferences;
@@ -292,7 +292,7 @@ public class ResolveDbRelationshipDialog extends CayenneDialog {
         }
 
         if (sourceEntityName == null) {
-            sourceEntityName = DefaultUniqueNameGenerator.generate(NameCheckers.dbRelationship, relationship.getSourceEntity());
+            sourceEntityName = UniqueNameGenerator.generate(NameCheckers.dbRelationship, relationship.getSourceEntity());
         }
 
         if (!validateName(relationship.getSourceEntity(), relationship, sourceEntityName)) {
@@ -305,7 +305,7 @@ public class ResolveDbRelationshipDialog extends CayenneDialog {
         }
 
         if (targetEntityName == null) {
-            targetEntityName = DefaultUniqueNameGenerator.generate(NameCheckers.dbRelationship, relationship.getTargetEntity());
+            targetEntityName = UniqueNameGenerator.generate(NameCheckers.dbRelationship, relationship.getTargetEntity());
         }
 
         // check if reverse name is valid

http://git-wip-us.apache.org/repos/asf/cayenne/blob/633303cf/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderHelper.java
----------------------------------------------------------------------
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 a9016c8..cbcb34e 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
@@ -35,7 +35,7 @@ import org.apache.cayenne.map.DbRelationship;
 import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.map.event.EntityEvent;
 import org.apache.cayenne.map.event.MapEvent;
-import org.apache.cayenne.map.naming.DefaultUniqueNameGenerator;
+import org.apache.cayenne.map.naming.UniqueNameGenerator;
 import org.apache.cayenne.map.naming.NameCheckers;
 import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.ProjectController;
@@ -335,8 +335,8 @@ public class DbLoaderHelper {
             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(UniqueNameGenerator.generate(NameCheckers.dataMap));
+                dataMap.setName(UniqueNameGenerator.generate(NameCheckers.dataMap, mediator.getProject().getRootNode()));
             }
 
             if (isCanceled()) {
@@ -351,7 +351,7 @@ public class DbLoaderHelper {
                     reverseEngineering.setConfigurationSource(dataMap.getReverseEngineering().getConfigurationSource());
                 }
             } else {
-                reverseEngineering.setName(DefaultUniqueNameGenerator.generate(NameCheckers.reverseEngineering, dataChannelDescriptor));
+                reverseEngineering.setName(UniqueNameGenerator.generate(NameCheckers.reverseEngineering, dataChannelDescriptor));
             }
 
             if (dataMap.getConfigurationSource() != null) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/633303cf/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/query/QueryType.java
----------------------------------------------------------------------
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 41a0e2f..dd2c71d 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
@@ -29,7 +29,7 @@ import org.apache.cayenne.configuration.event.QueryEvent;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.QueryDescriptor;
 import org.apache.cayenne.map.event.MapEvent;
-import org.apache.cayenne.map.naming.DefaultUniqueNameGenerator;
+import org.apache.cayenne.map.naming.UniqueNameGenerator;
 import org.apache.cayenne.map.naming.NameCheckers;
 import org.apache.cayenne.modeler.ProjectController;
 import org.apache.cayenne.modeler.event.QueryDisplayEvent;
@@ -119,7 +119,7 @@ public class QueryType extends CayenneController{
         String queryType = getSelectedQuery();
 
         // update query...
-        String queryName = DefaultUniqueNameGenerator.generate(NameCheckers.query, dataMap);
+        String queryName = UniqueNameGenerator.generate(NameCheckers.query, dataMap);
 
         QueryDescriptor query = QueryDescriptor.descriptor(queryType);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/633303cf/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOModelProcessor.java
----------------------------------------------------------------------
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 9c2f561..82bfa91 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
@@ -34,7 +34,7 @@ import java.util.StringTokenizer;
 import org.apache.cayenne.dba.TypesMapping;
 import org.apache.cayenne.exp.ExpressionException;
 import org.apache.cayenne.map.*;
-import org.apache.cayenne.map.naming.DefaultUniqueNameGenerator;
+import org.apache.cayenne.map.naming.UniqueNameGenerator;
 import org.apache.cayenne.map.naming.NameCheckers;
 import org.apache.cayenne.query.*;
 import org.apache.cayenne.wocompat.parser.Parser;
@@ -716,7 +716,7 @@ public class EOModelProcessor {
 			if (relationship.getReverseRelationship() == null) {
 				DbRelationship reverse = relationship.createReverseRelationship();
 
-				String name = DefaultUniqueNameGenerator.generate(NameCheckers.dbRelationship,
+				String name = UniqueNameGenerator.generate(NameCheckers.dbRelationship,
 						reverse.getSourceEntity(), relationship.getName() + "Reverse");
 				reverse.setName(name);
 				relationship.getTargetEntity().addRelationship(reverse);