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

[4/4] cayenne git commit: java 7 style, diamond operator

java 7 style, diamond operator


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

Branch: refs/heads/master
Commit: cee0b77d8a7d92588d614e3f93a5233e9fa8324b
Parents: 9319337
Author: Andrus Adamchik <an...@objectstyle.com>
Authored: Sun Dec 18 21:35:31 2016 +0300
Committer: Andrus Adamchik <an...@objectstyle.com>
Committed: Sun Dec 18 22:04:26 2016 +0300

----------------------------------------------------------------------
 .../org/apache/cayenne/test/jdbc/DBHelper.java  |  5 +--
 .../org/apache/cayenne/test/jdbc/SQLReader.java |  2 +-
 .../transformer/DefaultTransformerFactory.java  |  4 +-
 .../dbsync/filter/NamePatternMatcher.java       |  2 +-
 .../merge/context/EntityMergeSupport.java       |  4 +-
 .../factory/OpenBaseMergerTokenFactory.java     |  4 +-
 .../dbsync/merge/token/db/CreateTableToDb.java  |  2 +-
 .../merge/token/db/SetPrimaryKeyToDb.java       |  2 +-
 .../merge/token/model/DropColumnToModel.java    |  2 +-
 ...jectIdRelationshipBatchFaultingStrategy.java |  6 +--
 .../cayenne/project/FileProjectSaver.java       |  2 +-
 .../cayenne/project/SaveableNodesGetter.java    | 10 ++---
 .../project/upgrade/v6/UpgradeHandler_V6.java   |  5 +--
 ...XMLDataChannelDescriptorLoader_V3_0_0_1.java | 18 ++++-----
 .../project/upgrade/v7/UpgradeHandler_V7.java   |  2 +-
 .../validation/DbRelationshipValidator.java     | 10 ++---
 .../java/org/apache/cayenne/BaseContext.java    | 18 ++++-----
 .../main/java/org/apache/cayenne/Cayenne.java   | 16 ++++----
 .../java/org/apache/cayenne/CayenneContext.java | 12 +++---
 .../cayenne/CayenneContextGraphManager.java     | 12 +++---
 .../org/apache/cayenne/CayenneDataObject.java   |  4 +-
 .../cayenne/CollectionResultIterator.java       |  2 +-
 .../cayenne/DataChannelSyncCallbackAction.java  | 16 ++++----
 .../apache/cayenne/ObjectContextChangeLog.java  | 16 ++++----
 .../apache/cayenne/ObjectContextStateLog.java   | 10 ++---
 .../main/java/org/apache/cayenne/ObjectId.java  | 12 +++---
 .../org/apache/cayenne/ResultBatchIterator.java |  2 +-
 .../cayenne/access/ClientReturnDiffFilter.java  |  8 ++--
 .../access/ClientServerChannelQueryAction.java  | 11 +++---
 .../org/apache/cayenne/access/DataContext.java  |  8 ++--
 .../access/DataDomainFlattenedBucket.java       |  4 +-
 .../cayenne/access/DataDomainFlushAction.java   |  6 +--
 .../access/DataDomainLegacyQueryAction.java     | 18 ++++-----
 .../cayenne/access/DataDomainQueryAction.java   | 36 ++++++++---------
 .../cayenne/access/DataDomainSyncBucket.java    | 28 +++++++------
 .../cayenne/access/DbEntityClassDescriptor.java | 10 ++---
 .../org/apache/cayenne/access/DbGenerator.java  | 41 ++++++++++----------
 .../apache/cayenne/access/FlattenedArcKey.java  | 18 ++++-----
 .../access/HierarchicalObjectResolverNode.java  | 12 +++---
 .../cayenne/access/IncrementalFaultList.java    | 30 +++++++-------
 .../org/apache/cayenne/access/ObjectDiff.java   | 12 +++---
 .../apache/cayenne/access/ObjectResolver.java   |  4 +-
 .../org/apache/cayenne/access/ObjectStore.java  | 26 ++++++-------
 .../cayenne/access/ObjectStoreGraphDiff.java    | 18 ++++-----
 .../access/PrefetchProcessorJointNode.java      |  8 ++--
 .../ResultScanParentAttachmentStrategy.java     | 16 ++++----
 .../TransactionResultIteratorDecorator.java     |  2 +-
 .../cayenne/access/dbsync/SchemaAnalyzer.java   | 10 ++---
 .../access/jdbc/DistinctResultIterator.java     | 14 +++----
 .../cayenne/access/jdbc/JDBCResultIterator.java | 12 +++---
 .../access/jdbc/LimitResultIterator.java        |  8 ++--
 .../cayenne/access/jdbc/SQLTemplateAction.java  | 28 ++++++-------
 .../jdbc/reader/DefaultRowReaderFactory.java    | 16 ++++----
 .../ejbql/EJBQLConditionTranslator.java         | 16 ++++----
 .../ejbql/EJBQLTranslationContext.java          | 26 ++++++-------
 .../procedure/ProcedureTranslator.java          |  4 +-
 .../select/DefaultSelectTranslator.java         | 28 ++++++-------
 .../access/translator/select/JoinTreeNode.java  | 10 ++---
 .../translator/select/OrderingTranslator.java   | 10 ++---
 .../translator/select/QueryAssembler.java       |  2 +-
 .../access/util/DefaultOperationObserver.java   | 14 +++----
 .../cayenne/ashwood/AshwoodEntitySorter.java    |  2 +-
 .../cayenne/ashwood/graph/StrongConnection.java | 18 ++++-----
 .../configuration/DataNodeDescriptor.java       |  4 +-
 .../server/ServerRuntimeBuilder.java            |  4 +-
 .../configuration/web/CayenneFilter.java        | 17 ++++----
 .../configuration/web/WebConfiguration.java     | 19 +++++----
 .../org/apache/cayenne/dba/JdbcPkGenerator.java |  6 +--
 .../org/apache/cayenne/dba/TypesHandler.java    | 21 +++++-----
 .../org/apache/cayenne/dba/TypesMapping.java    |  4 +-
 .../apache/cayenne/dba/db2/DB2PkGenerator.java  | 20 +++++-----
 .../dba/frontbase/FrontBasePkGenerator.java     | 10 ++---
 .../apache/cayenne/dba/h2/H2PkGenerator.java    | 16 ++++----
 .../cayenne/dba/ingres/IngresPkGenerator.java   | 16 ++++----
 .../apache/cayenne/dba/mysql/MySQLAdapter.java  |  2 +-
 .../dba/openbase/OpenBasePkGenerator.java       | 20 +++++-----
 .../dba/oracle/Oracle8LOBBatchQueryWrapper.java | 18 ++++-----
 .../oracle/Oracle8LOBInsertBatchTranslator.java | 10 ++---
 .../oracle/Oracle8LOBUpdateBatchTranslator.java | 10 ++---
 .../cayenne/dba/oracle/OraclePkGenerator.java   | 22 +++++------
 .../dba/oracle/OracleQualifierTranslator.java   | 10 ++---
 .../dba/postgres/PostgresPkGenerator.java       | 16 ++++----
 .../dba/sqlserver/SQLServerProcedureAction.java | 18 ++++-----
 .../SQLServerTrimmingQualifierTranslator.java   | 10 ++---
 .../cayenne/dba/sybase/SybasePkGenerator.java   | 14 +++----
 .../apache/cayenne/ejbql/parser/Compiler.java   |  6 +--
 .../cayenne/event/DefaultEventManager.java      | 10 ++---
 .../org/apache/cayenne/event/EventBridge.java   |  6 +--
 .../apache/cayenne/exp/ExpressionFactory.java   | 12 +++---
 .../java/org/apache/cayenne/exp/Property.java   | 18 ++++-----
 .../org/apache/cayenne/exp/parser/ASTList.java  |  8 ++--
 .../org/apache/cayenne/graph/CompoundDiff.java  |  2 +-
 .../cayenne/graph/GraphDiffCompressor.java      |  6 +--
 .../apache/cayenne/map/CallbackDescriptor.java  |  4 +-
 .../org/apache/cayenne/map/ClientObjEntity.java |  2 +-
 .../java/org/apache/cayenne/map/DataMap.java    | 12 +++---
 .../java/org/apache/cayenne/map/DbEntity.java   | 26 ++++++-------
 .../org/apache/cayenne/map/DbRelationship.java  | 16 ++++----
 .../apache/cayenne/map/EmbeddedAttribute.java   | 11 +++---
 .../cayenne/map/EntityInheritanceTree.java      | 14 +++----
 .../org/apache/cayenne/map/EntityResolver.java  |  2 +-
 .../org/apache/cayenne/map/EntityResult.java    |  6 +--
 .../java/org/apache/cayenne/map/ObjEntity.java  | 10 ++---
 .../org/apache/cayenne/map/ObjRelationship.java | 18 ++++-----
 .../cayenne/map/PathComponentIterator.java      | 15 +++----
 .../java/org/apache/cayenne/map/Procedure.java  | 15 ++++---
 .../cayenne/map/QueryDescriptorLoader.java      |  4 +-
 .../java/org/apache/cayenne/map/SQLResult.java  | 10 ++---
 .../org/apache/cayenne/query/BatchQuery.java    |  9 ++---
 .../cayenne/query/EJBQLQueryMetadata.java       | 12 +++---
 .../apache/cayenne/query/InsertBatchQuery.java  |  9 ++---
 .../org/apache/cayenne/query/ObjectSelect.java  |  8 ++--
 .../java/org/apache/cayenne/query/Ordering.java | 22 +++++------
 .../apache/cayenne/query/PrefetchTreeNode.java  | 12 +++---
 .../apache/cayenne/query/ProcedureQuery.java    | 16 ++++----
 .../cayenne/query/ProcedureQueryMetadata.java   |  8 ++--
 .../org/apache/cayenne/query/QueryChain.java    | 14 +++----
 .../org/apache/cayenne/query/SQLTemplate.java   |  2 +-
 .../cayenne/query/SQLTemplateMetadata.java      |  8 ++--
 .../org/apache/cayenne/query/SelectQuery.java   | 14 +++----
 .../apache/cayenne/query/UpdateBatchQuery.java  | 10 ++---
 .../reflect/LifecycleCallbackEventHandler.java  | 12 +++---
 .../cayenne/reflect/PersistentDescriptor.java   | 35 +++++++----------
 .../resource/ClassLoaderResourceLocator.java    | 10 ++---
 .../resource/FilesystemResourceLocator.java     |  8 ++--
 .../main/java/org/apache/cayenne/util/Util.java |  2 +-
 .../cayenne/validation/ValidationResult.java    |  8 ++--
 .../velocity/VelocitySQLTemplateProcessor.java  | 18 ++++-----
 .../cayenne/gen/ClassGenerationAction.java      |  2 +-
 .../org/apache/cayenne/gen/ImportUtils.java     |  6 +--
 .../CayenneGeneratorEntityFilterAction.java     |  4 +-
 .../dbimport/ManyToManyCandidateEntity.java     |  2 +-
 .../org/apache/cayenne/modeler/Application.java | 19 +++++----
 .../cayenne/modeler/CodeTemplateManager.java    | 16 ++++----
 .../java/org/apache/cayenne/modeler/Main.java   |  3 +-
 .../cayenne/modeler/ModelerPreferences.java     | 16 ++++----
 .../cayenne/modeler/ProjectController.java      |  4 +-
 .../cayenne/modeler/ProjectTreeFactory.java     | 20 +++++-----
 .../apache/cayenne/modeler/ProjectTreeView.java |  3 +-
 .../cayenne/modeler/action/FindAction.java      |  2 +-
 .../modeler/action/GenerateCodeAction.java      |  4 +-
 .../modeler/action/GenerateDBAction.java        |  2 +-
 .../modeler/action/LinkDataMapAction.java       |  2 +-
 .../modeler/action/LinkDataMapsAction.java      |  2 +-
 .../InferRelationshipsControllerBase.java       |  3 +-
 .../codegen/CodeGeneratorControllerBase.java    |  4 +-
 .../dialog/codegen/CustomModeController.java    | 29 +++++++-------
 .../dialog/codegen/GeneratorController.java     |  8 ++--
 .../codegen/GeneratorControllerPanel.java       |  2 +-
 .../cayenne/wocompat/EOModelProcessor.java      |  2 +-
 .../org/apache/cayenne/wocompat/EOQuery.java    |  2 +-
 .../DefaultPlistDataStructureFactory.java       |  6 +--
 152 files changed, 812 insertions(+), 842 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/DBHelper.java
