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 19:18:37 UTC

[1/4] cayenne git commit: CAY-2114 cdbimport: object layer settings are not respected

Repository: cayenne
Updated Branches:
  refs/heads/master ad9447556 -> 8ac060fce


CAY-2114 cdbimport: object layer settings are not respected

* propagating top-level ObjectNameGenerator down to all tokens


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

Branch: refs/heads/master
Commit: 603117cd75b45cce71e5cfad1c6d7bf2aea76044
Parents: ad94475
Author: Andrus Adamchik <an...@objectstyle.com>
Authored: Fri Sep 30 21:32:57 2016 +0300
Committer: Andrus Adamchik <an...@objectstyle.com>
Committed: Fri Sep 30 21:38:20 2016 +0300

----------------------------------------------------------------------
 .../cayenne/dbsync/merge/AddColumnToModel.java  | 13 ++--
 .../dbsync/merge/AddRelationshipToModel.java    | 65 +++++++++-----------
 .../dbsync/merge/CreateTableToModel.java        | 14 ++---
 .../cayenne/dbsync/merge/DropColumnToModel.java |  6 +-
 .../dbsync/merge/DropRelationshipToModel.java   |  2 +-
 .../cayenne/dbsync/merge/DropTableToModel.java  |  4 +-
 .../dbsync/merge/EntityMergeSupport.java        | 13 ++--
 .../cayenne/dbsync/merge/MergerContext.java     | 58 ++++++++++++++---
 .../cayenne/dbsync/merge/MergerToken.java       |  4 +-
 .../dbsync/merge/SetAllowNullToModel.java       |  2 +-
 .../dbsync/merge/SetColumnTypeToModel.java      |  2 +-
 .../cayenne/dbsync/merge/SetNotNullToModel.java |  2 +-
 .../dbsync/merge/SetPrimaryKeyToModel.java      |  2 +-
 .../naming/LegacyObjectNameGenerator.java       |  8 ++-
 .../dbsync/merge/EntityMergeSupportIT.java      |  4 +-
 .../tools/dbimport/DbImportConfiguration.java   | 15 +++--
 .../tools/dbimport/DefaultDbImportAction.java   | 22 +++++--
 .../modeler/action/CreateObjEntityAction.java   |  3 +-
 .../modeler/dialog/db/MergerOptions.java        |  6 +-
 19 files changed, 146 insertions(+), 99 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/603117cd/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/AddColumnToModel.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/AddColumnToModel.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/AddColumnToModel.java
