You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2018/11/30 14:54:48 UTC

[1/2] cayenne git commit: Code cleanup

Repository: cayenne
Updated Branches:
  refs/heads/master 45da5a0d1 -> 34ad5252c


Code cleanup


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

Branch: refs/heads/master
Commit: 18ff80ccb063fb023ea5746dba44c36c5190565b
Parents: 45da5a0
Author: Nikita Timofeev <st...@gmail.com>
Authored: Fri Nov 30 17:43:56 2018 +0300
Committer: Nikita Timofeev <st...@gmail.com>
Committed: Fri Nov 30 17:43:56 2018 +0300

----------------------------------------------------------------------
 .../configuration/rop/client/ClientModule.java       |  2 +-
 .../merge/factory/IngresMergerTokenFactory.java      |  6 +-----
 .../dbsync/reverse/dbimport/IncludeTable.java        |  2 +-
 .../cayenne/remote/RemoteIncrementalFaultList.java   |  2 +-
 .../apache/cayenne/access/IncrementalFaultList.java  |  2 +-
 .../java/org/apache/cayenne/access/ObjectDiff.java   |  9 +++++----
 .../cayenne/access/jdbc/RowDescriptorBuilder.java    |  2 --
 .../cayenne/configuration/server/ServerModule.java   |  2 +-
 .../apache/cayenne/datasource/DriverDataSource.java  |  4 +---
 .../java/org/apache/cayenne/dba/TypesMapping.java    |  1 -
 .../main/java/org/apache/cayenne/map/DataMap.java    |  2 +-
 .../apache/cayenne/map/QueryDescriptorLoader.java    |  2 +-
 .../reflect/LifecycleCallbackEventHandler.java       |  2 +-
 .../cayenne/reflect/LifecycleCallbackRegistry.java   |  2 +-
 .../cayenne/access/DataContextProcedureQueryIT.java  |  4 ++--
 .../reflect/LifecycleCallbackEventHandlerTest.java   | 15 +++++----------
 16 files changed, 23 insertions(+), 36 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/18ff80cc/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientModule.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientModule.java b/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientModule.java