----------------------------------------------------------------------
diff --git a/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/DBHelper.java b/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/DBHelper.java
index faeefee..0d6ce00 100644
--- a/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/DBHelper.java
+++ b/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/DBHelper.java
@@ -18,6 +18,7 @@
  ****************************************************************/
 package org.apache.cayenne.test.jdbc;
 
+import javax.sql.DataSource;
 import java.sql.Connection;
 import java.sql.ParameterMetaData;
 import java.sql.PreparedStatement;
@@ -28,8 +29,6 @@ import java.sql.Timestamp;
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.sql.DataSource;
-
 /**
  * JDBC utility class for setting up and analyzing the DB data sets. DBHelper
  * intentionally bypasses Cayenne stack.
@@ -98,7 +97,7 @@ public class DBHelper {
 			@Override
 			List<Object[]> readResultSet(ResultSet rs, String sql) throws SQLException {
 
-				List<Object[]> result = new ArrayList<Object[]>();
+				List<Object[]> result = new ArrayList<>();
 				while (rs.next()) {
 
 					Object[] row = new Object[columns.length];

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/SQLReader.java
----------------------------------------------------------------------
diff --git a/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/SQLReader.java b/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/SQLReader.java
index e602fba..0dfb236 100644
--- a/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/SQLReader.java
+++ b/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/SQLReader.java
@@ -43,7 +43,7 @@ public class SQLReader {
 
 	public static Collection<String> statements(URL sqlSource, String separator) throws Exception {
 
-		Collection<String> statements = new ArrayList<String>();
+		Collection<String> statements = new ArrayList<>();
 
 		try (BufferedReader reader = new BufferedReader(new InputStreamReader(sqlSource.openStream(), "UTF-8"));) {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/DefaultTransformerFactory.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/DefaultTransformerFactory.java b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/DefaultTransformerFactory.java
index 09a56ef..9e1cc72 100644
--- a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/DefaultTransformerFactory.java
+++ b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/DefaultTransformerFactory.java
@@ -63,7 +63,7 @@ public class DefaultTransformerFactory implements TransformerFactory {
             DbAttribute a = columns[i].getAttribute();
             if (a != null && columnMapper.isEncrypted(a)) {
                 if (cryptoColumns == null) {
-                    cryptoColumns = new ArrayList<Integer>(len - i);
+                    cryptoColumns = new ArrayList<>(len - i);
                 }
 
                 cryptoColumns.add(i);
@@ -100,7 +100,7 @@ public class DefaultTransformerFactory implements TransformerFactory {
             if (columnMapper.isEncrypted(a)) {
 
                 if (cryptoColumns == null) {
-                    cryptoColumns = new ArrayList<Integer>(len - i);
+                    cryptoColumns = new ArrayList<>(len - i);
                 }
 
                 cryptoColumns.add(i);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/filter/NamePatternMatcher.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/filter/NamePatternMatcher.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/filter/NamePatternMatcher.java
index 1e3757a..66d2b96 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/filter/NamePatternMatcher.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/filter/NamePatternMatcher.java
@@ -106,7 +106,7 @@ public class NamePatternMatcher implements NameFilter {
             return new Pattern[0];
         }
         String[] patternStrings = tokenizePattern(patternString);
-        List<Pattern> patterns = new ArrayList<Pattern>(patternStrings.length);
+        List<Pattern> patterns = new ArrayList<>(patternStrings.length);
 
         for (String patternString1 : patternStrings) {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/context/EntityMergeSupport.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/context/EntityMergeSupport.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/context/EntityMergeSupport.java
index 9bb2a84..4a3063c 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/context/EntityMergeSupport.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/context/EntityMergeSupport.java
@@ -451,7 +451,7 @@ public class EntityMergeSupport {
     }
 
     private Collection<DbRelationship> getIncomingRelationships(DbEntity entity) {
-        Collection<DbRelationship> incoming = new ArrayList<DbRelationship>();
+        Collection<DbRelationship> incoming = new ArrayList<>();
 
         for (DbEntity nextEntity : entity.getDataMap().getDbEntities()) {
             for (DbRelationship relationship : nextEntity.getRelationships()) {
@@ -472,7 +472,7 @@ public class EntityMergeSupport {
     }
 
     protected List<DbRelationship> getRelationshipsToAdd(ObjEntity objEntity) {
-        List<DbRelationship> missing = new ArrayList<DbRelationship>();
+        List<DbRelationship> missing = new ArrayList<>();
         for (DbRelationship dbRel : objEntity.getDbEntity().getRelationships()) {
             if (shouldAddToObjEntity(objEntity, dbRel)) {
                 missing.add(dbRel);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/OpenBaseMergerTokenFactory.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/OpenBaseMergerTokenFactory.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/OpenBaseMergerTokenFactory.java
index 88a3eb0..ab0ed7e 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/OpenBaseMergerTokenFactory.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/OpenBaseMergerTokenFactory.java
@@ -42,7 +42,7 @@ public class OpenBaseMergerTokenFactory extends DefaultMergerTokenFactory {
 
             @Override
             public List<String> createSql(DbAdapter adapter) {
-                List<String> sqls = new ArrayList<String>();
+                List<String> sqls = new ArrayList<>();
                 // create table first as OpenBase adapter created primary key in its
                 // getPkGenerator().createAutoPkStatements
                 sqls.add(adapter.createTable(getEntity()));
@@ -96,7 +96,7 @@ public class OpenBaseMergerTokenFactory extends DefaultMergerTokenFactory {
 
             @Override
             public List<String> createSql(DbAdapter adapter) {
-                List<String> sqls = new ArrayList<String>();
+                List<String> sqls = new ArrayList<>();
 
                 if (columnOriginal.getMaxLength() != columnNew.getMaxLength()) {
                     sqls.add("ALTER TABLE "

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/CreateTableToDb.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/CreateTableToDb.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/CreateTableToDb.java
index ac2305b..7b8faed 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/CreateTableToDb.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/CreateTableToDb.java
@@ -40,7 +40,7 @@ public class CreateTableToDb extends AbstractToDbToken.Entity {
 
     @Override
     public List<String> createSql(DbAdapter adapter) {
-        List<String> sqls = new ArrayList<String>();
+        List<String> sqls = new ArrayList<>();
         if(needAutoPkSupport()) {
             sqls.addAll(adapter.getPkGenerator().createAutoPkStatements(
                     Collections.singletonList(getEntity())));

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/SetPrimaryKeyToDb.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/SetPrimaryKeyToDb.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/SetPrimaryKeyToDb.java
index c48133a..3e9f7f7 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/SetPrimaryKeyToDb.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/SetPrimaryKeyToDb.java
@@ -48,7 +48,7 @@ public class SetPrimaryKeyToDb extends AbstractToDbToken.Entity {
 
     @Override
     public List<String> createSql(DbAdapter adapter) {
-        List<String> sqls = new ArrayList<String>();
+        List<String> sqls = new ArrayList<>();
         if (!primaryKeyOriginal.isEmpty()) {
             appendDropOriginalPrimaryKeySQL(adapter, sqls);
         }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/model/DropColumnToModel.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/model/DropColumnToModel.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/model/DropColumnToModel.java
index d477eb3..793f67a 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/model/DropColumnToModel.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/model/DropColumnToModel.java
@@ -52,7 +52,7 @@ public class DropColumnToModel extends AbstractToModelToken.EntityAndColumn {
 
         // remove relationships mapped to column. duplicate List to prevent
         // ConcurrentModificationException
-        List<DbRelationship> dbRelationships = new ArrayList<DbRelationship>(getEntity()
+        List<DbRelationship> dbRelationships = new ArrayList<>(getEntity()
                 .getRelationships());
         for (DbRelationship dbRelationship : dbRelationships) {
             for (DbJoin join : dbRelationship.getJoins()) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/ObjectIdRelationshipBatchFaultingStrategy.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/ObjectIdRelationshipBatchFaultingStrategy.java b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/ObjectIdRelationshipBatchFaultingStrategy.java
index 63a0f8d..4499880 100644
--- a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/ObjectIdRelationshipBatchFaultingStrategy.java
+++ b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/ObjectIdRelationshipBatchFaultingStrategy.java
@@ -18,11 +18,11 @@
  ****************************************************************/
 package org.apache.cayenne.lifecycle.relationship;
 