index 30390ca..823a81d 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/AddColumnToModel.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/AddColumnToModel.java
@@ -26,7 +26,6 @@ import org.apache.cayenne.map.ObjEntity;
 /**
  * A {@link MergerToken} to add a {@link DbAttribute} to a {@link DbEntity}. The
  * {@link EntityMergeSupport} will be used to update the mapped {@link ObjEntity}
- * 
  */
 public class AddColumnToModel extends AbstractToModelToken.EntityAndColumn {
 
@@ -34,22 +33,20 @@ public class AddColumnToModel extends AbstractToModelToken.EntityAndColumn {
         super("Add Column", entity, column);
     }
 
+    @Override
     public MergerToken createReverse(MergerTokenFactory factory) {
         return factory.createDropColumnToDb(getEntity(), getColumn());
     }
 
+    @Override
     public void execute(MergerContext mergerContext) {
         getEntity().addAttribute(getColumn());
 
-        // TODO: use EntityMergeSupport from DbImportConfiguration... otherwise we are ignoring a bunch of
-        // important settings
-
-        EntityMergeSupport entityMergeSupport =  new EntityMergeSupport(mergerContext.getDataMap());
-        for(ObjEntity e : getEntity().mappedObjEntities()) {
-            entityMergeSupport.synchronizeOnDbAttributeAdded(e, getColumn());
+        for (ObjEntity e : getEntity().mappedObjEntities()) {
+            mergerContext.getEntityMergeSupport().synchronizeOnDbAttributeAdded(e, getColumn());
         }
 
-        mergerContext.getModelMergeDelegate().dbAttributeAdded(getColumn());
+        mergerContext.getDelegate().dbAttributeAdded(getColumn());
     }
 
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/603117cd/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/AddRelationshipToModel.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/AddRelationshipToModel.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/AddRelationshipToModel.java
index f516a3e..5ae2d3f 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/AddRelationshipToModel.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/AddRelationshipToModel.java
@@ -28,34 +28,15 @@ public class AddRelationshipToModel extends AbstractToModelToken.Entity {
 
     public static final String COMMA_SEPARATOR = ", ";
     public static final int COMMA_SEPARATOR_LENGTH = COMMA_SEPARATOR.length();
-    private DbRelationship rel;
 
-    public AddRelationshipToModel(DbEntity entity, DbRelationship rel) {
-        super("Add Relationship", entity);
-        this.rel = rel;
-    }
-
-    public MergerToken createReverse(MergerTokenFactory factory) {
-        return factory.createDropRelationshipToDb(getEntity(), rel);
-    }
-
-    public void execute(MergerContext mergerContext) {
-        getEntity().addRelationship(rel);
-        // TODO: add reverse relationship as well if it does not exist
-
-        // TODO: use EntityMergeSupport from DbImportConfiguration... otherwise we are ignoring a bunch of
-        // important settings
-
-        EntityMergeSupport entityMergeSupport =  new EntityMergeSupport(mergerContext.getDataMap());
-        for(ObjEntity e : getEntity().mappedObjEntities()) {
-            entityMergeSupport.synchronizeOnDbRelationshipAdded(e, rel);
-        }
+    private DbRelationship relationship;
 
-        mergerContext.getModelMergeDelegate().dbRelationshipAdded(rel);
+    public AddRelationshipToModel(DbEntity entity, DbRelationship relationship) {
+        super("Add Relationship", entity);
+        this.relationship = relationship;
     }
 
-    @Override
-    public String getTokenValue() {
+    public static String getTokenValue(DbRelationship rel) {
         String attributes = "";
         if (rel.getJoins().size() == 1) {
             attributes = rel.getJoins().get(0).getTargetName();
@@ -70,26 +51,38 @@ public class AddRelationshipToModel extends AbstractToModelToken.Entity {
         return rel.getName() + " " + rel.getSourceEntity().getName() + "->" + rel.getTargetEntityName() + "." + attributes;
     }
 
+    @Override
+    public MergerToken createReverse(MergerTokenFactory factory) {
+        return factory.createDropRelationshipToDb(getEntity(), relationship);
+    }
 
-    public static String getTokenValue(DbRelationship rel) {
+    @Override
+    public void execute(MergerContext context) {
+
+        getEntity().addRelationship(relationship);
+
+        // TODO: add reverse relationship as well if it does not exist
+
+        for (ObjEntity e : getEntity().mappedObjEntities()) {
+            context.getEntityMergeSupport().synchronizeOnDbRelationshipAdded(e, relationship);
+        }
+
+        context.getDelegate().dbRelationshipAdded(relationship);
+    }
+
+    @Override
+    public String getTokenValue() {
         String attributes = "";
-        if (rel.getJoins().size() == 1) {
-            attributes = rel.getJoins().get(0).getTargetName();
+        if (relationship.getJoins().size() == 1) {
+            attributes = relationship.getJoins().get(0).getTargetName();
         } else {
-            for (DbJoin dbJoin : rel.getJoins()) {
+            for (DbJoin dbJoin : relationship.getJoins()) {
                 attributes += dbJoin.getTargetName() + COMMA_SEPARATOR;
             }
 
             attributes = "{" + attributes.substring(0, attributes.length() - COMMA_SEPARATOR_LENGTH) + "}";
         }
 
-        return rel.getName() + " " + rel.getSourceEntity().getName() + "->" + rel.getTargetEntityName() + "." + attributes;
+        return relationship.getName() + " " + relationship.getSourceEntity().getName() + "->" + relationship.getTargetEntityName() + "." + attributes;
     }
-
-    public DbRelationship getRelationship() {
-        return rel;
-    }
-
-
-
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/603117cd/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/CreateTableToModel.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/CreateTableToModel.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/CreateTableToModel.java
index 436a1f5..98a8f3a 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/CreateTableToModel.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/CreateTableToModel.java
@@ -53,10 +53,11 @@ public class CreateTableToModel extends AbstractToModelToken.Entity {
         objEntityClassName = n;
     }
 
-    public void execute(MergerContext mergerContext) {
+    @Override
+    public void execute(MergerContext context) {
         DbEntity dbEntity = getEntity();
 
-        DataMap map = mergerContext.getDataMap();
+        DataMap map = context.getDataMap();
         map.addDbEntity(dbEntity);
 
         // create a ObjEntity
@@ -94,13 +95,10 @@ public class CreateTableToModel extends AbstractToModelToken.Entity {
         map.addObjEntity(objEntity);
 
         // presumably there are no other ObjEntities pointing to this DbEntity, so syncing just this one...
+        context.getEntityMergeSupport().synchronizeWithDbEntity(objEntity);
 
-        // TODO: use EntityMergeSupport from DbImportConfiguration... otherwise we are ignoring a bunch of
-        // important settings
-        new EntityMergeSupport(map).synchronizeWithDbEntity(objEntity);
-
-        mergerContext.getModelMergeDelegate().dbEntityAdded(getEntity());
-        mergerContext.getModelMergeDelegate().objEntityAdded(objEntity);
+        context.getDelegate().dbEntityAdded(getEntity());
+        context.getDelegate().objEntityAdded(objEntity);
     }
 
     public MergerToken createReverse(MergerTokenFactory factory) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/603117cd/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropColumnToModel.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropColumnToModel.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropColumnToModel.java
index ceb03bc..70d1b1c 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropColumnToModel.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropColumnToModel.java
@@ -52,7 +52,7 @@ public class DropColumnToModel extends AbstractToModelToken.EntityAndColumn {
         for (DbRelationship dbRelationship : dbRelationships) {
             for (DbJoin join : dbRelationship.getJoins()) {
                 if (join.getSource() == getColumn() || join.getTarget() == getColumn()) {
-                    remove(mergerContext.getModelMergeDelegate(), dbRelationship, true);
+                    remove(mergerContext.getDelegate(), dbRelationship, true);
                 }
             }
         }
@@ -62,7 +62,7 @@ public class DropColumnToModel extends AbstractToModelToken.EntityAndColumn {
             ObjAttribute objAttribute = objEntity.getAttributeForDbAttribute(getColumn());
             if (objAttribute != null) {
                 objEntity.removeAttribute(objAttribute.getName());
-                mergerContext.getModelMergeDelegate().objAttributeRemoved(objAttribute);
+                mergerContext.getDelegate().objAttributeRemoved(objAttribute);
             }
 
         }
@@ -70,6 +70,6 @@ public class DropColumnToModel extends AbstractToModelToken.EntityAndColumn {
         // remove DbAttribute
         getEntity().removeAttribute(getColumn().getName());
 
-        mergerContext.getModelMergeDelegate().dbAttributeRemoved(getColumn());
+        mergerContext.getDelegate().dbAttributeRemoved(getColumn());
     }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/603117cd/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropRelationshipToModel.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropRelationshipToModel.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropRelationshipToModel.java
index 686df6e..082c33a 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropRelationshipToModel.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropRelationshipToModel.java
@@ -36,7 +36,7 @@ public class DropRelationshipToModel extends AbstractToModelToken.Entity {
     }
 
     public void execute(MergerContext mergerContext) {
-        remove(mergerContext.getModelMergeDelegate(), rel, true);
+        remove(mergerContext.getDelegate(), rel, true);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/cayenne/blob/603117cd/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropTableToModel.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropTableToModel.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropTableToModel.java
index 7a47f37..3bdd8f3 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropTableToModel.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropTableToModel.java
@@ -41,9 +41,9 @@ public class DropTableToModel extends AbstractToModelToken.Entity {
     public void execute(MergerContext mergerContext) {
         for (ObjEntity objEntity : getEntity().mappedObjEntities()) {
             objEntity.getDataMap().removeObjEntity(objEntity.getName(), true);
-            mergerContext.getModelMergeDelegate().objEntityRemoved(objEntity);
+            mergerContext.getDelegate().objEntityRemoved(objEntity);
         }
         getEntity().getDataMap().removeDbEntity(getEntity().getName(), true);
-        mergerContext.getModelMergeDelegate().dbEntityRemoved(getEntity());
+        mergerContext.getDelegate().dbEntityRemoved(getEntity());
     }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/603117cd/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 e055883..c7fc8de 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
@@ -20,6 +20,9 @@
 package org.apache.cayenne.dbsync.merge;
 
 import org.apache.cayenne.dba.TypesMapping;
+import org.apache.cayenne.dbsync.naming.DuplicateNameResolver;
+import org.apache.cayenne.dbsync.naming.NameCheckers;
+import org.apache.cayenne.dbsync.reverse.naming.ObjectNameGenerator;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
@@ -29,10 +32,6 @@ 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.dbsync.naming.DuplicateNameResolver;
-import org.apache.cayenne.dbsync.reverse.naming.LegacyObjectNameGenerator;
-import org.apache.cayenne.dbsync.naming.NameCheckers;
-import org.apache.cayenne.dbsync.reverse.naming.ObjectNameGenerator;
 import org.apache.cayenne.util.DeleteRuleUpdater;
 import org.apache.cayenne.util.EntityMergeListener;
 import org.apache.commons.logging.Log;
@@ -77,11 +76,7 @@ public class EntityMergeSupport {
     protected boolean removeMeaningfulFKs;
     protected boolean removeMeaningfulPKs;
     protected boolean usePrimitives;
-
-    public EntityMergeSupport(DataMap map) {
-        this(map, new LegacyObjectNameGenerator(), true);
-    }
-
+    
     /**
      * @since 3.0
      */

http://git-wip-us.apache.org/repos/asf/cayenne/blob/603117cd/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/MergerContext.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/MergerContext.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/MergerContext.java
index 772de97..3605e10 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/MergerContext.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/MergerContext.java
@@ -20,6 +20,8 @@ package org.apache.cayenne.dbsync.merge;
 
 import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.dba.DbAdapter;
+import org.apache.cayenne.dbsync.reverse.naming.DefaultObjectNameGenerator;
+import org.apache.cayenne.dbsync.reverse.naming.ObjectNameGenerator;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.validation.ValidationResult;
 
@@ -36,12 +38,16 @@ public class MergerContext {
     private DataNode dataNode;
     private ValidationResult validationResult;
     private ModelMergeDelegate delegate;
+    private EntityMergeSupport entityMergeSupport;
 
     protected MergerContext() {
     }
 
+    /**
+     * @since 4.0
+     */
     public static Builder builder(DataMap dataMap) {
-        return new Builder().dataMap(dataMap);
+        return new Builder(dataMap);
     }
 
     /**
@@ -53,6 +59,13 @@ public class MergerContext {
     }
 
     /**
+     * @since 4.0
+     */
+    public EntityMergeSupport getEntityMergeSupport() {
+        return entityMergeSupport;
+    }
+
+    /**
      * Returns the DataMap that is the target of a the merge operation.
      *
      * @return the DataMap that is the target of a the merge operation.
@@ -73,23 +86,46 @@ public class MergerContext {
      * Returns a callback object that is invoked as the merge proceeds through tokens, modifying the DataMap.
      *
      * @return a callback object that is invoked as the merge proceeds through tokens, modifying the DataMap.
+     * @since 4.0
      */
-    public ModelMergeDelegate getModelMergeDelegate() {
+    public ModelMergeDelegate getDelegate() {
         return delegate;
     }
 
+    /**
+     * @deprecated since 4.0 in favor of {@link #getDelegate()}.
+     */
+    @Deprecated
+    public ModelMergeDelegate getModelMergeDelegate() {
+        return getDelegate();
+    }
+
     public static class Builder {
 
         private MergerContext context;
 
-        private Builder() {
+        private Builder(DataMap dataMap) {
             this.context = new MergerContext();
+            this.context.dataMap = Objects.requireNonNull(dataMap);
             this.context.validationResult = new ValidationResult();
-            this.context.delegate = new DefaultModelMergeDelegate();
-            this.context.dataNode = new DataNode();
         }
 
         public MergerContext build() {
+
+            // init missing defaults ...
+
+            if (context.entityMergeSupport == null) {
+                nameGenerator(new DefaultObjectNameGenerator());
+            }
+
+            if (context.delegate == null) {
+                delegate(new DefaultModelMergeDelegate());
+            }
+
+            if (context.dataNode == null) {
+                dataNode(new DataNode());
+            }
+
             return context;
         }
 
@@ -98,6 +134,13 @@ public class MergerContext {
             return this;
         }
 
+        public Builder nameGenerator(ObjectNameGenerator nameGenerator) {
+            context.entityMergeSupport = new EntityMergeSupport(context.getDataMap(),
+                    Objects.requireNonNull(nameGenerator),
+                    true);  // should the last argument also be a part of the builder?
+            return this;
+        }
+
         public Builder dataNode(DataNode dataNode) {
             this.context.dataNode = Objects.requireNonNull(dataNode);
             return this;
@@ -109,10 +152,5 @@ public class MergerContext {
             dataNode.setAdapter(adapter);
             return dataNode(dataNode);
         }
-
-        public Builder dataMap(DataMap dataMap) {
-            context.dataMap = Objects.requireNonNull(dataMap);
-            return this;
-        }
     }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/603117cd/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/MergerToken.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/MergerToken.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/MergerToken.java
index 5359b62..5088f97 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/MergerToken.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/MergerToken.java
@@ -46,8 +46,8 @@ public interface MergerToken {
     /**
      * Executes synchronization operation.
      *
-     * @param mergerContext operation context.
+     * @param context merge operation context.
      */
-    void execute(MergerContext mergerContext);
+    void execute(MergerContext context);
 
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/603117cd/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetAllowNullToModel.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetAllowNullToModel.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetAllowNullToModel.java
index 71a0937..5d9c890 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetAllowNullToModel.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetAllowNullToModel.java
@@ -38,6 +38,6 @@ public class SetAllowNullToModel extends AbstractToModelToken.EntityAndColumn {
 
     public void execute(MergerContext mergerContext) {
         getColumn().setMandatory(false);
-        mergerContext.getModelMergeDelegate().dbAttributeModified(getColumn());
+        mergerContext.getDelegate().dbAttributeModified(getColumn());
     }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/603117cd/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetColumnTypeToModel.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetColumnTypeToModel.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetColumnTypeToModel.java
index 262c3a6..cf2b1e0 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetColumnTypeToModel.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetColumnTypeToModel.java
@@ -50,7 +50,7 @@ public class SetColumnTypeToModel extends AbstractToModelToken.Entity {
         columnOriginal.setMaxLength(columnNew.getMaxLength());
         columnOriginal.setAttributePrecision(columnNew.getAttributePrecision());
         columnOriginal.setScale(columnNew.getScale());
-        mergerContext.getModelMergeDelegate().dbAttributeModified(columnOriginal);
+        mergerContext.getDelegate().dbAttributeModified(columnOriginal);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/cayenne/blob/603117cd/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetNotNullToModel.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetNotNullToModel.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetNotNullToModel.java
index 9ae95b5..7402f57 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetNotNullToModel.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetNotNullToModel.java
@@ -38,6 +38,6 @@ public class SetNotNullToModel extends AbstractToModelToken.EntityAndColumn {
 
     public void execute(MergerContext mergerContext) {
         getColumn().setMandatory(true);
-        mergerContext.getModelMergeDelegate().dbAttributeModified(getColumn());
+        mergerContext.getDelegate().dbAttributeModified(getColumn());
     }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/603117cd/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetPrimaryKeyToModel.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetPrimaryKeyToModel.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetPrimaryKeyToModel.java
index 6785a2f..198fe4f 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetPrimaryKeyToModel.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetPrimaryKeyToModel.java
@@ -69,7 +69,7 @@ public class SetPrimaryKeyToModel extends AbstractToModelToken.Entity {
             if (wasPrimaryKey != willBePrimaryKey) {
                 attr.setPrimaryKey(willBePrimaryKey);
                 e.dbAttributeChanged(new AttributeEvent(this, attr, e));
-                mergerContext.getModelMergeDelegate().dbAttributeModified(attr);
+                mergerContext.getDelegate().dbAttributeModified(attr);
             }
 
         }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/603117cd/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/naming/LegacyObjectNameGenerator.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/naming/LegacyObjectNameGenerator.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/naming/LegacyObjectNameGenerator.java
index 1c52a6e..986b192 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/naming/LegacyObjectNameGenerator.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/naming/LegacyObjectNameGenerator.java
@@ -25,13 +25,14 @@ import org.apache.cayenne.map.DbRelationship;
 import org.apache.cayenne.util.Util;
 
 /**
- * BasicNamingStrategy is an naming strategy that creates names in Cayenne's
- * old-fashioned manner, i.e. the same way Cayenne did before 3.0
+ * An ObjectNameGenerator that creates names in Cayenne's old-fashioned style. I.e. the same way Cayenne did before 3.0,
+ * with "to" prefixes and "array" suffixes.
  *
  * @since 4.0
  */
 public class LegacyObjectNameGenerator implements ObjectNameGenerator {
 
+    @Override
     public String createDbRelationshipName(
             ExportedKey key,
             boolean toMany) {
@@ -40,14 +41,17 @@ public class LegacyObjectNameGenerator implements ObjectNameGenerator {
         return Util.underscoredToJava(uglyName, false);
     }
 
+    @Override
     public String createObjEntityName(DbEntity dbEntity) {
         return Util.underscoredToJava(dbEntity.getName(), true);
     }
 
+    @Override
     public String createObjAttributeName(DbAttribute attr) {
         return Util.underscoredToJava(attr.getName(), false);
     }
 
+    @Override
     public String createObjRelationshipName(DbRelationship dbRel) {
         return Util.underscoredToJava(dbRel.getName(), false);
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/603117cd/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/EntityMergeSupportIT.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/EntityMergeSupportIT.java b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/EntityMergeSupportIT.java
index d63c6a4..d21b58c 100644
--- a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/EntityMergeSupportIT.java
+++ b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/EntityMergeSupportIT.java
@@ -18,6 +18,7 @@
  ****************************************************************/
 package org.apache.cayenne.dbsync.merge;
 
+import org.apache.cayenne.dbsync.reverse.naming.DefaultObjectNameGenerator;
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.DbJoin;
@@ -86,7 +87,8 @@ public class EntityMergeSupportIT extends MergeCase {
 		objEntity2.setDbEntity(dbEntity2);
 		map.addObjEntity(objEntity2);
 
-		assertTrue(new EntityMergeSupport(map).synchronizeWithDbEntities(Arrays.asList(objEntity1, objEntity2)));
+		assertTrue(new EntityMergeSupport(map, new DefaultObjectNameGenerator(), true)
+				.synchronizeWithDbEntities(Arrays.asList(objEntity1, objEntity2)));
 		assertNotNull(objEntity1.getAttribute("name"));
 		assertNotNull(objEntity1.getRelationship("rel1To2"));
 		assertNotNull(objEntity2.getRelationship("rel2To1"));

http://git-wip-us.apache.org/repos/asf/cayenne/blob/603117cd/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/DbImportConfiguration.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/DbImportConfiguration.java b/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/DbImportConfiguration.java
index e45cdf9..57953c5 100644
--- a/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/DbImportConfiguration.java
+++ b/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/DbImportConfiguration.java
@@ -35,11 +35,11 @@ import org.apache.cayenne.dbsync.reverse.db.DefaultDbLoaderDelegate;
 import org.apache.cayenne.dbsync.reverse.db.LoggingDbLoaderDelegate;
 import org.apache.cayenne.dbsync.reverse.filters.CatalogFilter;
 import org.apache.cayenne.dbsync.reverse.filters.FiltersConfig;
+import org.apache.cayenne.dbsync.reverse.naming.DefaultObjectNameGenerator;
+import org.apache.cayenne.dbsync.reverse.naming.ObjectNameGenerator;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.EntityResolver;
-import org.apache.cayenne.dbsync.reverse.naming.LegacyObjectNameGenerator;
-import org.apache.cayenne.dbsync.reverse.naming.ObjectNameGenerator;
 import org.apache.cayenne.resource.URLResource;
 import org.apache.commons.logging.Log;
 
@@ -163,23 +163,28 @@ public class DbImportConfiguration {
             }
         };
 
-        // TODO: load via DI AdhocObjectFactory
+
         loader.setNameGenerator(getNameGenerator());
 
         return loader;
     }
 
     public ObjectNameGenerator getNameGenerator() {
+
+        // TODO: load via DI AdhocObjectFactory
+
+        // TODO: not a singleton; called from different places...
+
         String namingStrategy = getNamingStrategy();
         if (namingStrategy != null) {
             try {
                 return (ObjectNameGenerator) Class.forName(namingStrategy).newInstance();
             } catch (Exception e) {
-                throw new CayenneRuntimeException("Error creating name generator", e);
+                throw new CayenneRuntimeException("Error creating name generator: " + namingStrategy, e);
             }
         }
 
-        return new LegacyObjectNameGenerator(); // TODO
+        return new DefaultObjectNameGenerator();
     }
 
     public String getDriver() {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/603117cd/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/DefaultDbImportAction.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/DefaultDbImportAction.java b/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/DefaultDbImportAction.java
index 7d17fd7..e7adb7c 100644
--- a/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/DefaultDbImportAction.java
+++ b/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/DefaultDbImportAction.java
@@ -33,6 +33,7 @@ import org.apache.cayenne.dbsync.merge.ModelMergeDelegate;
 import org.apache.cayenne.dbsync.merge.ProxyModelMergeDelegate;
 import org.apache.cayenne.dbsync.merge.factory.MergerTokenFactory;
 import org.apache.cayenne.dbsync.reverse.db.DbLoader;
+import org.apache.cayenne.dbsync.reverse.naming.ObjectNameGenerator;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.EntityResolver;
@@ -154,14 +155,19 @@ public class DefaultDbImportAction implements DbImportAction {
             }
 
             final Collection<ObjEntity> loadedObjEntities = new LinkedList<>();
-            DataMap executed = execute(new ProxyModelMergeDelegate(config.createMergeDelegate()) {
+
+            ModelMergeDelegate delegate = new ProxyModelMergeDelegate(config.createMergeDelegate()) {
                 @Override
                 public void objEntityAdded(ObjEntity ent) {
                     loadedObjEntities.add(ent);
                     super.objEntityAdded(ent);
                 }
+            };
 
-            }, existing, log(sort(reverse(mergerTokenFactory, mergeTokens))));
+            DataMap executed = execute(delegate,
+                    existing,
+                    log(sort(reverse(mergerTokenFactory, mergeTokens))),
+                    config.getNameGenerator());
 
             DbLoader.flattenManyToManyRelationships(executed, loadedObjEntities, config.getNameGenerator());
             relationshipsSanity(executed);
@@ -226,9 +232,15 @@ public class DefaultDbImportAction implements DbImportAction {
     /**
      * Performs configured schema operations via DbGenerator.
      */
-    private DataMap execute(ModelMergeDelegate mergeDelegate, DataMap dataMap, Collection<MergerToken> tokens) {
-
-        MergerContext mergerContext = MergerContext.builder(dataMap).delegate(mergeDelegate).build();
+    private DataMap execute(ModelMergeDelegate mergeDelegate,
+                            DataMap dataMap,
+                            Collection<MergerToken> tokens,
+                            ObjectNameGenerator nameGenerator) {
+
+        MergerContext mergerContext = MergerContext.builder(dataMap)
+                .delegate(mergeDelegate)
+                .nameGenerator(nameGenerator)
+                .build();
 
         for (MergerToken token : tokens) {
             try {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/603117cd/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 254f18e..8a2bd4b 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
@@ -24,6 +24,7 @@ import org.apache.cayenne.configuration.DataChannelDescriptor;
 import org.apache.cayenne.dbsync.merge.EntityMergeSupport;
 import org.apache.cayenne.dbsync.naming.DuplicateNameResolver;
 import org.apache.cayenne.dbsync.naming.NameCheckers;
+import org.apache.cayenne.dbsync.reverse.naming.DefaultObjectNameGenerator;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.ObjEntity;
@@ -92,7 +93,7 @@ public class CreateObjEntityAction extends CayenneAction {
         dataMap.addObjEntity(entity);
 
         // perform the merge
-        EntityMergeSupport merger = new EntityMergeSupport(dataMap);
+        EntityMergeSupport merger = new EntityMergeSupport(dataMap, new DefaultObjectNameGenerator(), true);
         merger.addEntityMergeListener(DeleteRuleUpdater.getEntityMergeListener());
         merger.synchronizeWithDbEntity(entity);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/603117cd/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/MergerOptions.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/MergerOptions.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/MergerOptions.java
index b8e2a08..271fd9b 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/MergerOptions.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/MergerOptions.java
@@ -409,8 +409,10 @@ public class MergerOptions extends CayenneController {
             DataSource dataSource = connectionInfo.makeDataSource(getApplication()
                     .getClassLoadingService());
 
-            MergerContext mergerContext = MergerContext.builder(dataMap).syntheticDataNode(dataSource, adapter)
-                    .delegate(delegate).build();
+            MergerContext mergerContext = MergerContext.builder(dataMap)
+                    .syntheticDataNode(dataSource, adapter)
+                    .delegate(delegate)
+                    .build();
 
             boolean modelChanged = false;
             for (MergerToken tok : tokensToMigrate) {


[3/4] cayenne git commit: CAY-2114 cdbimport: object layer settings are not respected

Posted by aa...@apache.org.
CAY-2114 cdbimport: object layer settings are not respected

* propagating top-level ObjectNameGenerator down to all tokens


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

Branch: refs/heads/master
Commit: 5a031305ce0ddfca21b96e031bb710ef4fa4b824
Parents: 49a6ca3
Author: Andrus Adamchik <an...@objectstyle.com>
Authored: Fri Sep 30 21:32:57 2016 +0300
Committer: Andrus Adamchik <an...@objectstyle.com>
Committed: Fri Sep 30 21:52:10 2016 +0300

----------------------------------------------------------------------
 .../apache/cayenne/tools/dbimport/DefaultDbImportActionTest.java   | 2 ++
 1 file changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/5a031305/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/DefaultDbImportActionTest.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/DefaultDbImportActionTest.java b/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/DefaultDbImportActionTest.java
index 45f6478..f5d5bbc 100644
--- a/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/DefaultDbImportActionTest.java
+++ b/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/DefaultDbImportActionTest.java
@@ -36,6 +36,7 @@ import org.apache.cayenne.dbsync.merge.factory.DefaultMergerTokenFactory;
 import org.apache.cayenne.dbsync.reverse.db.DbLoader;
 import org.apache.cayenne.dbsync.reverse.db.DbLoaderConfiguration;
 import org.apache.cayenne.dbsync.reverse.db.DbLoaderDelegate;
+import org.apache.cayenne.dbsync.reverse.naming.DefaultObjectNameGenerator;
 import org.apache.cayenne.di.DIBootstrap;
 import org.apache.cayenne.di.Injector;
 import org.apache.cayenne.map.DataMap;
@@ -155,6 +156,7 @@ public class DefaultDbImportActionTest {
 		when(params.getDataMapFile()).thenReturn(FILE_STUB);
 		when(params.createMergeDelegate()).thenReturn(new DefaultModelMergeDelegate());
 		when(params.getDbLoaderConfig()).thenReturn(new DbLoaderConfiguration());
+		when(params.getNameGenerator()).thenReturn(new DefaultObjectNameGenerator());
 
         final boolean[] haveWeTriedToSave = {false};
         DefaultDbImportAction action = buildDbImportAction(new FileProjectSaver() {


[2/4] cayenne git commit: minor cleanup

Posted by aa...@apache.org.
minor cleanup


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

Branch: refs/heads/master
Commit: 49a6ca3909b5d17d09edc6c9dbd55175bafd8336
Parents: 603117c
Author: Andrus Adamchik <an...@objectstyle.com>
Authored: Fri Sep 30 21:45:31 2016 +0300
Committer: Andrus Adamchik <an...@objectstyle.com>
Committed: Fri Sep 30 21:45:31 2016 +0300

----------------------------------------------------------------------
 .../dbsync/merge/AbstractToModelToken.java      | 39 ++++++++++----------
 .../cayenne/dbsync/merge/AddColumnToDb.java     |  8 ++--
 .../dbsync/merge/AddRelationshipToDb.java       | 29 +++++++--------
 .../dbsync/merge/CreateTableToModel.java        |  2 +-
 .../cayenne/dbsync/merge/DropColumnToModel.java |  8 ++--
 .../dbsync/merge/DropRelationshipToDb.java      | 25 +++++--------
 .../dbsync/merge/DropRelationshipToModel.java   | 18 ++++-----
 .../cayenne/dbsync/merge/DropTableToDb.java     |  9 +++--
 .../cayenne/dbsync/merge/DropTableToModel.java  |  2 +
 .../cayenne/dbsync/merge/DummyReverseToken.java | 10 ++---
 .../cayenne/dbsync/merge/SetAllowNullToDb.java  |  7 ++--
 .../dbsync/merge/SetAllowNullToModel.java       |  2 +
 .../cayenne/dbsync/merge/SetColumnTypeToDb.java | 16 ++------
 .../dbsync/merge/SetColumnTypeToModel.java      | 13 ++-----
 .../cayenne/dbsync/merge/SetNotNullToDb.java    |  7 ++--
 .../cayenne/dbsync/merge/SetNotNullToModel.java |  4 +-
 .../cayenne/dbsync/merge/SetPrimaryKeyToDb.java | 11 +++---
 .../dbsync/merge/SetPrimaryKeyToModel.java      | 10 +++--
 .../dbsync/merge/SetValueForNullToDb.java       |  5 ++-
 19 files changed, 107 insertions(+), 118 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/49a6ca39/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/AbstractToModelToken.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/AbstractToModelToken.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/AbstractToModelToken.java
index 0c4b22e..424c8dc 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/AbstractToModelToken.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/AbstractToModelToken.java
@@ -27,7 +27,6 @@ import org.apache.cayenne.map.ObjRelationship;
 /**
  * Common abstract superclass for all {@link MergerToken}s going from the database to the
  * model.
- * 
  */
 public abstract class AbstractToModelToken implements MergerToken {
 
@@ -37,15 +36,6 @@ public abstract class AbstractToModelToken implements MergerToken {
         this.tokenName = tokenName;
     }
 
-    @Override
-    public final String getTokenName() {
-        return tokenName;
-    }
-
-    public final MergeDirection getDirection() {
-        return MergeDirection.TO_MODEL;
-    }
-
     protected static void remove(ModelMergeDelegate mergerContext, DbRelationship rel, boolean reverse) {
         if (rel == null) {
             return;
@@ -58,7 +48,7 @@ public abstract class AbstractToModelToken implements MergerToken {
         for (ObjEntity objEntity : dbEntity.mappedObjEntities()) {
             remove(mergerContext, objEntity.getRelationshipForDbRelationship(rel), true);
         }
-        
+
         rel.getSourceEntity().removeRelationship(rel.getName());
         mergerContext.dbRelationshipRemoved(rel);
     }
@@ -75,12 +65,22 @@ public abstract class AbstractToModelToken implements MergerToken {
     }
 
     @Override
+    public final String getTokenName() {
+        return tokenName;
+    }
+
+    @Override
+    public final MergeDirection getDirection() {
+        return MergeDirection.TO_MODEL;
+    }
+
+    @Override
     public String toString() {
         return getTokenName() + ' ' + getTokenValue() + ' ' + getDirection();
     }
-    
+
     abstract static class Entity extends AbstractToModelToken {
-        
+
         private final DbEntity entity;
 
         protected Entity(String tokenName, DbEntity entity) {
@@ -91,17 +91,17 @@ public abstract class AbstractToModelToken implements MergerToken {
         public DbEntity getEntity() {
             return entity;
         }
-        
+
         public String getTokenValue() {
             return getEntity().getName();
         }
-        
+
     }
-    
+
     abstract static class EntityAndColumn extends Entity {
-        
+
         private final DbAttribute column;
-        
+
         protected EntityAndColumn(String tokenName, DbEntity entity, DbAttribute column) {
             super(tokenName, entity);
             this.column = column;
@@ -115,8 +115,7 @@ public abstract class AbstractToModelToken implements MergerToken {
         public String getTokenValue() {
             return getEntity().getName() + "." + getColumn().getName();
         }
-        
-    }
 
+    }
 
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49a6ca39/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/AddColumnToDb.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/AddColumnToDb.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/AddColumnToDb.java
index 977128c..2a87b98 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/AddColumnToDb.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/AddColumnToDb.java
@@ -18,9 +18,6 @@
  */
 package org.apache.cayenne.dbsync.merge;
 
-import java.util.Collections;
-import java.util.List;
-
 import org.apache.cayenne.dba.DbAdapter;
 import org.apache.cayenne.dba.JdbcAdapter;
 import org.apache.cayenne.dba.QuotingStrategy;
@@ -28,6 +25,9 @@ import org.apache.cayenne.dbsync.merge.factory.MergerTokenFactory;
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
 
+import java.util.Collections;
+import java.util.List;
+
 public class AddColumnToDb extends AbstractToDbToken.EntityAndColumn {
 
     public AddColumnToDb(DbEntity entity, DbAttribute column) {
@@ -58,8 +58,8 @@ public class AddColumnToDb extends AbstractToDbToken.EntityAndColumn {
         return Collections.singletonList(sqlBuffer.toString());
     }
 
+    @Override
     public MergerToken createReverse(MergerTokenFactory factory) {
         return factory.createDropColumnToModel(getEntity(), getColumn());
     }
-
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49a6ca39/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/AddRelationshipToDb.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/AddRelationshipToDb.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/AddRelationshipToDb.java
index 5c851a6..150ac98 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/AddRelationshipToDb.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/AddRelationshipToDb.java
@@ -18,22 +18,22 @@
  ****************************************************************/
 package org.apache.cayenne.dbsync.merge;
 
-import java.util.Collections;
-import java.util.List;
-
 import org.apache.cayenne.access.DbGenerator;
 import org.apache.cayenne.dba.DbAdapter;
 import org.apache.cayenne.dbsync.merge.factory.MergerTokenFactory;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.DbRelationship;
 
+import java.util.Collections;
+import java.util.List;
+
 public class AddRelationshipToDb extends AbstractToDbToken.Entity {
 
-    private DbRelationship rel;
+    private DbRelationship relationship;
 
-    public AddRelationshipToDb(DbEntity entity, DbRelationship rel) {
+    public AddRelationshipToDb(DbEntity entity, DbRelationship relationship) {
         super("Add foreign key", entity);
-        this.rel = rel;
+        this.relationship = relationship;
     }
 
     /**
@@ -44,7 +44,7 @@ public class AddRelationshipToDb extends AbstractToDbToken.Entity {
         // TODO: skip FK to a different DB
 
         if (this.shouldGenerateFkConstraint()) {
-            String fksql = adapter.createFkConstraint(rel);
+            String fksql = adapter.createFkConstraint(relationship);
             if (fksql != null) {
                 return Collections.singletonList(fksql);
             }
@@ -53,28 +53,25 @@ public class AddRelationshipToDb extends AbstractToDbToken.Entity {
     }
 
     public boolean shouldGenerateFkConstraint() {
-        return !rel.isToMany()
-                && rel.isToPK() // TODO it is not necessary primary key it can be unique index
-                && !rel.isToDependentPK();
+        return !relationship.isToMany()
+                && relationship.isToPK() // TODO it is not necessary primary key it can be unique index
+                && !relationship.isToDependentPK();
     }
 
+    @Override
     public MergerToken createReverse(MergerTokenFactory factory) {
-        return factory.createDropRelationshipToModel(getEntity(), rel);
+        return factory.createDropRelationshipToModel(getEntity(), relationship);
     }
 
     @Override
     public String getTokenValue() {
         if (this.shouldGenerateFkConstraint()) {
-            return rel.getSourceEntity().getName() + "->" + rel.getTargetEntityName();
+            return relationship.getSourceEntity().getName() + "->" + relationship.getTargetEntityName();
         } else {
             return "Skip. No sql representation.";
         }
     }
     
-    public DbRelationship getRelationship() {
-        return rel;
-    }
-    
     @Override
     public int compareTo(MergerToken o) {
         // add all AddRelationshipToDb to the end.

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49a6ca39/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/CreateTableToModel.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/CreateTableToModel.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/CreateTableToModel.java
index 98a8f3a..a8483b9 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/CreateTableToModel.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/CreateTableToModel.java
@@ -36,7 +36,7 @@ public class CreateTableToModel extends AbstractToModelToken.Entity {
      * special class name.
      * Setting this to <code>null</code>, because by default class name should be generated
      */
-    private String objEntityClassName = null; //CayenneDataObject.class.getName();
+    private String objEntityClassName;
 
     public CreateTableToModel(DbEntity entity) {
         super("Create Table", entity);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49a6ca39/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropColumnToModel.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropColumnToModel.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropColumnToModel.java
index 70d1b1c..e92df93 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropColumnToModel.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropColumnToModel.java
@@ -18,9 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.dbsync.merge;
 
-import java.util.ArrayList;
-import java.util.List;
-
 import org.apache.cayenne.dbsync.merge.factory.MergerTokenFactory;
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
@@ -29,6 +26,9 @@ import org.apache.cayenne.map.DbRelationship;
 import org.apache.cayenne.map.ObjAttribute;
 import org.apache.cayenne.map.ObjEntity;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * A {@link MergerToken} to remove a {@link DbAttribute} from a {@link DbEntity}.
  * 
@@ -39,10 +39,12 @@ public class DropColumnToModel extends AbstractToModelToken.EntityAndColumn {
         super("Drop Column", entity, column);
     }
 
+    @Override
     public MergerToken createReverse(MergerTokenFactory factory) {
         return factory.createAddColumnToDb(getEntity(), getColumn());
     }
 
+    @Override
     public void execute(MergerContext mergerContext) {
 
         // remove relationships mapped to column. duplicate List to prevent

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49a6ca39/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropRelationshipToDb.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropRelationshipToDb.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropRelationshipToDb.java
index 238a44a..3c7dd82 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropRelationshipToDb.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropRelationshipToDb.java
@@ -18,9 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.dbsync.merge;
 
-import java.util.Collections;
-import java.util.List;
-
 import org.apache.cayenne.dba.DbAdapter;
 import org.apache.cayenne.dba.QuotingStrategy;
 import org.apache.cayenne.dbsync.merge.factory.MergerTokenFactory;
@@ -28,18 +25,21 @@ import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.DbRelationship;
 import org.apache.cayenne.map.DbRelationshipDetected;
 
+import java.util.Collections;
+import java.util.List;
+
 public class DropRelationshipToDb extends AbstractToDbToken.Entity {
 
-    private DbRelationship rel;
+    private DbRelationship relationship;
 
-    public DropRelationshipToDb(DbEntity entity, DbRelationship rel) {
+    public DropRelationshipToDb(DbEntity entity, DbRelationship relationship) {
         super("Drop foreign key", entity);
-        this.rel = rel;
+        this.relationship = relationship;
     }
     
     public String getFkName() {
-        if (rel instanceof DbRelationshipDetected) {
-            return ((DbRelationshipDetected) rel).getFkName();
+        if (relationship instanceof DbRelationshipDetected) {
+            return ((DbRelationshipDetected) relationship).getFkName();
         }
         return null;
     }
@@ -57,16 +57,11 @@ public class DropRelationshipToDb extends AbstractToDbToken.Entity {
     }
 
     public MergerToken createReverse(MergerTokenFactory factory) {
-        return factory.createAddRelationshipToModel(getEntity(), rel);
+        return factory.createAddRelationshipToModel(getEntity(), relationship);
     }
 
     @Override
     public String getTokenValue() {
-        return rel.getSourceEntity().getName() + "->" + rel.getTargetEntityName();
-    }
-    
-    public DbRelationship getRelationship() {
-        return rel;
+        return relationship.getSourceEntity().getName() + "->" + relationship.getTargetEntityName();
     }
-
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49a6ca39/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropRelationshipToModel.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropRelationshipToModel.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropRelationshipToModel.java
index 082c33a..3908dbd 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropRelationshipToModel.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropRelationshipToModel.java
@@ -24,28 +24,26 @@ import org.apache.cayenne.map.DbRelationship;
 
 public class DropRelationshipToModel extends AbstractToModelToken.Entity {
 
-    private final DbRelationship rel;
+    private final DbRelationship relationship;
 
-    public DropRelationshipToModel(DbEntity entity, DbRelationship rel) {
+    public DropRelationshipToModel(DbEntity entity, DbRelationship relationship) {
         super("Drop db-relationship ", entity);
-        this.rel = rel;
+        this.relationship = relationship;
     }
 
+    @Override
     public MergerToken createReverse(MergerTokenFactory factory) {
-        return factory.createAddRelationshipToDb(getEntity(), rel);
+        return factory.createAddRelationshipToDb(getEntity(), relationship);
     }
 
+    @Override
     public void execute(MergerContext mergerContext) {
-        remove(mergerContext.getDelegate(), rel, true);
+        remove(mergerContext.getDelegate(), relationship, true);
     }
 
     @Override
     public String getTokenValue() {
-        return AddRelationshipToModel.getTokenValue(rel);
-    }
-    
-    public DbRelationship getRelationship() {
-        return rel;
+        return AddRelationshipToModel.getTokenValue(relationship);
     }
 
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49a6ca39/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropTableToDb.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropTableToDb.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropTableToDb.java
index 6b76646..3f416c7 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropTableToDb.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropTableToDb.java
@@ -18,13 +18,13 @@
  ****************************************************************/
 package org.apache.cayenne.dbsync.merge;
 
-import java.util.ArrayList;
-import java.util.List;
-
 import org.apache.cayenne.dba.DbAdapter;
 import org.apache.cayenne.dbsync.merge.factory.MergerTokenFactory;
 import org.apache.cayenne.map.DbEntity;
 
+import java.util.ArrayList;
+import java.util.List;
+
 public class DropTableToDb extends AbstractToDbToken.Entity {
 
     public DropTableToDb(DbEntity entity) {
@@ -33,7 +33,7 @@ public class DropTableToDb extends AbstractToDbToken.Entity {
 
     @Override
     public List<String> createSql(DbAdapter adapter) {
-        List<String> sqls = new ArrayList<String>();
+        List<String> sqls = new ArrayList<>();
         // TODO: fix. some adapters drop the complete AUTO_PK_SUPPORT here
         /*
         sqls.addAll(adapter.getPkGenerator().dropAutoPkStatements(
@@ -43,6 +43,7 @@ public class DropTableToDb extends AbstractToDbToken.Entity {
         return sqls;
     }
 
+    @Override
     public MergerToken createReverse(MergerTokenFactory factory) {
         return factory.createCreateTableToModel(getEntity());
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49a6ca39/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropTableToModel.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropTableToModel.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropTableToModel.java
index 3bdd8f3..b6eabee 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropTableToModel.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DropTableToModel.java
@@ -34,10 +34,12 @@ public class DropTableToModel extends AbstractToModelToken.Entity {
         super("Drop Table", entity);
     }
 
+    @Override
     public MergerToken createReverse(MergerTokenFactory factory) {
         return factory.createCreateTableToDb(getEntity());
     }
 
+    @Override
     public void execute(MergerContext mergerContext) {
         for (ObjEntity objEntity : getEntity().mappedObjEntities()) {
             objEntity.getDataMap().removeObjEntity(objEntity.getName(), true);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49a6ca39/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DummyReverseToken.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DummyReverseToken.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DummyReverseToken.java
index 54b779b..3f9b35c 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DummyReverseToken.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DummyReverseToken.java
@@ -33,28 +33,28 @@ class DummyReverseToken implements MergerToken {
         this.reverse = reverse;
     }
 
+    @Override
     public MergerToken createReverse(MergerTokenFactory factory) {
         return reverse;
     }
 
+    @Override
     public void execute(MergerContext mergerContext) {
         // can not execute
     }
 
+    @Override
     public MergeDirection getDirection() {
         return reverse.getDirection().reverseDirection();
     }
 
+    @Override
     public String getTokenName() {
         return "Can not execute the reverse of " + reverse.getTokenName();
     }
 
+    @Override
     public String getTokenValue() {
         return reverse.getTokenValue();
     }
-
-    public boolean isReversible() {
-        return true;
-    }
-
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49a6ca39/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetAllowNullToDb.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetAllowNullToDb.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetAllowNullToDb.java
index c69fb6f..68078c2 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetAllowNullToDb.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetAllowNullToDb.java
@@ -18,15 +18,15 @@
  ****************************************************************/
 package org.apache.cayenne.dbsync.merge;
 
-import java.util.Collections;
-import java.util.List;
-
 import org.apache.cayenne.dba.DbAdapter;
 import org.apache.cayenne.dba.QuotingStrategy;
 import org.apache.cayenne.dbsync.merge.factory.MergerTokenFactory;
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
 
+import java.util.Collections;
+import java.util.List;
+
 /**
  * A {@link MergerToken} to add a "allow null" clause to a column.
  * 
@@ -50,6 +50,7 @@ public class SetAllowNullToDb extends AbstractToDbToken.EntityAndColumn {
         return Collections.singletonList(sqlBuffer.toString());
     }
 
+    @Override
     public MergerToken createReverse(MergerTokenFactory factory) {
         return factory.createSetNotNullToModel(getEntity(), getColumn());
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49a6ca39/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetAllowNullToModel.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetAllowNullToModel.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetAllowNullToModel.java
index 5d9c890..463f912 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetAllowNullToModel.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetAllowNullToModel.java
@@ -32,10 +32,12 @@ public class SetAllowNullToModel extends AbstractToModelToken.EntityAndColumn {
         super("Set Allow Null", entity, column);
     }
 
+    @Override
     public MergerToken createReverse(MergerTokenFactory factory) {
         return factory.createSetNotNullToDb(getEntity(), getColumn());
     }
 
+    @Override
     public void execute(MergerContext mergerContext) {
         getColumn().setMandatory(false);
         mergerContext.getDelegate().dbAttributeModified(getColumn());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49a6ca39/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetColumnTypeToDb.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetColumnTypeToDb.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetColumnTypeToDb.java
index 74a0034..2434dd1 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetColumnTypeToDb.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetColumnTypeToDb.java
@@ -18,9 +18,6 @@
  */
 package org.apache.cayenne.dbsync.merge;
 
-import java.util.Collections;
-import java.util.List;
-
 import org.apache.cayenne.dba.DbAdapter;
 import org.apache.cayenne.dba.JdbcAdapter;
 import org.apache.cayenne.dba.QuotingStrategy;
@@ -29,6 +26,9 @@ import org.apache.cayenne.dbsync.merge.factory.MergerTokenFactory;
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
 
+import java.util.Collections;
+import java.util.List;
+
 /**
  * An {@link MergerToken} to use to set type, length and precision.
  */
@@ -104,16 +104,8 @@ public class SetColumnTypeToDb extends AbstractToDbToken.Entity {
         return sb.toString();
     }
 
+    @Override
     public MergerToken createReverse(MergerTokenFactory factory) {
         return factory.createSetColumnTypeToModel(getEntity(), columnNew, columnOriginal);
     }
-
-    public DbAttribute getColumnOriginal() {
-        return columnOriginal;
-    }
-
-    public DbAttribute getColumnNew() {
-        return columnNew;
-    }
-
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49a6ca39/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetColumnTypeToModel.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetColumnTypeToModel.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetColumnTypeToModel.java
index cf2b1e0..a960467 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetColumnTypeToModel.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetColumnTypeToModel.java
@@ -34,17 +34,18 @@ public class SetColumnTypeToModel extends AbstractToModelToken.Entity {
     private DbAttribute columnOriginal;
     private DbAttribute columnNew;
 
-    public SetColumnTypeToModel(DbEntity entity, DbAttribute columnOriginal,
-            DbAttribute columnNew) {
+    public SetColumnTypeToModel(DbEntity entity, DbAttribute columnOriginal, DbAttribute columnNew) {
         super("Set Column Type", entity);
         this.columnOriginal = columnOriginal;
         this.columnNew = columnNew;
     }
 
+    @Override
     public MergerToken createReverse(MergerTokenFactory factory) {
         return factory.createSetColumnTypeToDb(getEntity(), columnNew, columnOriginal);
     }
 
+    @Override
     public void execute(MergerContext mergerContext) {
         columnOriginal.setType(columnNew.getType());
         columnOriginal.setMaxLength(columnNew.getMaxLength());
@@ -91,12 +92,4 @@ public class SetColumnTypeToModel extends AbstractToModelToken.Entity {
         return sb.toString();
     }
     
-    public DbAttribute getColumnOriginal() {
-        return columnOriginal;
-    }
-
-    public DbAttribute getColumnNew() {
-        return columnNew;
-    }
-    
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49a6ca39/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetNotNullToDb.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetNotNullToDb.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetNotNullToDb.java
index 169ea34..0591c2a 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetNotNullToDb.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetNotNullToDb.java
@@ -18,15 +18,15 @@
  ****************************************************************/
 package org.apache.cayenne.dbsync.merge;
 
-import java.util.Collections;
-import java.util.List;
-
 import org.apache.cayenne.dba.DbAdapter;
 import org.apache.cayenne.dba.QuotingStrategy;
 import org.apache.cayenne.dbsync.merge.factory.MergerTokenFactory;
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
 
+import java.util.Collections;
+import java.util.List;
+
 /**
  * A {@link MergerToken} to add a "not null" clause to a column.
  */
@@ -44,6 +44,7 @@ public class SetNotNullToDb extends AbstractToDbToken.EntityAndColumn {
                 + " ALTER COLUMN " + context.quotedName(getColumn()) + " SET NOT NULL");
     }
 
+    @Override
     public MergerToken createReverse(MergerTokenFactory factory) {
         return factory.createSetAllowNullToModel(getEntity(), getColumn());
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49a6ca39/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetNotNullToModel.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetNotNullToModel.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetNotNullToModel.java
index 7402f57..dfc9b15 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetNotNullToModel.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetNotNullToModel.java
@@ -31,11 +31,13 @@ public class SetNotNullToModel extends AbstractToModelToken.EntityAndColumn {
     public SetNotNullToModel(DbEntity entity, DbAttribute column) {
         super("Set Not Null", entity, column);
     }
-    
+
+    @Override
     public MergerToken createReverse(MergerTokenFactory factory) {
         return factory.createSetAllowNullToDb(getEntity(), getColumn());
     }
 
+    @Override
     public void execute(MergerContext mergerContext) {
         getColumn().setMandatory(true);
         mergerContext.getDelegate().dbAttributeModified(getColumn());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49a6ca39/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetPrimaryKeyToDb.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetPrimaryKeyToDb.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetPrimaryKeyToDb.java
index 8161b87..077b6ef 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetPrimaryKeyToDb.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetPrimaryKeyToDb.java
@@ -18,17 +18,17 @@
  ****************************************************************/
 package org.apache.cayenne.dbsync.merge;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
 import org.apache.cayenne.dba.DbAdapter;
 import org.apache.cayenne.dba.QuotingStrategy;
 import org.apache.cayenne.dbsync.merge.factory.MergerTokenFactory;
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
 public class SetPrimaryKeyToDb extends AbstractToDbToken.Entity {
 
     private Collection<DbAttribute> primaryKeyOriginal;
@@ -79,6 +79,7 @@ public class SetPrimaryKeyToDb extends AbstractToDbToken.Entity {
         sqls.add(sql.toString());
     }
 
+    @Override
     public MergerToken createReverse(MergerTokenFactory factory) {
         return factory.createSetPrimaryKeyToModel(getEntity(), primaryKeyNew, primaryKeyOriginal,
                 detectedPrimaryKeyName);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49a6ca39/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetPrimaryKeyToModel.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetPrimaryKeyToModel.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetPrimaryKeyToModel.java
index 198fe4f..a2198ba 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetPrimaryKeyToModel.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetPrimaryKeyToModel.java
@@ -18,15 +18,15 @@
  ****************************************************************/
 package org.apache.cayenne.dbsync.merge;
 
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Set;
-
 import org.apache.cayenne.dbsync.merge.factory.MergerTokenFactory;
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.event.AttributeEvent;
 
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
+
 public class SetPrimaryKeyToModel extends AbstractToModelToken.Entity {
 
     private Collection<DbAttribute> primaryKeyOriginal;
@@ -48,6 +48,7 @@ public class SetPrimaryKeyToModel extends AbstractToModelToken.Entity {
         }
     }
 
+    @Override
     public MergerToken createReverse(MergerTokenFactory factory) {
         return factory.createSetPrimaryKeyToDb(
                 getEntity(),
@@ -56,6 +57,7 @@ public class SetPrimaryKeyToModel extends AbstractToModelToken.Entity {
                 detectedPrimaryKeyName);
     }
 
+    @Override
     public void execute(MergerContext mergerContext) {
         DbEntity e = getEntity();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49a6ca39/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetValueForNullToDb.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetValueForNullToDb.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetValueForNullToDb.java
index 1ffdd49..340f2bf 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetValueForNullToDb.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/SetValueForNullToDb.java
@@ -18,13 +18,13 @@
  ****************************************************************/
 package org.apache.cayenne.dbsync.merge;
 
-import java.util.List;
-
 import org.apache.cayenne.dba.DbAdapter;
 import org.apache.cayenne.dbsync.merge.factory.MergerTokenFactory;
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
 
+import java.util.List;
+
 
 public class SetValueForNullToDb extends AbstractToDbToken.EntityAndColumn {
     
@@ -40,6 +40,7 @@ public class SetValueForNullToDb extends AbstractToDbToken.EntityAndColumn {
         return valueForNullProvider.createSql(getEntity(), getColumn());
     }
 
+    @Override
     public MergerToken createReverse(MergerTokenFactory factory) {
         return new DummyReverseToken(this);
     }


[4/4] cayenne git commit: CAY-2114 cdbimport: object layer settings are not respected

Posted by aa...@apache.org.
CAY-2114 cdbimport: object layer settings are not respected

* first fruits of our refactoring - proper naming of new artifacts


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

Branch: refs/heads/master
Commit: 8ac060fce87751bd6fcac2c5bedb7001f9c06494
Parents: 5a03130
Author: Andrus Adamchik <an...@objectstyle.com>
Authored: Fri Sep 30 21:32:57 2016 +0300
Committer: Andrus Adamchik <an...@objectstyle.com>
Committed: Fri Sep 30 22:11:39 2016 +0300

----------------------------------------------------------------------
 .../apache/cayenne/tools/DbImporterMojoTest.java  |  4 ++--
 .../tools/dbimport/testOneToOne.map.xml-result    | 16 ++++++++--------
 .../dbimport/testUnFlattensManyToMany.map.xml     |  6 +++---
 .../testUnFlattensManyToMany.map.xml-result       | 18 +++++++++---------
 4 files changed, 22 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/8ac060fc/plugins/maven-cayenne-plugin/src/test/java/org/apache/cayenne/tools/DbImporterMojoTest.java
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/java/org/apache/cayenne/tools/DbImporterMojoTest.java b/plugins/maven-cayenne-plugin/src/test/java/org/apache/cayenne/tools/DbImporterMojoTest.java
index c2cdc6d..f611df9 100644
--- a/plugins/maven-cayenne-plugin/src/test/java/org/apache/cayenne/tools/DbImporterMojoTest.java
+++ b/plugins/maven-cayenne-plugin/src/test/java/org/apache/cayenne/tools/DbImporterMojoTest.java
@@ -182,11 +182,11 @@ public class DbImporterMojoTest extends AbstractMojoTestCase {
     /**
      * By default many-to-many are flattened during reverse engineering.
      * But if a user un-flattens a given N:M manually, we\u2019d like this choice to be preserved on the next run
-     *
-     * @throws Exception
      */
     @Test
 	public void testUnFlattensManyToMany() throws Exception {
+		// TODO: this should be "xYs" : <db-relationship name="xIes"
+		// TODO: this should be aBs :  <db-relationship name="aBArray"
 		test("testUnFlattensManyToMany");
 	}
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/8ac060fc/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testOneToOne.map.xml-result
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testOneToOne.map.xml-result b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testOneToOne.map.xml-result
index 8c61540..713ad1e 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testOneToOne.map.xml-result
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testOneToOne.map.xml-result
@@ -39,20 +39,20 @@
 	</obj-entity>
 	<obj-entity name="PlayerInfo" className="PlayerInfo" dbEntityName="PLAYER_INFO">
 	</obj-entity>
-	<db-relationship name="toPlayer" source="PICK_SCHEDULE" target="PLAYER" toMany="false">
+	<db-relationship name="selectedPlayer" source="PICK_SCHEDULE" target="PLAYER" toMany="false">
 		<db-attribute-pair source="SELECTED_PLAYER_ID" target="ID"/>
 	</db-relationship>
-	<db-relationship name="pickScheduleArray" source="PLAYER" target="PICK_SCHEDULE" toMany="true">
+	<db-relationship name="pickSchedules" source="PLAYER" target="PICK_SCHEDULE" toMany="true">
 		<db-attribute-pair source="ID" target="SELECTED_PLAYER_ID"/>
 	</db-relationship>
-	<db-relationship name="toPlayer" source="PLAYER" target="PLAYER_INFO" toDependentPK="true" toMany="false">
+	<db-relationship name="player" source="PLAYER" target="PLAYER_INFO" toDependentPK="true" toMany="false">
 		<db-attribute-pair source="ID" target="PLAYER_ID"/>
 	</db-relationship>
-	<db-relationship name="toPlayer" source="PLAYER_INFO" target="PLAYER" toMany="false">
+	<db-relationship name="player" source="PLAYER_INFO" target="PLAYER" toMany="false">
 		<db-attribute-pair source="PLAYER_ID" target="ID"/>
 	</db-relationship>
-	<obj-relationship name="toPlayer" source="PickSchedule" target="Player" deleteRule="Nullify" db-relationship-path="toPlayer"/>
-	<obj-relationship name="pickScheduleArray" source="Player" target="PickSchedule" deleteRule="Deny" db-relationship-path="pickScheduleArray"/>
-	<obj-relationship name="toPlayer" source="Player" target="PlayerInfo" deleteRule="Nullify" db-relationship-path="toPlayer"/>
-	<obj-relationship name="toPlayer" source="PlayerInfo" target="Player" deleteRule="Nullify" db-relationship-path="toPlayer"/>
+	<obj-relationship name="selectedPlayer" source="PickSchedule" target="Player" deleteRule="Nullify" db-relationship-path="selectedPlayer"/>
+	<obj-relationship name="pickSchedules" source="Player" target="PickSchedule" deleteRule="Deny" db-relationship-path="pickSchedules"/>
+	<obj-relationship name="player" source="Player" target="PlayerInfo" deleteRule="Nullify" db-relationship-path="player"/>
+	<obj-relationship name="player" source="PlayerInfo" target="Player" deleteRule="Nullify" db-relationship-path="player"/>
 </data-map>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/8ac060fc/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testUnFlattensManyToMany.map.xml
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testUnFlattensManyToMany.map.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testUnFlattensManyToMany.map.xml
index afb7e5f..569cad1 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testUnFlattensManyToMany.map.xml
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testUnFlattensManyToMany.map.xml
@@ -38,7 +38,7 @@
     </obj-entity>
     <obj-entity name="B" className="B" dbEntityName="B">
     </obj-entity>
-    <db-relationship name="aBArray" source="A" target="A_B" toDependentPK="true" toMany="true">
+    <db-relationship name="aBs" source="A" target="A_B" toDependentPK="true" toMany="true">
         <db-attribute-pair source="ID" target="A_ID"/>
     </db-relationship>
     <db-relationship name="toA" source="A_B" target="A" toMany="false">
@@ -47,9 +47,9 @@
     <db-relationship name="toB" source="A_B" target="B" toMany="false">
         <db-attribute-pair source="B_ID" target="ID"/>
     </db-relationship>
-    <db-relationship name="aBArray" source="B" target="A_B" toDependentPK="true" toMany="true">
+    <db-relationship name="aBs" source="B" target="A_B" toDependentPK="true" toMany="true">
         <db-attribute-pair source="ID" target="B_ID"/>
     </db-relationship>
     <obj-relationship name="toA" source="AB" target="A" deleteRule="Nullify" db-relationship-path="toA"/>
-    <obj-relationship name="aBArray" source="B" target="AB" deleteRule="Deny" db-relationship-path="aBArray"/>
+    <obj-relationship name="aBs" source="B" target="AB" deleteRule="Deny" db-relationship-path="aBs"/>
 </data-map>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/8ac060fc/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testUnFlattensManyToMany.map.xml-result
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testUnFlattensManyToMany.map.xml-result b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testUnFlattensManyToMany.map.xml-result
index 5fa049f..349ebb9 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testUnFlattensManyToMany.map.xml-result
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testUnFlattensManyToMany.map.xml-result
@@ -57,7 +57,7 @@
     </obj-entity>
     <obj-entity name="Y" className="org.not.my.home.Y" dbEntityName="Y">
     </obj-entity>
-    <db-relationship name="aBArray" source="A" target="A_B" toDependentPK="true" toMany="true">
+    <db-relationship name="aBs" source="A" target="A_B" toDependentPK="true" toMany="true">
         <db-attribute-pair source="ID" target="A_ID"/>
     </db-relationship>
     <db-relationship name="toA" source="A_B" target="A" toMany="false">
@@ -66,23 +66,23 @@
     <db-relationship name="toB" source="A_B" target="B" toMany="false">
         <db-attribute-pair source="B_ID" target="ID"/>
     </db-relationship>
-    <db-relationship name="aBArray" source="B" target="A_B" toDependentPK="true" toMany="true">
+    <db-relationship name="aBs" source="B" target="A_B" toDependentPK="true" toMany="true">
         <db-attribute-pair source="ID" target="B_ID"/>
     </db-relationship>
-    <db-relationship name="xYArray" source="X" target="X_Y" toDependentPK="true" toMany="true">
+    <db-relationship name="xIes" source="X" target="X_Y" toDependentPK="true" toMany="true">
         <db-attribute-pair source="ID" target="X_ID"/>
     </db-relationship>
-    <db-relationship name="toX" source="X_Y" target="X" toMany="false">
+    <db-relationship name="x" source="X_Y" target="X" toMany="false">
         <db-attribute-pair source="X_ID" target="ID"/>
     </db-relationship>
-    <db-relationship name="toY" source="X_Y" target="Y" toMany="false">
+    <db-relationship name="y" source="X_Y" target="Y" toMany="false">
         <db-attribute-pair source="Y_ID" target="ID"/>
     </db-relationship>
-    <db-relationship name="xYArray" source="Y" target="X_Y" toDependentPK="true" toMany="true">
+    <db-relationship name="xIes" source="Y" target="X_Y" toDependentPK="true" toMany="true">
         <db-attribute-pair source="ID" target="Y_ID"/>
     </db-relationship>
     <obj-relationship name="toA" source="AB" target="A" deleteRule="Nullify" db-relationship-path="toA"/>
-    <obj-relationship name="aBArray" source="B" target="AB" deleteRule="Deny" db-relationship-path="aBArray"/>
-    <obj-relationship name="yArray" source="X" target="Y" db-relationship-path="xYArray.toY"/>
-    <obj-relationship name="xArray" source="Y" target="X" db-relationship-path="xYArray.toX"/>
+    <obj-relationship name="aBs" source="B" target="AB" deleteRule="Deny" db-relationship-path="aBs"/>
+    <obj-relationship name="ies" source="X" target="Y" db-relationship-path="xIes.y"/>
+    <obj-relationship name="xes" source="Y" target="X" db-relationship-path="xIes.x"/>
 </data-map>