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 2017/03/23 13:43:27 UTC

cayenne git commit: Warning cleanup

Repository: cayenne
Updated Branches:
  refs/heads/master 8a4eb6a6f -> 663e9ec19


Warning cleanup


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

Branch: refs/heads/master
Commit: 663e9ec19239a805413bf7eee5433f530cf043a4
Parents: 8a4eb6a
Author: Nikita Timofeev <st...@gmail.com>
Authored: Thu Mar 23 16:24:47 2017 +0300
Committer: Nikita Timofeev <st...@gmail.com>
Committed: Thu Mar 23 16:24:47 2017 +0300

----------------------------------------------------------------------
 .../org/apache/cayenne/gen/DataMapUtils.java    |   9 +-
 .../apache/cayenne/remote/ClientChannel.java    |   6 +-
 .../cayenne/util/GenericResponseTest.java       |   2 +-
 .../cayenne/util/PersistentObjectListTest.java  |   2 +-
 .../value/DefaultValueEncryptor.java            |   1 +
 .../dbsync/merge/token/ValueForNullIT.java      |   1 +
 .../relationship/ObjectIdBatchFault.java        |   3 +-
 .../lifecycle/audit/AuditableFilterTest.java    |   2 +-
 .../cayenne/lifecycle/id/EntityIdCoderTest.java |   6 +-
 .../cayenne/lifecycle/id/IdCoderTest.java       |   2 +-
 .../cayenne/lifecycle/id/StringIdQueryTest.java |   2 +-
 .../ObjectIdRelationshipHandlerTest.java        |   4 +-
 .../sort/WeightedAshwoodEntitySorterTest.java   |   2 +-
 .../org/apache/cayenne/conn/DataSourceInfo.java |   8 +-
 .../dba/oracle/Oracle8LOBBatchQueryWrapper.java |   8 +-
 .../apache/cayenne/log/NoopJdbcEventLogger.java |   1 +
 .../org/apache/cayenne/reflect/Property.java    |  48 +-------
 .../cayenne/reflect/PropertyDescriptor.java     |   2 +-
 .../java/org/apache/cayenne/ObjectIdTest.java   |  78 ++++++------
 .../DataContextQueryCachingEhCacheIT.java       |  10 +-
 .../access/DataContextQueryCachingIT.java       |  17 ++-
 .../DataContextQueryCachingOSCacheIT.java       |   6 +-
 .../access/DataContextRefreshQueryIT.java       |  22 ++--
 .../SimpleIdIncrementalFaultListDataRowsIT.java |  12 +-
 .../cayenne/cache/EhCacheQueryCacheTest.java    |   1 +
 .../cache/EhCacheQueryCache_WithConfigTest.java |   1 +
 .../apache/cayenne/cache/OSQueryCacheTest.java  |   6 +-
 .../org/apache/cayenne/query/QueryChainIT.java  |  11 +-
 .../mt/auto/_ClientMtTable1Subclass2.java       |   2 +-
 .../cayenne/event/JMSBridgeFactoryTest.java     |   6 +-
 .../CreateDataMapEntityListenerAction.java      | 121 -------------------
 .../action/CreateObjEntityListenerAction.java   | 118 ------------------
 .../modeler/action/DefaultActionManager.java    |   3 -
 .../modeler/editor/SelectQueryMainTab.java      |   1 -
 .../editor/datanode/PasswordEncoderEditor.java  |   3 +-
 ...CreateDataMapEntityListenerUndoableEdit.java |  59 ---------
 .../undo/CreateEntityListenerUndoableEdit.java  |  58 ---------
 37 files changed, 117 insertions(+), 527 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/cayenne-cgen/src/main/java/org/apache/cayenne/gen/DataMapUtils.java