index 8e51fe7..4a95df6 100644
--- a/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientModule.java
+++ b/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientModule.java
@@ -55,7 +55,7 @@ public class ClientModule implements Module {
     public void configure(Binder binder) {
 
         // Contribute always to create binding
-        MapBuilder<String> propertiesBuilder = ServerModule.contributeProperties(binder);
+        ServerModule.contributeProperties(binder);
 
         binder.bind(ObjectContextFactory.class).to(CayenneContextFactory.class);
         binder.bind(ROPSerializationService.class).toProvider(ClientHessianSerializationServiceProvider.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/18ff80cc/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/IngresMergerTokenFactory.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/IngresMergerTokenFactory.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/IngresMergerTokenFactory.java
index e9f1d6c..3dee679 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/IngresMergerTokenFactory.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/IngresMergerTokenFactory.java
@@ -120,11 +120,7 @@ public class IngresMergerTokenFactory extends DefaultMergerTokenFactory {
                     // also make sure we delete dependent FKs
                     buf.append(" ON DELETE CASCADE");
 
-                    String fksql = buf.toString();
-
-                    if (fksql != null) {
-                        return Collections.singletonList(fksql);
-                    }
+                    return Collections.singletonList(buf.toString());
                 }
 
                 return Collections.emptyList();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/18ff80cc/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbimport/IncludeTable.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbimport/IncludeTable.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbimport/IncludeTable.java
index ff2ed59..0dd46f2 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbimport/IncludeTable.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbimport/IncludeTable.java
@@ -125,7 +125,7 @@ public class IncludeTable extends PatternParam implements XMLSerializable {
             }
         }
 
-        if(excludeRelationship != null && !excludeColumns.isEmpty()) {
+        if(excludeRelationship != null && !excludeRelationship.isEmpty()) {
             for(ExcludeRelationship excludeRelationship : excludeRelationship) {
                 excludeRelationship.toString(res, prefix);
             }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/18ff80cc/cayenne-rop-server/src/main/java/org/apache/cayenne/remote/RemoteIncrementalFaultList.java
----------------------------------------------------------------------
diff --git a/cayenne-rop-server/src/main/java/org/apache/cayenne/remote/RemoteIncrementalFaultList.java b/cayenne-rop-server/src/main/java/org/apache/cayenne/remote/RemoteIncrementalFaultList.java
index 1952db5..47a6ec3 100644
--- a/cayenne-rop-server/src/main/java/org/apache/cayenne/remote/RemoteIncrementalFaultList.java
+++ b/cayenne-rop-server/src/main/java/org/apache/cayenne/remote/RemoteIncrementalFaultList.java
@@ -279,7 +279,7 @@ public class RemoteIncrementalFaultList implements List {
             throw new IndexOutOfBoundsException("Index: " + elementIndex);
         }
 
-        if (pageSize <= 0 || elementIndex < 0) {
+        if (pageSize <= 0) {
             return -1;
         }
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/18ff80cc/cayenne-server/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java b/cayenne-server/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java
index d78b3d9..1c83d3c 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java
@@ -339,7 +339,7 @@ public class IncrementalFaultList<E> implements List<E>, Serializable {
 			throw new IndexOutOfBoundsException("Index: " + elementIndex);
 		}
 
-		if (pageSize <= 0 || elementIndex < 0) {
+		if (pageSize <= 0) {
 			return -1;
 		}
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/18ff80cc/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectDiff.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectDiff.java b/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectDiff.java
index 0928b32..d711bcf 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectDiff.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectDiff.java
@@ -112,7 +112,9 @@ class ObjectDiff extends NodeDiff {
                     boolean isUsedForLocking = entity.getRelationship(property.getName()).isUsedForLocking();
                     
                     // eagerly resolve optimistically locked relationships
-                    Object target = isUsedForLocking ? property.readProperty(object) : property.readPropertyDirectly(object);
+                    Object target = (lock && isUsedForLocking)
+                            ? property.readProperty(object)
+                            : property.readPropertyDirectly(object);
 
                     if (target instanceof Persistent) {
                         target = ((Persistent) target).getObjectId();
@@ -159,7 +161,7 @@ class ObjectDiff extends NodeDiff {
     }
 
     boolean containsArcSnapshot(String propertyName) {
-        return arcSnapshot != null ? arcSnapshot.containsKey(propertyName) : false;
+        return arcSnapshot != null && arcSnapshot.containsKey(propertyName);
     }
 
     /**
@@ -263,8 +265,7 @@ class ObjectDiff extends NodeDiff {
         String arcId = arcDiff.getArcId().toString();
 
         DbEntity dbEntity = classDescriptor.getEntity().getDbEntity();
-        DbRelationship dbRelationship = (DbRelationship) dbEntity.getRelationship(arcId.substring(ASTDbPath.DB_PREFIX
-                .length()));
+        DbRelationship dbRelationship = dbEntity.getRelationship(arcId.substring(ASTDbPath.DB_PREFIX.length()));
 
         if (dbRelationship.isToMany()) {
             return;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/18ff80cc/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/RowDescriptorBuilder.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/RowDescriptorBuilder.java b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/RowDescriptorBuilder.java
index 7ab51b7..5a2356c 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/RowDescriptorBuilder.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/RowDescriptorBuilder.java
@@ -199,8 +199,6 @@ public class RowDescriptorBuilder {
     }
 
     private void performTransformAndTypeOverride(ColumnDescriptor[] columnArray) {
-        int len = columnArray.length;
-
         if (caseTransformer != null) {
             for (ColumnDescriptor aColumnArray : columnArray) {
                 aColumnArray.setDataRowKey(caseTransformer.apply(aColumnArray.getDataRowKey()));

http://git-wip-us.apache.org/repos/asf/cayenne/blob/18ff80cc/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerModule.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerModule.java b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerModule.java
index 3a1987d..0fa82b8 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerModule.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerModule.java
@@ -426,7 +426,7 @@ public class ServerModule implements Module {
         binder.bind(ValueObjectTypeRegistry.class).to(DefaultValueObjectTypeRegistry.class);
 
         // configure explicit configurations
-        ListBuilder<String> locationsListBuilder = contributeProjectLocations(binder);
+        contributeProjectLocations(binder);
 
         binder.bind(ConfigurationNameMapper.class).to(DefaultConfigurationNameMapper.class);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/18ff80cc/cayenne-server/src/main/java/org/apache/cayenne/datasource/DriverDataSource.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/datasource/DriverDataSource.java b/cayenne-server/src/main/java/org/apache/cayenne/datasource/DriverDataSource.java
index b5ccc5a..851ba03 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/datasource/DriverDataSource.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/datasource/DriverDataSource.java
@@ -121,9 +121,7 @@ public class DriverDataSource implements DataSource {
 
 	private void logConnect(String url, String userName, String password) {
 		if (LOGGER.isInfoEnabled()) {
-			StringBuilder buf = new StringBuilder("Connecting to '").append(url).append("' as '").append(userName)
-					.append("'");
-			LOGGER.info(buf.toString());
+			LOGGER.info("Connecting to '" + url + "' as '" + userName + "'");
 		}
 	}
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/18ff80cc/cayenne-server/src/main/java/org/apache/cayenne/dba/TypesMapping.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/TypesMapping.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/TypesMapping.java
index 8e7c05d..b6fbecf 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/TypesMapping.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/TypesMapping.java
@@ -258,7 +258,6 @@ public class TypesMapping {
 		JAVA_SQL_ENUM.put(JAVA_SHORT, SMALLINT);
 		JAVA_SQL_ENUM.put(JAVA_BYTE, SMALLINT);
 		JAVA_SQL_ENUM.put(JAVA_TIME, TIME);
-		JAVA_SQL_ENUM.put(JAVA_TIMESTAMP, TIMESTAMP);
 
 		// add primitives
 		JAVA_SQL_ENUM.put("byte", TINYINT);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/18ff80cc/cayenne-server/src/main/java/org/apache/cayenne/map/DataMap.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/DataMap.java b/cayenne-server/src/main/java/org/apache/cayenne/map/DataMap.java
index 73e68f7..5f78888 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/DataMap.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/DataMap.java
@@ -870,7 +870,7 @@ public class DataMap implements Serializable, ConfigurationNode, XMLSerializable
 			for (ObjEntity ent : getObjEntities()) {
 				// take a copy since we're going to modify the entity
 				for (Relationship relationship : new ArrayList<>(ent.getRelationships())) {
-					if (objEntityName.equals(relationship.getTargetEntityName())
+					if (objEntityName.equals(relationship.getSourceEntity().getName())
 							|| objEntityName.equals(relationship.getTargetEntityName())) {
 						ent.removeRelationship(relationship.getName());
 					}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/18ff80cc/cayenne-server/src/main/java/org/apache/cayenne/map/QueryDescriptorLoader.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/QueryDescriptorLoader.java b/cayenne-server/src/main/java/org/apache/cayenne/map/QueryDescriptorLoader.java
index 785493e..92b1cec 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/QueryDescriptorLoader.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/QueryDescriptorLoader.java
@@ -235,7 +235,7 @@ public class QueryDescriptorLoader {
     }
 
     public void addPrefetch(String path, int semantics) {
-        if (path == null || (path != null && isBlank(path))) {
+        if (path == null || isBlank(path)) {
             // throw??
             return;
         }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/18ff80cc/cayenne-server/src/main/java/org/apache/cayenne/reflect/LifecycleCallbackEventHandler.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/reflect/LifecycleCallbackEventHandler.java b/cayenne-server/src/main/java/org/apache/cayenne/reflect/LifecycleCallbackEventHandler.java
index fd044a6..2779e12 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/reflect/LifecycleCallbackEventHandler.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/reflect/LifecycleCallbackEventHandler.java
@@ -37,7 +37,7 @@ class LifecycleCallbackEventHandler {
     private Map<String, Collection<AbstractCallback>> listeners;
     private Collection<AbstractCallback> defaultListeners;
 
-    LifecycleCallbackEventHandler(EntityResolver resolver) {
+    LifecycleCallbackEventHandler() {
         this.listeners = new HashMap<>();
         this.defaultListeners = new ArrayList<>();
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/18ff80cc/cayenne-server/src/main/java/org/apache/cayenne/reflect/LifecycleCallbackRegistry.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/reflect/LifecycleCallbackRegistry.java b/cayenne-server/src/main/java/org/apache/cayenne/reflect/LifecycleCallbackRegistry.java
index 3b01d5e..669a91d 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/reflect/LifecycleCallbackRegistry.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/reflect/LifecycleCallbackRegistry.java
@@ -69,7 +69,7 @@ public class LifecycleCallbackRegistry {
 		// downstream.
 		this.eventCallbacks = new LifecycleCallbackEventHandler[LifecycleEvent.values().length];
 		for (int i = 0; i < eventCallbacks.length; i++) {
-			eventCallbacks[i] = new LifecycleCallbackEventHandler(resolver);
+			eventCallbacks[i] = new LifecycleCallbackEventHandler();
 		}
 
 		// other "static" lookup maps are initialized on-demand

http://git-wip-us.apache.org/repos/asf/cayenne/blob/18ff80cc/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java
index d8e6b0b..2009911 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java
@@ -149,7 +149,7 @@ public class DataContextProcedureQueryIT extends ServerCase {
 
         ProcedureQuery q = new ProcedureQuery(SELECT_STORED_PROCEDURE);
         q.addParameter("aName", "An Artist");
-        q.addParameter("paintingPrice", new Integer(3000));
+        q.addParameter("paintingPrice", 3000);
         List<?> artists = runProcedureSelect(q);
 
         // check the results
@@ -175,7 +175,7 @@ public class DataContextProcedureQueryIT extends ServerCase {
 
         ProcedureQuery q = new ProcedureQuery(SELECT_STORED_PROCEDURE);
         q.addParameter("aName", "An Artist");
-        q.addParameter("paintingPrice", new Integer(3000));
+        q.addParameter("paintingPrice", 3000);
 
         List<?> artists = runProcedureSelect(q);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/18ff80cc/cayenne-server/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackEventHandlerTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackEventHandlerTest.java b/cayenne-server/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackEventHandlerTest.java
index 9c1c1da..72c8360 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackEventHandlerTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackEventHandlerTest.java
@@ -34,8 +34,7 @@ public class LifecycleCallbackEventHandlerTest {
     @Test
     public void testDefaultListeners() {
 
-        LifecycleCallbackEventHandler map = new LifecycleCallbackEventHandler(
-                new EntityResolver());
+        LifecycleCallbackEventHandler map = new LifecycleCallbackEventHandler();
         L1 l1 = new L1();
         map.addDefaultListener(l1, "callback");
 
@@ -51,8 +50,7 @@ public class LifecycleCallbackEventHandlerTest {
     @Test
     public void testDefaultListenersCallbackOrder() {
 
-        LifecycleCallbackEventHandler map = new LifecycleCallbackEventHandler(
-                new EntityResolver());
+        LifecycleCallbackEventHandler map = new LifecycleCallbackEventHandler();
         L2 l1 = new L2();
         map.addListener(C1.class, l1, "callback");
 
@@ -74,8 +72,7 @@ public class LifecycleCallbackEventHandlerTest {
     @Test
     public void testCallbackOnSuperclass() {
 
-        LifecycleCallbackEventHandler map = new LifecycleCallbackEventHandler(
-                new EntityResolver());
+        LifecycleCallbackEventHandler map = new LifecycleCallbackEventHandler();
         map.addListener(C1.class, "c1Callback");
 
         C3 subclass = new C3();
@@ -89,8 +86,7 @@ public class LifecycleCallbackEventHandlerTest {
     @Test
     public void testCallbackOnSuperclassWithSublcassOverrides() {
 
-        LifecycleCallbackEventHandler map = new LifecycleCallbackEventHandler(
-                new EntityResolver());
+        LifecycleCallbackEventHandler map = new LifecycleCallbackEventHandler();
         map.addListener(C1.class, "c1Callback");
 
         C4 subclass = new C4();
@@ -105,8 +101,7 @@ public class LifecycleCallbackEventHandlerTest {
     @Test
     public void testCallbackOrderInInheritanceHierarchy() {
 
-        LifecycleCallbackEventHandler map = new LifecycleCallbackEventHandler(
-                new EntityResolver());
+        LifecycleCallbackEventHandler map = new LifecycleCallbackEventHandler();
         map.addListener(C2.class, "c2Callback");
         map.addListener(C1.class, "c1Callback");
 


[2/2] cayenne git commit: Code cleanup

Posted by nt...@apache.org.
Code cleanup


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

Branch: refs/heads/master
Commit: 34ad5252c13541f62dbb25d673d59769b58b9e17
Parents: 18ff80c
Author: Nikita Timofeev <st...@gmail.com>
Authored: Fri Nov 30 17:51:09 2018 +0300
Committer: Nikita Timofeev <st...@gmail.com>
Committed: Fri Nov 30 17:51:09 2018 +0300

----------------------------------------------------------------------
 .../modeler/action/CreateQueryAction.java       |   2 +-
 .../action/RemoveCallbackMethodAction.java      |   6 +-
 .../dialog/ResolveDbRelationshipDialog.java     |   4 +-
 .../objentity/ObjAttributeInfoDialog.java       |   4 +-
 .../cayenne/modeler/dialog/query/QueryType.java |   2 +-
 .../dialog/validator/ValidatorDialog.java       |   2 +-
 .../editor/datanode/MainDataNodeEditor.java     | 102 ++++++++-----------
 .../editor/datanode/MainDataNodeView.java       |  15 ++-
 .../editor/dbentity/DbAttributeTableModel.java  |  46 +++------
 .../modeler/pref/TableColumnPreferences.java    |  40 +++-----
 .../cayenne/modeler/util/CayenneTableModel.java |   4 -
 .../cayenne/modeler/util/ModelerUtil.java       |   5 +-
 .../cayenne/modeler/util/ProjectUtil.java       |   2 +-
 13 files changed, 87 insertions(+), 147 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/34ad5252/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateQueryAction.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateQueryAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateQueryAction.java
index 076d994..fbf1562 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateQueryAction.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateQueryAction.java
@@ -59,7 +59,7 @@ public class CreateQueryAction extends CayenneAction {
     }
 
     protected void createQuery() {
-        new QueryType(getProjectController(),getProjectController().getCurrentDataMap()).startupAction();
+        new QueryType(getProjectController()).startupAction();
     }
     
     public void createQuery(DataChannelDescriptor domain, DataMap dataMap, QueryDescriptor query) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/34ad5252/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/RemoveCallbackMethodAction.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/RemoveCallbackMethodAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/RemoveCallbackMethodAction.java
index 2b0222b..631066c 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/RemoveCallbackMethodAction.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/RemoveCallbackMethodAction.java
@@ -51,7 +51,6 @@ public class RemoveCallbackMethodAction extends RemoveAction {
     /**
      * Constructor.
      *
-     * @param actionName unique action name
      * @param application Application instance
      */
     public RemoveCallbackMethodAction(Application application) {
@@ -77,15 +76,14 @@ public class RemoveCallbackMethodAction extends RemoveAction {
 
         if ((methods.length == 1 && dialog.shouldDelete("callback method", methods[0].getName()))
         		|| (methods.length > 1 && dialog.shouldDelete("selected callback methods"))) {
-        	removeCallbackMethods(e);
+        	removeCallbackMethods();
         }
     }
 
     /**
      * base logic for callback method removing
-     * @param actionEvent event
      */
-    private void removeCallbackMethods(ActionEvent actionEvent) {
+    private void removeCallbackMethods() {
         ProjectController mediator = getProjectController();
         CallbackType callbackType = mediator.getCurrentCallbackType();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/34ad5252/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 04753f8..d708e00 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
@@ -215,14 +215,14 @@ public class ResolveDbRelationshipDialog extends CayenneDialog {
         table.setModel(new DbJoinTableModel(relationship, getMediator(), this, true));
         TableColumn sourceColumn = table.getColumnModel().getColumn(DbJoinTableModel.SOURCE);
         JComboBox comboBox = Application.getWidgetFactory().createComboBox(
-                ModelerUtil.getDbAttributeNames(getMediator(), relationship.getSourceEntity()), true);
+                ModelerUtil.getDbAttributeNames(relationship.getSourceEntity()), true);
 
         AutoCompletion.enable(comboBox);
         sourceColumn.setCellEditor(Application.getWidgetFactory().createCellEditor(comboBox));
 
         TableColumn targetColumn = table.getColumnModel().getColumn(DbJoinTableModel.TARGET);
         comboBox = Application.getWidgetFactory().createComboBox(
-                ModelerUtil.getDbAttributeNames(getMediator(), relationship.getTargetEntity()), true);
+                ModelerUtil.getDbAttributeNames(relationship.getTargetEntity()), true);
         AutoCompletion.enable(comboBox);
 
         targetColumn.setCellEditor(Application.getWidgetFactory().createCellEditor(comboBox));

http://git-wip-us.apache.org/repos/asf/cayenne/blob/34ad5252/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/objentity/ObjAttributeInfoDialog.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/objentity/ObjAttributeInfoDialog.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/objentity/ObjAttributeInfoDialog.java
index 1b05ff4..71355fb 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/objentity/ObjAttributeInfoDialog.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/objentity/ObjAttributeInfoDialog.java
@@ -287,10 +287,10 @@ public class ObjAttributeInfoDialog extends CayenneController implements TreeSel
 	private void initComboBoxes() {
 		Collection<String> nameAttr = null;
 		if (attributeSaved != null) {
-			DbEntity currentEnt = ((ObjEntity) attributeSaved.getEntity()).getDbEntity();
+			DbEntity currentEnt = attributeSaved.getEntity().getDbEntity();
 
 			if (currentEnt != null) {
-				nameAttr = ModelerUtil.getDbAttributeNames(mediator, currentEnt);
+				nameAttr = ModelerUtil.getDbAttributeNames(currentEnt);
 				embeddableModel.setCellEditor(nameAttr, view.getOverrideAttributeTable());
 				embeddableModel.setComboBoxes(
 						nameAttr,

http://git-wip-us.apache.org/repos/asf/cayenne/blob/34ad5252/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 3aab713..c1eb56c 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
@@ -42,7 +42,7 @@ public class QueryType extends CayenneController{
     protected QueryTypeView view;
     protected String type;
     
-    public QueryType(ProjectController mediator, DataMap root) {
+    public QueryType(ProjectController mediator) {
         super(mediator);
 
         view = new QueryTypeView();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/34ad5252/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/validator/ValidatorDialog.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/validator/ValidatorDialog.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/validator/ValidatorDialog.java
index c924495..e97a486 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/validator/ValidatorDialog.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/validator/ValidatorDialog.java
@@ -78,7 +78,7 @@ public class ValidatorDialog extends CayenneDialog {
             instance = null;
         }
 
-        JOptionPane.showMessageDialog(Application.getFrame(), "Cayenne project is valid.");
+        JOptionPane.showMessageDialog(editor, "Cayenne project is valid.");
     }
 
     protected ValidatorDialog(CayenneModelerFrame editor) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/34ad5252/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/MainDataNodeEditor.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/MainDataNodeEditor.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/MainDataNodeEditor.java
index 917c705..16173f0 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/MainDataNodeEditor.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/MainDataNodeEditor.java
@@ -22,11 +22,8 @@ package org.apache.cayenne.modeler.editor.datanode;
 import java.awt.Component;
 import java.awt.event.ComponentAdapter;
 import java.awt.event.ComponentEvent;
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
 import java.util.Map;
 
 import javax.swing.DefaultComboBoxModel;
@@ -42,8 +39,6 @@ import org.apache.cayenne.configuration.server.JNDIDataSourceFactory;
 import org.apache.cayenne.configuration.server.XMLPoolingDataSourceFactory;
 import org.apache.cayenne.modeler.ProjectController;
 import org.apache.cayenne.modeler.dialog.pref.PreferenceDialog;
-import org.apache.cayenne.modeler.event.DataNodeDisplayEvent;
-import org.apache.cayenne.modeler.event.DataNodeDisplayListener;
 import org.apache.cayenne.modeler.pref.DBConnectionInfo;
 import org.apache.cayenne.modeler.pref.DataNodeDefaults;
 import org.apache.cayenne.modeler.util.CayenneController;
@@ -62,18 +57,23 @@ public class MainDataNodeEditor extends CayenneController {
 	protected static final String NO_LOCAL_DATA_SOURCE = "Select DataSource for Local Work...";
 	public static final String DBCP_DATA_SOURCE_FACTORY = "org.apache.cayenne.configuration.server.DBCPDataSourceFactory";
 
-	final static String[] standardDataSourceFactories = new String[] { XMLPoolingDataSourceFactory.class.getName(),
-			JNDIDataSourceFactory.class.getName(), DBCP_DATA_SOURCE_FACTORY };
+	private final static String[] STANDARD_DATA_SOURCE_FACTORIES = new String[] {
+	        XMLPoolingDataSourceFactory.class.getName(),
+			JNDIDataSourceFactory.class.getName(),
+            DBCP_DATA_SOURCE_FACTORY
+	};
 
-	final static String[] standardSchemaUpdateStrategy = new String[] { SkipSchemaUpdateStrategy.class.getName(),
-			CreateIfNoSchemaStrategy.class.getName(), ThrowOnPartialSchemaStrategy.class.getName(),
-			ThrowOnPartialOrCreateSchemaStrategy.class.getName() };
+	private final static String[] STANDARD_SCHEMA_UPDATE_STRATEGY = new String[] {
+	        SkipSchemaUpdateStrategy.class.getName(),
+			CreateIfNoSchemaStrategy.class.getName(),
+            ThrowOnPartialSchemaStrategy.class.getName(),
+			ThrowOnPartialOrCreateSchemaStrategy.class.getName()
+	};
 
 	protected MainDataNodeView view;
 	protected DataNodeEditor tabbedPaneController;
 	protected DataNodeDescriptor node;
-	protected Map datasourceEditors;
-	protected List localDataSources;
+	protected Map<String, DataSourceEditor> datasourceEditors;
 
 	protected DataSourceEditor defaultSubeditor;
 	protected BindingDelegate nodeChangeProcessor;
@@ -85,22 +85,18 @@ public class MainDataNodeEditor extends CayenneController {
 		super(parent);
 
 		this.tabbedPaneController = tabController;
-		this.view = new MainDataNodeView((ProjectController) getParent());
-		this.datasourceEditors = new HashMap();
-		this.localDataSources = new ArrayList<String>();
+		this.view = new MainDataNodeView();
+		this.datasourceEditors = new HashMap<>();
 
-		this.nodeChangeProcessor = new BindingDelegate() {
+		this.nodeChangeProcessor = (binding, oldValue, newValue) -> {
 
-			public void modelUpdated(ObjectBinding binding, Object oldValue, Object newValue) {
+            DataNodeEvent e = new DataNodeEvent(MainDataNodeEditor.this, node);
+            if (binding != null && binding.getView() == view.getDataNodeName()) {
+                e.setOldName(oldValue != null ? oldValue.toString() : null);
+            }
 
-				DataNodeEvent e = new DataNodeEvent(MainDataNodeEditor.this, node);
-				if (binding != null && binding.getView() == view.getDataNodeName()) {
-					e.setOldName(oldValue != null ? oldValue.toString() : null);
-				}
-
-				((ProjectController) getParent()).fireDataNodeEvent(e);
-			}
-		};
+            ((ProjectController) getParent()).fireDataNodeEvent(e);
+        };
 
 		this.defaultSubeditor = new CustomDataSourceEditor(parent, nodeChangeProcessor);
 
@@ -154,23 +150,16 @@ public class MainDataNodeEditor extends CayenneController {
 				.getRootNode();
 
 		Collection<DataNodeDescriptor> matchingNode = dataChannelDescriptor.getNodeDescriptors();
-
-		Iterator<DataNodeDescriptor> it = matchingNode.iterator();
-		while (it.hasNext()) {
-			DataNodeDescriptor node = it.next();
-			if (node.getName().equals(newName)) {
-				// there is an entity with the same name
-				throw new ValidationException("There is another DataNode named '" + newName
-						+ "'. Use a different name.");
-			}
-		}
+        for (DataNodeDescriptor node : matchingNode) {
+            if (node.getName().equals(newName)) {
+                // there is an entity with the same name
+                throw new ValidationException("There is another DataNode named '" + newName
+                        + "'. Use a different name.");
+            }
+        }
 
 		// passed validation, set value...
-
-		// TODO: fixme....there is a slight chance that domain is different than
-		// the one
-		// cached node belongs to
-		ProjectUtil.setDataNodeName((DataChannelDescriptor) parent.getProject().getRootNode(), node, newName);
+		ProjectUtil.setDataNodeName(node, newName);
 
 		oldPref.copyPreferences(newName);
 	}
@@ -179,18 +168,13 @@ public class MainDataNodeEditor extends CayenneController {
 		view.getDataSourceDetail().add(defaultSubeditor.getView(), "default");
 		view.getFactories().setEditable(true);
 		// init combo box choices
-		view.getFactories().setModel(new DefaultComboBoxModel(standardDataSourceFactories));
+		view.getFactories().setModel(new DefaultComboBoxModel<>(STANDARD_DATA_SOURCE_FACTORIES));
 
 		view.getSchemaUpdateStrategy().setEditable(true);
-		view.getSchemaUpdateStrategy().setModel(new DefaultComboBoxModel(standardSchemaUpdateStrategy));
+		view.getSchemaUpdateStrategy().setModel(new DefaultComboBoxModel<>(STANDARD_SCHEMA_UPDATE_STRATEGY));
 
 		// init listeners
-		((ProjectController) getParent()).addDataNodeDisplayListener(new DataNodeDisplayListener() {
-
-			public void currentDataNodeChanged(DataNodeDisplayEvent e) {
-				refreshView(e.getDataNode());
-			}
-		});
+		((ProjectController) getParent()).addDataNodeDisplayListener(e -> refreshView(e.getDataNode()));
 
 		getView().addComponentListener(new ComponentAdapter() {
 
@@ -224,25 +208,21 @@ public class MainDataNodeEditor extends CayenneController {
 	}
 
 	protected void refreshLocalDataSources() {
-		localDataSources.clear();
-
-		Map sources = getApplication().getCayenneProjectPreferences().getDetailObject(DBConnectionInfo.class)
-				.getChildrenPreferences();
+		@SuppressWarnings("unchecked")
+        Map<String, Object> sources = (Map<String, Object>)getApplication().getCayenneProjectPreferences()
+                .getDetailObject(DBConnectionInfo.class).getChildrenPreferences();
 
 		int len = sources.size();
-		Object[] keys = new Object[len + 1];
+        String[] keys = new String[len + 1];
 
 		// a slight chance that a real datasource is called
 		// NO_LOCAL_DATA_SOURCE...
 		keys[0] = NO_LOCAL_DATA_SOURCE;
 
-		Object[] dataSources = sources.keySet().toArray();
-		localDataSources.add(dataSources);
-		for (int i = 0; i < dataSources.length; i++) {
-			keys[i + 1] = dataSources[i];
-		}
+		String[] dataSources = sources.keySet().toArray(new String[0]);
+        System.arraycopy(dataSources, 0, keys, 1, dataSources.length);
 
-		view.getLocalDataSources().setModel(new DefaultComboBoxModel(keys));
+		view.getLocalDataSources().setModel(new DefaultComboBoxModel<>(keys));
 		localDataSourceBinding.updateView();
 	}
 
@@ -271,7 +251,7 @@ public class MainDataNodeEditor extends CayenneController {
 	 */
 	protected void showDataSourceSubview(String factoryName) {
 
-		DataSourceEditor c = (DataSourceEditor) datasourceEditors.get(factoryName);
+		DataSourceEditor c = datasourceEditors.get(factoryName);
 
 		// create subview dynamically...
 		if (c == null) {
@@ -307,7 +287,7 @@ public class MainDataNodeEditor extends CayenneController {
 
 	protected void disabledTab(String name) {
 
-		if (name.equals(standardDataSourceFactories[0])) {
+		if (name.equals(STANDARD_DATA_SOURCE_FACTORIES[0])) {
 			tabbedPaneController.getTabComponent().setEnabledAt(2, true);
 		} else {
 			tabbedPaneController.getTabComponent().setEnabledAt(2, false);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/34ad5252/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/MainDataNodeView.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/MainDataNodeView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/MainDataNodeView.java
index 6138e2e..c3ce47b 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/MainDataNodeView.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/MainDataNodeView.java
@@ -22,7 +22,6 @@ package org.apache.cayenne.modeler.editor.datanode;
 import com.jgoodies.forms.builder.DefaultFormBuilder;
 import com.jgoodies.forms.layout.FormLayout;
 import org.apache.cayenne.modeler.Application;
-import org.apache.cayenne.modeler.ProjectController;
 import org.apache.cayenne.modeler.util.JTextFieldUndoable;
 
 import javax.swing.JButton;
@@ -46,14 +45,14 @@ import static org.apache.cayenne.modeler.editor.datanode.MainDataNodeEditor.DBCP
 public class MainDataNodeView extends JPanel {
 
     protected JTextField dataNodeName;
-    protected JComboBox factories;
+    protected JComboBox<String> factories;
     protected JPanel dataSourceDetail;
     protected CardLayout dataSourceDetailLayout;
-    protected JComboBox localDataSources;
+    protected JComboBox<String> localDataSources;
     protected JButton configLocalDataSources;
-    protected JComboBox schemaUpdateStrategy;
+    protected JComboBox<String> schemaUpdateStrategy;
 
-    public MainDataNodeView(final ProjectController projectController) {
+    public MainDataNodeView() {
 
         // create widgets
         this.dataNodeName = new JTextFieldUndoable();
@@ -102,7 +101,7 @@ public class MainDataNodeView extends JPanel {
         add(dataSourceDetail, BorderLayout.CENTER);
     }
 
-    public JComboBox getSchemaUpdateStrategy() {
+    public JComboBox<String> getSchemaUpdateStrategy() {
         return schemaUpdateStrategy;
     }
 
@@ -114,7 +113,7 @@ public class MainDataNodeView extends JPanel {
         return dataSourceDetail;
     }
 
-    public JComboBox getLocalDataSources() {
+    public JComboBox<String> getLocalDataSources() {
         return localDataSources;
     }
 
@@ -122,7 +121,7 @@ public class MainDataNodeView extends JPanel {
         return dataSourceDetailLayout;
     }
 
-    public JComboBox getFactories() {
+    public JComboBox<String> getFactories() {
         return factories;
     }
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/34ad5252/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbAttributeTableModel.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbAttributeTableModel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbAttributeTableModel.java
index 9c62874..ac69a59 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbAttributeTableModel.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbAttributeTableModel.java
@@ -34,8 +34,6 @@ import javax.swing.JOptionPane;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
-import java.util.Comparator;
-import java.util.Iterator;
 import java.util.List;
 
 /**
@@ -57,12 +55,12 @@ public class DbAttributeTableModel extends CayenneTableModel<DbAttribute> {
     public DbAttributeTableModel(DbEntity entity, ProjectController mediator,
             Object eventSource) {
         this(entity, mediator, eventSource, new ArrayList<>(entity.getAttributes()));
-        this.entity = entity;
     }
 
     public DbAttributeTableModel(DbEntity entity, ProjectController mediator,
             Object eventSource, List<DbAttribute> objectList) {
         super(mediator, eventSource, objectList);
+        this.entity = entity;
     }
 
     public int nameColumnInd() {
@@ -102,7 +100,7 @@ public class DbAttributeTableModel extends CayenneTableModel<DbAttribute> {
 
     public DbAttribute getAttribute(int row) {
         return (row >= 0 && row < objectList.size())
-                ? (DbAttribute) objectList.get(row)
+                ? objectList.get(row)
                 : null;
     }
 
@@ -285,13 +283,7 @@ public class DbAttributeTableModel extends CayenneTableModel<DbAttribute> {
                     .addAll(ProjectUtil.getRelationshipsUsingAttributeAsSource(attr));
 
             if (relationships.size() > 0) {
-                Iterator<DbRelationship> it = relationships.iterator();
-                while (it.hasNext()) {
-                    DbRelationship relationship = it.next();
-                    if (!relationship.isToDependentPK()) {
-                        it.remove();
-                    }
-                }
+                relationships.removeIf(relationship -> !relationship.isToDependentPK());
 
                 // filtered only those that are to dep PK
                 if (relationships.size() > 0) {
@@ -341,9 +333,7 @@ public class DbAttributeTableModel extends CayenneTableModel<DbAttribute> {
         if (null == attrib) {
             return false;
         } else if (col == mandatoryColumnInd()) {
-            if (attrib.isPrimaryKey()) {
-                return false;
-            }
+            return !attrib.isPrimaryKey();
         }
         return true;
     }
@@ -360,24 +350,20 @@ public class DbAttributeTableModel extends CayenneTableModel<DbAttribute> {
                 sortByElementProperty("name", isAscent);
                 break;
             case DB_ATTRIBUTE_TYPE:
-                Collections.sort(objectList, new Comparator<DbAttribute>() {
-
-                    public int compare(DbAttribute o1, DbAttribute o2) {
-                        if ((o1 == null && o2 == null) || o1 == o2) {
-                            return 0;
-                        } else if (o1 == null) {
-                            return -1;
-                        } else if (o2 == null) {
-                            return 1;
-                        }
-                        
-                        String attrType1 = getAttributeType(o1);
-                        String attrType2 = getAttributeType(o2);
-                        
-                        return (attrType1 == null) ? -1
-                                : (attrType2 == null) ? 1 : attrType1.compareTo(attrType2);
+                objectList.sort((o1, o2) -> {
+                    if (o1 == o2) {
+                        return 0;
+                    } else if (o1 == null) {
+                        return -1;
+                    } else if (o2 == null) {
+                        return 1;
                     }
 
+                    String attrType1 = getAttributeType(o1);
+                    String attrType2 = getAttributeType(o2);
+
+                    return (attrType1 == null) ? -1
+                            : (attrType2 == null) ? 1 : attrType1.compareTo(attrType2);
                 });
                 if (!isAscent) {
                     Collections.reverse(objectList);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/34ad5252/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/TableColumnPreferences.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/TableColumnPreferences.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/TableColumnPreferences.java
index 0285acf..4cf30ce 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/TableColumnPreferences.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/TableColumnPreferences.java
@@ -60,7 +60,7 @@ public class TableColumnPreferences extends CayennePreference {
         }
 
         public void columnMoved(TableColumnModelEvent e) {
-            TableColumn column = null;
+            TableColumn column;
             for (int i = 0; i < columnCount; i++) {
                 column = table.getColumnModel().getColumn(i);
                 setOrderIndex(column.getModelIndex(), i);
@@ -90,13 +90,6 @@ public class TableColumnPreferences extends CayennePreference {
      * Binds this preference object to synchronize its state with a given table component,
      * allowing to specify an initial offset compared to the stored position. Allow to specify
      * initial sorting.
-     * 
-     * @param table
-     * @param minSizes
-     * @param maxSizes
-     * @param defaultSizes
-     * @param defaultSortColumn
-     * @param defaultSortOrder
      */
     public void bind(
             final JTable table,
@@ -114,12 +107,7 @@ public class TableColumnPreferences extends CayennePreference {
 
     /**
      * Binds this preference object to synchronize its state with a given table component,
-     * allowing to specify an initial offset compared to the stored position. 
-     * 
-     * @param table
-     * @param minSizes
-     * @param maxSizes
-     * @param defaultSizes
+     * allowing to specify an initial offset compared to the stored position.
      */
     public void bind(
             final JTable table,
@@ -147,7 +135,7 @@ public class TableColumnPreferences extends CayennePreference {
     private void updateWidths(
             Map<Integer, Integer> minSizes,
             Map<Integer, Integer> maxSizes, Map<Integer, Integer> defaultSizes) {
-        TableColumn column = null;
+        TableColumn column;
         TableColumnModel columnModel = table.getColumnModel();
         for (int i = 0; i < columnCount; i++) {
             column = columnModel.getColumn(i);
@@ -180,7 +168,7 @@ public class TableColumnPreferences extends CayennePreference {
         TableColumn column;
         TableColumnModel columnModel = table.getColumnModel();
         TableModel model = table.getModel();
-        String columnName = "";
+        String columnName;
         for (int i = 0; i < columnCount; i++) {
             columnName = model.getColumnName(i);
             column = table.getColumn(columnName);
@@ -194,37 +182,33 @@ public class TableColumnPreferences extends CayennePreference {
 
     private void updateSort(int defaultSortColumn, boolean defaultSortOrder) {
         ((CayenneTable) table).sort(
-                getSortColumn(SORT_COLUMN_KEY, defaultSortColumn),
-                getSortOrder(SORT_ORDER_KEY, defaultSortOrder));
+                getSortColumn(defaultSortColumn),
+                getSortOrder(defaultSortOrder));
     }
 
     private int getWidth(int index, int defaultWidth) {
         if(currentWidth[index] == 0) {
-            currentWidth[index] = getPreference().getInt(WIDTH_KEY + Integer.toString(index), defaultWidth);
+            currentWidth[index] = getPreference().getInt(WIDTH_KEY + index, defaultWidth);
         }
         return currentWidth[index];
     }
 
     private void setWidth(int index, int width) {
         if(currentWidth[index] != width) {
-            getPreference().putInt(WIDTH_KEY + Integer.toString(index), width);
+            getPreference().putInt(WIDTH_KEY + index, width);
             currentWidth[index] = width;
         }
     }
 
     private int getOrderIndex(int columnIndex, int defaultOrderIndex) {
-        return getPreference().getInt(
-                ORDER_KEY + Integer.toString(columnIndex),
-                defaultOrderIndex);
+        return getPreference().getInt(ORDER_KEY + columnIndex, defaultOrderIndex);
     }
 
     private void setOrderIndex(int columnIndex, int defaultOrderIndex) {
-        getPreference().putInt(
-                ORDER_KEY + Integer.toString(columnIndex),
-                defaultOrderIndex);
+        getPreference().putInt(ORDER_KEY + columnIndex, defaultOrderIndex);
     }
 
-    private boolean getSortOrder(String sortOrderKey, boolean defaultSortOrder) {
+    private boolean getSortOrder(boolean defaultSortOrder) {
         return getPreference().getBoolean(SORT_ORDER_KEY, defaultSortOrder);
     }
 
@@ -232,7 +216,7 @@ public class TableColumnPreferences extends CayennePreference {
         getPreference().putBoolean(SORT_ORDER_KEY, isAscent);
     }
 
-    private int getSortColumn(String sortColumnKey, int defaultSortColumn) {
+    private int getSortColumn(int defaultSortColumn) {
         return getPreference().getInt(SORT_COLUMN_KEY, defaultSortColumn);
     }
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/34ad5252/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CayenneTableModel.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CayenneTableModel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CayenneTableModel.java
index e60d106..4ec0d84 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CayenneTableModel.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CayenneTableModel.java
@@ -144,10 +144,6 @@ public abstract class CayenneTableModel<T> extends AbstractTableModel {
         }
 
         int neighborIndex = ind - 1;
-        if (neighborIndex < 0) {
-            neighborIndex = len - 1;
-        }
-
         swapRows(ind, neighborIndex);
         return neighborIndex;
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/34ad5252/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ModelerUtil.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ModelerUtil.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ModelerUtil.java
index ab1e01e..a8af240 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ModelerUtil.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ModelerUtil.java
@@ -25,7 +25,6 @@ import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.ModelerConstants;
-import org.apache.cayenne.modeler.ProjectController;
 import org.apache.cayenne.modeler.action.ActionManager;
 import org.apache.cayenne.modeler.action.MultipleObjectsAction;
 import org.apache.cayenne.modeler.pref.FSPath;
@@ -97,9 +96,7 @@ public final class ModelerUtil {
     /**
      * Returns array of db attribute names for DbEntity mapped to current ObjEntity.
      */
-    public static Collection<String> getDbAttributeNames(
-            ProjectController mediator,
-            DbEntity entity) {
+    public static Collection<String> getDbAttributeNames(DbEntity entity) {
 
         Set<String> keys = entity.getAttributeMap().keySet();
         List<String> list = new ArrayList<>(keys.size() + 1);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/34ad5252/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ProjectUtil.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ProjectUtil.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ProjectUtil.java
index cb2c8b1..a201a75 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ProjectUtil.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ProjectUtil.java
@@ -88,7 +88,7 @@ public class ProjectUtil {
         }
     }
 
-    public static void setDataNodeName(DataChannelDescriptor domain, DataNodeDescriptor node, String newName) {
+    public static void setDataNodeName(DataNodeDescriptor node, String newName) {
         node.setName(newName);
     }