+import org.apache.cayenne.DataObject;
+
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.cayenne.DataObject;
-
 /**
  * A faulting strategy that does batch-faulting of related objects whenever a first
  * ObjectId relationship is accessed.
@@ -50,7 +50,7 @@ public class ObjectIdRelationshipBatchFaultingStrategy implements
             List<ObjectIdBatchSourceItem> sources = batchSources.get();
 
             if (sources == null) {
-                sources = new ArrayList<ObjectIdBatchSourceItem>();
+                sources = new ArrayList<>();
                 batchSources.set(sources);
             }
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-project/src/main/java/org/apache/cayenne/project/FileProjectSaver.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/main/java/org/apache/cayenne/project/FileProjectSaver.java b/cayenne-project/src/main/java/org/apache/cayenne/project/FileProjectSaver.java
index e92c0a3..daa0d22 100644
--- a/cayenne-project/src/main/java/org/apache/cayenne/project/FileProjectSaver.java
+++ b/cayenne-project/src/main/java/org/apache/cayenne/project/FileProjectSaver.java
@@ -78,7 +78,7 @@ public class FileProjectSaver implements ProjectSaver {
 
 	void save(Project project, Resource baseResource, boolean deleteOldResources) {
 		Collection<ConfigurationNode> nodes = project.getRootNode().acceptVisitor(saveableNodesGetter);
-		Collection<SaveUnit> units = new ArrayList<SaveUnit>(nodes.size());
+		Collection<SaveUnit> units = new ArrayList<>(nodes.size());
 
 		for (ConfigurationNode node : nodes) {
 			units.add(createSaveUnit(node, baseResource));

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-project/src/main/java/org/apache/cayenne/project/SaveableNodesGetter.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/main/java/org/apache/cayenne/project/SaveableNodesGetter.java b/cayenne-project/src/main/java/org/apache/cayenne/project/SaveableNodesGetter.java
index ee20da3..ca74cc2 100644
--- a/cayenne-project/src/main/java/org/apache/cayenne/project/SaveableNodesGetter.java
+++ b/cayenne-project/src/main/java/org/apache/cayenne/project/SaveableNodesGetter.java
@@ -18,15 +18,15 @@
  ****************************************************************/
 package org.apache.cayenne.project;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-
 import org.apache.cayenne.configuration.BaseConfigurationNodeVisitor;
 import org.apache.cayenne.configuration.ConfigurationNode;
 import org.apache.cayenne.configuration.DataChannelDescriptor;
 import org.apache.cayenne.map.DataMap;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+
 /**
  * @since 3.1
  */