----------------------------------------------------------------------
diff --git a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/DataMapUtils.java b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/DataMapUtils.java
index b83f89e..f0f8f69 100644
--- a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/DataMapUtils.java
+++ b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/DataMapUtils.java
@@ -60,7 +60,7 @@ public class DataMapUtils {
 	 * Return valid method name based on query name (replace all illegal
 	 * characters with underscore '_').
 	 * 
-	 * @param query
+	 * @param query descriptor
 	 * @return Method name that perform query.
 	 */
 	public String getQueryMethodName(QueryDescriptor query) {
@@ -70,7 +70,7 @@ public class DataMapUtils {
 	/**
 	 * Get all parameter names that used in query qualifier.
 	 *
-	 * @param query
+	 * @param query select query descriptor
 	 * @return Parameter names.
 	 */
 	public Collection getParameterNames(SelectQueryDescriptor query) {
@@ -131,6 +131,7 @@ public class DataMapUtils {
 	 * @return List of parameter names.
 	 */
 	private Set parseQualifier(String qualifierString) {
+		@SuppressWarnings("unchecked")
 		Set<String> result = (Set<String>)new ListOrderedSet();
 		Pattern pattern = Pattern.compile("\\$[\\w]+");
 		Matcher matcher = pattern.matcher(qualifierString);
@@ -156,8 +157,8 @@ public class DataMapUtils {
 	/**
 	 * Get type of parameter for given name.
 	 *
-	 * @param query
-	 * @param name
+	 * @param query descriptor
+	 * @param name parameter name
 	 * @return Parameter type.
 	 */
 	public String getParameterType(SelectQueryDescriptor query, String name) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/cayenne-client/src/main/java/org/apache/cayenne/remote/ClientChannel.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/main/java/org/apache/cayenne/remote/ClientChannel.java b/cayenne-client/src/main/java/org/apache/cayenne/remote/ClientChannel.java
index 60f9fcf..ef17e3a 100644
--- a/cayenne-client/src/main/java/org/apache/cayenne/remote/ClientChannel.java
+++ b/cayenne-client/src/main/java/org/apache/cayenne/remote/ClientChannel.java
@@ -95,6 +95,7 @@ public class ClientChannel implements DataChannel {
         return eventManager;
     }
 
+    @SuppressWarnings("unchecked")
     public QueryResponse onQuery(ObjectContext context, Query query) {
 
         QueryResponse response = send( new QueryMessage(query), QueryResponse.class);
@@ -234,10 +235,7 @@ public class ClientChannel implements DataChannel {
                         notification.add(replyDiff);
                     }
 
-                    Object postedBy = (originatingContext != null)
-                            ? originatingContext
-                            : this;
-                    GraphEvent e = new GraphEvent(this, postedBy, notification);
+                    GraphEvent e = new GraphEvent(this, originatingContext, notification);
                     eventManager.postEvent(e, subject);
                 }
             }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/cayenne-client/src/test/java/org/apache/cayenne/util/GenericResponseTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/util/GenericResponseTest.java b/cayenne-client/src/test/java/org/apache/cayenne/util/GenericResponseTest.java
index 4585b76..b72a83a 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/util/GenericResponseTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/util/GenericResponseTest.java
@@ -35,7 +35,7 @@ public class GenericResponseTest {
 
     @Test
     public void testSerializationWithHessian() throws Exception {
-        List list = new ArrayList();
+        List<Object> list = new ArrayList<>();
         list.add(new HashMap());
 
         GenericResponse r = new GenericResponse();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/cayenne-client/src/test/java/org/apache/cayenne/util/PersistentObjectListTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/util/PersistentObjectListTest.java b/cayenne-client/src/test/java/org/apache/cayenne/util/PersistentObjectListTest.java
index c3c4206..6d2d318 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/util/PersistentObjectListTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/util/PersistentObjectListTest.java
@@ -59,7 +59,7 @@ public class PersistentObjectListTest {
         owner.setGlobalAttribute1("a");
         PersistentObjectList list = new PersistentObjectList(owner, "x");
 
-        List objects = new ArrayList();
+        List<Object> objects = new ArrayList<>();
         objects.add("a");
         objects.add("b");
         list.setObjectList(objects);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/DefaultValueEncryptor.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/DefaultValueEncryptor.java b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/DefaultValueEncryptor.java
index e451db1..64912cd 100644
--- a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/DefaultValueEncryptor.java
+++ b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/DefaultValueEncryptor.java
@@ -49,6 +49,7 @@ class DefaultValueEncryptor implements ValueEncryptor {
             return null;
         }
 
+        @SuppressWarnings("unchecked")
         byte[] bytes = preConverter.toBytes(value);
         byte[] transformed = encryptor.encrypt(bytes, 0, new byte[1]);
         return postConverter.fromBytes(transformed);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/token/ValueForNullIT.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/token/ValueForNullIT.java b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/token/ValueForNullIT.java
index 9f6b3d7..f9801a0 100644
--- a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/token/ValueForNullIT.java
+++ b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/token/ValueForNullIT.java
@@ -95,6 +95,7 @@ public class ValueForNullIT extends MergeCase {
         // check values for null
         Expression qual = ExpressionFactory.matchExp(objAttr.getName(), DEFAULT_VALUE_STRING);
         SelectQuery query = new SelectQuery("Painting", qual);
+        @SuppressWarnings("unchecked")
         List<Persistent> rows = context.performQuery(query);
         assertEquals(nrows, rows.size());
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/ObjectIdBatchFault.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/ObjectIdBatchFault.java b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/ObjectIdBatchFault.java
index 68b4b8f..90db1e6 100644
--- a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/ObjectIdBatchFault.java
+++ b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/ObjectIdBatchFault.java
@@ -107,7 +107,7 @@ class ObjectIdBatchFault {
 				coder = new EntityIdCoder(resolver.getObjEntity(entityName));
 				codersByEntity.put(entityName, coder);
 
-				query = new SelectQuery<DataObject>(entityName);
+				query = new SelectQuery<>(entityName);
 				queriesByEntity.put(entityName, query);
 			} else {
 				query = queriesByEntity.get(entityName);
@@ -124,6 +124,7 @@ class ObjectIdBatchFault {
 		for (SelectQuery<DataObject> query : queriesByEntity.values()) {
 
 			EntityIdCoder coder = codersByEntity.get(query.getRoot());
+			@SuppressWarnings("unchecked")
 			List<DataObject> objects = context.performQuery(query);
 			for (DataObject object : objects) {
 				String uuid = coder.toStringId(object.getObjectId());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/AuditableFilterTest.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/AuditableFilterTest.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/AuditableFilterTest.java
index 2981b0d..4a8b251 100644
--- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/AuditableFilterTest.java
+++ b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/AuditableFilterTest.java
@@ -64,7 +64,7 @@ public class AuditableFilterTest {
         when(channel.getEntityResolver()).thenReturn(resolver);
 
         this.processor = mock(AuditableProcessor.class);
-        this.runtime = new ServerRuntime("cayenne-lifecycle.xml");
+        this.runtime = ServerRuntime.builder().addConfig("cayenne-lifecycle.xml").build();
         this.filter = new AuditableFilter(processor);
         this.filter.init(channel);
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/EntityIdCoderTest.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/EntityIdCoderTest.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/EntityIdCoderTest.java
index b324b70..2bc0297 100644
--- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/EntityIdCoderTest.java
+++ b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/EntityIdCoderTest.java
@@ -42,7 +42,7 @@ public class EntityIdCoderTest {
 
     @Before
     public void setUp() throws Exception {
-        runtime = new ServerRuntime("cayenne-lifecycle.xml");
+        runtime = ServerRuntime.builder().addConfig("cayenne-lifecycle.xml").build();
     }
 
     @After
@@ -109,7 +109,7 @@ public class EntityIdCoderTest {
         when(entity.getDbEntityName()).thenReturn(dbEntity.getName());
         when(entity.getDbEntity()).thenReturn(dbEntity);
 
-        ObjectId id = new ObjectId("x", "ID", 3l);
+        ObjectId id = new ObjectId("x", "ID", 3L);
 
         EntityIdCoder coder = new EntityIdCoder(entity);
         assertEquals("x:3", coder.toStringId(id));
@@ -189,7 +189,7 @@ public class EntityIdCoderTest {
 
         Map<String, Object> idMap = new HashMap<>();
         idMap.put("ID", "X;Y");
-        idMap.put("ABC", 6783463l);
+        idMap.put("ABC", 6783463L);
         idMap.put("ZZZ", "'_'");
         ObjectId id = new ObjectId("x", idMap);
         assertEquals("x:6783463:X%3BY:%27_%27", coder.toStringId(id));

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/IdCoderTest.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/IdCoderTest.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/IdCoderTest.java
index f89585a..c3a4876 100644
--- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/IdCoderTest.java
+++ b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/IdCoderTest.java
@@ -33,7 +33,7 @@ public class IdCoderTest {
 
     @Before
     public void setUp() throws Exception {
-        runtime = new ServerRuntime("cayenne-lifecycle.xml");
+        runtime = ServerRuntime.builder().addConfig("cayenne-lifecycle.xml").build();
     }
 
     @After

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/StringIdQueryTest.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/StringIdQueryTest.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/StringIdQueryTest.java
index 18c5304..a54964e 100644
--- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/StringIdQueryTest.java
+++ b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/StringIdQueryTest.java
@@ -44,7 +44,7 @@ public class StringIdQueryTest {
 
     @Before
     public void setUp() throws Exception {
-        runtime = new ServerRuntime("cayenne-lifecycle.xml");
+        runtime = ServerRuntime.builder().addConfig("cayenne-lifecycle.xml").build();
         dbHelper = new DBHelper(runtime.getDataSource("lifecycle-db"));
         e1Helper = new TableHelper(dbHelper, "E1", "ID");
         e2Helper = new TableHelper(dbHelper, "E2", "ID");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/relationship/ObjectIdRelationshipHandlerTest.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/relationship/ObjectIdRelationshipHandlerTest.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/relationship/ObjectIdRelationshipHandlerTest.java
index 4263b9d..8cbcdb7 100644
--- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/relationship/ObjectIdRelationshipHandlerTest.java
+++ b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/relationship/ObjectIdRelationshipHandlerTest.java
@@ -44,7 +44,7 @@ public class ObjectIdRelationshipHandlerTest {
 
     @Before
     public void setUp() throws Exception {
-        runtime = new ServerRuntime("cayenne-lifecycle.xml");
+        runtime = ServerRuntime.builder().addConfig("cayenne-lifecycle.xml").build();
 
         // a filter is required to invalidate root objects after commit
         ObjectIdRelationshipFilter filter = new ObjectIdRelationshipFilter();
@@ -72,7 +72,7 @@ public class ObjectIdRelationshipHandlerTest {
         e1Table.insert(1);
 
         ObjectContext context = runtime.newContext();
-        E1 e1 = (E1) Cayenne.objectForQuery(context, new SelectQuery(E1.class));
+        E1 e1 = (E1) Cayenne.objectForQuery(context, new SelectQuery<>(E1.class));
 
         UuidRoot1 r1 = context.newObject(UuidRoot1.class);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/sort/WeightedAshwoodEntitySorterTest.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/sort/WeightedAshwoodEntitySorterTest.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/sort/WeightedAshwoodEntitySorterTest.java
index 07ea85f..df3a296 100644
--- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/sort/WeightedAshwoodEntitySorterTest.java
+++ b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/sort/WeightedAshwoodEntitySorterTest.java
@@ -36,7 +36,7 @@ public class WeightedAshwoodEntitySorterTest {
 
     @Before
     public void setUp() throws Exception {
-        runtime = new ServerRuntime("cayenne-lifecycle.xml");
+        runtime = ServerRuntime.builder().addConfig("cayenne-lifecycle.xml").build();
     }
 
     @After

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/cayenne-server/src/main/java/org/apache/cayenne/conn/DataSourceInfo.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/conn/DataSourceInfo.java b/cayenne-server/src/main/java/org/apache/cayenne/conn/DataSourceInfo.java
index 2bb2664..f07a352 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/conn/DataSourceInfo.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/conn/DataSourceInfo.java
@@ -259,13 +259,7 @@ public class DataSourceInfo implements Cloneable, Serializable, XMLSerializable
 	public PasswordEncoding getPasswordEncoder() {
 		try {
 			return (PasswordEncoding) Util.getJavaClass(getPasswordEncoderClass()).newInstance();
-		} catch (InstantiationException e) {
-			; // Swallow it -- no need to throw/etc.
-		} catch (IllegalAccessException e) {
-			; // Swallow it -- no need to throw/etc.
-		} catch (ClassNotFoundException e) {
-			; // Swallow it -- no need to throw/etc.
-		} catch (DIRuntimeException e) {
+		} catch (InstantiationException | IllegalAccessException | ClassNotFoundException | DIRuntimeException e) {
 			; // Swallow it -- no need to throw/etc.
 		}
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBBatchQueryWrapper.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBBatchQueryWrapper.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBBatchQueryWrapper.java
index d80b38c..d22c1da 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBBatchQueryWrapper.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBBatchQueryWrapper.java
@@ -114,7 +114,7 @@ class Oracle8LOBBatchQueryWrapper {
 				}
 			};
 
-			try (ObjectOutputStream out = new ObjectOutputStream(bytes);) {
+			try (ObjectOutputStream out = new ObjectOutputStream(bytes)) {
 				out.writeObject(value);
 			} catch (IOException e) {
 				throw new CayenneRuntimeException("Error serializing object", e);
@@ -192,9 +192,9 @@ class Oracle8LOBBatchQueryWrapper {
 
 		int len = this.updatedLOBAttributes.length;
 		List<Object> values = new ArrayList<>(len);
-		for (int i = 0; i < len; i++) {
-			if (this.updatedLOBAttributes[i] != null) {
-				values.add(this.updatedLOBAttributes[i]);
+		for (Object updatedLOBAttribute : this.updatedLOBAttributes) {
+			if (updatedLOBAttribute != null) {
+				values.add(updatedLOBAttribute);
 			}
 		}
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/cayenne-server/src/main/java/org/apache/cayenne/log/NoopJdbcEventLogger.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/log/NoopJdbcEventLogger.java b/cayenne-server/src/main/java/org/apache/cayenne/log/NoopJdbcEventLogger.java
index 1ed2252..6e675ac 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/log/NoopJdbcEventLogger.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/log/NoopJdbcEventLogger.java
@@ -72,6 +72,7 @@ public class NoopJdbcEventLogger implements JdbcEventLogger {
 	public void logGeneratedKey(DbAttribute attribute, Object value) {
 	}
 
+	@Deprecated
 	@Override
 	public void logQuery(String sql, List<?> params) {
 	}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/cayenne-server/src/main/java/org/apache/cayenne/reflect/Property.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/reflect/Property.java b/cayenne-server/src/main/java/org/apache/cayenne/reflect/Property.java
index 173f1a0..9d65d5e 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/reflect/Property.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/reflect/Property.java
@@ -27,51 +27,5 @@ package org.apache.cayenne.reflect;
  * @deprecated since 4.0 renamed to PropertyDescriptor.
  * 
  */
-public interface Property {
-
-    /**
-     * Returns property name.
-     */
-    String getName();
-
-    /**
-     * Returns a property value of an object without disturbing the object fault status.
-     */
-    Object readPropertyDirectly(Object object) throws PropertyException;
-
-    /**
-     * Returns a property value, inflating unresolved object if need.
-     */
-    Object readProperty(Object object) throws PropertyException;
-
-    /**
-     * Sets a property value of an object without disturbing the object fault status. Old
-     * value of the property is specified as a hint and can be ignored by the property
-     * implementor.
-     */
-    void writePropertyDirectly(Object object, Object oldValue, Object newValue)
-            throws PropertyException;
-
-    /**
-     * Sets a property value, inflating unresolved object if need. Old value of the
-     * property is specified as a hint and can be ignored by the property implementor.
-     */
-    void writeProperty(Object object, Object oldValue, Object newValue)
-            throws PropertyException;
-
-    /**
-     * A visitor accept method.
-     * 
-     * @return a status returned by the corresponding callback method of the visitor. It
-     *         serves as an indication of whether peer properties processing is still
-     *         needed.
-     */
-    boolean visit(PropertyVisitor visitor);
-
-    /**
-     * If a property is implemented as a ValueHolder, this operation would create an
-     * unfaulted value holder and inject it into the object, if an object doesn't have it
-     * set yet.
-     */
-    void injectValueHolder(Object object) throws PropertyException;
+public interface Property extends PropertyDescriptor {
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/cayenne-server/src/main/java/org/apache/cayenne/reflect/PropertyDescriptor.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/reflect/PropertyDescriptor.java b/cayenne-server/src/main/java/org/apache/cayenne/reflect/PropertyDescriptor.java
index 5b9038c..e0dd3dc 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/reflect/PropertyDescriptor.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/reflect/PropertyDescriptor.java
@@ -25,7 +25,7 @@ package org.apache.cayenne.reflect;
  * 
  * @since 4.0
  */
-public interface PropertyDescriptor extends Property {
+public interface PropertyDescriptor {
 
     /**
      * Returns property name.

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/cayenne-server/src/test/java/org/apache/cayenne/ObjectIdTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/ObjectIdTest.java b/cayenne-server/src/test/java/org/apache/cayenne/ObjectIdTest.java
index f275242..0dc4907 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/ObjectIdTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/ObjectIdTest.java
@@ -53,7 +53,7 @@ public class ObjectIdTest {
     @Test
     public void testSerializabilityTemp() throws Exception {
         ObjectId temp1 = new ObjectId("e");
-        ObjectId temp2 = (ObjectId) Util.cloneViaSerialization(temp1);
+        ObjectId temp2 = Util.cloneViaSerialization(temp1);
 
         assertTrue(temp1.isTemporary());
         assertNotSame(temp1, temp2);
@@ -69,7 +69,7 @@ public class ObjectIdTest {
         assertEquals(h, perm1.hashCode);
         assertTrue(perm1.hashCode != 0);
 
-        ObjectId perm2 = (ObjectId) Util.cloneViaSerialization(perm1);
+        ObjectId perm2 = Util.cloneViaSerialization(perm1);
 
         // make sure hashCode is reset to 0
         assertTrue(perm2.hashCode == 0);
@@ -96,7 +96,7 @@ public class ObjectIdTest {
 
     @Test
     public void testEquals2() {
-        Map hm = new HashMap();
+        Map<String, Object> hm = new HashMap<>();
         ObjectId oid1 = new ObjectId("T", hm);
         ObjectId oid2 = new ObjectId("T", hm);
         assertEquals(oid1, oid2);
@@ -107,10 +107,10 @@ public class ObjectIdTest {
     public void testEquals3() {
         String pknm = "xyzabc";
 
-        Map hm1 = new HashMap();
+        Map<String, Object> hm1 = new HashMap<>();
         hm1.put(pknm, "123");
 
-        Map hm2 = new HashMap();
+        Map<String, Object> hm2 = new HashMap<>();
         hm2.put(pknm, "123");
 
         ObjectId oid1 = new ObjectId("T", hm1);
@@ -125,13 +125,13 @@ public class ObjectIdTest {
     @Test
     public void testEquals5() {
 
-        Map hm1 = new HashMap();
-        hm1.put("key1", new Integer(1));
-        hm1.put("key2", new Integer(11));
+        Map<String, Object> hm1 = new HashMap<>();
+        hm1.put("key1", 1);
+        hm1.put("key2", 11);
 
-        Map hm2 = new HashMap();
-        hm2.put("key1", new Integer(11));
-        hm2.put("key2", new Integer(1));
+        Map<String, Object> hm2 = new HashMap<>();
+        hm2.put("key1", 11);
+        hm2.put("key2", 1);
 
         ObjectId ref = new ObjectId("T", hm1);
         ObjectId oid = new ObjectId("T", hm2);
@@ -144,13 +144,13 @@ public class ObjectIdTest {
     @Test
     public void testEquals6() {
 
-        Map hm1 = new HashMap();
-        hm1.put("key1", new Integer(1));
-        hm1.put("key2", new Integer(2));
+        Map<String, Object> hm1 = new HashMap<>();
+        hm1.put("key1", 1);
+        hm1.put("key2", 2);
 
-        Map hm2 = new HashMap();
-        hm2.put("key1", new Integer(1));
-        hm2.put("key2", new Integer(2));
+        Map<String, Object> hm2 = new HashMap<>();
+        hm2.put("key1", 1);
+        hm2.put("key2", 2);
 
         ObjectId ref = new ObjectId("T", hm1);
         ObjectId oid = new ObjectId("T", hm2);
@@ -167,14 +167,16 @@ public class ObjectIdTest {
 
         // create maps with guaranteed iteration order
 
-        Map hm1 = new LinkedMap();
-        hm1.put("KEY1", new Integer(1));
-        hm1.put("KEY2", new Integer(2));
+        @SuppressWarnings("unchecked")
+        Map<String, Object> hm1 = new LinkedMap();
+        hm1.put("KEY1", 1);
+        hm1.put("KEY2", 2);
 
-        Map hm2 = new LinkedMap();
+        @SuppressWarnings("unchecked")
+        Map<String, Object> hm2 = new LinkedMap();
         // put same keys but in different order
-        hm2.put("KEY2", new Integer(2));
-        hm2.put("KEY1", new Integer(1));
+        hm2.put("KEY2", 2);
+        hm2.put("KEY1", 1);
 
         ObjectId ref = new ObjectId("T", hm1);
         ObjectId oid = new ObjectId("T", hm2);
@@ -185,10 +187,10 @@ public class ObjectIdTest {
     @Test
     public void testEqualsBinaryKey() {
 
-        Map hm1 = new HashMap();
+        Map<String, Object> hm1 = new HashMap<>();
         hm1.put("key1", new byte[] { 3, 4, 10, -1 });
 
-        Map hm2 = new HashMap();
+        Map<String, Object> hm2 = new HashMap<>();
         hm2.put("key1", new byte[] { 3, 4, 10, -1 });
 
         ObjectId ref = new ObjectId("T", hm1);
@@ -205,15 +207,15 @@ public class ObjectIdTest {
 
     @Test
     public void testIdAsMapKey() {
-        Map map = new HashMap();
+        Map<ObjectId, Object> map = new HashMap<>();
         Object o1 = new Object();
 
         String pknm = "xyzabc";
 
-        Map hm1 = new HashMap();
+        Map<String, Object> hm1 = new HashMap<>();
         hm1.put(pknm, "123");
 
-        Map hm2 = new HashMap();
+        Map<String, Object> hm2 = new HashMap<>();
         hm2.put(pknm, "123");
 
         ObjectId oid1 = new ObjectId("T", hm1);
@@ -234,10 +236,10 @@ public class ObjectIdTest {
     @Test
     public void testNotEqual2() {
 
-        Map hm1 = new HashMap();
+        Map<String, Object> hm1 = new HashMap<>();
         hm1.put("pk1", "123");
 
-        Map hm2 = new HashMap();
+        Map<String, Object> hm2 = new HashMap<>();
         hm2.put("pk2", "123");
 
         ObjectId oid1 = new ObjectId("T", hm1);
@@ -253,14 +255,16 @@ public class ObjectIdTest {
 
         // create maps with guaranteed iteration order
 
-        Map hm1 = new LinkedMap();
-        hm1.put("KEY1", new Integer(1));
-        hm1.put("KEY2", new Integer(2));
+        @SuppressWarnings("unchecked")
+        Map<String, Object> hm1 = new LinkedMap();
+        hm1.put("KEY1", 1);
+        hm1.put("KEY2", 2);
 
-        Map hm2 = new LinkedMap();
+        @SuppressWarnings("unchecked")
+        Map<String, Object> hm2 = new LinkedMap();
         // put same keys but in different order
         hm2.put("KEY2", new BigDecimal(2.00));
-        hm2.put("KEY1", new Long(1));
+        hm2.put("KEY1", 1L);
 
         ObjectId ref = new ObjectId("T", hm1);
         ObjectId oid = new ObjectId("T", hm2);
@@ -270,12 +274,12 @@ public class ObjectIdTest {
 
     @Test
     public void testToString() {
-        Map m1 = new HashMap();
+        Map<String, Object> m1 = new HashMap<>();
         m1.put("a", "1");
         m1.put("b", "2");
         ObjectId i1 = new ObjectId("e1", m1);
 
-        Map m2 = new HashMap();
+        Map<String, Object> m2 = new HashMap<>();
         m2.put("b", "2");
         m2.put("a", "1");
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingEhCacheIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingEhCacheIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingEhCacheIT.java
index 655b39f..129de52 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingEhCacheIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingEhCacheIT.java
@@ -18,18 +18,18 @@
  ****************************************************************/
 package org.apache.cayenne.access;
 
-import org.apache.cayenne.cache.EhCacheQueryCache;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.unit.di.server.CayenneProjects;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.After;
 import org.junit.Before;
 
+@SuppressWarnings("deprecation")
 @UseServerRuntime(CayenneProjects.TESTMAP_PROJECT)
 public class DataContextQueryCachingEhCacheIT extends DataContextQueryCachingIT {
     
-    protected EhCacheQueryCache domainCache;
-    protected EhCacheQueryCache contextCache;
+    protected org.apache.cayenne.cache.EhCacheQueryCache domainCache;
+    protected org.apache.cayenne.cache.EhCacheQueryCache contextCache;
 
     @Before
     public void setUp() throws Exception {
@@ -46,8 +46,8 @@ public class DataContextQueryCachingEhCacheIT extends DataContextQueryCachingIT
         domain = context.getParentDataDomain();
         oldCache = domain.getQueryCache();
         
-        domainCache = new EhCacheQueryCache();
-        contextCache = new EhCacheQueryCache();
+        domainCache = new org.apache.cayenne.cache.EhCacheQueryCache();
+        contextCache = new org.apache.cayenne.cache.EhCacheQueryCache();
         domain.setQueryCache(domainCache);
         context.setQueryCache(contextCache);
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingIT.java
index 7628144..bc44e44 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingIT.java
@@ -102,7 +102,7 @@ public class DataContextQueryCachingIT extends ServerCase {
 
     @Test
     public void testLocalCacheDataRowsRefresh() throws Exception {
-        SelectQuery select = new SelectQuery(Artist.class);
+        SelectQuery<Artist> select = new SelectQuery<>(Artist.class);
         select.setFetchingDataRows(true);
         select.setCacheStrategy(QueryCacheStrategy.LOCAL_CACHE);
 
@@ -142,7 +142,7 @@ public class DataContextQueryCachingIT extends ServerCase {
     @Test
     public void testSharedCacheDataRowsRefresh() throws Exception {
 
-        SelectQuery select = new SelectQuery(Artist.class);
+        SelectQuery<Artist> select = new SelectQuery<>(Artist.class);
         select.setFetchingDataRows(true);
         select.setCacheStrategy(QueryCacheStrategy.SHARED_CACHE);
 
@@ -184,7 +184,7 @@ public class DataContextQueryCachingIT extends ServerCase {
     @Test
     public void testLocalCacheDataObjectsRefresh() throws Exception {
 
-        SelectQuery select = new SelectQuery(Artist.class);
+        SelectQuery<Artist> select = new SelectQuery<>(Artist.class);
         select.setFetchingDataRows(false);
         select.setCacheStrategy(QueryCacheStrategy.LOCAL_CACHE);
 
@@ -226,15 +226,14 @@ public class DataContextQueryCachingIT extends ServerCase {
     public void testLocalCacheRefreshObjectsRefresh() throws Exception {
         createInsertDataSet();
 
-        SelectQuery select = new SelectQuery(Artist.class);
-        select.setName("c");
+        SelectQuery<Artist> select = new SelectQuery<>(Artist.class);
         select.setCacheStrategy(QueryCacheStrategy.LOCAL_CACHE_REFRESH);
 
         // no cache yet...
 
-        List<?> objects1 = context.performQuery(select);
+        List<Artist> objects1 = context.performQuery(select);
         assertEquals(1, objects1.size());
-        Artist a1 = (Artist) objects1.get(0);
+        Artist a1 = objects1.get(0);
         assertEquals("aaa", a1.getArtistName());
 
         // cache, but force refresh
@@ -249,11 +248,11 @@ public class DataContextQueryCachingIT extends ServerCase {
     }
 
     private List<?> mockupDataRows(int len) {
-        List<Object> rows = new ArrayList<Object>(len);
+        List<Object> rows = new ArrayList<>(len);
 
         for (int i = 0; i < len; i++) {
             DataRow a = new DataRow(3);
-            a.put("ARTIST_ID", new Integer(i + 1));
+            a.put("ARTIST_ID", i + 1);
             a.put("ARTIST_NAME", "A-" + (i + 1));
             rows.add(a);
         }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingOSCacheIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingOSCacheIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingOSCacheIT.java
index 8e582d2..0d7a8bb 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingOSCacheIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingOSCacheIT.java
@@ -18,12 +18,12 @@
  ****************************************************************/
 package org.apache.cayenne.access;
 
-import org.apache.cayenne.cache.OSQueryCache;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.unit.di.server.CayenneProjects;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Before;
 
+@SuppressWarnings("deprecation")
 @UseServerRuntime(CayenneProjects.TESTMAP_PROJECT)
 public class DataContextQueryCachingOSCacheIT extends DataContextQueryCachingIT {
 
@@ -42,7 +42,7 @@ public class DataContextQueryCachingOSCacheIT extends DataContextQueryCachingIT
 
         domain = context.getParentDataDomain();
         oldCache = domain.getQueryCache();
-        domain.setQueryCache(new OSQueryCache());
-        context.setQueryCache(new OSQueryCache());
+        domain.setQueryCache(new org.apache.cayenne.cache.OSQueryCache());
+        context.setQueryCache(new org.apache.cayenne.cache.OSQueryCache());
     }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRefreshQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRefreshQueryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRefreshQueryIT.java
index 8f60255..818805a 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRefreshQueryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRefreshQueryIT.java
@@ -91,7 +91,7 @@ public class DataContextRefreshQueryIT extends ServerCase {
     public void testRefreshCollection() throws Exception {
         createRefreshCollectionDataSet();
 
-        SelectQuery q = new SelectQuery(Artist.class);
+        SelectQuery<Artist> q = new SelectQuery<>(Artist.class);
         q.addOrdering("db:ARTIST_ID", SortOrder.ASCENDING);
         List<?> artists = context.performQuery(q);
 
@@ -135,7 +135,7 @@ public class DataContextRefreshQueryIT extends ServerCase {
     public void testRefreshCollectionToOne() throws Exception {
         createRefreshCollectionDataSet();
 
-        SelectQuery q = new SelectQuery(Painting.class);
+        SelectQuery<Painting> q = new SelectQuery<>(Painting.class);
         q.addOrdering("db:PAINTING_ID", SortOrder.ASCENDING);
         List<?> paints = context.performQuery(q);
 
@@ -180,7 +180,7 @@ public class DataContextRefreshQueryIT extends ServerCase {
     public void testRefreshSingleObject() throws Exception {
         createRefreshCollectionDataSet();
 
-        SelectQuery q = new SelectQuery(Artist.class);
+        SelectQuery<Artist> q = new SelectQuery<>(Artist.class);
         q.addOrdering("db:ARTIST_ID", SortOrder.ASCENDING);
         List<?> artists = context.performQuery(q);
 
@@ -211,7 +211,7 @@ public class DataContextRefreshQueryIT extends ServerCase {
     public void testRefreshObjectToMany() throws Exception {
         createRefreshObjectToManyDataSet();
 
-        Artist a = Cayenne.objectForPK(context, Artist.class, 33001l);
+        Artist a = Cayenne.objectForPK(context, Artist.class, 33001L);
         assertEquals(2, a.getPaintingArray().size());
 
         createRefreshObjectToManyUpdateDataSet();
@@ -227,10 +227,10 @@ public class DataContextRefreshQueryIT extends ServerCase {
         createRefreshCollectionDataSet();
 
         Expression qual = Painting.PAINTING_TITLE.eq("P2");
-        SelectQuery q = new SelectQuery(Painting.class, qual);
+        SelectQuery<Painting> q = new SelectQuery<>(Painting.class, qual);
         q.addOrdering("db:PAINTING_ID", SortOrder.ASCENDING);
         q.setCacheStrategy(QueryCacheStrategy.LOCAL_CACHE);
-        q.setCacheGroups("X");
+        q.setCacheGroup("X");
         List<?> paints = context.performQuery(q);
 
         // fetch P1 separately from cached query
@@ -280,10 +280,10 @@ public class DataContextRefreshQueryIT extends ServerCase {
         createRefreshCollectionDataSet();
 
         Expression qual = Painting.PAINTING_TITLE.eq("P2");
-        SelectQuery q = new SelectQuery(Painting.class, qual);
+        SelectQuery<Painting> q = new SelectQuery<>(Painting.class, qual);
         q.addOrdering("db:PAINTING_ID", SortOrder.ASCENDING);
         q.setCacheStrategy(QueryCacheStrategy.SHARED_CACHE);
-        q.setCacheGroups("X");
+        q.setCacheGroup("X");
         List<?> paints = context.performQuery(q);
 
         // fetch P1 separately from cached query
@@ -333,10 +333,10 @@ public class DataContextRefreshQueryIT extends ServerCase {
         createRefreshCollectionDataSet();
 
         Expression qual = Painting.PAINTING_TITLE.eq("P2");
-        SelectQuery q = new SelectQuery(Painting.class, qual);
+        SelectQuery<Painting> q = new SelectQuery<>(Painting.class, qual);
         q.addOrdering("db:PAINTING_ID", SortOrder.ASCENDING);
         q.setCacheStrategy(QueryCacheStrategy.LOCAL_CACHE);
-        q.setCacheGroups("X");
+        q.setCacheGroup("X");
         List<?> paints = context.performQuery(q);
 
         // fetch P1 separately from cached query
@@ -386,7 +386,7 @@ public class DataContextRefreshQueryIT extends ServerCase {
     public void testRefreshAll() throws Exception {
         createRefreshCollectionDataSet();
 
-        SelectQuery q = new SelectQuery(Artist.class);
+        SelectQuery<Artist> q = new SelectQuery<>(Artist.class);
         q.addOrdering("db:ARTIST_ID", SortOrder.ASCENDING);
         List<?> artists = context.performQuery(q);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListDataRowsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListDataRowsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListDataRowsIT.java
index ee4b26d..ab24a6f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListDataRowsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListDataRowsIT.java
@@ -119,8 +119,7 @@ public class SimpleIdIncrementalFaultListDataRowsIT extends ServerCase {
     public void testIndexOf1() throws Exception {
 
         Expression qual = ExpressionFactory.matchExp("artistName", "artist20");
-        SelectQuery query = new SelectQuery(Artist.class, qual);
-        query.setFetchingDataRows(true);
+        SelectQuery<DataRow> query = SelectQuery.dataRowQuery(Artist.class, qual);
         List<?> artists = context1.performQuery(query);
 
         assertEquals(1, artists.size());
@@ -142,8 +141,7 @@ public class SimpleIdIncrementalFaultListDataRowsIT extends ServerCase {
         list.get(0);
 
         Expression qual = ExpressionFactory.matchExp("artistName", "artist2");
-        SelectQuery query = new SelectQuery(Artist.class, qual);
-        query.setFetchingDataRows(true);
+        SelectQuery<DataRow> query = SelectQuery.dataRowQuery(Artist.class, qual);
         List<?> artists = context1.performQuery(query);
 
         assertEquals(1, artists.size());
@@ -162,8 +160,7 @@ public class SimpleIdIncrementalFaultListDataRowsIT extends ServerCase {
         list.get(0);
 
         Expression qual = ExpressionFactory.matchExp("artistName", "artist3");
-        SelectQuery query = new SelectQuery(Artist.class, qual);
-        query.setFetchingDataRows(true);
+        SelectQuery<DataRow> query = SelectQuery.dataRowQuery(Artist.class, qual);
         List<?> artists = context1.performQuery(query);
 
         assertEquals(1, artists.size());
@@ -179,8 +176,7 @@ public class SimpleIdIncrementalFaultListDataRowsIT extends ServerCase {
     public void testLastIndexOf2() throws Exception {
 
         Expression qual = ExpressionFactory.matchExp("artistName", "artist20");
-        SelectQuery query = new SelectQuery(Artist.class, qual);
-        query.setFetchingDataRows(true);
+        SelectQuery<DataRow> query = SelectQuery.dataRowQuery(Artist.class, qual);
         List<?> artists = context1.performQuery(query);
 
         assertEquals(1, artists.size());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/cayenne-server/src/test/java/org/apache/cayenne/cache/EhCacheQueryCacheTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/cache/EhCacheQueryCacheTest.java b/cayenne-server/src/test/java/org/apache/cayenne/cache/EhCacheQueryCacheTest.java
index eda8ee2..77a135a 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/cache/EhCacheQueryCacheTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/cache/EhCacheQueryCacheTest.java
@@ -33,6 +33,7 @@ import static org.junit.Assert.assertSame;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
+@SuppressWarnings("deprecation")
 public class EhCacheQueryCacheTest {
 
     private CacheManager cacheManager;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/cayenne-server/src/test/java/org/apache/cayenne/cache/EhCacheQueryCache_WithConfigTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/cache/EhCacheQueryCache_WithConfigTest.java b/cayenne-server/src/test/java/org/apache/cayenne/cache/EhCacheQueryCache_WithConfigTest.java
index 48569a9..21cddaa 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/cache/EhCacheQueryCache_WithConfigTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/cache/EhCacheQueryCache_WithConfigTest.java
@@ -34,6 +34,7 @@ import static org.junit.Assert.assertSame;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
+@SuppressWarnings("deprecation")
 public class EhCacheQueryCache_WithConfigTest {
 
     protected CacheManager cacheManager;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/cayenne-server/src/test/java/org/apache/cayenne/cache/OSQueryCacheTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/cache/OSQueryCacheTest.java b/cayenne-server/src/test/java/org/apache/cayenne/cache/OSQueryCacheTest.java
index 230bd1c..45aaa1b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/cache/OSQueryCacheTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/cache/OSQueryCacheTest.java
@@ -20,7 +20,6 @@ package org.apache.cayenne.cache;
 
 import com.opensymphony.oscache.base.CacheEntry;
 import com.opensymphony.oscache.general.GeneralCacheAdministrator;
-import org.apache.cayenne.cache.OSQueryCache.RefreshSpecification;
 import org.apache.cayenne.query.MockQueryMetadata;
 import org.apache.cayenne.query.QueryMetadata;
 import org.junit.Test;
@@ -34,6 +33,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
+@SuppressWarnings("deprecation")
 public class OSQueryCacheTest {
 
     @Test
@@ -78,12 +78,12 @@ public class OSQueryCacheTest {
         assertNotNull(cache.refreshSpecifications);
         assertEquals(2, cache.refreshSpecifications.size());
 
-        RefreshSpecification abc = cache.refreshSpecifications.get("ABC");
+        org.apache.cayenne.cache.OSQueryCache.RefreshSpecification abc = cache.refreshSpecifications.get("ABC");
         assertNotNull(abc);
         assertEquals("12 * * * * *", abc.cronExpression);
         assertEquals(25, abc.refreshPeriod);
 
-        RefreshSpecification xyz = cache.refreshSpecifications.get("XYZ");
+        org.apache.cayenne.cache.OSQueryCache.RefreshSpecification xyz = cache.refreshSpecifications.get("XYZ");
         assertNotNull(xyz);
         assertEquals("24 * * * * *", xyz.cronExpression);
         assertEquals(35, xyz.refreshPeriod);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/cayenne-server/src/test/java/org/apache/cayenne/query/QueryChainIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/QueryChainIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/QueryChainIT.java
index 0e70559..f319635 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/QueryChainIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/QueryChainIT.java
@@ -18,6 +18,7 @@
  ****************************************************************/
 package org.apache.cayenne.query;
 
+import org.apache.cayenne.DataRow;
 import org.apache.cayenne.configuration.server.ServerRuntime;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.testdo.testmap.Artist;
@@ -40,8 +41,8 @@ public class QueryChainIT extends ServerCase {
     public void testSelectQuery() {
 
         QueryChain chain = new QueryChain();
-        chain.addQuery(new SelectQuery(Artist.class));
-        chain.addQuery(new SelectQuery(Artist.class));
+        chain.addQuery(new SelectQuery<>(Artist.class));
+        chain.addQuery(new SelectQuery<>(Artist.class));
 
         QueryMetadata md = chain.getMetaData(runtime.getDataDomain().getEntityResolver());
 
@@ -54,12 +55,10 @@ public class QueryChainIT extends ServerCase {
     public void testSelectQueryDataRows() {
 
         QueryChain chain = new QueryChain();
-        SelectQuery q1 = new SelectQuery(Artist.class);
-        q1.setFetchingDataRows(true);
+        SelectQuery<DataRow> q1 = SelectQuery.dataRowQuery(Artist.class);
         chain.addQuery(q1);
 
-        SelectQuery q2 = new SelectQuery(Artist.class);
-        q2.setFetchingDataRows(true);
+        SelectQuery<DataRow> q2 = SelectQuery.dataRowQuery(Artist.class);
         chain.addQuery(q2);
 
         QueryMetadata md = chain.getMetaData(runtime.getDataDomain().getEntityResolver());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtTable1Subclass2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtTable1Subclass2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtTable1Subclass2.java
index 86a49ce..eb29449 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtTable1Subclass2.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtTable1Subclass2.java
@@ -13,7 +13,7 @@ public abstract class _ClientMtTable1Subclass2 extends ClientMtTable1 {
     @Deprecated
     public static final String SUBCLASS2ATTRIBUTE1_PROPERTY = "subclass2Attribute1";
 
-    public static final Property<String> SUBCLASS2ATTRIBUTE1 = new Property<String>("subclass2Attribute1");
+    public static final Property<String> SUBCLASS2ATTRIBUTE1 = Property.create("subclass2Attribute1", String.class);
 
     protected String subclass2Attribute1;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/eventbridges/cayenne-jms/src/test/java/org/apache/cayenne/event/JMSBridgeFactoryTest.java
----------------------------------------------------------------------
diff --git a/eventbridges/cayenne-jms/src/test/java/org/apache/cayenne/event/JMSBridgeFactoryTest.java b/eventbridges/cayenne-jms/src/test/java/org/apache/cayenne/event/JMSBridgeFactoryTest.java
index e098d4e..1e50145 100644
--- a/eventbridges/cayenne-jms/src/test/java/org/apache/cayenne/event/JMSBridgeFactoryTest.java
+++ b/eventbridges/cayenne-jms/src/test/java/org/apache/cayenne/event/JMSBridgeFactoryTest.java
@@ -40,7 +40,7 @@ public class JMSBridgeFactoryTest {
         EventBridge bridge = new JMSBridgeFactory().createEventBridge(
                 subjects,
                 externalSubject,
-                Collections.EMPTY_MAP);
+                Collections.<String, String>emptyMap());
 
         assertNotNull(bridge);
         assertTrue(bridge instanceof JMSBridge);
@@ -52,7 +52,7 @@ public class JMSBridgeFactoryTest {
     public void testUseProperties() throws Exception {
         JMSBridgeFactory bridgeFactory = new JMSBridgeFactory();
 
-        Map<String, String> properties = new HashMap<String, String>();
+        Map<String, String> properties = new HashMap<>();
         properties.put(JMSBridge.TOPIC_CONNECTION_FACTORY_PROPERTY, JMSBridgeProviderTest.TOPIC_CONNECTION_FACTORY_TEST);
 
         JMSBridge bridge = (JMSBridge) bridgeFactory.createEventBridge(
@@ -69,7 +69,7 @@ public class JMSBridgeFactoryTest {
         JMSBridge bridge = (JMSBridge) bridgeFactory.createEventBridge(
                 subjects,
                 externalSubject,
-                Collections.EMPTY_MAP);
+                Collections.<String, String>emptyMap());
 
         assertEquals(bridge.getTopicConnectionFactoryName(), JMSBridge.TOPIC_CONNECTION_FACTORY_DEFAULT);
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateDataMapEntityListenerAction.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateDataMapEntityListenerAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateDataMapEntityListenerAction.java
deleted file mode 100644
index 70cb25c..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateDataMapEntityListenerAction.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*****************************************************************
- *   Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- ****************************************************************/
-package org.apache.cayenne.modeler.action;
-
-import java.awt.event.ActionEvent;
-
-import javax.swing.JOptionPane;
-
-import org.apache.cayenne.map.DataMap;
-import org.apache.cayenne.map.EntityListener;
-import org.apache.cayenne.map.event.MapEvent;
-import org.apache.cayenne.modeler.Application;
-import org.apache.cayenne.modeler.event.EntityListenerEvent;
-import org.apache.cayenne.modeler.undo.CreateDataMapEntityListenerUndoableEdit;
-
-/**
- * Action class for creating entity listeners on a DataMap
- * 
- * @version 1.0 Oct 30, 2007
- */
-public class CreateDataMapEntityListenerAction extends CreateObjEntityListenerAction {
-
-    /**
-     * unique action name
-     */
-    private static final String CREATE_ENTITY_LISTENER = "Create datamap entity listener";
-
-    /**
-     * Constructor.
-     * 
-     * @param application Application instance
-     */
-    public CreateDataMapEntityListenerAction(Application application) {
-        super(getActionName(), application);
-    }
-
-    /**
-     * @return unique action name
-     */
-    public static String getActionName() {
-        return CREATE_ENTITY_LISTENER;
-    }
-
-    /**
-     * checks whether the new name of listener class already exists
-     * 
-     * @param className entered class name
-     * @return true or false
-     */
-    protected boolean isListenerClassAlreadyExists(String className) {
-        return getProjectController().getCurrentDataMap().getDefaultEntityListener(
-                className) != null;
-    }
-
-    /**
-     * adds new entity listener
-     * 
-     * @param listener new EntityListener instance
-     */
-    protected void addEntityListener(EntityListener listener) {
-        getProjectController().getCurrentDataMap().addDefaultEntityListener(listener);
-    }
-
-    /**
-     * base entity listenre creation logic
-     * 
-     * @param e event
-     */
-    @Override
-    public void performAction(ActionEvent e) {
-        String listenerClass = JOptionPane
-                .showInputDialog("Please enter listener class:");
-        if (listenerClass != null && listenerClass.trim().length() > 0) {
-            if (isListenerClassAlreadyExists(listenerClass)) {
-                JOptionPane.showMessageDialog(
-                        null,
-                        "Listener class already exists.",
-                        "Error creating entity listener",
-                        JOptionPane.ERROR_MESSAGE);
-            }
-            else {
-                DataMap dataMap = getProjectController().getCurrentDataMap();
-                if (dataMap != null) {
-                    EntityListener listener = new EntityListener(listenerClass);
-                    createMapListener(dataMap, listener);
-
-                    application
-                            .getUndoManager()
-                            .addEdit(
-                                    new CreateDataMapEntityListenerUndoableEdit(
-                                            dataMap,
-                                            listener));
-                }
-            }
-        }
-    }
-
-    public void createMapListener(DataMap dataMap, EntityListener listener) {
-        dataMap.addDefaultEntityListener(listener);
-
-        getProjectController().fireEntityListenerEvent(
-                new EntityListenerEvent(CreateDataMapEntityListenerAction.this, listener
-                        .getClassName(), listener.getClassName(), MapEvent.ADD));
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateObjEntityListenerAction.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateObjEntityListenerAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateObjEntityListenerAction.java
deleted file mode 100644
index 2aefee7..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateObjEntityListenerAction.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*****************************************************************
- *   Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- ****************************************************************/
-package org.apache.cayenne.modeler.action;
-
-import java.awt.event.ActionEvent;
-
-import javax.swing.JOptionPane;
-
-import org.apache.cayenne.map.EntityListener;
-import org.apache.cayenne.map.ObjEntity;
-import org.apache.cayenne.map.event.MapEvent;
-import org.apache.cayenne.modeler.Application;
-import org.apache.cayenne.modeler.event.EntityListenerEvent;
-import org.apache.cayenne.modeler.undo.CreateEntityListenerUndoableEdit;
-import org.apache.cayenne.modeler.util.CayenneAction;
-
-/**
- * Action class for creating entity listeners on an ObjEntity
- */
-public class CreateObjEntityListenerAction extends CayenneAction {
-
-	/**
-	 * unique action name
-	 */
-	private static final String CREATE_ENTITY_LISTENER = "Create objentity entity listener";
-
-	/**
-	 * Constructor.
-	 * 
-	 * @param application
-	 *            Application instance
-	 */
-	public CreateObjEntityListenerAction(Application application) {
-		super(getActionName(), application);
-	}
-
-	/**
-	 * Constructor for extending classes.
-	 * 
-	 * @param actionName
-	 *            unique action name
-	 * @param application
-	 *            Application instance
-	 */
-	protected CreateObjEntityListenerAction(String actionName, Application application) {
-		super(actionName, application);
-	}
-
-	/**
-	 * @return unique action name
-	 */
-	public static String getActionName() {
-		return CREATE_ENTITY_LISTENER;
-	}
-
-	/**
-	 * @return icon file name for button
-	 */
-	public String getIconName() {
-		return "icon-create-listener.gif";
-	}
-
-	/**
-	 * checks whether the new name of listener class already exists
-	 * 
-	 * @param className
-	 *            entered class name
-	 * @return true or false
-	 */
-	protected boolean isListenerClassAlreadyExists(String className) {
-		return getProjectController().getCurrentObjEntity().getEntityListener(className) != null;
-	}
-
-	/**
-	 * base entity listenre creation logic
-	 * 
-	 * @param e
-	 *            event
-	 */
-	public void performAction(ActionEvent e) {
-		String listenerClass = JOptionPane.showInputDialog("Please enter listener class:");
-		if (listenerClass != null && listenerClass.trim().length() > 0) {
-			if (isListenerClassAlreadyExists(listenerClass)) {
-				JOptionPane.showMessageDialog(null, "Listener class already exists.", "Error creating entity listener",
-						JOptionPane.ERROR_MESSAGE);
-			} else {
-				ObjEntity objEntity = getProjectController().getCurrentObjEntity();
-				EntityListener listener = new EntityListener(listenerClass);
-				createEntityListener(objEntity, listener);
-				application.getUndoManager().addEdit(new CreateEntityListenerUndoableEdit(objEntity, listener));
-			}
-		}
-	}
-
-	public void createEntityListener(ObjEntity objEntity, EntityListener listener) {
-		objEntity.addEntityListener(listener);
-
-		getProjectController().fireEntityListenerEvent(
-				new EntityListenerEvent(CreateObjEntityListenerAction.this, listener.getClassName(), listener
-						.getClassName(), MapEvent.ADD));
-	}
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/DefaultActionManager.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/DefaultActionManager.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/DefaultActionManager.java
index 8a98cc3..488b9e8 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/DefaultActionManager.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/DefaultActionManager.java
@@ -86,9 +86,6 @@ public class DefaultActionManager implements ActionManager {
         // start callback-related actions
         registerAction(new CreateCallbackMethodAction(application)).setAlwaysOn(true);
         registerAction(new RemoveCallbackMethodAction(application));
-        registerAction(new CreateObjEntityListenerAction(application)).setAlwaysOn(true);
-        registerAction(new CreateDataMapEntityListenerAction(application)).setAlwaysOn(
-                true);
         registerAction(new RemoveEntityListenerAction(application));
         registerAction(new RemoveEntityListenerForDataMapAction(application));
         // end callback-related actions

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SelectQueryMainTab.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SelectQueryMainTab.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SelectQueryMainTab.java
index 2b69dd1..1225c60 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SelectQueryMainTab.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SelectQueryMainTab.java
@@ -32,7 +32,6 @@ import javax.swing.JCheckBox;
 import javax.swing.JComboBox;
 import javax.swing.JPanel;
 import javax.swing.JTextField;
-import javax.swing.ListCellRenderer;
 
 import org.apache.cayenne.configuration.event.QueryEvent;
 import org.apache.cayenne.exp.Expression;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/PasswordEncoderEditor.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/PasswordEncoderEditor.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/PasswordEncoderEditor.java
index 4919735..edc6623 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/PasswordEncoderEditor.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/PasswordEncoderEditor.java
@@ -130,8 +130,7 @@ public class PasswordEncoderEditor extends CayenneController {
 
         DataSourceInfo dsi = node.getDataSourceDescriptor();
 
-        if (view.getPasswordEncoder().getSelectedItem().equals(
-                dsi.getPasswordEncoderClass()) == false)
+        if (!view.getPasswordEncoder().getSelectedItem().equals(dsi.getPasswordEncoderClass()))
             return;
 
         if (dsi.getPasswordEncoder() == null) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/undo/CreateDataMapEntityListenerUndoableEdit.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/undo/CreateDataMapEntityListenerUndoableEdit.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/undo/CreateDataMapEntityListenerUndoableEdit.java
deleted file mode 100644
index 5cf72d1..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/undo/CreateDataMapEntityListenerUndoableEdit.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*****************************************************************
- *   Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- ****************************************************************/
-package org.apache.cayenne.modeler.undo;
-
-import javax.swing.undo.CannotRedoException;
-import javax.swing.undo.CannotUndoException;
-
-import org.apache.cayenne.map.DataMap;
-import org.apache.cayenne.map.EntityListener;
-import org.apache.cayenne.modeler.action.CreateDataMapEntityListenerAction;
-import org.apache.cayenne.modeler.action.RemoveEntityListenerForDataMapAction;
-
-public class CreateDataMapEntityListenerUndoableEdit extends CayenneUndoableEdit {
-
-    private DataMap dataMap;
-    private EntityListener listener;
-
-    public CreateDataMapEntityListenerUndoableEdit(DataMap dataMap,
-            EntityListener listener) {
-        this.dataMap = dataMap;
-        this.listener = listener;
-    }
-
-    @Override
-    public String getPresentationName() {
-        return "Create Entity Listener";
-    }
-
-    @Override
-    public void redo() throws CannotRedoException {
-        CreateDataMapEntityListenerAction action = actionManager
-                .getAction(CreateDataMapEntityListenerAction.class);
-        action.createMapListener(dataMap, listener);
-    }
-
-    @Override
-    public void undo() throws CannotUndoException {
-        RemoveEntityListenerForDataMapAction action = actionManager
-                .getAction(RemoveEntityListenerForDataMapAction.class);
-
-        action.removeEntityListener(dataMap, listener.getClassName());
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/663e9ec1/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/undo/CreateEntityListenerUndoableEdit.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/undo/CreateEntityListenerUndoableEdit.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/undo/CreateEntityListenerUndoableEdit.java
deleted file mode 100644
index 187604e..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/undo/CreateEntityListenerUndoableEdit.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*****************************************************************
- *   Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- ****************************************************************/
-package org.apache.cayenne.modeler.undo;
-
-import javax.swing.undo.CannotRedoException;
-import javax.swing.undo.CannotUndoException;
-
-import org.apache.cayenne.map.EntityListener;
-import org.apache.cayenne.map.ObjEntity;
-import org.apache.cayenne.modeler.action.CreateDataMapEntityListenerAction;
-import org.apache.cayenne.modeler.action.RemoveEntityListenerAction;
-
-public class CreateEntityListenerUndoableEdit extends CayenneUndoableEdit {
-
-    private ObjEntity objEntity;
-    private EntityListener listener;
-
-    public CreateEntityListenerUndoableEdit(ObjEntity objEntity, EntityListener listener) {
-        this.objEntity = objEntity;
-        this.listener = listener;
-    }
-
-    @Override
-    public String getPresentationName() {
-        return "Create Entity Listener";
-    }
-
-    @Override
-    public void redo() throws CannotRedoException {
-        CreateDataMapEntityListenerAction action = actionManager
-                .getAction(CreateDataMapEntityListenerAction.class);
-        action.createEntityListener(objEntity, listener);
-    }
-
-    @Override
-    public void undo() throws CannotUndoException {
-        RemoveEntityListenerAction action = actionManager
-                .getAction(RemoveEntityListenerAction.class);
-
-        action.removeEntityListener(objEntity, listener.getClassName());
-    }
-}