@@ -37,7 +37,7 @@ class SaveableNodesGetter extends
     public Collection<ConfigurationNode> visitDataChannelDescriptor(
             DataChannelDescriptor descriptor) {
 
-        Collection<ConfigurationNode> nodes = new ArrayList<ConfigurationNode>();
+        Collection<ConfigurationNode> nodes = new ArrayList<>();
         nodes.add(descriptor);
 
         for (DataMap map : descriptor.getDataMaps()) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/v6/UpgradeHandler_V6.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/v6/UpgradeHandler_V6.java b/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/v6/UpgradeHandler_V6.java
index 7a31fe9..f20553e 100644
--- a/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/v6/UpgradeHandler_V6.java
+++ b/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/v6/UpgradeHandler_V6.java
@@ -72,7 +72,7 @@ class UpgradeHandler_V6 extends BaseUpgradeHandler {
         }
 
         // collect resources to delete before the upgrade...
-        Collection<Resource> resourcesToDelete = new ArrayList<Resource>();
+        Collection<Resource> resourcesToDelete = new ArrayList<>();
         for (DataChannelDescriptor descriptor : domains) {
             for (DataNodeDescriptor node : descriptor.getNodeDescriptors()) {
                 Resource nodeResource = node.getConfigurationSource();
@@ -84,8 +84,7 @@ class UpgradeHandler_V6 extends BaseUpgradeHandler {
 
         // save in the new format
         for (DataChannelDescriptor descriptor : domains) {
-            Project project = new Project(new ConfigurationTree<DataChannelDescriptor>(
-                    descriptor));
+            Project project = new Project(new ConfigurationTree<>(descriptor));
             
             attachToNamespace((DataChannelDescriptor) project.getRootNode());
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/v6/XMLDataChannelDescriptorLoader_V3_0_0_1.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/v6/XMLDataChannelDescriptorLoader_V3_0_0_1.java b/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/v6/XMLDataChannelDescriptorLoader_V3_0_0_1.java
index ac96147..806e168 100644
--- a/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/v6/XMLDataChannelDescriptorLoader_V3_0_0_1.java
+++ b/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/v6/XMLDataChannelDescriptorLoader_V3_0_0_1.java
@@ -18,14 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.project.upgrade.v6;
 
-import java.io.InputStream;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
 import org.apache.cayenne.ConfigurationException;
 import org.apache.cayenne.configuration.DataChannelDescriptor;
 import org.apache.cayenne.configuration.DataNodeDescriptor;
@@ -43,6 +35,14 @@ import org.xml.sax.ContentHandler;
 import org.xml.sax.InputSource;
 import org.xml.sax.XMLReader;
 
+import java.io.InputStream;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
  * A loader of Cayenne projects descriptor for version "3.0.0.1".
  */
@@ -88,7 +88,7 @@ class XMLDataChannelDescriptorLoader_V3_0_0_1 {
 
 		URL configurationURL = configurationSource.getURL();
 
-		List<DataChannelDescriptor> domains = new ArrayList<DataChannelDescriptor>();
+		List<DataChannelDescriptor> domains = new ArrayList<>();
 
 		try (InputStream in = configurationURL.openStream();) {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/v7/UpgradeHandler_V7.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/v7/UpgradeHandler_V7.java b/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/v7/UpgradeHandler_V7.java
index 4c4b4cc..bd30381 100644
--- a/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/v7/UpgradeHandler_V7.java
+++ b/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/v7/UpgradeHandler_V7.java
@@ -111,7 +111,7 @@ class UpgradeHandler_V7 extends BaseUpgradeHandler {
      */
     private void removeShadowAttributes(ObjEntity objEntity, ObjEntity superEntity) {
 
-        List<String> delList = new ArrayList<String>();
+        List<String> delList = new ArrayList<>();
 
         // if subAttr and superAttr have same names, adds subAttr to delList
         for (ObjAttribute subAttr : objEntity.getDeclaredAttributes()) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-project/src/main/java/org/apache/cayenne/project/validation/DbRelationshipValidator.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/main/java/org/apache/cayenne/project/validation/DbRelationshipValidator.java b/cayenne-project/src/main/java/org/apache/cayenne/project/validation/DbRelationshipValidator.java
index f216c14..2f06edf 100644
--- a/cayenne-project/src/main/java/org/apache/cayenne/project/validation/DbRelationshipValidator.java
+++ b/cayenne-project/src/main/java/org/apache/cayenne/project/validation/DbRelationshipValidator.java
@@ -18,16 +18,16 @@
  ****************************************************************/
 package org.apache.cayenne.project.validation;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.DbJoin;
 import org.apache.cayenne.map.DbRelationship;
 import org.apache.cayenne.util.Util;
 import org.apache.cayenne.validation.ValidationResult;
 
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
 class DbRelationshipValidator extends ConfigurationNodeValidator {
 
     void validate(DbRelationship relationship, ValidationResult validationResult) {
@@ -142,7 +142,7 @@ class DbRelationshipValidator extends ConfigurationNodeValidator {
     }
 
     private String getJoins(DbRelationship relationship) {
-        List<String> joins = new ArrayList<String>();
+        List<String> joins = new ArrayList<>();
 
         for (DbJoin join : relationship.getJoins()) {
             StringBuilder builder = new StringBuilder();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/BaseContext.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/BaseContext.java b/cayenne-server/src/main/java/org/apache/cayenne/BaseContext.java
index 3577c85..0ff58e1 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/BaseContext.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/BaseContext.java
@@ -18,13 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
 import org.apache.cayenne.cache.NestedQueryCache;
 import org.apache.cayenne.cache.QueryCache;
 import org.apache.cayenne.configuration.CayenneRuntime;
@@ -50,6 +43,13 @@ import org.apache.cayenne.reflect.ToManyProperty;
 import org.apache.cayenne.reflect.ToOneProperty;
 import org.apache.cayenne.util.ObjectContextGraphAction;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
 /**
  * A common base superclass for Cayenne ObjectContext implementors.
  * 
@@ -409,7 +409,7 @@ public abstract class BaseContext implements ObjectContext {
 				errorMessage.append(" Declared properties are: ");
 
 				// Grab each of the declared properties.
-				final List<String> properties = new ArrayList<String>();
+				final List<String> properties = new ArrayList<>();
 				classDescriptor.visitProperties(new PropertyVisitor() {
 					@Override
 					public boolean visitAttribute(final AttributeProperty property) {
@@ -678,7 +678,7 @@ public abstract class BaseContext implements ObjectContext {
 		ObjectContextDeleteAction action = new ObjectContextDeleteAction(this);
 
 		// Make a copy to iterate over to avoid ConcurrentModificationException.
-		List<Object> copy = new ArrayList<Object>(objects);
+		List<Object> copy = new ArrayList<>(objects);
 		for (Object object : copy) {
 			action.performDelete((Persistent) object);
 		}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/Cayenne.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/Cayenne.java b/cayenne-server/src/main/java/org/apache/cayenne/Cayenne.java
index 05627a8..0b34b49 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/Cayenne.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/Cayenne.java
@@ -18,13 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.query.ObjectIdQuery;
@@ -33,6 +26,13 @@ import org.apache.cayenne.reflect.ClassDescriptor;
 import org.apache.cayenne.reflect.PropertyDescriptor;
 import org.apache.cayenne.reflect.PropertyUtils;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+
 /**
  * Various utils for processing persistent objects and their properties
  * <p>
@@ -153,7 +153,7 @@ public class Cayenne {
             }
 
             // Support for collection property in the middle of the path
-            Collection<Object> result = o instanceof List<?> ? new ArrayList<Object>() : new HashSet<Object>();
+            Collection<Object> result = o instanceof List<?> ? new ArrayList<>() : new HashSet<>();
 
             for (Object item : collection) {
                 if (item instanceof DataObject) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/CayenneContext.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/CayenneContext.java b/cayenne-server/src/main/java/org/apache/cayenne/CayenneContext.java
index 827a60f..d53167f 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/CayenneContext.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/CayenneContext.java
@@ -19,11 +19,6 @@
 
 package org.apache.cayenne;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
 import org.apache.cayenne.event.EventManager;
 import org.apache.cayenne.graph.CompoundDiff;
 import org.apache.cayenne.graph.GraphDiff;
@@ -35,6 +30,11 @@ import org.apache.cayenne.util.EventUtil;
 import org.apache.cayenne.validation.ValidationException;
 import org.apache.cayenne.validation.ValidationResult;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
 /**
  * A default generic implementation of ObjectContext suitable for accessing
  * Cayenne from either an ORM or a client tiers. Communicates with Cayenne via a
@@ -275,7 +275,7 @@ public class CayenneContext extends BaseContext {
     @Override
     public List performQuery(Query query) {
         List result = onQuery(this, query).firstList();
-        return result != null ? result : new ArrayList<Object>(1);
+        return result != null ? result : new ArrayList<>(1);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/CayenneContextGraphManager.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/CayenneContextGraphManager.java b/cayenne-server/src/main/java/org/apache/cayenne/CayenneContextGraphManager.java
index 358f174..2c47321 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/CayenneContextGraphManager.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/CayenneContextGraphManager.java
@@ -19,11 +19,6 @@
 
 package org.apache.cayenne;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Map;
-
 import org.apache.cayenne.event.EventManager;
 import org.apache.cayenne.event.EventSubject;
 import org.apache.cayenne.graph.ArcCreateOperation;
@@ -43,6 +38,11 @@ import org.apache.cayenne.reflect.PropertyException;
 import org.apache.cayenne.reflect.ToManyMapProperty;
 import org.apache.cayenne.util.PersistentObjectMap;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.Map;
+
 /**
  * A GraphMap extension that works together with ObjectContext to track persistent object
  * changes and send events.
@@ -321,7 +321,7 @@ final class CayenneContextGraphManager extends GraphMap {
 
     Collection<Object> deadIds() {
         if (deadIds == null) {
-            deadIds = new ArrayList<Object>();
+            deadIds = new ArrayList<>();
         }
 
         return deadIds;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/CayenneDataObject.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/CayenneDataObject.java b/cayenne-server/src/main/java/org/apache/cayenne/CayenneDataObject.java
index 3b7a5be..dfc8318 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/CayenneDataObject.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/CayenneDataObject.java
@@ -322,9 +322,9 @@ public class CayenneDataObject extends PersistentObject implements DataObject, V
 		}
 
 		// operate on a copy of passed collection
-		values = new ArrayList<DataObject>(values);
+		values = new ArrayList<>(values);
 
-		List<DataObject> removedObjects = new ArrayList<DataObject>();
+		List<DataObject> removedObjects = new ArrayList<>();
 
 		// remove all relationships, which are missing in passed collection
 		Object[] oldValues = old.toArray();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/CollectionResultIterator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/CollectionResultIterator.java b/cayenne-server/src/main/java/org/apache/cayenne/CollectionResultIterator.java
index 9556b15..8a79f30 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/CollectionResultIterator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/CollectionResultIterator.java
@@ -45,7 +45,7 @@ class CollectionResultIterator<T> implements ResultIterator<T> {
     @Override
     public List<T> allRows() {
 
-        List<T> list = new ArrayList<T>();
+        List<T> list = new ArrayList<>();
         for (T t : this) {
             list.add(t);
         }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/DataChannelSyncCallbackAction.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/DataChannelSyncCallbackAction.java b/cayenne-server/src/main/java/org/apache/cayenne/DataChannelSyncCallbackAction.java
index 1f7e8aa..5414ac5 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/DataChannelSyncCallbackAction.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/DataChannelSyncCallbackAction.java
@@ -18,17 +18,17 @@
  ****************************************************************/
 package org.apache.cayenne;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
 import org.apache.cayenne.graph.GraphChangeHandler;
 import org.apache.cayenne.graph.GraphDiff;
 import org.apache.cayenne.graph.GraphManager;
 import org.apache.cayenne.map.LifecycleEvent;
 import org.apache.cayenne.reflect.LifecycleCallbackRegistry;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+
 /**
  * @since 3.1
  */
@@ -95,7 +95,7 @@ public abstract class DataChannelSyncCallbackAction implements GraphChangeHandle
             if (node != null) {
 
                 if (persisted == null) {
-                    persisted = new ArrayList<Object>();
+                    persisted = new ArrayList<>();
                 }
 
                 persisted.add(node);
@@ -113,7 +113,7 @@ public abstract class DataChannelSyncCallbackAction implements GraphChangeHandle
             if (node != null) {
 
                 if (removed == null) {
-                    removed = new ArrayList<Object>();
+                    removed = new ArrayList<>();
                 }
 
                 removed.add(node);
@@ -158,7 +158,7 @@ public abstract class DataChannelSyncCallbackAction implements GraphChangeHandle
             if (node != null) {
 
                 if (updated == null) {
-                    updated = new ArrayList<Object>();
+                    updated = new ArrayList<>();
                 }
 
                 updated.add(node);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/ObjectContextChangeLog.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/ObjectContextChangeLog.java b/cayenne-server/src/main/java/org/apache/cayenne/ObjectContextChangeLog.java
index bfcfe5b..496da23 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/ObjectContextChangeLog.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/ObjectContextChangeLog.java
@@ -19,6 +19,12 @@
 
 package org.apache.cayenne;
 
+import org.apache.cayenne.graph.ArcCreateOperation;
+import org.apache.cayenne.graph.ArcDeleteOperation;
+import org.apache.cayenne.graph.CompoundDiff;
+import org.apache.cayenne.graph.GraphDiff;
+import org.apache.cayenne.graph.NodeDiff;
+
 import java.io.ObjectStreamException;
 import java.io.Serializable;
 import java.util.AbstractList;
@@ -29,12 +35,6 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.cayenne.graph.ArcCreateOperation;
-import org.apache.cayenne.graph.ArcDeleteOperation;
-import org.apache.cayenne.graph.CompoundDiff;
-import org.apache.cayenne.graph.GraphDiff;
-import org.apache.cayenne.graph.NodeDiff;
-
 /**
  * Stores graph operations in the order they were performed, optionally allowing to set
  * named markers.
@@ -112,7 +112,7 @@ class ObjectContextChangeLog {
         // must create a new list instead of clearing an existing one, as the original
         // list may have been exposed via events or "getDiffs", and trimming it is
         // undesirable.
-        this.diffs = new ArrayList<GraphDiff>();
+        this.diffs = new ArrayList<>();
         this.markers = new HashMap<>();
     }
 
@@ -198,7 +198,7 @@ class ObjectContextChangeLog {
 
         // serialization method...
         private Object writeReplace() throws ObjectStreamException {
-            return new ArrayList<GraphDiff>(list.subList(offset, offset + size));
+            return new ArrayList<>(list.subList(offset, offset + size));
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/ObjectContextStateLog.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/ObjectContextStateLog.java b/cayenne-server/src/main/java/org/apache/cayenne/ObjectContextStateLog.java
index 7de0213..acc9298 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/ObjectContextStateLog.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/ObjectContextStateLog.java
@@ -19,6 +19,9 @@
 
 package org.apache.cayenne;
 
+import org.apache.cayenne.graph.GraphChangeHandler;
+import org.apache.cayenne.graph.GraphManager;
+
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -27,9 +30,6 @@ import java.util.List;
 import java.util.Set;
 import java.util.Vector;
 
-import org.apache.cayenne.graph.GraphChangeHandler;
-import org.apache.cayenne.graph.GraphManager;
-
 /**
  * Tracks dirty Persistent objects.
  * 
@@ -118,7 +118,7 @@ class ObjectContextStateLog implements GraphChangeHandler {
             return Collections.emptySet();
         }
 
-        Collection<Object> objects = new ArrayList<Object>(dirtyIds.size());
+        Collection<Object> objects = new ArrayList<>(dirtyIds.size());
         for (Object id : dirtyIds) {
             objects.add(graphManager.getNode(id));
         }
@@ -132,7 +132,7 @@ class ObjectContextStateLog implements GraphChangeHandler {
         }
 
         int size = dirtyIds.size();
-        Collection<Object> objects = new ArrayList<Object>(size > 50 ? size / 2 : size);
+        Collection<Object> objects = new ArrayList<>(size > 50 ? size / 2 : size);
         for (Object id : dirtyIds) {
             Persistent o = (Persistent) graphManager.getNode(id);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/ObjectId.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/ObjectId.java b/cayenne-server/src/main/java/org/apache/cayenne/ObjectId.java
index 14f3fa7..e726475 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/ObjectId.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/ObjectId.java
@@ -19,6 +19,11 @@
 
 package org.apache.cayenne;
 
+import org.apache.cayenne.util.EqualsBuilder;
+import org.apache.cayenne.util.HashCodeBuilder;
+import org.apache.cayenne.util.IDUtil;
+import org.apache.cayenne.util.Util;
+
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -27,11 +32,6 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.cayenne.util.EqualsBuilder;
-import org.apache.cayenne.util.HashCodeBuilder;
-import org.apache.cayenne.util.IDUtil;
-import org.apache.cayenne.util.Util;
-
 /**
  * A portable global identifier for persistent objects. ObjectId can be
  * temporary (used for transient or new uncommitted objects) or permanent (used
@@ -372,7 +372,7 @@ public class ObjectId implements Serializable {
 			// used as a
 			// unique key, just like id itself
 
-			List<String> keys = new ArrayList<String>(objectIdKeys.keySet());
+			List<String> keys = new ArrayList<>(objectIdKeys.keySet());
 			Collections.sort(keys);
 			for (Object key : keys) {
 				buffer.append(", ");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/ResultBatchIterator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/ResultBatchIterator.java b/cayenne-server/src/main/java/org/apache/cayenne/ResultBatchIterator.java
index 835d2c7..533ffca 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/ResultBatchIterator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/ResultBatchIterator.java
@@ -53,7 +53,7 @@ public class ResultBatchIterator<T> implements Iterable<List<T>>, Iterator<List<
 
     @Override
     public List<T> next() {
-        List<T> objects = new ArrayList<T>(size);
+        List<T> objects = new ArrayList<>(size);
 
         for (int i = 0; i < size && hasNext(); i++) {
             objects.add((T) delegate.nextRow());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/ClientReturnDiffFilter.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/ClientReturnDiffFilter.java b/cayenne-server/src/main/java/org/apache/cayenne/access/ClientReturnDiffFilter.java
index 9708373..aae41da 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/ClientReturnDiffFilter.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/ClientReturnDiffFilter.java
@@ -18,9 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.access;
 
-import java.util.ArrayList;
-import java.util.List;
-
 import org.apache.cayenne.ObjectId;
 import org.apache.cayenne.graph.ArcCreateOperation;
 import org.apache.cayenne.graph.ArcDeleteOperation;
@@ -34,6 +31,9 @@ import org.apache.cayenne.graph.NodePropertyChangeOperation;
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.map.ObjEntity;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * Filters diffs before returning them to the client. Ensures that no server-only data
  * leaks to the client and also that all diff objects returned to the client are public
@@ -52,7 +52,7 @@ class ClientReturnDiffFilter implements GraphChangeHandler {
     }
 
     GraphDiff filter(GraphDiff in) {
-        diffs = new ArrayList<GraphDiff>();
+        diffs = new ArrayList<>();
         in.apply(this);
         return new CompoundDiff(diffs);
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/ClientServerChannelQueryAction.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/ClientServerChannelQueryAction.java b/cayenne-server/src/main/java/org/apache/cayenne/access/ClientServerChannelQueryAction.java
index 0be21c6..04c55dc 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/ClientServerChannelQueryAction.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/ClientServerChannelQueryAction.java
@@ -105,7 +105,7 @@ class ClientServerChannelQueryAction {
 
             // send back just one page... query sender will figure out where it fits in
             // the incremental list
-            this.response = new ListResponse(new ArrayList<Object>(cachedList.subList(
+            this.response = new ListResponse(new ArrayList<>(cachedList.subList(
                     startIndex,
                     endIndex)));
 
@@ -139,8 +139,7 @@ class ClientServerChannelQueryAction {
 
                 List sublist = list.subList(0, pageSize);
 
-                List firstPage = (serverMetadata.isFetchingDataRows()) ? new ArrayList(
-                        sublist) : toClientObjects(sublist);
+                List firstPage = (serverMetadata.isFetchingDataRows()) ? new ArrayList(sublist) : toClientObjects(sublist);
 
                 this.response = new IncrementalListResponse(firstPage, list.size());
                 return DONE;
@@ -197,7 +196,7 @@ class ClientServerChannelQueryAction {
             }
         }
 
-        return new ArrayList<Object>(3);
+        return new ArrayList<>(3);
     }
 
     private List<Object[]> processMixedResult(
@@ -206,7 +205,7 @@ class ClientServerChannelQueryAction {
 
         // must clone the list to ensure we do not mess up the server list that can be
         // used elsewhere (e.g. it can be cached).
-        List<Object[]> clientObjects = new ArrayList<Object[]>(serverObjects.size());
+        List<Object[]> clientObjects = new ArrayList<>(serverObjects.size());
 
         ObjectDetachOperation op = new ObjectDetachOperation(serverResolver
                 .getClientEntityResolver());
@@ -237,7 +236,7 @@ class ClientServerChannelQueryAction {
 
         // must clone the list to ensure we do not mess up the server list that can be
         // used elsewhere (e.g. it can be cached).
-        List<Object> clientObjects = new ArrayList<Object>(serverObjects.size());
+        List<Object> clientObjects = new ArrayList<>(serverObjects.size());
 
         ObjectDetachOperation op = new ObjectDetachOperation(serverResolver
                 .getClientEntityResolver());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/DataContext.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DataContext.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DataContext.java
index a88ed6b..74161c3 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DataContext.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DataContext.java
@@ -274,7 +274,7 @@ public class DataContext extends BaseContext {
         }
 
         // guess target collection size
-        Collection<Object> objects = new ArrayList<Object>(len > 100 ? len / 2 : len);
+        Collection<Object> objects = new ArrayList<>(len > 100 ? len / 2 : len);
 
         Iterator it = getObjectStore().getObjectIterator();
         while (it.hasNext()) {
@@ -821,7 +821,7 @@ public class DataContext extends BaseContext {
 
                 @Override
                 public List<T> allRows() {
-                    List<T> list = new ArrayList<T>();
+                    List<T> list = new ArrayList<>();
 
                     while (hasNextRow()) {
                         list.add(nextRow());
@@ -972,11 +972,11 @@ public class DataContext extends BaseContext {
     public List performQuery(Query query) {
         query = nonNullDelegate().willPerformQuery(this, query);
         if (query == null) {
-            return new ArrayList<Object>(1);
+            return new ArrayList<>(1);
         }
 
         List result = onQuery(this, query).firstList();
-        return result != null ? result : new ArrayList<Object>(1);
+        return result != null ? result : new ArrayList<>(1);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainFlattenedBucket.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainFlattenedBucket.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainFlattenedBucket.java
index 817ada7..3e9d23c 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainFlattenedBucket.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainFlattenedBucket.java
@@ -60,7 +60,7 @@ class DataDomainFlattenedBucket {
         List<FlattenedArcKey> arcKeys = insertArcKeys.get(flattenedEntity);
 
         if (arcKeys == null) {
-            arcKeys = new ArrayList<FlattenedArcKey>();
+            arcKeys = new ArrayList<>();
             insertArcKeys.put(flattenedEntity, arcKeys);
         }
 
@@ -73,7 +73,7 @@ class DataDomainFlattenedBucket {
         if (relationDeleteQuery == null) {
             boolean optimisticLocking = false;
             Collection<DbAttribute> pk = flattenedEntity.getPrimaryKeys();
-            List<DbAttribute> pkList = pk instanceof List ? (List<DbAttribute>) pk : new ArrayList<DbAttribute>(pk);
+            List<DbAttribute> pkList = pk instanceof List ? (List<DbAttribute>) pk : new ArrayList<>(pk);
             relationDeleteQuery = new DeleteBatchQuery(flattenedEntity, pkList, Collections.<String> emptySet(), 50);
             relationDeleteQuery.setUsingOptimisticLocking(optimisticLocking);
             flattenedDeleteQueries.put(flattenedEntity, relationDeleteQuery);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainFlushAction.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainFlushAction.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainFlushAction.java
index e13a027..8225390 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainFlushAction.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainFlushAction.java
@@ -139,7 +139,7 @@ class DataDomainFlushAction {
         this.updateBucket = new DataDomainUpdateBucket(this);
         this.flattenedBucket = new DataDomainFlattenedBucket(this);
 
-        this.queries = new ArrayList<Query>();
+        this.queries = new ArrayList<>();
         this.resultIndirectlyModifiedIds = new HashSet<ObjectId>();
 
         preprocess(context, changes);
@@ -149,8 +149,8 @@ class DataDomainFlushAction {
         }
 
         this.resultDiff = new CompoundDiff();
-        this.resultDeletedIds = new ArrayList<ObjectId>();
-        this.resultModifiedSnapshots = new HashMap<ObjectId, DataRow>();
+        this.resultDeletedIds = new ArrayList<>();
+        this.resultModifiedSnapshots = new HashMap<>();
 
         runQueries();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainLegacyQueryAction.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainLegacyQueryAction.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainLegacyQueryAction.java
index 3c3c46e..318950a 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainLegacyQueryAction.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainLegacyQueryAction.java
@@ -19,12 +19,6 @@
 
 package org.apache.cayenne.access;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.ObjectId;
 import org.apache.cayenne.ResultIterator;
@@ -33,6 +27,12 @@ import org.apache.cayenne.query.Query;
 import org.apache.cayenne.query.QueryMetadata;
 import org.apache.cayenne.query.QueryRouter;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
  * DataDomain query action that relies on externally provided OperationObserver to process
  * the results.
@@ -93,18 +93,18 @@ class DataDomainLegacyQueryAction implements QueryRouter, OperationObserver {
         }
 
         if (queries == null) {
-            queries = new ArrayList<Query>(5);
+            queries = new ArrayList<>(5);
             queriesByNode.put(engine, queries);
         }
 
         queries.add(query);
 
-        // handle case when routing resuled in an "exectable" query different from the
+        // handle case when routing resuled in an "executable" query different from the
         // original query.
         if (substitutedQuery != null && substitutedQuery != query) {
 
             if (queriesByExecutedQueries == null) {
-                queriesByExecutedQueries = new HashMap<Query, Query>();
+                queriesByExecutedQueries = new HashMap<>();
             }
 
             queriesByExecutedQueries.put(query, substitutedQuery);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java
index dc82017..a27cfc4 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java
@@ -19,17 +19,6 @@
 
 package org.apache.cayenne.access;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.DataRow;
 import org.apache.cayenne.ObjectContext;
@@ -62,6 +51,17 @@ import org.apache.cayenne.util.GenericResponse;
 import org.apache.cayenne.util.ListResponse;
 import org.apache.cayenne.util.Util;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
 /**
  * Performs query routing and execution. During execution phase intercepts
  * callbacks to the OperationObserver, remapping results to the original
@@ -315,7 +315,7 @@ class DataDomainQueryAction implements QueryRouter, OperationObserver {
             Collection<Persistent> objects = (Collection<Persistent>) refreshQuery.getObjects();
             if (objects != null && !objects.isEmpty()) {
 
-                Collection<ObjectId> ids = new ArrayList<ObjectId>(objects.size());
+                Collection<ObjectId> ids = new ArrayList<>(objects.size());
                 for (final Persistent object : objects) {
                     ids.add(object.getObjectId());
                 }
@@ -510,13 +510,13 @@ class DataDomainQueryAction implements QueryRouter, OperationObserver {
 
         Collection<Query> queries = null;
         if (queriesByNode == null) {
-            queriesByNode = new HashMap<QueryEngine, Collection<Query>>();
+            queriesByNode = new HashMap<>();
         } else {
             queries = queriesByNode.get(engine);
         }
 
         if (queries == null) {
-            queries = new ArrayList<Query>(5);
+            queries = new ArrayList<>(5);
             queriesByNode.put(engine, queries);
         }
 
@@ -528,7 +528,7 @@ class DataDomainQueryAction implements QueryRouter, OperationObserver {
         if (substitutedQuery != null && substitutedQuery != query) {
 
             if (queriesByExecutedQueries == null) {
-                queriesByExecutedQueries = new HashMap<Query, Query>();
+                queriesByExecutedQueries = new HashMap<>();
             }
 
             queriesByExecutedQueries.put(query, substitutedQuery);
@@ -679,7 +679,7 @@ class DataDomainQueryAction implements QueryRouter, OperationObserver {
 
             PrefetchProcessorNode node = toResultsTree(descriptor, prefetchTree, mainRows);
             List<Persistent> objects = node.getObjects();
-            updateResponse(mainRows, objects != null ? objects : new ArrayList<Persistent>(1));
+            updateResponse(mainRows, objects != null ? objects : new ArrayList<>(1));
 
             // apply POST_LOAD callback
             LifecycleCallbackRegistry callbackRegistry = context.getEntityResolver().getCallbackRegistry();
@@ -704,7 +704,7 @@ class DataDomainQueryAction implements QueryRouter, OperationObserver {
                 List<Object[]> rows, int position) {
 
             int len = rows.size();
-            List<DataRow> rowsColumn = new ArrayList<DataRow>(len);
+            List<DataRow> rowsColumn = new ArrayList<>(len);
             for (int i = 0; i < len; i++) {
                 rowsColumn.add((DataRow) rows.get(i)[position]);
             }
@@ -745,7 +745,7 @@ class DataDomainQueryAction implements QueryRouter, OperationObserver {
             // no conversions needed for scalar positions; reuse Object[]'s to
             // fill them
             // with resolved objects
-            List<PrefetchProcessorNode> segmentNodes = new ArrayList<PrefetchProcessorNode>(width);
+            List<PrefetchProcessorNode> segmentNodes = new ArrayList<>(width);
             for (int i = 0; i < width; i++) {
 
                 if (rsMapping.get(i) instanceof EntityResultSegment) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainSyncBucket.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainSyncBucket.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainSyncBucket.java
index 5fd097a..46e9fcd 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainSyncBucket.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainSyncBucket.java
@@ -19,13 +19,6 @@
 
 package org.apache.cayenne.access;
 
-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 org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.DataObject;
 import org.apache.cayenne.DataRow;
@@ -44,6 +37,13 @@ import org.apache.cayenne.reflect.PropertyException;
 import org.apache.cayenne.reflect.ToManyMapProperty;
 import org.apache.commons.collections.Factory;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
 /**
  * A superclass of batch query wrappers.
  * 
@@ -101,9 +101,8 @@ abstract class DataDomainSyncBucket {
 
     private void groupObjEntitiesBySpannedDbEntities() {
 
-        dbEntities = new ArrayList<DbEntity>(objectsByDescriptor.size());
-        descriptorsByDbEntity = new HashMap<DbEntity, Collection<DbEntityClassDescriptor>>(
-                objectsByDescriptor.size() * 2);
+        dbEntities = new ArrayList<>(objectsByDescriptor.size());
+        descriptorsByDbEntity = new HashMap<>(objectsByDescriptor.size() * 2);
 
         for (ClassDescriptor descriptor : objectsByDescriptor.keySet()) {
 
@@ -116,7 +115,7 @@ abstract class DataDomainSyncBucket {
                 Collection<DbEntityClassDescriptor> descriptors = descriptorsByDbEntity
                         .get(dbEntity);
                 if (descriptors == null) {
-                    descriptors = new ArrayList<DbEntityClassDescriptor>(1);
+                    descriptors = new ArrayList<>(1);
                     dbEntities.add(dbEntity);
                     descriptorsByDbEntity.put(dbEntity, descriptors);
                 }
@@ -142,7 +141,7 @@ abstract class DataDomainSyncBucket {
                             .get(dbEntity);
 
                     if (descriptors == null) {
-                        descriptors = new ArrayList<DbEntityClassDescriptor>(1);
+                        descriptors = new ArrayList<>(1);
                         dbEntities.add(dbEntity);
                         descriptorsByDbEntity.put(dbEntity, descriptors);
                     }
@@ -171,7 +170,7 @@ abstract class DataDomainSyncBucket {
         List<Persistent> objects = objectsByDescriptor.get(descriptor);
         if (objects == null) {
 
-            objects = new ArrayList<Persistent>();
+            objects = new ArrayList<>();
             objectsByDescriptor.put(descriptor, objects);
         }
 
@@ -187,8 +186,7 @@ abstract class DataDomainSyncBucket {
                     .getResultModifiedSnapshots();
             Collection<ObjectId> deletedIds = parent.getResultDeletedIds();
 
-            for (Map.Entry<ClassDescriptor, List<Persistent>> entry : objectsByDescriptor
-                    .entrySet()) {
+            for (Map.Entry<ClassDescriptor, List<Persistent>> entry : objectsByDescriptor.entrySet()) {
 
                 ClassDescriptor descriptor = entry.getKey();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/DbEntityClassDescriptor.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DbEntityClassDescriptor.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DbEntityClassDescriptor.java
index 077910d..87954ba 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DbEntityClassDescriptor.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DbEntityClassDescriptor.java
@@ -18,10 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.access;
 
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.DbRelationship;
@@ -29,6 +25,10 @@ import org.apache.cayenne.map.ObjAttribute;
 import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.reflect.ClassDescriptor;
 
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
 /**
  * A descriptor of a primary or secondary DbEntity for a given persistent class during
  * commit.
@@ -58,7 +58,7 @@ class DbEntityClassDescriptor {
                 if (object instanceof DbRelationship) {
 
                     if (pathFromMaster == null) {
-                        pathFromMaster = new ArrayList<DbRelationship>(2);
+                        pathFromMaster = new ArrayList<>(2);
                     }
 
                     pathFromMaster.add((DbRelationship) object);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/DbGenerator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DbGenerator.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DbGenerator.java
index 51d63ae..623331a 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DbGenerator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DbGenerator.java
@@ -19,21 +19,6 @@
 
 package org.apache.cayenne.access;
 
-import java.sql.Connection;
-import java.sql.Driver;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Map;
-
-import javax.sql.DataSource;
-
 import org.apache.cayenne.ashwood.AshwoodEntitySorter;
 import org.apache.cayenne.conn.DataSourceInfo;
 import org.apache.cayenne.datasource.DriverDataSource;
@@ -53,6 +38,20 @@ import org.apache.cayenne.validation.ValidationResult;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
+import javax.sql.DataSource;
+import java.sql.Connection;
+import java.sql.Driver;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.ListIterator;
+import java.util.Map;
+
 /**
  * Utility class that generates database schema based on Cayenne mapping. It is
  * a logical counterpart of DbLoader class.
@@ -207,7 +206,7 @@ public class DbGenerator {
 	 * current configuration.
 	 */
 	public List<String> configuredStatements() {
-		List<String> list = new ArrayList<String>();
+		List<String> list = new ArrayList<>();
 
 		if (shouldDropTables) {
 			ListIterator<DbEntity> it = dbEntitiesInInsertOrder.listIterator(dbEntitiesInInsertOrder.size());
@@ -283,7 +282,7 @@ public class DbGenerator {
 			}
 
 			// create tables
-			List<String> createdTables = new ArrayList<String>();
+			List<String> createdTables = new ArrayList<>();
 			if (shouldCreateTables) {
 				for (final DbEntity ent : dbEntitiesInInsertOrder) {
 
@@ -358,7 +357,7 @@ public class DbGenerator {
 	 * @since 3.0
 	 */
 	public List<String> createConstraintsQueries(DbEntity table) {
-		List<String> list = new ArrayList<String>();
+		List<String> list = new ArrayList<>();
 		for (final DbRelationship rel : table.getRelationships()) {
 
 			if (rel.isToMany()) {
@@ -486,8 +485,8 @@ public class DbGenerator {
 			excludedEntities = Collections.emptyList();
 		}
 
-		List<DbEntity> tables = new ArrayList<DbEntity>();
-		List<DbEntity> tablesWithAutoPk = new ArrayList<DbEntity>();
+		List<DbEntity> tables = new ArrayList<>();
+		List<DbEntity> tablesWithAutoPk = new ArrayList<>();
 
 		for (DbEntity nextEntity : map.getDbEntities()) {
 
@@ -527,7 +526,7 @@ public class DbGenerator {
 
 			// create a copy of the original PK list,
 			// since the list will be modified locally
-			List<DbAttribute> pkAttributes = new ArrayList<DbAttribute>(nextEntity.getPrimaryKeys());
+			List<DbAttribute> pkAttributes = new ArrayList<>(nextEntity.getPrimaryKeys());
 			while (pkAttributes.size() > 0 && relationships.hasNext()) {
 				DbRelationship nextRelationship = relationships.next();
 				if (!nextRelationship.isToMasterPK()) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/FlattenedArcKey.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/FlattenedArcKey.java b/cayenne-server/src/main/java/org/apache/cayenne/access/FlattenedArcKey.java
index d50c042..97e7ec8 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/FlattenedArcKey.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/FlattenedArcKey.java
@@ -19,13 +19,6 @@
 
 package org.apache.cayenne.access;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.DataRow;
 import org.apache.cayenne.ObjectId;
@@ -44,6 +37,13 @@ import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.util.HashCodeBuilder;
 import org.apache.cayenne.util.Util;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
  * A holder of flattened relationship modification data.
  * 
@@ -160,7 +160,7 @@ final class FlattenedArcKey {
 
 		StringBuilder sql = new StringBuilder("SELECT ");
 		Collection<DbAttribute> pk = joinEntity.getPrimaryKeys();
-		final List<DbAttribute> pkList = pk instanceof List ? (List<DbAttribute>) pk : new ArrayList<DbAttribute>(pk);
+		final List<DbAttribute> pkList = pk instanceof List ? (List<DbAttribute>) pk : new ArrayList<>(pk);
 
 		for (int i = 0; i < pkList.size(); i++) {
 
@@ -205,7 +205,7 @@ final class FlattenedArcKey {
 				if (!dataRows.isEmpty()) {
 					// decode results...
 
-					List<DataRow> fixedRows = new ArrayList<DataRow>(dataRows.size());
+					List<DataRow> fixedRows = new ArrayList<>(dataRows.size());
 					for (Object o : dataRows) {
 						DataRow row = (DataRow) o;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/HierarchicalObjectResolverNode.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/HierarchicalObjectResolverNode.java b/cayenne-server/src/main/java/org/apache/cayenne/access/HierarchicalObjectResolverNode.java
index f28d4a6..940567e 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/HierarchicalObjectResolverNode.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/HierarchicalObjectResolverNode.java
@@ -18,16 +18,16 @@
  ****************************************************************/
 package org.apache.cayenne.access;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.DataRow;
 import org.apache.cayenne.ObjectId;
 import org.apache.cayenne.Persistent;
 import org.apache.cayenne.reflect.ClassDescriptor;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
 class HierarchicalObjectResolverNode extends PrefetchObjectResolver {
 
     private PrefetchProcessorNode node;
@@ -42,10 +42,10 @@ class HierarchicalObjectResolverNode extends PrefetchObjectResolver {
     List<Persistent> objectsFromDataRows(List<? extends DataRow> rows) {
 
         if (rows == null || rows.size() == 0) {
-            return new ArrayList<Persistent>(1);
+            return new ArrayList<>(1);
         }
 
-        List<Persistent> results = new ArrayList<Persistent>(rows.size());
+        List<Persistent> results = new ArrayList<>(rows.size());
 
         for (DataRow row : rows) {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/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 7c66056..1e13ea8 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
@@ -19,16 +19,6 @@
 
 package org.apache.cayenne.access;
 
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Map;
-import java.util.NoSuchElementException;
-
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.Persistent;
 import org.apache.cayenne.ResultIterator;
@@ -40,6 +30,16 @@ import org.apache.cayenne.query.QueryMetadata;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.util.Util;
 
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+import java.util.ListIterator;
+import java.util.Map;
+import java.util.NoSuchElementException;
+
 /**
  * A synchronized list that serves as a container of DataObjects. It is returned
  * when a paged query is performed by DataContext. On creation, only the first
@@ -125,7 +125,7 @@ public class IncrementalFaultList<E> implements List<E>, Serializable {
 		this.helper = createHelper(metadata);
 		this.idWidth = metadata.getDbEntity().getPrimaryKeys().size();
 
-		List<Object> elementsUnsynced = new ArrayList<Object>();
+		List<Object> elementsUnsynced = new ArrayList<>();
 		fillIn(query, elementsUnsynced);
 		this.elements = Collections.synchronizedList(elementsUnsynced);
 
@@ -220,8 +220,8 @@ public class IncrementalFaultList<E> implements List<E>, Serializable {
 				toIndex = elements.size();
 			}
 
-			List<Expression> quals = new ArrayList<Expression>(pageSize);
-			List<Object> ids = new ArrayList<Object>(pageSize);
+			List<Expression> quals = new ArrayList<>(pageSize);
+			List<Object> ids = new ArrayList<>(pageSize);
 			for (int i = fromIndex; i < toIndex; i++) {
 				Object object = elements.get(i);
 				if (helper.unresolvedSuspect(object)) {
@@ -237,14 +237,14 @@ public class IncrementalFaultList<E> implements List<E>, Serializable {
 
 			// fetch the range of objects in fetchSize chunks
 			boolean fetchesDataRows = internalQuery.isFetchingDataRows();
-			List<Object> objects = new ArrayList<Object>(qualsSize);
+			List<Object> objects = new ArrayList<>(qualsSize);
 
 			int fetchSize = maxFetchSize > 0 ? maxFetchSize : Integer.MAX_VALUE;
 
 			int fetchEnd = Math.min(qualsSize, fetchSize);
 			int fetchBegin = 0;
 			while (fetchBegin < qualsSize) {
-				SelectQuery<Object> query = new SelectQuery<Object>(rootEntity, ExpressionFactory.joinExp(
+				SelectQuery<Object> query = new SelectQuery<>(rootEntity, ExpressionFactory.joinExp(
 						Expression.OR, quals.subList(fetchBegin, fetchEnd)));
 
 				query.setFetchingDataRows(fetchesDataRows);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/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 73b4f78..68b5be0 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
@@ -19,11 +19,6 @@
 
 package org.apache.cayenne.access;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.Fault;
 import org.apache.cayenne.ObjectId;
@@ -46,6 +41,11 @@ import org.apache.cayenne.reflect.ToManyProperty;
 import org.apache.cayenne.reflect.ToOneProperty;
 import org.apache.cayenne.util.Util;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+
 /**
  * A dynamic GraphDiff that represents a delta between object simple properties
  * at diff creation time and its current state.
@@ -252,7 +252,7 @@ class ObjectDiff extends NodeDiff {
 
         if (addDiff) {
             if (otherDiffs == null) {
-                otherDiffs = new ArrayList<NodeDiff>(3);
+                otherDiffs = new ArrayList<>(3);
             }
 
             otherDiffs.add(diff);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectResolver.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectResolver.java b/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectResolver.java
index e3c0fe4..9d55272 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectResolver.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectResolver.java
@@ -109,10 +109,10 @@ class ObjectResolver {
 	 */
 	List<Persistent> objectsFromDataRows(List<? extends DataRow> rows) {
 		if (rows == null || rows.size() == 0) {
-			return new ArrayList<Persistent>(1);
+			return new ArrayList<>(1);
 		}
 
-		List<Persistent> results = new ArrayList<Persistent>(rows.size());
+		List<Persistent> results = new ArrayList<>(rows.size());
 		for (DataRow row : rows) {
 			// nulls are possible here since 3.0 for soem varieties of EJBQL
 			results.add(objectFromDataRow(row));

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectStore.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectStore.java b/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectStore.java
index 77855f3..ad0fa23 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectStore.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectStore.java
@@ -19,15 +19,6 @@
 
 package org.apache.cayenne.access;
 
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.DataObject;
 import org.apache.cayenne.DataRow;
@@ -53,6 +44,15 @@ import org.apache.cayenne.reflect.PropertyVisitor;
 import org.apache.cayenne.reflect.ToManyProperty;
 import org.apache.cayenne.reflect.ToOneProperty;
 
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
 /**
  * ObjectStore stores objects using their ObjectId as a key. It works as a dedicated
  * object cache for a DataContext. Users rarely need to access ObjectStore directly, as
@@ -105,14 +105,14 @@ public class ObjectStore implements Serializable, SnapshotEventListener, GraphMa
         else {
             throw new CayenneRuntimeException("Object map is null.");
         }
-        this.changes = new HashMap<Object, ObjectDiff>();
+        this.changes = new HashMap<>();
     }
 
     /**
      * @since 3.0
      */
     void childContextSyncStarted() {
-        lifecycleEventInducedChanges = new ArrayList<GraphDiff>();
+        lifecycleEventInducedChanges = new ArrayList<>();
     }
 
     /**
@@ -285,7 +285,7 @@ public class ObjectStore implements Serializable, SnapshotEventListener, GraphMa
             return;
         }
 
-        Collection<ObjectId> ids = new ArrayList<ObjectId>(objects.size());
+        Collection<ObjectId> ids = new ArrayList<>(objects.size());
 
         Iterator it = objects.iterator();
         while (it.hasNext()) {
@@ -518,7 +518,7 @@ public class ObjectStore implements Serializable, SnapshotEventListener, GraphMa
      * Collection is returned by copy.
      */
     public synchronized List<Persistent> objectsInState(int state) {
-        List<Persistent> filteredObjects = new ArrayList<Persistent>();
+        List<Persistent> filteredObjects = new ArrayList<>();
 
         for (Persistent object : objectMap.values()) {
             if (object.getPersistenceState() == state) {