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:29 UTC

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

Repository: cayenne
Updated Branches:
  refs/heads/master 9319337c6 -> cee0b77d8


http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/LinkDataMapAction.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/LinkDataMapAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/LinkDataMapAction.java
index e9d3ddf..bd5e0ce 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/LinkDataMapAction.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/LinkDataMapAction.java
@@ -58,7 +58,7 @@ public class LinkDataMapAction extends CayenneAction {
 
         ProjectController mediator = getProjectController();
         DataChannelDescriptor dataChannelDescriptor = (DataChannelDescriptor) mediator.getProject().getRootNode();
-        Collection<DataNodeDescriptor> unlinkedNodes = new ArrayList<DataNodeDescriptor>();
+        Collection<DataNodeDescriptor> unlinkedNodes = new ArrayList<>();
 
         // unlink map from any nodes
         // Theoretically only one node may contain a datamap at each given time.

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/LinkDataMapsAction.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/LinkDataMapsAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/LinkDataMapsAction.java
index 79296a9..fef2f8e 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/LinkDataMapsAction.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/LinkDataMapsAction.java
@@ -56,7 +56,7 @@ public class LinkDataMapsAction extends CayenneAction {
         ProjectController mediator = getProjectController();
         DataChannelDescriptor dataChannelDescriptor = (DataChannelDescriptor) mediator.getProject().getRootNode();
 
-        Collection<String> linkedDataMaps = new ArrayList<String>();
+        Collection<String> linkedDataMaps = new ArrayList<>();
         DataNodeDescriptor dataNodeDescriptor = mediator.getCurrentDataNode();
         for (DataNodeDescriptor dataNodeDesc : dataChannelDescriptor.getNodeDescriptors()) {
             linkedDataMaps.addAll(dataNodeDesc.getDataMapNames());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/autorelationship/InferRelationshipsControllerBase.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/autorelationship/InferRelationshipsControllerBase.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/autorelationship/InferRelationshipsControllerBase.java
index fe92faf..fd7f59b 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/autorelationship/InferRelationshipsControllerBase.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/autorelationship/InferRelationshipsControllerBase.java
@@ -222,8 +222,7 @@ public class InferRelationshipsControllerBase extends CayenneController {
     }
 
     public List<InferredRelationship> getSelectedEntities() {
-        List<InferredRelationship> selected = new ArrayList<InferredRelationship>(
-                selectedEntities.size());
+        List<InferredRelationship> selected = new ArrayList<>(selectedEntities.size());
 
         for (InferredRelationship entity : inferredRelationships) {
             if (selectedEntities.contains(entity)) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorControllerBase.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorControllerBase.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorControllerBase.java
index 7f57a36..ad8c306 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorControllerBase.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorControllerBase.java
@@ -143,7 +143,7 @@ public abstract class CodeGeneratorControllerBase extends CayenneController {
 
     public List<Embeddable> getSelectedEmbeddables() {
 
-        List<Embeddable> selected = new ArrayList<Embeddable>(selectedEmbeddables.size());
+        List<Embeddable> selected = new ArrayList<>(selectedEmbeddables.size());
 
         for (Object classObj : classes) {
             if (classObj instanceof Embeddable
@@ -157,7 +157,7 @@ public abstract class CodeGeneratorControllerBase extends CayenneController {
     }
 
     public List<ObjEntity> getSelectedEntities() {
-        List<ObjEntity> selected = new ArrayList<ObjEntity>(selectedEntities.size());
+        List<ObjEntity> selected = new ArrayList<>(selectedEntities.size());
         for (Object classObj : classes) {
             if (classObj instanceof ObjEntity
                     && selectedEntities.contains(((ObjEntity) classObj).getName())) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModeController.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModeController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModeController.java
index 88781f6..0250f9c 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModeController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModeController.java
@@ -19,7 +19,17 @@
 
 package org.apache.cayenne.modeler.dialog.codegen;
 
-import java.awt.Component;
+import org.apache.cayenne.gen.ClassGenerationAction;
+import org.apache.cayenne.map.DataMap;
+import org.apache.cayenne.modeler.CodeTemplateManager;
+import org.apache.cayenne.modeler.dialog.pref.PreferenceDialog;
+import org.apache.cayenne.modeler.pref.DataMapDefaults;
+import org.apache.cayenne.swing.BindingBuilder;
+import org.apache.cayenne.swing.ObjectBinding;
+import org.apache.cayenne.util.Util;
+
+import javax.swing.*;
+import java.awt.*;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -30,17 +40,6 @@ import java.util.Map.Entry;
 import java.util.Set;
 import java.util.TreeMap;
 
-import javax.swing.DefaultComboBoxModel;
-
-import org.apache.cayenne.gen.ClassGenerationAction;
-import org.apache.cayenne.map.DataMap;
-import org.apache.cayenne.modeler.CodeTemplateManager;
-import org.apache.cayenne.modeler.dialog.pref.PreferenceDialog;
-import org.apache.cayenne.modeler.pref.DataMapDefaults;
-import org.apache.cayenne.swing.BindingBuilder;
-import org.apache.cayenne.swing.ObjectBinding;
-import org.apache.cayenne.util.Util;
-
 /**
  * A controller for the custom generation mode.
  */
@@ -188,14 +187,14 @@ public class CustomModeController extends GeneratorController {
 	protected void updateTemplates() {
 		this.templateManager = getApplication().getCodeTemplateManager();
 
-		List<String> customTemplates = new ArrayList<String>(templateManager.getCustomTemplates().keySet());
+		List<String> customTemplates = new ArrayList<>(templateManager.getCustomTemplates().keySet());
 		Collections.sort(customTemplates);
 
-		List<String> superTemplates = new ArrayList<String>(templateManager.getStandardSuperclassTemplates());
+		List<String> superTemplates = new ArrayList<>(templateManager.getStandardSuperclassTemplates());
 		Collections.sort(superTemplates);
 		superTemplates.addAll(customTemplates);
 
-		List<String> subTemplates = new ArrayList<String>(templateManager.getStandardSubclassTemplates());
+		List<String> subTemplates = new ArrayList<>(templateManager.getStandardSubclassTemplates());
 		Collections.sort(subTemplates);
 		subTemplates.addAll(customTemplates);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorController.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorController.java
index 0df2a1d..6cf1b31 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorController.java
@@ -158,7 +158,7 @@ public abstract class GeneratorController extends CayenneController {
         }
 
         // remove generic entities...
-        Collection<ObjEntity> selectedEntities = new ArrayList<ObjEntity>(getParentController().getSelectedEntities());
+        Collection<ObjEntity> selectedEntities = new ArrayList<>(getParentController().getSelectedEntities());
         Iterator<ObjEntity> it = selectedEntities.iterator();
         while (it.hasNext()) {
             if (it.next().isGeneric()) {
@@ -166,18 +166,18 @@ public abstract class GeneratorController extends CayenneController {
             }
         }
 
-        Collection<ClassGenerationAction> generators = new ArrayList<ClassGenerationAction>();
+        Collection<ClassGenerationAction> generators = new ArrayList<>();
         Collection<StandardPanelComponent> dataMapLines = ((GeneratorControllerPanel) getView()).getDataMapLines();
         for (DataMap map : getParentController().getDataMaps()) {
             ClassGenerationAction generator = newGenerator();
             generator.setArtifactsGenerationMode(mode);
             generator.setDataMap(map);
 
-            LinkedList<ObjEntity> objEntities = new LinkedList<ObjEntity>(map.getObjEntities());
+            LinkedList<ObjEntity> objEntities = new LinkedList<>(map.getObjEntities());
             objEntities.retainAll(selectedEntities);
             generator.addEntities(objEntities);
 
-            LinkedList<Embeddable> embeddables = new LinkedList<Embeddable>(map.getEmbeddables());
+            LinkedList<Embeddable> embeddables = new LinkedList<>(map.getEmbeddables());
             embeddables.retainAll(getParentController().getSelectedEmbeddables());
             generator.addEmbeddables(embeddables);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorControllerPanel.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorControllerPanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorControllerPanel.java
index 5e5340b..bb02345 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorControllerPanel.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorControllerPanel.java
@@ -36,7 +36,7 @@ public class GeneratorControllerPanel extends JPanel {
     protected JButton selectOutputFolder;
 
     public GeneratorControllerPanel() {
-        this.dataMapLines = new ArrayList<StandardPanelComponent>();
+        this.dataMapLines = new ArrayList<>();
         this.outputFolder = new JTextField();
         this.selectOutputFolder = new JButton("Select");
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOModelProcessor.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOModelProcessor.java b/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOModelProcessor.java
index f3d858d..64eabd9 100644
--- a/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOModelProcessor.java
+++ b/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOModelProcessor.java
@@ -721,7 +721,7 @@ public class EOModelProcessor {
 		// iterate over a copy of the collection, since in case of
 		// reflexive relationships, we may modify source entity relationship map
 
-		for (DbRelationship relationship : new ArrayList<DbRelationship>(dbEntity.getRelationships())) {
+		for (DbRelationship relationship : new ArrayList<>(dbEntity.getRelationships())) {
 
 			if (relationship.getReverseRelationship() == null) {
 				DbRelationship reverse = relationship.createReverseRelationship();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOQuery.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOQuery.java b/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOQuery.java
index 8400686..b37d10c 100644
--- a/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOQuery.java
+++ b/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOQuery.java
@@ -402,7 +402,7 @@ public class EOQuery<T> extends SelectQuery<T> {
 					// get the list of children
 					List children = (List) qualifierMap.get("qualifiers");
 					if (children != null) {
-						ArrayList<Expression> childExpressions = new ArrayList<Expression>();
+						ArrayList<Expression> childExpressions = new ArrayList<>();
 						// build an Expression for each child
 						Iterator<Map> it = children.iterator();
 						while (it.hasNext()) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/parser/DefaultPlistDataStructureFactory.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/parser/DefaultPlistDataStructureFactory.java b/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/parser/DefaultPlistDataStructureFactory.java
index a035fad..40ba352 100644
--- a/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/parser/DefaultPlistDataStructureFactory.java
+++ b/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/parser/DefaultPlistDataStructureFactory.java
@@ -19,18 +19,18 @@
 
 package org.apache.cayenne.wocompat.parser;
 
+import org.apache.cayenne.wocompat.PlistDataStructureFactory;
+
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.cayenne.wocompat.PlistDataStructureFactory;
-
 class DefaultPlistDataStructureFactory implements PlistDataStructureFactory {
 
 	@Override
 	public Collection<Object> createCollection(String keyPath) {
-		return new ArrayList<Object>();
+		return new ArrayList<>();
 	}
 
 	@Override


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

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectStoreGraphDiff.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectStoreGraphDiff.java b/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectStoreGraphDiff.java
index 9a0ffba..534a9cc 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectStoreGraphDiff.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectStoreGraphDiff.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.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
 import org.apache.cayenne.ObjectId;
 import org.apache.cayenne.PersistenceState;
 import org.apache.cayenne.Persistent;
@@ -37,6 +30,13 @@ import org.apache.cayenne.graph.NodeDiff;
 import org.apache.cayenne.validation.ValidationException;
 import org.apache.cayenne.validation.ValidationResult;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+
 /**
  * A GraphDiff facade for the ObjectStore changes. Provides a way for the lower
  * layers of the access stack to speed up processing of presorted ObjectStore
@@ -83,7 +83,7 @@ class ObjectStoreGraphDiff implements GraphDiff {
 
                 if (diff.getObject() instanceof Validating) {
                     if (objectsToValidate == null) {
-                        objectsToValidate = new ArrayList<Validating>();
+                        objectsToValidate = new ArrayList<>();
                     }
 
                     objectsToValidate.add((Validating) diff.getObject());
@@ -158,7 +158,7 @@ class ObjectStoreGraphDiff implements GraphDiff {
 			Map<Object, ObjectDiff> changes = getChangesByObjectId();
 
 			if (!changes.isEmpty()) {
-				List<NodeDiff> allChanges = new ArrayList<NodeDiff>(changes.size() * 2);
+				List<NodeDiff> allChanges = new ArrayList<>(changes.size() * 2);
 
 				for (final ObjectDiff objectDiff : changes.values()) {
 					objectDiff.appendDiffs(allChanges);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/PrefetchProcessorJointNode.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/PrefetchProcessorJointNode.java b/cayenne-server/src/main/java/org/apache/cayenne/access/PrefetchProcessorJointNode.java
index 7022dc6..e45cc9f 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/PrefetchProcessorJointNode.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/PrefetchProcessorJointNode.java
@@ -79,8 +79,8 @@ class PrefetchProcessorJointNode extends PrefetchProcessorNode {
         }
 
         objects = new ArrayList(capacity);
-        resolved = new HashMap<Map, Persistent>(capacity);
-        resolvedRows = new ArrayList<DataRow>(capacity);
+        resolved = new HashMap<>(capacity);
+        resolvedRows = new ArrayList<>(capacity);
         buildRowMapping();
         buildPKIndex();
     }
@@ -103,7 +103,7 @@ class PrefetchProcessorJointNode extends PrefetchProcessorNode {
         // likely be an indicator of an outer join ... and considering SQLTemplate,
         // this is reasonable to expect...
 
-        Map<String, Object> id = new TreeMap<String, Object>();
+        Map<String, Object> id = new TreeMap<>();
         for (int idIndex : idIndices) {
             Object value = flatRow.get(columns[idIndex].getDataRowKey());
             id.put(columns[idIndex].getName(), value);
@@ -152,7 +152,7 @@ class PrefetchProcessorJointNode extends PrefetchProcessorNode {
      * Configures row columns mapping for this node entity.
      */
     private void buildRowMapping() {
-        final Map<String, ColumnDescriptor> targetSource = new TreeMap<String, ColumnDescriptor>();
+        final Map<String, ColumnDescriptor> targetSource = new TreeMap<>();
 
         // build a DB path .. find parent node that terminates the joint group...
         PrefetchTreeNode jointRoot = this;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/ResultScanParentAttachmentStrategy.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/ResultScanParentAttachmentStrategy.java b/cayenne-server/src/main/java/org/apache/cayenne/access/ResultScanParentAttachmentStrategy.java
index da125c1..cbbe4e1 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/ResultScanParentAttachmentStrategy.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/ResultScanParentAttachmentStrategy.java
@@ -18,17 +18,17 @@
  ****************************************************************/
 package org.apache.cayenne.access;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
 import org.apache.cayenne.DataRow;
 import org.apache.cayenne.Persistent;
 import org.apache.cayenne.map.DbJoin;
 import org.apache.cayenne.map.DbRelationship;
 import org.apache.cayenne.map.ObjRelationship;
 
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
  * Locates parents by checking for the child PK in the parent DataRow under FK.
  */
@@ -76,7 +76,7 @@ class ResultScanParentAttachmentStrategy implements ParentAttachmentStrategy {
 
         if (joins.length > 1) {
 
-            List<Object> values = new ArrayList<Object>(joins.length);
+            List<Object> values = new ArrayList<>(joins.length);
 
             for (int j = 0; j < joins.length; j++) {
                 values.add(row.get(joins[j].getTargetName()));
@@ -120,7 +120,7 @@ class ResultScanParentAttachmentStrategy implements ParentAttachmentStrategy {
 
             if (joins.length > 1) {
 
-                List<Object> values = new ArrayList<Object>(joins.length);
+                List<Object> values = new ArrayList<>(joins.length);
 
                 for (int j = 0; j < joins.length; j++) {
                     values.add(row.get(joins[j].getSourceName()));
@@ -134,7 +134,7 @@ class ResultScanParentAttachmentStrategy implements ParentAttachmentStrategy {
 
             List<Persistent> parents = partitionByChild.get(key);
             if (parents == null) {
-                parents = new ArrayList<Persistent>();
+                parents = new ArrayList<>();
                 partitionByChild.put(key, parents);
             }
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/TransactionResultIteratorDecorator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/TransactionResultIteratorDecorator.java b/cayenne-server/src/main/java/org/apache/cayenne/access/TransactionResultIteratorDecorator.java
index 2b62b1d..d7f7f24 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/TransactionResultIteratorDecorator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/TransactionResultIteratorDecorator.java
@@ -81,7 +81,7 @@ final class TransactionResultIteratorDecorator<T> implements ResultIterator<T> {
      */
     @Override
     public List<T> allRows() {
-        List<T> list = new ArrayList<T>();
+        List<T> list = new ArrayList<>();
 
         while (hasNextRow()) {
             list.add(nextRow());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/dbsync/SchemaAnalyzer.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/dbsync/SchemaAnalyzer.java b/cayenne-server/src/main/java/org/apache/cayenne/access/dbsync/SchemaAnalyzer.java
index 4cd6b56..dbe1caa 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/dbsync/SchemaAnalyzer.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/dbsync/SchemaAnalyzer.java
@@ -18,6 +18,9 @@
  ****************************************************************/
 package org.apache.cayenne.access.dbsync;
 
+import org.apache.cayenne.map.DbAttribute;
+import org.apache.cayenne.map.DbEntity;
+
 import java.sql.DatabaseMetaData;
 import java.sql.ResultSet;
 import java.sql.SQLException;
@@ -28,9 +31,6 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.cayenne.map.DbAttribute;
-import org.apache.cayenne.map.DbEntity;
-
 /**
  * @since 3.0
  */
@@ -165,7 +165,7 @@ class SchemaAnalyzer {
 		}
 		for (String schema : schemas) {
 
-			Collection<String> tableInSchema = new ArrayList<String>();
+			Collection<String> tableInSchema = new ArrayList<>();
 			try (ResultSet tables = md.getTables(null, schema, null, null);) {
 				while (tables.next()) {
 					String name = tables.getString("TABLE_NAME");
@@ -190,7 +190,7 @@ class SchemaAnalyzer {
 						}
 
 					} else {
-						Collection<String> sc = new ArrayList<String>();
+						Collection<String> sc = new ArrayList<>();
 						sc.add(schema);
 						nameSchemaMap.put(name, sc);
 					}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/DistinctResultIterator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/DistinctResultIterator.java b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/DistinctResultIterator.java
index 8f83ccc..4cc0bb6 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/DistinctResultIterator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/DistinctResultIterator.java
@@ -18,6 +18,12 @@
  ****************************************************************/
 package org.apache.cayenne.access.jdbc;
 
+import org.apache.cayenne.DataRow;
+import org.apache.cayenne.ResultIterator;
+import org.apache.cayenne.map.DbAttribute;
+import org.apache.cayenne.map.DbEntity;
+import org.apache.cayenne.util.ResultIteratorIterator;
+
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -27,12 +33,6 @@ import java.util.Map;
 import java.util.NoSuchElementException;
 import java.util.Set;
 
-import org.apache.cayenne.DataRow;
-import org.apache.cayenne.ResultIterator;
-import org.apache.cayenne.map.DbAttribute;
-import org.apache.cayenne.map.DbEntity;
-import org.apache.cayenne.util.ResultIteratorIterator;
-
 /**
  * A ResultIterator that does in-memory filtering of rows to return only
  * distinct rows. Distinct comparison is done by comparing ObjectIds created
@@ -94,7 +94,7 @@ public class DistinctResultIterator<T> implements ResultIterator<T> {
      */
     @Override
     public List<T> allRows() {
-        List<T> list = new ArrayList<T>();
+        List<T> list = new ArrayList<>();
 
         while (this.hasNextRow()) {
             list.add(nextRow());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/JDBCResultIterator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/JDBCResultIterator.java b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/JDBCResultIterator.java
index a5c494f..ffa1ad3 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/JDBCResultIterator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/JDBCResultIterator.java
@@ -19,6 +19,11 @@
 
 package org.apache.cayenne.access.jdbc;
 
+import org.apache.cayenne.CayenneRuntimeException;
+import org.apache.cayenne.ResultIterator;
+import org.apache.cayenne.access.jdbc.reader.RowReader;
+import org.apache.cayenne.util.ResultIteratorIterator;
+
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
@@ -27,11 +32,6 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.NoSuchElementException;
 
-import org.apache.cayenne.CayenneRuntimeException;
-import org.apache.cayenne.ResultIterator;
-import org.apache.cayenne.access.jdbc.reader.RowReader;
-import org.apache.cayenne.util.ResultIteratorIterator;
-
 /**
  * A ResultIterator over the underlying JDBC ResultSet.
  * 
@@ -74,7 +74,7 @@ public class JDBCResultIterator<T> implements ResultIterator<T> {
      */
     @Override
     public List<T> allRows() {
-        List<T> list = new ArrayList<T>();
+        List<T> list = new ArrayList<>();
 
         while (hasNextRow()) {
             list.add(nextRow());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/LimitResultIterator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/LimitResultIterator.java b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/LimitResultIterator.java
index e0d5503..e2f03ce 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/LimitResultIterator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/LimitResultIterator.java
@@ -18,15 +18,15 @@
  ****************************************************************/
 package org.apache.cayenne.access.jdbc;
 
+import org.apache.cayenne.ResultIterator;
+import org.apache.cayenne.util.ResultIteratorIterator;
+
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.NoSuchElementException;
 
-import org.apache.cayenne.ResultIterator;
-import org.apache.cayenne.util.ResultIteratorIterator;
-
 /**
  * @since 3.0
  */
@@ -89,7 +89,7 @@ public class LimitResultIterator<T> implements ResultIterator<T> {
     @Override
     public List<T> allRows() {
 
-        List<T> list = new ArrayList<T>();
+        List<T> list = new ArrayList<>();
 
         while (hasNextRow()) {
             list.add(nextRow());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLTemplateAction.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLTemplateAction.java b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLTemplateAction.java
index 876c77e..eea8470 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLTemplateAction.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLTemplateAction.java
@@ -19,19 +19,6 @@
 
 package org.apache.cayenne.access.jdbc;
 
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
 import org.apache.cayenne.CayenneException;
 import org.apache.cayenne.DataRow;
 import org.apache.cayenne.ResultIterator;
@@ -53,6 +40,19 @@ import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.util.Util;
 import org.apache.commons.collections.IteratorUtils;
 
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
 /**
  * Implements a strategy for execution of SQLTemplates.
  * 
@@ -103,7 +103,7 @@ public class SQLTemplateAction implements SQLAction {
 		}
 
 		boolean loggable = dataNode.getJdbcEventLogger().isLoggable();
-		List<Number> counts = new ArrayList<Number>();
+		List<Number> counts = new ArrayList<>();
 
 		// bind either positional or named parameters;
 		// for legacy reasons named parameters are processed as a batch.. this

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.java b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.java
index 3391094..8776516 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.java
@@ -18,13 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.access.jdbc.reader;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.access.jdbc.ColumnDescriptor;
 import org.apache.cayenne.access.jdbc.RowDescriptor;
@@ -40,6 +33,13 @@ import org.apache.cayenne.query.QueryMetadata;
 import org.apache.cayenne.query.ScalarResultSegment;
 import org.apache.cayenne.reflect.ClassDescriptor;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+
 /**
  * @since 4.0
  */
@@ -185,7 +185,7 @@ public class DefaultRowReaderFactory implements RowReaderFactory {
 				Collection<ColumnOverride> overrides = columnOverrides.get(entity.getName());
 
 				if (overrides == null) {
-					overrides = new ArrayList<ColumnOverride>(3);
+					overrides = new ArrayList<>(3);
 					columnOverrides.put(entity.getName(), overrides);
 				}
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLConditionTranslator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLConditionTranslator.java b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLConditionTranslator.java
index 8f6b0be..11fa179 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLConditionTranslator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLConditionTranslator.java
@@ -18,13 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.access.translator.ejbql;
 
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
 import org.apache.cayenne.ObjectId;
 import org.apache.cayenne.Persistent;
 import org.apache.cayenne.dba.QuotingStrategy;
@@ -54,6 +47,13 @@ import org.apache.cayenne.reflect.AttributeProperty;
 import org.apache.cayenne.reflect.ClassDescriptor;
 import org.apache.cayenne.reflect.PropertyDescriptor;
 
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
 /**
  * @since 3.0
  */
@@ -68,7 +68,7 @@ public class EJBQLConditionTranslator extends EJBQLBaseVisitor {
 
     protected void addMultiColumnOperand(EJBQLMultiColumnOperand operand) {
         if (multiColumnOperands == null) {
-            multiColumnOperands = new ArrayList<EJBQLMultiColumnOperand>(2);
+            multiColumnOperands = new ArrayList<>(2);
         }
 
         multiColumnOperands.add(operand);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLTranslationContext.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLTranslationContext.java b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLTranslationContext.java
index 78adf11..2f5e58d 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLTranslationContext.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLTranslationContext.java
@@ -18,14 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.access.translator.ejbql;
 
-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.dba.QuotingStrategy;
 import org.apache.cayenne.ejbql.EJBQLCompiledExpression;
 import org.apache.cayenne.ejbql.EJBQLException;
@@ -39,6 +31,14 @@ import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.query.ScalarResultSegment;
 import org.apache.cayenne.reflect.ClassDescriptor;
 
+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;
+
 /**
  * A context used for translating of EJBQL to SQL.
  * 
@@ -89,11 +89,11 @@ public class EJBQLTranslationContext {
 
         // buffer stack will hold named buffers during translation in the order they were
         // requested
-        this.bufferStack = new ArrayList<StringBuilder>();
+        this.bufferStack = new ArrayList<>();
 
         // buffer chain will hold named and unnamed buffers in the order they should be
         // concatenated
-        this.bufferChain = new ArrayList<StringBuilder>();
+        this.bufferChain = new ArrayList<>();
 
         stackTop = new StringBuilder();
         bufferChain.add(stackTop);
@@ -167,10 +167,10 @@ public class EJBQLTranslationContext {
             }
             else {
                 DbRelationship last = incoming.get(incoming.size() - 1);
-                entity = (DbEntity) last.getTargetEntity();
+                entity = last.getTargetEntity();
             }
 
-            incoming = new ArrayList<DbRelationship>(incoming);
+            incoming = new ArrayList<>(incoming);
 
             Iterator<?> it = entity.resolvePathComponents(id.getDbPath());
             while (it.hasNext()) {
@@ -351,7 +351,7 @@ public class EJBQLTranslationContext {
     List<String> bindParameters(Object value) {
         if(Collection.class.isAssignableFrom(value.getClass())) {
             Iterator<?> parameterValueIterator = ((Collection<?>) value).iterator();
-            List<String> result = new ArrayList<String>();
+            List<String> result = new ArrayList<>();
 
             while(parameterValueIterator.hasNext()) {
                 result.add(bindParameter(parameterValueIterator.next()));

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/translator/procedure/ProcedureTranslator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/procedure/ProcedureTranslator.java b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/procedure/ProcedureTranslator.java
index c5c04f9..f919a8b 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/procedure/ProcedureTranslator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/procedure/ProcedureTranslator.java
@@ -147,7 +147,7 @@ public class ProcedureTranslator {
 		long t1 = System.currentTimeMillis();
 
 		this.callParams = getProcedure().getCallParameters();
-		this.values = new ArrayList<Object>(callParams.size());
+		this.values = new ArrayList<>(callParams.size());
 
 		initValues();
 		String sqlStr = createSqlString();
@@ -156,7 +156,7 @@ public class ProcedureTranslator {
 			// need to convert OUT/VOID parameters to loggable strings
 			long time = System.currentTimeMillis() - t1;
 
-			List<Object> loggableParameters = new ArrayList<Object>(values.size());
+			List<Object> loggableParameters = new ArrayList<>(values.size());
 			for (Object val : values) {
 				if (val instanceof NotInParam) {
 					val = val.toString();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/DefaultSelectTranslator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/DefaultSelectTranslator.java b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/DefaultSelectTranslator.java
index 5e67b21..22f1ed6 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/DefaultSelectTranslator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/DefaultSelectTranslator.java
@@ -18,16 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.access.translator.select;
 
-import java.sql.Types;
-import java.util.ArrayList;
-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.access.jdbc.ColumnDescriptor;
 import org.apache.cayenne.dba.DbAdapter;
@@ -60,6 +50,16 @@ import org.apache.cayenne.util.CayenneMapEntry;
 import org.apache.cayenne.util.EqualsBuilder;
 import org.apache.cayenne.util.HashCodeBuilder;
 
+import java.sql.Types;
+import java.util.ArrayList;
+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;
+
 /**
  * @since 4.0
  */
@@ -149,7 +149,7 @@ public class DefaultSelectTranslator extends QueryAssembler implements SelectTra
 		}
 
 		// convert ColumnDescriptors to column names
-		List<String> selectColumnExpList = new ArrayList<String>();
+		List<String> selectColumnExpList = new ArrayList<>();
 		for (ColumnDescriptor column : resultColumns) {
 			String fullName = strategy.quotedIdentifier(dataMap, column.getNamePrefix(), column.getName());
 			selectColumnExpList.add(fullName);
@@ -285,9 +285,9 @@ public class DefaultSelectTranslator extends QueryAssembler implements SelectTra
 
 	protected List<ColumnDescriptor> buildResultColumns() {
 
-		this.defaultAttributesByColumn = new HashMap<ColumnDescriptor, ObjAttribute>();
+		this.defaultAttributesByColumn = new HashMap<>();
 
-		List<ColumnDescriptor> columns = new ArrayList<ColumnDescriptor>();
+		List<ColumnDescriptor> columns = new ArrayList<>();
 		SelectQuery<?> query = getSelectQuery();
 
 		if (query.getRoot() instanceof DbEntity) {
@@ -303,7 +303,7 @@ public class DefaultSelectTranslator extends QueryAssembler implements SelectTra
 
 	<T> List<ColumnDescriptor> appendDbEntityColumns(List<ColumnDescriptor> columns, SelectQuery<T> query) {
 
-		Set<ColumnTracker> attributes = new HashSet<ColumnTracker>();
+		Set<ColumnTracker> attributes = new HashSet<>();
 
 		DbEntity table = getQueryMetadata().getDbEntity();
 		for (DbAttribute dba : table.getAttributes()) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/JoinTreeNode.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/JoinTreeNode.java b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/JoinTreeNode.java
index edf09cc..fc80fa3 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/JoinTreeNode.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/JoinTreeNode.java
@@ -18,14 +18,14 @@
  ****************************************************************/
 package org.apache.cayenne.access.translator.select;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-
 import org.apache.cayenne.map.DbRelationship;
 import org.apache.cayenne.map.JoinType;
 import org.apache.cayenne.util.Util;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+
 /**
  * @since 3.0
  */
@@ -79,7 +79,7 @@ public final class JoinTreeNode {
             String alias) {
 
         if (children == null) {
-            children = new ArrayList<JoinTreeNode>(4);
+            children = new ArrayList<>(4);
         }
         else {
             for (JoinTreeNode child : children) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/OrderingTranslator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/OrderingTranslator.java b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/OrderingTranslator.java
index 4a16678..7a7ba4f 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/OrderingTranslator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/OrderingTranslator.java
@@ -19,22 +19,22 @@
 
 package org.apache.cayenne.access.translator.select;
 
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.exp.Expression;
 import org.apache.cayenne.query.Ordering;
 import org.apache.cayenne.query.Query;
 import org.apache.cayenne.query.SelectQuery;
 
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
 /**
  * Translates query ordering to SQL.
  */
 public class OrderingTranslator extends QueryAssemblerHelper {
 
-	protected List<String> orderByColumnList = new ArrayList<String>();
+	protected List<String> orderByColumnList = new ArrayList<>();
 
 	public OrderingTranslator(QueryAssembler queryAssembler) {
 		super(queryAssembler);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/QueryAssembler.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/QueryAssembler.java b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/QueryAssembler.java
index 03949c6..f026823 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/QueryAssembler.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/QueryAssembler.java
@@ -55,7 +55,7 @@ public abstract class QueryAssembler {
 		this.adapter = adapter;
 		this.query = query;
 		this.queryMetadata = query.getMetaData(entityResolver);
-		this.bindings = new ArrayList<DbAttributeBinding>();
+		this.bindings = new ArrayList<>();
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/access/util/DefaultOperationObserver.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/util/DefaultOperationObserver.java b/cayenne-server/src/main/java/org/apache/cayenne/access/util/DefaultOperationObserver.java
index 217cf8e..e44df45 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/util/DefaultOperationObserver.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/util/DefaultOperationObserver.java
@@ -19,17 +19,17 @@
 
 package org.apache.cayenne.access.util;
 
+import org.apache.cayenne.ResultIterator;
+import org.apache.cayenne.access.OperationObserver;
+import org.apache.cayenne.query.Query;
+import org.apache.cayenne.util.Util;
+
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.cayenne.ResultIterator;
-import org.apache.cayenne.access.OperationObserver;
-import org.apache.cayenne.query.Query;
-import org.apache.cayenne.util.Util;
-
 /**
  * Simple implementation of OperationObserver interface. Useful as a superclass
  * of other implementations of OperationObserver. This implementation only
@@ -42,8 +42,8 @@ import org.apache.cayenne.util.Util;
  */
 public class DefaultOperationObserver implements OperationObserver {
 
-    protected List<Throwable> globalExceptions = new ArrayList<Throwable>();
-    protected Map<Query, Throwable> queryExceptions = new HashMap<Query, Throwable>();
+    protected List<Throwable> globalExceptions = new ArrayList<>();
+    protected Map<Query, Throwable> queryExceptions = new HashMap<>();
 
     /**
      * Prints the information about query and global exceptions.

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/ashwood/AshwoodEntitySorter.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/ashwood/AshwoodEntitySorter.java b/cayenne-server/src/main/java/org/apache/cayenne/ashwood/AshwoodEntitySorter.java
index 1f3a16c..192e342 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/ashwood/AshwoodEntitySorter.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/ashwood/AshwoodEntitySorter.java
@@ -218,7 +218,7 @@ public class AshwoodEntitySorter implements EntitySorter {
 			reflexiveRelNames[i] = (objRel != null ? objRel.getName() : null);
 		}
 
-		List<Persistent> sorted = new ArrayList<Persistent>(size);
+		List<Persistent> sorted = new ArrayList<>(size);
 
 		Digraph<Persistent, Boolean> objectDependencyGraph = new MapDigraph<>();
 		Object[] masters = new Object[reflexiveRelNames.length];

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/ashwood/graph/StrongConnection.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/ashwood/graph/StrongConnection.java b/cayenne-server/src/main/java/org/apache/cayenne/ashwood/graph/StrongConnection.java
index 62dbddd..756b1b3 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/ashwood/graph/StrongConnection.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/ashwood/graph/StrongConnection.java
@@ -59,6 +59,11 @@
  */
 package org.apache.cayenne.ashwood.graph;
 
+import org.apache.commons.collections.ArrayStack;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.collections.Predicate;
+import org.apache.commons.collections.functors.TruePredicate;
+
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -68,11 +73,6 @@ import java.util.Iterator;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.commons.collections.ArrayStack;
-import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.collections.Predicate;
-import org.apache.commons.collections.functors.TruePredicate;
-
 /**
  * @since 3.1
  */
@@ -153,7 +153,7 @@ public class StrongConnection<E, V> implements Iterator<Collection<E>> {
 					} else {
 						if (contractedArc.size() == 1) {
 							Collection<V> tmp = contractedArc;
-							contractedArc = new ArrayList<V>();
+							contractedArc = new ArrayList<>();
 							contractedArc.addAll(tmp);
 							contractedDigraph.putArc(origin, destination, contractedArc);
 						}
@@ -201,7 +201,7 @@ public class StrongConnection<E, V> implements Iterator<Collection<E>> {
 		Collection<E> component = Collections.singletonList(root);
 		boolean singleton = true;
 		if (reverseDfs == null)
-			reverseDfs = new DepthFirstSearch<E>(reverseDigraph, root);
+			reverseDfs = new DepthFirstSearch<>(reverseDigraph, root);
 		else
 			reverseDfs.reset(root);
 		while (reverseDfs.hasNext()) {
@@ -209,7 +209,7 @@ public class StrongConnection<E, V> implements Iterator<Collection<E>> {
 			if (vertex != root) {
 				if (singleton) {
 					Collection<E> tmp = component;
-					component = new ArrayList<E>();
+					component = new ArrayList<>();
 					component.addAll(tmp);
 					singleton = false;
 				}
@@ -223,7 +223,7 @@ public class StrongConnection<E, V> implements Iterator<Collection<E>> {
 
 	private class DFSSeenVerticesPredicate implements Predicate {
 
-		private Set<E> seenVertices = new HashSet<E>();
+		private Set<E> seenVertices = new HashSet<>();
 
 		@Override
 		public boolean evaluate(Object vertex) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/configuration/DataNodeDescriptor.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/configuration/DataNodeDescriptor.java b/cayenne-server/src/main/java/org/apache/cayenne/configuration/DataNodeDescriptor.java
index e3c4aef..7192d0d 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/configuration/DataNodeDescriptor.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/configuration/DataNodeDescriptor.java
@@ -63,7 +63,7 @@ public class DataNodeDescriptor implements ConfigurationNode, XMLSerializable,
     }
 
     public DataNodeDescriptor(String name) {
-        this.dataMapNames = new ArrayList<String>();
+        this.dataMapNames = new ArrayList<>();
         this.name = name;
     }
 
@@ -116,7 +116,7 @@ public class DataNodeDescriptor implements ConfigurationNode, XMLSerializable,
 
         if (!dataMapNames.isEmpty()) {
 
-            List<String> names = new ArrayList<String>(dataMapNames);
+            List<String> names = new ArrayList<>(dataMapNames);
             Collections.sort(names);
 
             for (String mapName : names) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder.java b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder.java
index 19938b5..8c60206 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder.java
@@ -92,8 +92,8 @@ public class ServerRuntimeBuilder {
     @Deprecated
     // TODO make private once we are comfortable with removal of the deprecated API
     public ServerRuntimeBuilder(String name) {
-        this.configs = new LinkedHashSet<String>();
-        this.modules = new ArrayList<Module>();
+        this.configs = new LinkedHashSet<>();
+        this.modules = new ArrayList<>();
         this.name = name;
         this.autoLoadModules = true;
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/configuration/web/CayenneFilter.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/configuration/web/CayenneFilter.java b/cayenne-server/src/main/java/org/apache/cayenne/configuration/web/CayenneFilter.java
index 12226a1..f43fc00 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/configuration/web/CayenneFilter.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/configuration/web/CayenneFilter.java
@@ -18,9 +18,10 @@
  ****************************************************************/
 package org.apache.cayenne.configuration.web;
 
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
+import org.apache.cayenne.configuration.CayenneRuntime;
+import org.apache.cayenne.configuration.server.ServerModule;
+import org.apache.cayenne.configuration.server.ServerRuntime;
+import org.apache.cayenne.di.Module;
 
 import javax.servlet.Filter;
 import javax.servlet.FilterChain;
@@ -29,11 +30,9 @@ import javax.servlet.ServletContext;
 import javax.servlet.ServletException;
 import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
-
-import org.apache.cayenne.configuration.CayenneRuntime;
-import org.apache.cayenne.configuration.server.ServerModule;
-import org.apache.cayenne.configuration.server.ServerRuntime;
-import org.apache.cayenne.di.Module;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
 
 /**
  * A filter that creates a Cayenne server runtime, possibly including custom modules. By
@@ -86,7 +85,7 @@ public class CayenneFilter implements Filter {
      * @since 4.0
      */
     protected Collection<Module> getAdditionalModules() {
-		return new ArrayList<Module>();
+		return new ArrayList<>();
 	}
 
     protected void checkAlreadyConfigured(ServletContext context) throws ServletException {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/configuration/web/WebConfiguration.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/configuration/web/WebConfiguration.java b/cayenne-server/src/main/java/org/apache/cayenne/configuration/web/WebConfiguration.java
index 40bffdc..f349ac7 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/configuration/web/WebConfiguration.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/configuration/web/WebConfiguration.java
@@ -18,6 +18,13 @@
  ****************************************************************/
 package org.apache.cayenne.configuration.web;
 
+import org.apache.cayenne.di.Module;
+import org.apache.cayenne.util.Util;
+
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -28,14 +35,6 @@ import java.util.Map;
 import java.util.Set;
 import java.util.StringTokenizer;
 
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-
-import org.apache.cayenne.di.Module;
-import org.apache.cayenne.util.Util;
-
 /**
  * A class that provides access to common Cayenne web configuration parameters retrieved
  * either from a FilterConfig or a ServletConfig configuration.
@@ -111,8 +110,8 @@ public class WebConfiguration {
     public Collection<Module> createModules(Module... standardModules)
             throws ServletException {
 
-        Set<String> existingModules = new HashSet<String>();
-        Collection<Module> modules = new ArrayList<Module>();
+        Set<String> existingModules = new HashSet<>();
+        Collection<Module> modules = new ArrayList<>();
 
         if (standardModules != null) {
             for (Module module : standardModules) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcPkGenerator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcPkGenerator.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcPkGenerator.java
index 9e159d2..0187bf8 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcPkGenerator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcPkGenerator.java
@@ -88,7 +88,7 @@ public class JdbcPkGenerator implements PkGenerator {
 	}
 
 	public List<String> createAutoPkStatements(List<DbEntity> dbEntities) {
-		List<String> list = new ArrayList<String>(dbEntities.size() + 2);
+		List<String> list = new ArrayList<>(dbEntities.size() + 2);
 
 		list.add(pkTableCreateString());
 		list.add(pkDeleteString(dbEntities));
@@ -110,7 +110,7 @@ public class JdbcPkGenerator implements PkGenerator {
 	}
 
 	public List<String> dropAutoPkStatements(List<DbEntity> dbEntities) {
-		List<String> list = new ArrayList<String>(1);
+		List<String> list = new ArrayList<>(1);
 		list.add(dropAutoPkString());
 		return list;
 	}
@@ -272,7 +272,7 @@ public class JdbcPkGenerator implements PkGenerator {
 				+ "WHERE TABLE_NAME = '" + entity.getName() + '\'';
 
 		// run queries via DataNode to utilize its transactional behavior
-		List<Query> queries = new ArrayList<Query>(2);
+		List<Query> queries = new ArrayList<>(2);
 		queries.add(new SQLTemplate(entity, select));
 		queries.add(new SQLTemplate(entity, pkUpdateString(entity.getName())));
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/dba/TypesHandler.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/TypesHandler.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/TypesHandler.java
index 100ca5c..0f07b25 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/TypesHandler.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/TypesHandler.java
@@ -19,15 +19,6 @@
 
 package org.apache.cayenne.dba;
 
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.sql.Types;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.util.Util;
 import org.xml.sax.Attributes;
@@ -36,6 +27,14 @@ import org.xml.sax.SAXException;
 import org.xml.sax.XMLReader;
 import org.xml.sax.helpers.DefaultHandler;
 
+import java.io.InputStream;
+import java.net.URL;
+import java.sql.Types;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
  * TypesHandler provides JDBC-RDBMS types mapping. Loads types info from an XML
  * file.
@@ -96,8 +95,8 @@ public class TypesHandler {
 		private static final String DB_TYPE_TAG = "db-type";
 		private static final String NAME_ATTR = "name";
 
-		private Map<Integer, String[]> types = new HashMap<Integer, String[]>();
-		private List<String> currentTypes = new ArrayList<String>();
+		private Map<Integer, String[]> types = new HashMap<>();
+		private List<String> currentTypes = new ArrayList<>();
 		private int currentType = TypesMapping.NOT_DEFINED;
 
 		public Map<Integer, String[]> getTypes() {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/dba/TypesMapping.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/TypesMapping.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/TypesMapping.java
index 1eed22a..b42eb9b 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/TypesMapping.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/TypesMapping.java
@@ -362,7 +362,7 @@ public class TypesMapping {
 			}
 		}
 
-		List<TypeInfo> list = new ArrayList<TypeInfo>();
+		List<TypeInfo> list = new ArrayList<>();
 		for (TypeInfo alt : alts) {
 			if (maxPrec == alt.precision) {
 				list.add(alt);
@@ -527,7 +527,7 @@ public class TypesMapping {
 				List<TypeInfo> infos = databaseTypes.get(key);
 
 				if (infos == null) {
-					infos = new ArrayList<TypeInfo>();
+					infos = new ArrayList<>();
 					databaseTypes.put(key, infos);
 				}
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/dba/db2/DB2PkGenerator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/db2/DB2PkGenerator.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/db2/DB2PkGenerator.java
index 667d6db..0e0c64c 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/db2/DB2PkGenerator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/db2/DB2PkGenerator.java
@@ -18,6 +18,13 @@
  ****************************************************************/
 package org.apache.cayenne.dba.db2;
 
+import org.apache.cayenne.CayenneRuntimeException;
+import org.apache.cayenne.access.DataNode;
+import org.apache.cayenne.dba.JdbcAdapter;
+import org.apache.cayenne.dba.JdbcPkGenerator;
+import org.apache.cayenne.map.DataMap;
+import org.apache.cayenne.map.DbEntity;
+
 import java.sql.Connection;
 import java.sql.ResultSet;
 import java.sql.SQLException;
@@ -27,13 +34,6 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 
-import org.apache.cayenne.CayenneRuntimeException;
-import org.apache.cayenne.access.DataNode;
-import org.apache.cayenne.dba.JdbcAdapter;
-import org.apache.cayenne.dba.JdbcPkGenerator;
-import org.apache.cayenne.map.DataMap;
-import org.apache.cayenne.map.DbEntity;
-
 /**
  * A sequence-based PK generator used by {@link DB2Adapter}.
  */
@@ -85,7 +85,7 @@ public class DB2PkGenerator extends JdbcPkGenerator {
 	 */
 	@Override
 	public List<String> createAutoPkStatements(List<DbEntity> dbEntities) {
-		List<String> list = new ArrayList<String>(dbEntities.size());
+		List<String> list = new ArrayList<>(dbEntities.size());
 		for (DbEntity entity : dbEntities) {
 			list.add(createSequenceString(entity));
 		}
@@ -122,7 +122,7 @@ public class DB2PkGenerator extends JdbcPkGenerator {
 	 */
 	@Override
 	public List<String> dropAutoPkStatements(List<DbEntity> dbEntities) {
-		List<String> list = new ArrayList<String>(dbEntities.size());
+		List<String> list = new ArrayList<>(dbEntities.size());
 		for (DbEntity entity : dbEntities) {
 			list.add(dropSequenceString(entity));
 		}
@@ -148,7 +148,7 @@ public class DB2PkGenerator extends JdbcPkGenerator {
 				adapter.getJdbcEventLogger().logQuery(sql, Collections.EMPTY_LIST);
 
 				try (ResultSet rs = sel.executeQuery(sql);) {
-					List<String> sequenceList = new ArrayList<String>();
+					List<String> sequenceList = new ArrayList<>();
 					while (rs.next()) {
 						sequenceList.add(rs.getString(1));
 					}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/dba/frontbase/FrontBasePkGenerator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/frontbase/FrontBasePkGenerator.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/frontbase/FrontBasePkGenerator.java
index 716cbd8..8162066 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/frontbase/FrontBasePkGenerator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/frontbase/FrontBasePkGenerator.java
@@ -19,10 +19,6 @@
 
 package org.apache.cayenne.dba.frontbase;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.DataRow;
 import org.apache.cayenne.access.DataNode;
@@ -34,6 +30,10 @@ import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.query.Query;
 import org.apache.cayenne.query.SQLTemplate;
 
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
 /**
  * @since 1.2
  */
@@ -62,7 +62,7 @@ public class FrontBasePkGenerator extends JdbcPkGenerator {
 
 	@Override
 	public List<String> createAutoPkStatements(List<DbEntity> dbEntities) {
-		List<String> list = new ArrayList<String>();
+		List<String> list = new ArrayList<>();
 		for (DbEntity entity : dbEntities) {
 			list.add(pkCreateString(entity.getName()));
 		}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/dba/h2/H2PkGenerator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/h2/H2PkGenerator.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/h2/H2PkGenerator.java
index a7d7788..3faf0e3 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/h2/H2PkGenerator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/h2/H2PkGenerator.java
@@ -19,6 +19,13 @@
 
 package org.apache.cayenne.dba.h2;
 
+import org.apache.cayenne.CayenneRuntimeException;
+import org.apache.cayenne.access.DataNode;
+import org.apache.cayenne.dba.JdbcAdapter;
+import org.apache.cayenne.dba.oracle.OraclePkGenerator;
+import org.apache.cayenne.map.DbEntity;
+import org.apache.cayenne.map.DbKeyGenerator;
+
 import java.sql.Connection;
 import java.sql.ResultSet;
 import java.sql.SQLException;
@@ -27,13 +34,6 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
-import org.apache.cayenne.CayenneRuntimeException;
-import org.apache.cayenne.access.DataNode;
-import org.apache.cayenne.dba.JdbcAdapter;
-import org.apache.cayenne.dba.oracle.OraclePkGenerator;
-import org.apache.cayenne.map.DbEntity;
-import org.apache.cayenne.map.DbKeyGenerator;
-
 /**
  * Default PK generator for H2 that uses sequences for PK generation.
  * 
@@ -96,7 +96,7 @@ public class H2PkGenerator extends OraclePkGenerator {
 				adapter.getJdbcEventLogger().logQuery(sql, Collections.EMPTY_LIST);
 
 				try (ResultSet rs = sel.executeQuery(sql);) {
-					List<String> sequenceList = new ArrayList<String>();
+					List<String> sequenceList = new ArrayList<>();
 					while (rs.next()) {
 						sequenceList.add(rs.getString(1));
 					}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/dba/ingres/IngresPkGenerator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/ingres/IngresPkGenerator.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/ingres/IngresPkGenerator.java
index 91c8db2..0950e90 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/ingres/IngresPkGenerator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/ingres/IngresPkGenerator.java
@@ -19,6 +19,13 @@
 
 package org.apache.cayenne.dba.ingres;
 
+import org.apache.cayenne.CayenneRuntimeException;
+import org.apache.cayenne.access.DataNode;
+import org.apache.cayenne.dba.JdbcAdapter;
+import org.apache.cayenne.dba.oracle.OraclePkGenerator;
+import org.apache.cayenne.map.DbEntity;
+import org.apache.cayenne.map.DbKeyGenerator;
+
 import java.sql.Connection;
 import java.sql.ResultSet;
 import java.sql.SQLException;
@@ -27,13 +34,6 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
-import org.apache.cayenne.CayenneRuntimeException;
-import org.apache.cayenne.access.DataNode;
-import org.apache.cayenne.dba.JdbcAdapter;
-import org.apache.cayenne.dba.oracle.OraclePkGenerator;
-import org.apache.cayenne.map.DbEntity;
-import org.apache.cayenne.map.DbKeyGenerator;
-
 /**
  * Ingres-specific sequence based PK generator.
  * 
@@ -86,7 +86,7 @@ public class IngresPkGenerator extends OraclePkGenerator {
 				adapter.getJdbcEventLogger().logQuery(sql, Collections.EMPTY_LIST);
 
 				try (ResultSet rs = select.executeQuery(sql);) {
-					List<String> sequenceList = new ArrayList<String>();
+					List<String> sequenceList = new ArrayList<>();
 					while (rs.next()) {
 						String name = rs.getString(1);
 						if (name != null) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/dba/mysql/MySQLAdapter.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/mysql/MySQLAdapter.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/mysql/MySQLAdapter.java
index 1ecac8a..f18d808 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/mysql/MySQLAdapter.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/mysql/MySQLAdapter.java
@@ -284,7 +284,7 @@ public class MySQLAdapter extends JdbcAdapter {
 	protected void createTableAppendPKClause(StringBuffer sqlBuffer, DbEntity entity) {
 
 		// must move generated to the front...
-		List<DbAttribute> pkList = new ArrayList<DbAttribute>(entity.getPrimaryKeys());
+		List<DbAttribute> pkList = new ArrayList<>(entity.getPrimaryKeys());
 		Collections.sort(pkList, new PKComparator());
 
 		Iterator<DbAttribute> pkit = pkList.iterator();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/dba/openbase/OpenBasePkGenerator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/openbase/OpenBasePkGenerator.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/openbase/OpenBasePkGenerator.java
index bb3068f..6a19de3 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/openbase/OpenBasePkGenerator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/openbase/OpenBasePkGenerator.java
@@ -19,6 +19,15 @@
 
 package org.apache.cayenne.dba.openbase;
 
+import org.apache.cayenne.CayenneRuntimeException;
+import org.apache.cayenne.access.DataNode;
+import org.apache.cayenne.dba.JdbcAdapter;
+import org.apache.cayenne.dba.JdbcPkGenerator;
+import org.apache.cayenne.dba.QuotingStrategy;
+import org.apache.cayenne.map.DbAttribute;
+import org.apache.cayenne.map.DbEntity;
+import org.apache.cayenne.util.IDUtil;
+
 import java.sql.Connection;
 import java.sql.ResultSet;
 import java.sql.Statement;
@@ -29,15 +38,6 @@ import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
 
-import org.apache.cayenne.CayenneRuntimeException;
-import org.apache.cayenne.access.DataNode;
-import org.apache.cayenne.dba.JdbcAdapter;
-import org.apache.cayenne.dba.JdbcPkGenerator;
-import org.apache.cayenne.dba.QuotingStrategy;
-import org.apache.cayenne.map.DbAttribute;
-import org.apache.cayenne.map.DbEntity;
-import org.apache.cayenne.util.IDUtil;
-
 /**
  * @since 1.1
  */
@@ -152,7 +152,7 @@ public class OpenBasePkGenerator extends JdbcPkGenerator {
      */
 	@Override
 	public List createAutoPkStatements(List dbEntities) {
-		List<String> list = new ArrayList<String>(2 * dbEntities.size());
+		List<String> list = new ArrayList<>(2 * dbEntities.size());
 		Iterator<?> it = dbEntities.iterator();
 		while (it.hasNext()) {
 			DbEntity entity = (DbEntity) it.next();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/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 4cfee1b..d80b38c 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
@@ -19,6 +19,11 @@
 
 package org.apache.cayenne.dba.oracle;
 
+import org.apache.cayenne.CayenneRuntimeException;
+import org.apache.cayenne.map.DbAttribute;
+import org.apache.cayenne.query.BatchQuery;
+import org.apache.cayenne.query.BatchQueryRow;
+
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.ObjectOutputStream;
@@ -27,11 +32,6 @@ import java.sql.Types;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.cayenne.CayenneRuntimeException;
-import org.apache.cayenne.map.DbAttribute;
-import org.apache.cayenne.query.BatchQuery;
-import org.apache.cayenne.query.BatchQueryRow;
-
 /**
  * Helper class to extract the information from BatchQueries, essential for LOB
  * columns processing.
@@ -147,7 +147,7 @@ class Oracle8LOBBatchQueryWrapper {
 	List<DbAttribute> getDbAttributesForLOBSelectQualifier() {
 
 		int len = qualifierAttributes.length;
-		List<DbAttribute> attributes = new ArrayList<DbAttribute>(len);
+		List<DbAttribute> attributes = new ArrayList<>(len);
 
 		for (int i = 0; i < len; i++) {
 			if (this.qualifierAttributes[i]) {
@@ -165,7 +165,7 @@ class Oracle8LOBBatchQueryWrapper {
 	List<DbAttribute> getDbAttributesForUpdatedLOBColumns() {
 
 		int len = updatedLOBAttributes.length;
-		List<DbAttribute> attributes = new ArrayList<DbAttribute>(len);
+		List<DbAttribute> attributes = new ArrayList<>(len);
 
 		for (int i = 0; i < len; i++) {
 			if (this.updatedLOBAttributes[i] != null) {
@@ -178,7 +178,7 @@ class Oracle8LOBBatchQueryWrapper {
 	List<Object> getValuesForLOBSelectQualifier(BatchQueryRow row) {
 
 		int len = this.qualifierAttributes.length;
-		List<Object> values = new ArrayList<Object>(len);
+		List<Object> values = new ArrayList<>(len);
 		for (int i = 0; i < len; i++) {
 			if (this.qualifierAttributes[i]) {
 				values.add(row.getValue(i));
@@ -191,7 +191,7 @@ class Oracle8LOBBatchQueryWrapper {
 	List<Object> getValuesForUpdatedLOBColumns() {
 
 		int len = this.updatedLOBAttributes.length;
-		List<Object> values = new ArrayList<Object>(len);
+		List<Object> values = new ArrayList<>(len);
 		for (int i = 0; i < len; i++) {
 			if (this.updatedLOBAttributes[i] != null) {
 				values.add(this.updatedLOBAttributes[i]);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBInsertBatchTranslator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBInsertBatchTranslator.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBInsertBatchTranslator.java
index acdaf1c..dfe642d 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBInsertBatchTranslator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBInsertBatchTranslator.java
@@ -19,16 +19,16 @@
 
 package org.apache.cayenne.dba.oracle;
 
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
 import org.apache.cayenne.dba.DbAdapter;
 import org.apache.cayenne.dba.QuotingStrategy;
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.query.BatchQueryRow;
 import org.apache.cayenne.query.InsertBatchQuery;
 
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
 class Oracle8LOBInsertBatchTranslator extends Oracle8LOBBatchTranslator {
 
     Oracle8LOBInsertBatchTranslator(InsertBatchQuery query, DbAdapter adapter, String trimFunction) {
@@ -40,7 +40,7 @@ class Oracle8LOBInsertBatchTranslator extends Oracle8LOBBatchTranslator {
         List<DbAttribute> dbAttributes = query.getDbAttributes();
         int len = dbAttributes.size();
 
-        List<Object> values = new ArrayList<Object>(len);
+        List<Object> values = new ArrayList<>(len);
         for (int i = 0; i < len; i++) {
             Object value = row.getValue(i);
             DbAttribute attribute = dbAttributes.get(i);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBUpdateBatchTranslator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBUpdateBatchTranslator.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBUpdateBatchTranslator.java
index 0a8efba..72eaa1b 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBUpdateBatchTranslator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBUpdateBatchTranslator.java
@@ -19,16 +19,16 @@
 
 package org.apache.cayenne.dba.oracle;
 
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
 import org.apache.cayenne.dba.DbAdapter;
 import org.apache.cayenne.dba.QuotingStrategy;
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.query.BatchQueryRow;
 import org.apache.cayenne.query.UpdateBatchQuery;
 
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
 class Oracle8LOBUpdateBatchTranslator extends Oracle8LOBBatchTranslator {
 
     Oracle8LOBUpdateBatchTranslator(UpdateBatchQuery query, DbAdapter adapter, String trimFunction) {
@@ -40,7 +40,7 @@ class Oracle8LOBUpdateBatchTranslator extends Oracle8LOBBatchTranslator {
         int len = query.getDbAttributes().size();
         UpdateBatchQuery updateBatch = (UpdateBatchQuery) query;
 
-        List<Object> values = new ArrayList<Object>(len);
+        List<Object> values = new ArrayList<>(len);
         List<DbAttribute> qualifierAttributes = updateBatch.getQualifierAttributes();
         List<DbAttribute> updatedDbAttributes = updateBatch.getUpdatedAttributes();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OraclePkGenerator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OraclePkGenerator.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OraclePkGenerator.java
index 4c0f630..8cc9c7b 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OraclePkGenerator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OraclePkGenerator.java
@@ -19,6 +19,14 @@
 
 package org.apache.cayenne.dba.oracle;
 
+import org.apache.cayenne.CayenneRuntimeException;
+import org.apache.cayenne.access.DataNode;
+import org.apache.cayenne.dba.JdbcAdapter;
+import org.apache.cayenne.dba.JdbcPkGenerator;
+import org.apache.cayenne.map.DataMap;
+import org.apache.cayenne.map.DbEntity;
+import org.apache.cayenne.map.DbKeyGenerator;
+
 import java.sql.Connection;
 import java.sql.ResultSet;
 import java.sql.SQLException;
@@ -28,14 +36,6 @@ import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
 
-import org.apache.cayenne.CayenneRuntimeException;
-import org.apache.cayenne.access.DataNode;
-import org.apache.cayenne.dba.JdbcAdapter;
-import org.apache.cayenne.dba.JdbcPkGenerator;
-import org.apache.cayenne.map.DataMap;
-import org.apache.cayenne.map.DbEntity;
-import org.apache.cayenne.map.DbKeyGenerator;
-
 /**
  * Sequence-based primary key generator implementation for Oracle. Uses Oracle
  * sequences to generate primary key values. This approach is at least 50%
@@ -76,7 +76,7 @@ public class OraclePkGenerator extends JdbcPkGenerator {
 
 	@Override
 	public List createAutoPkStatements(List dbEntities) {
-		List<String> list = new ArrayList<String>();
+		List<String> list = new ArrayList<>();
 		Iterator it = dbEntities.iterator();
 		while (it.hasNext()) {
 			DbEntity ent = (DbEntity) it.next();
@@ -113,7 +113,7 @@ public class OraclePkGenerator extends JdbcPkGenerator {
 
 	@Override
 	public List dropAutoPkStatements(List dbEntities) {
-		List<String> list = new ArrayList<String>();
+		List<String> list = new ArrayList<>();
 		Iterator it = dbEntities.iterator();
 		while (it.hasNext()) {
 			DbEntity ent = (DbEntity) it.next();
@@ -227,7 +227,7 @@ public class OraclePkGenerator extends JdbcPkGenerator {
 				adapter.getJdbcEventLogger().logQuery(sql, Collections.EMPTY_LIST);
 
 				try (ResultSet rs = sel.executeQuery(sql);) {
-					List<String> sequenceList = new ArrayList<String>();
+					List<String> sequenceList = new ArrayList<>();
 					while (rs.next()) {
 						sequenceList.add(rs.getString(1));
 					}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleQualifierTranslator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleQualifierTranslator.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleQualifierTranslator.java
index 1ace92e..3d14765 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleQualifierTranslator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleQualifierTranslator.java
@@ -18,9 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.dba.oracle;
 
-import java.util.ArrayList;
-import java.util.List;
-
 import org.apache.cayenne.access.translator.select.QueryAssembler;
 import org.apache.cayenne.access.translator.select.TrimmingQualifierTranslator;
 import org.apache.cayenne.exp.Expression;
@@ -31,6 +28,9 @@ import org.apache.cayenne.exp.parser.ASTNotIn;
 import org.apache.cayenne.exp.parser.ASTPath;
 import org.apache.commons.collections.Transformer;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * Oracle qualifier translator. In particular, trims INs with more than 1000
  * elements to an OR-set of INs with &lt;= 1000 elements
@@ -70,13 +70,13 @@ public class OracleQualifierTranslator extends TrimmingQualifierTranslator {
 		Expression trimmedInExpression(ASTPath path, Object[] values, int maxInSize) {
 			Expression res = null;
 
-			List<Object> in = new ArrayList<Object>(maxInSize);
+			List<Object> in = new ArrayList<>(maxInSize);
 			for (Object v : values) {
 				in.add(v);
 				if (in.size() == maxInSize) {
 					Expression inExp = new ASTIn(path, new ASTList(in));
 					res = res != null ? res.orExp(inExp) : inExp;
-					in = new ArrayList<Object>(maxInSize);
+					in = new ArrayList<>(maxInSize);
 				}
 			}
 			if (in.size() > 0) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/dba/postgres/PostgresPkGenerator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/postgres/PostgresPkGenerator.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/postgres/PostgresPkGenerator.java
index 429bc25..877fc33 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/postgres/PostgresPkGenerator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/postgres/PostgresPkGenerator.java
@@ -19,6 +19,13 @@
 
 package org.apache.cayenne.dba.postgres;
 
+import org.apache.cayenne.CayenneRuntimeException;
+import org.apache.cayenne.access.DataNode;
+import org.apache.cayenne.dba.JdbcAdapter;
+import org.apache.cayenne.dba.oracle.OraclePkGenerator;
+import org.apache.cayenne.map.DbEntity;
+import org.apache.cayenne.map.DbKeyGenerator;
+
 import java.sql.Connection;
 import java.sql.ResultSet;
 import java.sql.SQLException;
@@ -27,13 +34,6 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
-import org.apache.cayenne.CayenneRuntimeException;
-import org.apache.cayenne.access.DataNode;
-import org.apache.cayenne.dba.JdbcAdapter;
-import org.apache.cayenne.dba.oracle.OraclePkGenerator;
-import org.apache.cayenne.map.DbEntity;
-import org.apache.cayenne.map.DbKeyGenerator;
-
 /**
  * Default PK generator for PostgreSQL that uses sequences for PK generation.
  */
@@ -101,7 +101,7 @@ public class PostgresPkGenerator extends OraclePkGenerator {
 				adapter.getJdbcEventLogger().logQuery(sql, Collections.EMPTY_LIST);
 
 				try (ResultSet rs = sel.executeQuery(sql);) {
-					List<String> sequenceList = new ArrayList<String>();
+					List<String> sequenceList = new ArrayList<>();
 					while (rs.next()) {
 						sequenceList.add(rs.getString(1));
 					}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerProcedureAction.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerProcedureAction.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerProcedureAction.java
index 256f68d..18b5d43 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerProcedureAction.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerProcedureAction.java
@@ -19,13 +19,6 @@
 
 package org.apache.cayenne.dba.sqlserver;
 
-import java.sql.CallableStatement;
-import java.sql.Connection;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.List;
-
 import org.apache.cayenne.ObjectId;
 import org.apache.cayenne.ResultIterator;
 import org.apache.cayenne.access.DataNode;
@@ -36,6 +29,13 @@ import org.apache.cayenne.access.translator.procedure.ProcedureTranslator;
 import org.apache.cayenne.query.ProcedureQuery;
 import org.apache.cayenne.query.Query;
 
+import java.sql.CallableStatement;
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * ProcedureAction for SQLServer MS JDBC driver. Customizes OUT parameter
  * processing - it has to be done AFTER the ResultSets are read (note that jTDS
@@ -143,7 +143,7 @@ public class SQLServerProcedureAction extends ProcedureAction {
 			// does not delegate to wrapped observer
 			// but instead caches results locally.
 			if (counts == null) {
-				counts = new ArrayList<Integer>();
+				counts = new ArrayList<>();
 			}
 
 			counts.add(Integer.valueOf(resultCount));
@@ -154,7 +154,7 @@ public class SQLServerProcedureAction extends ProcedureAction {
 			// does not delegate to wrapped observer
 			// but instead caches results locally.
 			if (results == null) {
-				results = new ArrayList<List<?>>();
+				results = new ArrayList<>();
 			}
 
 			results.add(dataRows);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerTrimmingQualifierTranslator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerTrimmingQualifierTranslator.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerTrimmingQualifierTranslator.java
index 0b4fa68..fd9a191 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerTrimmingQualifierTranslator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerTrimmingQualifierTranslator.java
@@ -18,15 +18,15 @@
  ****************************************************************/
 package org.apache.cayenne.dba.sqlserver;
 
-import java.sql.Types;
-import java.util.ArrayList;
-import java.util.List;
-
 import org.apache.cayenne.access.translator.select.QueryAssembler;
 import org.apache.cayenne.access.translator.select.TrimmingQualifierTranslator;
 import org.apache.cayenne.exp.Expression;
 import org.apache.cayenne.map.DbAttribute;
 
+import java.sql.Types;
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * @since 3.0
  */
@@ -41,7 +41,7 @@ class SQLServerTrimmingQualifierTranslator extends TrimmingQualifierTranslator {
 
 	SQLServerTrimmingQualifierTranslator(QueryAssembler queryAssembler, String trimFunction) {
 		super(queryAssembler, trimFunction);
-		expressionStack = new ArrayList<Expression>();
+		expressionStack = new ArrayList<>();
 	}
 
 	@Override

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/dba/sybase/SybasePkGenerator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/sybase/SybasePkGenerator.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/sybase/SybasePkGenerator.java
index 6e73561..e08a099 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/sybase/SybasePkGenerator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/sybase/SybasePkGenerator.java
@@ -19,12 +19,6 @@
 
 package org.apache.cayenne.dba.sybase;
 
-import java.sql.CallableStatement;
-import java.sql.Connection;
-import java.sql.ResultSet;
-import java.util.ArrayList;
-import java.util.List;
-
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.dba.JdbcAdapter;
@@ -33,6 +27,12 @@ import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.tx.BaseTransaction;
 import org.apache.cayenne.tx.Transaction;
 
+import java.sql.CallableStatement;
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * Primary key generator implementation for Sybase. Uses a lookup table named
  * "AUTO_PK_SUPPORT" and a stored procedure "auto_pk_for_table" to search and
@@ -137,7 +137,7 @@ public class SybasePkGenerator extends JdbcPkGenerator {
 
 	@Override
 	public List<String> dropAutoPkStatements(List<DbEntity> dbEntities) {
-		List<String> list = new ArrayList<String>();
+		List<String> list = new ArrayList<>();
 		list.add(safePkProcDrop());
 		list.add(safePkTableDrop());
 		return list;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/ejbql/parser/Compiler.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/ejbql/parser/Compiler.java b/cayenne-server/src/main/java/org/apache/cayenne/ejbql/parser/Compiler.java
index aae5e17..f26163b 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/ejbql/parser/Compiler.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/ejbql/parser/Compiler.java
@@ -378,7 +378,7 @@ class Compiler {
 
     private void addPath(EJBQLPath path) {
         if (paths == null) {
-            paths = new ArrayList<EJBQLPath>();
+            paths = new ArrayList<>();
         }
 
         paths.add(path);
@@ -635,7 +635,7 @@ class Compiler {
         private void addEntityResult(EJBQLExpression expression) {
             if (appendingResultColumns) {
                 if (resultComponents == null) {
-                    resultComponents = new ArrayList<Object>();
+                    resultComponents = new ArrayList<>();
                 }
 
                 // defer EntityResult creation until we resolve all ids...
@@ -646,7 +646,7 @@ class Compiler {
         private void addResultSetColumn() {
             if (appendingResultColumns) {
                 if (resultComponents == null) {
-                    resultComponents = new ArrayList<Object>();
+                    resultComponents = new ArrayList<>();
                 }
 
                 String column = "sc" + resultComponents.size();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/event/DefaultEventManager.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/event/DefaultEventManager.java b/cayenne-server/src/main/java/org/apache/cayenne/event/DefaultEventManager.java
index f0b35b7..8dcff30 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/event/DefaultEventManager.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/event/DefaultEventManager.java
@@ -18,6 +18,10 @@
  ****************************************************************/
 package org.apache.cayenne.event;
 
+import org.apache.cayenne.CayenneRuntimeException;
+import org.apache.cayenne.di.BeforeScopeEnd;
+import org.apache.cayenne.util.Invocation;
+
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.EventObject;
@@ -26,10 +30,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.WeakHashMap;
 
-import org.apache.cayenne.CayenneRuntimeException;
-import org.apache.cayenne.di.BeforeScopeEnd;
-import org.apache.cayenne.util.Invocation;
-
 /**
  * A default implementation of {@link EventManager}.
  * 
@@ -65,7 +65,7 @@ public class DefaultEventManager implements EventManager {
         this.singleThread = dispatchThreadCount <= 0;
 
         if (!singleThread) {
-            dispatchThreads = new ArrayList<DispatchThread>(dispatchThreadCount);
+            dispatchThreads = new ArrayList<>(dispatchThreadCount);
 
             String prefix = "cayenne-edt-" + hashCode() + "-";
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/event/EventBridge.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/event/EventBridge.java b/cayenne-server/src/main/java/org/apache/cayenne/event/EventBridge.java
index 3ef5721..83a5d68 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/event/EventBridge.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/event/EventBridge.java
@@ -19,14 +19,14 @@
 
 package org.apache.cayenne.event;
 
+import org.apache.cayenne.util.Util;
+
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.EventListener;
 import java.util.HashSet;
 
-import org.apache.cayenne.util.Util;
-
 /**
  * <p>An object that passes events between a local EventManager and some other event dispatch
  * mechanism. The most common example is sending local events to remote JVMs and receiving
@@ -227,7 +227,7 @@ public abstract class EventBridge implements EventListener {
 
         if (receivesLocalEvents() && !localSubjects.isEmpty()) {
 
-            listeners = new ArrayList<SubjectListener>(localSubjects.size());
+            listeners = new ArrayList<>(localSubjects.size());
 
             for (EventSubject subject : localSubjects) {
                 SubjectListener listener = new SubjectListener(subject);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/exp/ExpressionFactory.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/exp/ExpressionFactory.java b/cayenne-server/src/main/java/org/apache/cayenne/exp/ExpressionFactory.java
index 1ffefef..16380e4 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/exp/ExpressionFactory.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/exp/ExpressionFactory.java
@@ -212,7 +212,7 @@ public class ExpressionFactory {
 	 * join pair binary expressions.
 	 */
 	public static Expression matchAnyDbExp(Map<String, ?> map, int pairType) {
-		List<Expression> pairs = new ArrayList<Expression>(map.size());
+		List<Expression> pairs = new ArrayList<>(map.size());
 
 		for (Map.Entry<String, ?> entry : map.entrySet()) {
 			Expression exp = expressionOfType(pairType);
@@ -233,7 +233,7 @@ public class ExpressionFactory {
 	 * join pair binary expressions.
 	 */
 	public static Expression matchAllDbExp(Map<String, ?> map, int pairType) {
-		List<Expression> pairs = new ArrayList<Expression>(map.size());
+		List<Expression> pairs = new ArrayList<>(map.size());
 
 		for (Map.Entry<String, ?> entry : map.entrySet()) {
 			Expression exp = expressionOfType(pairType);
@@ -254,7 +254,7 @@ public class ExpressionFactory {
 	 * join pair binary expressions.
 	 */
 	public static Expression matchAnyExp(Map<String, ?> map, int pairType) {
-		List<Expression> pairs = new ArrayList<Expression>(map.size());
+		List<Expression> pairs = new ArrayList<>(map.size());
 
 		for (Map.Entry<String, ?> entry : map.entrySet()) {
 
@@ -309,7 +309,7 @@ public class ExpressionFactory {
 
 		int split = path.indexOf(SPLIT_SEPARATOR);
 
-		List<Expression> matches = new ArrayList<Expression>(values.length);
+		List<Expression> matches = new ArrayList<>(values.length);
 
 		if (split >= 0 && split < path.length() - 1) {
 
@@ -354,7 +354,7 @@ public class ExpressionFactory {
 	 * join pair binary expressions.
 	 */
 	public static Expression matchAllExp(Map<String, ?> map, int pairType) {
-		List<Expression> pairs = new ArrayList<Expression>(map.size());
+		List<Expression> pairs = new ArrayList<>(map.size());
 
 		for (Map.Entry<String, ?> entry : map.entrySet()) {
 
@@ -962,7 +962,7 @@ public class ExpressionFactory {
 			return expFalse();
 		}
 
-		List<Expression> pairs = new ArrayList<Expression>(objects.length);
+		List<Expression> pairs = new ArrayList<>(objects.length);
 
 		for (Persistent object : objects) {
 			pairs.add(matchExp(object));

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/exp/Property.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/exp/Property.java b/cayenne-server/src/main/java/org/apache/cayenne/exp/Property.java
index b9ae1c6..a340b50 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/exp/Property.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/exp/Property.java
@@ -18,16 +18,16 @@
  ****************************************************************/
 package org.apache.cayenne.exp;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
 import org.apache.cayenne.exp.parser.ASTObjPath;
 import org.apache.cayenne.query.Ordering;
 import org.apache.cayenne.query.PrefetchTreeNode;
 import org.apache.cayenne.query.SortOrder;
 import org.apache.cayenne.reflect.PropertyUtils;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
 /**
  * <p>
  * A property in a DataObject.
@@ -412,7 +412,7 @@ public class Property<E> {
      * @return Ascending sort orderings on this property.
      */
     public List<Ordering> ascs() {
-        List<Ordering> result = new ArrayList<Ordering>(1);
+        List<Ordering> result = new ArrayList<>(1);
         result.add(asc());
         return result;
     }
@@ -428,7 +428,7 @@ public class Property<E> {
      * @return Ascending case insensitive sort orderings on this property.
      */
     public List<Ordering> ascInsensitives() {
-        List<Ordering> result = new ArrayList<Ordering>(1);
+        List<Ordering> result = new ArrayList<>(1);
         result.add(ascInsensitive());
         return result;
     }
@@ -444,7 +444,7 @@ public class Property<E> {
      * @return Descending sort orderings on this property.
      */
     public List<Ordering> descs() {
-        List<Ordering> result = new ArrayList<Ordering>(1);
+        List<Ordering> result = new ArrayList<>(1);
         result.add(desc());
         return result;
     }
@@ -460,7 +460,7 @@ public class Property<E> {
      * @return Descending case insensitive sort orderings on this property.
      */
     public List<Ordering> descInsensitives() {
-        List<Ordering> result = new ArrayList<Ordering>(1);
+        List<Ordering> result = new ArrayList<>(1);
         result.add(descInsensitive());
         return result;
     }
@@ -508,7 +508,7 @@ public class Property<E> {
      * dot-separated property name path.
      */
     public List<E> getFromAll(Collection<?> beans) {
-        List<E> result = new ArrayList<E>(beans.size());
+        List<E> result = new ArrayList<>(beans.size());
         for (Object bean : beans) {
             result.add(getFrom(bean));
         }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/ASTList.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/ASTList.java b/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/ASTList.java
index b08ab96..806bb18 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/ASTList.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/ASTList.java
@@ -19,15 +19,15 @@
 
 package org.apache.cayenne.exp.parser;
 
+import org.apache.cayenne.Persistent;
+import org.apache.cayenne.exp.Expression;
+
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
 
-import org.apache.cayenne.Persistent;
-import org.apache.cayenne.exp.Expression;
-
 /**
  * A leaf expression representing an immutable collection of values.
  * 
@@ -185,7 +185,7 @@ public class ASTList extends SimpleNode {
 			Collection<?> c = (Collection<?>) value;
 			this.values = c.toArray(new Object[c.size()]);
 		} else if (value instanceof Iterator) {
-			List<Object> values = new ArrayList<Object>();
+			List<Object> values = new ArrayList<>();
 			Iterator<?> it = (Iterator<?>) value;
 			while (it.hasNext()) {
 				values.add(it.next());


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

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/graph/CompoundDiff.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/graph/CompoundDiff.java b/cayenne-server/src/main/java/org/apache/cayenne/graph/CompoundDiff.java
index d7bfb01..2a030ad 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/graph/CompoundDiff.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/graph/CompoundDiff.java
@@ -114,7 +114,7 @@ public class CompoundDiff implements GraphDiff {
 		if (diffs == null) {
 			synchronized (this) {
 				if (diffs == null) {
-					diffs = new ArrayList<GraphDiff>();
+					diffs = new ArrayList<>();
 				}
 			}
 		}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/graph/GraphDiffCompressor.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/graph/GraphDiffCompressor.java b/cayenne-server/src/main/java/org/apache/cayenne/graph/GraphDiffCompressor.java
index 2a4e515..9bf1dc4 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/graph/GraphDiffCompressor.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/graph/GraphDiffCompressor.java
@@ -47,8 +47,8 @@ public class GraphDiffCompressor {
 
     final class CompressAction implements GraphChangeHandler {
 
-        private List<GraphDiff> compressed = new ArrayList<GraphDiff>();
-        private Map<Object, List<NodeDiff>> diffsByNode = new HashMap<Object, List<NodeDiff>>();
+        private List<GraphDiff> compressed = new ArrayList<>();
+        private Map<Object, List<NodeDiff>> diffsByNode = new HashMap<>();
         private Set<Object> deletedNodes;
         private Set<Object> createdNodes;
 
@@ -197,7 +197,7 @@ public class GraphDiffCompressor {
             compressed.add(diff);
             List<NodeDiff> diffs = diffsByNode.get(diff.getNodeId());
             if (diffs == null) {
-                diffs = new ArrayList<NodeDiff>();
+                diffs = new ArrayList<>();
                 diffsByNode.put(diff.getNodeId(), diffs);
             }
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/map/CallbackDescriptor.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/CallbackDescriptor.java b/cayenne-server/src/main/java/org/apache/cayenne/map/CallbackDescriptor.java
index c1a75f1..6d6b341 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/CallbackDescriptor.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/CallbackDescriptor.java
@@ -81,7 +81,7 @@ public class CallbackDescriptor implements Serializable {
      * @return true if any changes were made
      */
     public boolean moveMethod(String callbackMethod, int destinationIndex) {
-        List<String> callbackMethodsList = new ArrayList<String>(callbackMethods);
+        List<String> callbackMethodsList = new ArrayList<>(callbackMethods);
         int currentIndex = callbackMethodsList.indexOf(callbackMethod);
         if (currentIndex < 0)
             throw new IllegalArgumentException("Unknown callback method: "
@@ -115,7 +115,7 @@ public class CallbackDescriptor implements Serializable {
      * @param method new callback method
      */
     public void setCallbackMethodAt(int index, String method) {
-        List<String> callbackMethodsList = new ArrayList<String>(callbackMethods);
+        List<String> callbackMethodsList = new ArrayList<>(callbackMethods);
         callbackMethodsList.set(index, method);
         callbackMethods.clear();
         callbackMethods.addAll(callbackMethodsList);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/map/ClientObjEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/ClientObjEntity.java b/cayenne-server/src/main/java/org/apache/cayenne/map/ClientObjEntity.java
index 5ad51ee..442d87b 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/ClientObjEntity.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/ClientObjEntity.java
@@ -40,7 +40,7 @@ class ClientObjEntity extends ObjEntity {
 
     @Override
     public Collection<String> getPrimaryKeyNames() {
-        Collection<String> names = new ArrayList<String>(primaryKeys.size());
+        Collection<String> names = new ArrayList<>(primaryKeys.size());
         for (ObjAttribute attribute : primaryKeys) {
             names.add(attribute.getDbAttributePath());
         }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/map/DataMap.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/DataMap.java b/cayenne-server/src/main/java/org/apache/cayenne/map/DataMap.java
index 0d66f55..b9a4dd4 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/DataMap.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/DataMap.java
@@ -182,7 +182,7 @@ public class DataMap implements Serializable, ConfigurationNode, XMLSerializable
 		dbEntityMap = new TreeMap<String, DbEntity>();
 		procedureMap = new TreeMap<String, Procedure>();
 		queryDescriptorMap = new TreeMap<>();
-		defaultEntityListeners = new ArrayList<EntityListener>(3);
+		defaultEntityListeners = new ArrayList<>(3);
 		results = new TreeMap<String, SQLResult>();
 		setName(mapName);
 		initWithProperties(properties);
@@ -440,12 +440,12 @@ public class DataMap implements Serializable, ConfigurationNode, XMLSerializable
 	 * </p>
 	 */
 	public void mergeWithDataMap(DataMap map) {
-		for (DbEntity ent : new ArrayList<DbEntity>(map.getDbEntities())) {
+		for (DbEntity ent : new ArrayList<>(map.getDbEntities())) {
 			this.removeDbEntity(ent.getName());
 			this.addDbEntity(ent);
 		}
 
-		for (ObjEntity ent : new ArrayList<ObjEntity>(map.getObjEntities())) {
+		for (ObjEntity ent : new ArrayList<>(map.getObjEntities())) {
 			this.removeObjEntity(ent.getName());
 			this.addObjEntity(ent);
 		}
@@ -903,7 +903,7 @@ public class DataMap implements Serializable, ConfigurationNode, XMLSerializable
 			return emptyList();
 		}
 
-		Collection<ObjEntity> result = new ArrayList<ObjEntity>();
+		Collection<ObjEntity> result = new ArrayList<>();
 		for (ObjEntity entity : allEntities) {
 			if (entity.getDbEntity() == dbEntity) {
 				result.add(entity);
@@ -951,7 +951,7 @@ public class DataMap implements Serializable, ConfigurationNode, XMLSerializable
 		if (dbEntityToDelete != null && clearDependencies) {
 			for (DbEntity dbEnt : this.getDbEntities()) {
 				// take a copy since we're going to modify the entity
-				for (Relationship rel : new ArrayList<Relationship>(dbEnt.getRelationships())) {
+				for (Relationship rel : new ArrayList<>(dbEnt.getRelationships())) {
 					if (dbEntityName.equals(rel.getTargetEntityName())) {
 						dbEnt.removeRelationship(rel.getName());
 					}
@@ -1002,7 +1002,7 @@ public class DataMap implements Serializable, ConfigurationNode, XMLSerializable
 			// remove relationships that point to this entity
 			for (ObjEntity ent : getObjEntities()) {
 				// take a copy since we're going to modify the entity
-				for (Relationship relationship : new ArrayList<Relationship>(ent.getRelationships())) {
+				for (Relationship relationship : new ArrayList<>(ent.getRelationships())) {
 					if (objEntityName.equals(relationship.getTargetEntityName())
 							|| objEntityName.equals(relationship.getTargetEntityName())) {
 						ent.removeRelationship(relationship.getName());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/map/DbEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/DbEntity.java b/cayenne-server/src/main/java/org/apache/cayenne/map/DbEntity.java
index b119254..391fdc0 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/DbEntity.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/DbEntity.java
@@ -19,17 +19,6 @@
 
 package org.apache.cayenne.map;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.SortedMap;
-
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.ObjectId;
 import org.apache.cayenne.configuration.ConfigurationNode;
@@ -49,6 +38,17 @@ import org.apache.cayenne.util.Util;
 import org.apache.cayenne.util.XMLEncoder;
 import org.apache.commons.collections.Transformer;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.SortedMap;
+
 /**
  * A DbEntity is a mapping descriptor that defines a structure of a database
  * table.
@@ -78,8 +78,8 @@ public class DbEntity extends Entity implements ConfigurationNode, DbEntityListe
     public DbEntity() {
         super();
 
-        this.primaryKey = new ArrayList<DbAttribute>(2);
-        this.generatedAttributes = new ArrayList<DbAttribute>(2);
+        this.primaryKey = new ArrayList<>(2);
+        this.generatedAttributes = new ArrayList<>(2);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/map/DbRelationship.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/DbRelationship.java b/cayenne-server/src/main/java/org/apache/cayenne/map/DbRelationship.java
index f40f6c7..8ef313d 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/DbRelationship.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/DbRelationship.java
@@ -19,13 +19,6 @@
 
 package org.apache.cayenne.map;
 
-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.configuration.ConfigurationNode;
 import org.apache.cayenne.configuration.ConfigurationNodeVisitor;
@@ -34,6 +27,13 @@ import org.apache.cayenne.util.XMLEncoder;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.Transformer;
 
+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 DbRelationship is a descriptor of a database inter-table relationship based
  * on one or more primary key/foreign key pairs.
@@ -41,7 +41,7 @@ import org.apache.commons.collections.Transformer;
 public class DbRelationship extends Relationship implements ConfigurationNode {
 
     // The columns through which the join is implemented.
-    protected List<DbJoin> joins = new ArrayList<DbJoin>(2);
+    protected List<DbJoin> joins = new ArrayList<>(2);
 
     // Is relationship from source to target points to dependent primary
     // key (primary key column of destination table that is also a FK to the

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/map/EmbeddedAttribute.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/EmbeddedAttribute.java b/cayenne-server/src/main/java/org/apache/cayenne/map/EmbeddedAttribute.java
index 3cce183..18fc97e 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/EmbeddedAttribute.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/EmbeddedAttribute.java
@@ -18,6 +18,10 @@
  ****************************************************************/
 package org.apache.cayenne.map;
 
+import org.apache.cayenne.CayenneRuntimeException;
+import org.apache.cayenne.util.Util;
+import org.apache.cayenne.util.XMLEncoder;
+
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -25,10 +29,6 @@ import java.util.Map;
 import java.util.SortedMap;
 import java.util.TreeMap;
 
-import org.apache.cayenne.CayenneRuntimeException;
-import org.apache.cayenne.util.Util;
-import org.apache.cayenne.util.XMLEncoder;
-
 /**
  * An attribute of the ObjEntity that maps to an embeddable class.
  * 
@@ -178,8 +178,7 @@ public class EmbeddedAttribute extends ObjAttribute {
         }
 
         Collection<EmbeddableAttribute> embeddableAttributes = e.getAttributes();
-        Collection<ObjAttribute> objectAttributes = new ArrayList<ObjAttribute>(
-                embeddableAttributes.size());
+        Collection<ObjAttribute> objectAttributes = new ArrayList<>(embeddableAttributes.size());
 
         for (EmbeddableAttribute ea : embeddableAttributes) {
             objectAttributes.add(makeObjAttribute(ea));

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/map/EntityInheritanceTree.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/EntityInheritanceTree.java b/cayenne-server/src/main/java/org/apache/cayenne/map/EntityInheritanceTree.java
index 6d93ad6..b41f638 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/EntityInheritanceTree.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/EntityInheritanceTree.java
@@ -19,13 +19,13 @@
 
 package org.apache.cayenne.map;
 
+import org.apache.cayenne.DataRow;
+import org.apache.cayenne.exp.Expression;
+
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 
-import org.apache.cayenne.DataRow;
-import org.apache.cayenne.exp.Expression;
-
 /**
  * A tree structure representing inheritance hierarchy of an ObjEntity and its
  * subentities.
@@ -116,7 +116,7 @@ public class EntityInheritanceTree {
 
     public void addChildNode(EntityInheritanceTree node) {
         if (subentities == null) {
-            subentities = new ArrayList<EntityInheritanceTree>(2);
+            subentities = new ArrayList<>(2);
         }
 
         subentities.add(node);
@@ -145,7 +145,7 @@ public class EntityInheritanceTree {
             return Collections.singletonList(entity);
         }
 
-        Collection<ObjEntity> c = new ArrayList<ObjEntity>();
+        Collection<ObjEntity> c = new ArrayList<>();
         appendSubentities(c);
         return c;
     }
@@ -166,7 +166,7 @@ public class EntityInheritanceTree {
             return entity.getAttributes();
         }
 
-        Collection<ObjAttribute> c = new ArrayList<ObjAttribute>();
+        Collection<ObjAttribute> c = new ArrayList<>();
         appendDeclaredAttributes(c);
 
         // add base attributes if any
@@ -183,7 +183,7 @@ public class EntityInheritanceTree {
             return entity.getRelationships();
         }
 
-        Collection<ObjRelationship> c = new ArrayList<ObjRelationship>();
+        Collection<ObjRelationship> c = new ArrayList<>();
         appendDeclaredRelationships(c);
 
         // add base relationships if any

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java b/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java
index 9e59735..f11c5d4 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java
@@ -80,7 +80,7 @@ public class EntityResolver implements MappingNamespace, Serializable {
      * Creates new EntityResolver that indexes a collection of DataMaps.
      */
     public EntityResolver(Collection<DataMap> dataMaps) {
-        this.maps = new ArrayList<DataMap>(dataMaps);
+        this.maps = new ArrayList<>(dataMaps);
         refreshMappingCache();
     }
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResult.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResult.java b/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResult.java
index ac88a83..45c177c 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResult.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResult.java
@@ -18,14 +18,14 @@
  ****************************************************************/
 package org.apache.cayenne.map;
 
+import org.apache.cayenne.util.ToStringBuilder;
+
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.cayenne.util.ToStringBuilder;
-
 /**
  * A metadata object that provides mapping of a set of result columns to an
  * ObjEntity. Used by {@link SQLResult}. Note that fields in the EntityResult
@@ -111,7 +111,7 @@ public class EntityResult {
 
     void addField(FieldResult field) {
         if (fields == null) {
-            fields = new ArrayList<FieldResult>();
+            fields = new ArrayList<>();
         }
 
         fields.add(field);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/map/ObjEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/ObjEntity.java b/cayenne-server/src/main/java/org/apache/cayenne/map/ObjEntity.java
index 81a66ee..ad466b2 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/ObjEntity.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/ObjEntity.java
@@ -101,8 +101,8 @@ public class ObjEntity extends Entity implements ObjEntityListener, Configuratio
         setName(name);
         this.lockType = LOCK_TYPE_NONE;
         this.callbacks = new CallbackMap();
-        this.entityListeners = new ArrayList<EntityListener>(2);
-        this.attributeOverrides = new TreeMap<String, String>();
+        this.entityListeners = new ArrayList<>(2);
+        this.attributeOverrides = new TreeMap<>();
     }
 
     /**
@@ -236,7 +236,7 @@ public class ObjEntity extends Entity implements ObjEntityListener, Configuratio
         // TODO: should we also copy lock type?
 
         Collection<ObjAttribute> primaryKeys = getMutablePrimaryKeys();
-        Collection<ObjAttribute> clientPK = new ArrayList<ObjAttribute>(primaryKeys.size());
+        Collection<ObjAttribute> clientPK = new ArrayList<>(primaryKeys.size());
 
         for (ObjAttribute attribute : getDeclaredAttributes()) {
             ObjAttribute clientAttribute = attribute.getClientAttribute();
@@ -670,7 +670,7 @@ public class ObjEntity extends Entity implements ObjEntityListener, Configuratio
         }
 
         Collection<DbAttribute> pkAttributes = getDbEntity().getPrimaryKeys();
-        Collection<ObjAttribute> attributes = new ArrayList<ObjAttribute>(pkAttributes.size());
+        Collection<ObjAttribute> attributes = new ArrayList<>(pkAttributes.size());
 
         for (DbAttribute pk : pkAttributes) {
             ObjAttribute attribute = getAttributeForDbAttribute(pk);
@@ -913,7 +913,7 @@ public class ObjEntity extends Entity implements ObjEntityListener, Configuratio
         }
 
         Collection<DbAttribute> pkAttributes = dbEntity.getPrimaryKeys();
-        Collection<String> names = new ArrayList<String>(pkAttributes.size());
+        Collection<String> names = new ArrayList<>(pkAttributes.size());
 
         for (DbAttribute pk : pkAttributes) {
             names.add(pk.getName());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/map/ObjRelationship.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/ObjRelationship.java b/cayenne-server/src/main/java/org/apache/cayenne/map/ObjRelationship.java
index 1e99f51..5ce2c0d 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/ObjRelationship.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/ObjRelationship.java
@@ -19,12 +19,6 @@
 
 package org.apache.cayenne.map;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.configuration.ConfigurationNode;
 import org.apache.cayenne.configuration.ConfigurationNodeVisitor;
@@ -35,6 +29,12 @@ import org.apache.cayenne.util.ToStringBuilder;
 import org.apache.cayenne.util.Util;
 import org.apache.cayenne.util.XMLEncoder;
 
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+import java.util.ListIterator;
+
 /**
  * Describes an association between two Java classes mapped as source and target
  * ObjEntity. Maps to a path of DbRelationships.
@@ -54,7 +54,7 @@ public class ObjRelationship extends Relationship implements ConfigurationNode {
     protected int deleteRule = DeleteRule.NO_ACTION;
     protected boolean usedForLocking;
 
-    protected List<DbRelationship> dbRelationships = new ArrayList<DbRelationship>(2);
+    protected List<DbRelationship> dbRelationships = new ArrayList<>(2);
 
     /**
      * Db-relationships path that is set but not yet parsed (turned into
@@ -185,7 +185,7 @@ public class ObjRelationship extends Relationship implements ConfigurationNode {
 
         // reverse the list
         List<DbRelationship> relationships = getDbRelationships();
-        List<DbRelationship> reversed = new ArrayList<DbRelationship>(relationships.size());
+        List<DbRelationship> reversed = new ArrayList<>(relationships.size());
 
         for (DbRelationship relationship : relationships) {
             DbRelationship reverse = relationship.getReverseRelationship();
@@ -196,7 +196,7 @@ public class ObjRelationship extends Relationship implements ConfigurationNode {
             reversed.add(0, reverse);
         }
 
-        ObjEntity target = (ObjEntity) this.getTargetEntity();
+        ObjEntity target = this.getTargetEntity();
         if (target == null) {
             return null;
         }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/map/PathComponentIterator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/PathComponentIterator.java b/cayenne-server/src/main/java/org/apache/cayenne/map/PathComponentIterator.java
index 3c9127b..c7ad56a 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/PathComponentIterator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/PathComponentIterator.java
@@ -18,6 +18,8 @@
  ****************************************************************/
 package org.apache.cayenne.map;
 
+import org.apache.cayenne.exp.ExpressionException;
+
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -25,8 +27,6 @@ import java.util.Iterator;
 import java.util.Map;
 import java.util.StringTokenizer;
 
-import org.apache.cayenne.exp.ExpressionException;
-
 /**
  * @since 3.0
  */
@@ -104,12 +104,10 @@ class PathComponentIterator implements Iterator<PathComponent<Attribute, Relatio
                     aliasedPath,
                     Collections.EMPTY_MAP);
 
-            Collection<PathComponent<Attribute, Relationship>> parsedSubpath = new ArrayList<PathComponent<Attribute, Relationship>>(
-                    4);
+            Collection<PathComponent<Attribute, Relationship>> parsedSubpath = new ArrayList<>(4);
 
             while (subpathIt.hasNext()) {
-                PathComponent<Attribute, Relationship> subpathComponent = subpathIt
-                        .next();
+                PathComponent<Attribute, Relationship> subpathComponent = subpathIt.next();
 
                 Relationship subpathRelationship = subpathComponent.getRelationship();
                 if (subpathRelationship == null) {
@@ -124,10 +122,7 @@ class PathComponentIterator implements Iterator<PathComponent<Attribute, Relatio
                 parsedSubpath.add(subpathComponent);
             }
 
-            return new AliasPathComponent<Attribute, Relationship>(
-                    pathComp,
-                    parsedSubpath,
-                    !hasNext());
+            return new AliasPathComponent<>(pathComp, parsedSubpath, !hasNext());
         }
 
         throw invalidPathException("Can't resolve path component", pathComp);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/map/Procedure.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/Procedure.java b/cayenne-server/src/main/java/org/apache/cayenne/map/Procedure.java
index a40a22e..8ec25cb 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/Procedure.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/Procedure.java
@@ -19,11 +19,6 @@
 
 package org.apache.cayenne.map;
 
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
 import org.apache.cayenne.configuration.ConfigurationNode;
 import org.apache.cayenne.configuration.ConfigurationNodeVisitor;
 import org.apache.cayenne.util.CayenneMapEntry;
@@ -31,6 +26,11 @@ import org.apache.cayenne.util.Util;
 import org.apache.cayenne.util.XMLEncoder;
 import org.apache.cayenne.util.XMLSerializable;
 
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
 /**
  * A mapping descriptor for a database stored procedure.
  */
@@ -43,7 +43,7 @@ public class Procedure implements ConfigurationNode, CayenneMapEntry, XMLSeriali
     protected String catalog;
     protected String schema;
     protected boolean returningValue;
-    protected List<ProcedureParameter> callParameters = new ArrayList<ProcedureParameter>();
+    protected List<ProcedureParameter> callParameters = new ArrayList<>();
 
     /**
      * Creates an unnamed procedure object.
@@ -200,8 +200,7 @@ public class Procedure implements ConfigurationNode, CayenneMapEntry, XMLSeriali
      * it will also be included as a call parameter.
      */
     public List<ProcedureParameter> getCallOutParameters() {
-        List<ProcedureParameter> outParams = new ArrayList<ProcedureParameter>(
-                callParameters.size());
+        List<ProcedureParameter> outParams = new ArrayList<>(callParameters.size());
         for (ProcedureParameter param : callParameters) {
             if (param.isOutParam()) {
                 outParams.add(param);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/map/QueryDescriptorLoader.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/QueryDescriptorLoader.java b/cayenne-server/src/main/java/org/apache/cayenne/map/QueryDescriptorLoader.java
index 4514b22..10038cc 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/QueryDescriptorLoader.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/QueryDescriptorLoader.java
@@ -207,7 +207,7 @@ public class QueryDescriptorLoader {
 
     void addOrdering(String path, String descending, String ignoreCase) {
         if (orderings == null) {
-            orderings = new ArrayList<Ordering>();
+            orderings = new ArrayList<>();
         }
 
         if (path != null && path.trim().length() == 0) {
@@ -239,7 +239,7 @@ public class QueryDescriptorLoader {
         }
 
         if (prefetches == null) {
-            prefetches = new ArrayList<String>();
+            prefetches = new ArrayList<>();
         }
         prefetches.add(path.trim());
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/map/SQLResult.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/SQLResult.java b/cayenne-server/src/main/java/org/apache/cayenne/map/SQLResult.java
index c57b086..743a614 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/SQLResult.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/SQLResult.java
@@ -18,13 +18,13 @@
  ****************************************************************/
 package org.apache.cayenne.map;
 
+import org.apache.cayenne.reflect.ClassDescriptor;
+
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.cayenne.reflect.ClassDescriptor;
-
 /**
  * A metadata object that defines how a row in a result set can be converted to
  * result objects. SQLResult can be mapped to a single scalar, a single entity
@@ -50,7 +50,7 @@ public class SQLResult {
             return Collections.emptyList();
         }
 
-        List<Object> resolvedComponents = new ArrayList<Object>(resultDescriptors.size());
+        List<Object> resolvedComponents = new ArrayList<>(resultDescriptors.size());
 
         int offset = 0;
         for (Object component : getComponents()) {
@@ -104,7 +104,7 @@ public class SQLResult {
 
     public void addEntityResult(EntityResult entityResult) {
         if (resultDescriptors == null) {
-            resultDescriptors = new ArrayList<Object>(3);
+            resultDescriptors = new ArrayList<>(3);
         }
 
         resultDescriptors.add(entityResult);
@@ -115,7 +115,7 @@ public class SQLResult {
      */
     public void addColumnResult(String column) {
         if (resultDescriptors == null) {
-            resultDescriptors = new ArrayList<Object>(3);
+            resultDescriptors = new ArrayList<>(3);
         }
 
         resultDescriptors.add(column);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/query/BatchQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/BatchQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/query/BatchQuery.java
index 82be088..9ba1af5 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/BatchQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/BatchQuery.java
@@ -19,15 +19,14 @@
 
 package org.apache.cayenne.query;
 
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.cayenne.configuration.ConfigurationNodeVisitor;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.EntityResolver;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * BatchQuery and its descendants allow to group similar data for the batch
  * database modifications, including inserts, updates and deletes. Single
@@ -61,7 +60,7 @@ public abstract class BatchQuery implements Query {
      */
     public BatchQuery(DbEntity dbEntity, List<DbAttribute> dbAttributes, int batchCapacity) {
         this.dbEntity = dbEntity;
-        this.rows = new ArrayList<BatchQueryRow>(batchCapacity);
+        this.rows = new ArrayList<>(batchCapacity);
         this.dbAttributes = dbAttributes;
     }
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/query/EJBQLQueryMetadata.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/EJBQLQueryMetadata.java b/cayenne-server/src/main/java/org/apache/cayenne/query/EJBQLQueryMetadata.java
index 76e962e..bbc5756 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/EJBQLQueryMetadata.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/EJBQLQueryMetadata.java
@@ -18,15 +18,15 @@
  ****************************************************************/
 package org.apache.cayenne.query;
 
+import org.apache.cayenne.ejbql.EJBQLCompiledExpression;
+import org.apache.cayenne.map.EntityResolver;
+import org.apache.cayenne.map.ObjEntity;
+
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.cayenne.ejbql.EJBQLCompiledExpression;
-import org.apache.cayenne.map.EntityResolver;
-import org.apache.cayenne.map.ObjEntity;
-
 /**
  * A metadata object for the {@link EJBQLQuery}.
  * 
@@ -64,7 +64,7 @@ class EJBQLQueryMetadata extends BaseQueryMetadata {
                 Map<String, Object> namedParameters = query.getNamedParameters();
                 if (!namedParameters.isEmpty()) {
 
-                    List<String> keys = new ArrayList<String>(namedParameters.keySet());
+                    List<String> keys = new ArrayList<>(namedParameters.keySet());
                     Collections.sort(keys);
                     for (String parameterKey : keys) {
                         key.append('/').append(parameterKey).append('=').append(
@@ -76,7 +76,7 @@ class EJBQLQueryMetadata extends BaseQueryMetadata {
                         .getPositionalParameters();
                 if (!positionalParameters.isEmpty()) {
 
-                    List<Integer> keys = new ArrayList<Integer>(positionalParameters
+                    List<Integer> keys = new ArrayList<>(positionalParameters
                             .keySet());
                     Collections.sort(keys);
                     for (Integer parameterKey : keys) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/query/InsertBatchQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/InsertBatchQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/query/InsertBatchQuery.java
index d4f1961..84b76ca 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/InsertBatchQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/InsertBatchQuery.java
@@ -19,13 +19,12 @@
 
 package org.apache.cayenne.query;
 
-import java.util.ArrayList;
-import java.util.Map;
-
 import org.apache.cayenne.ObjectId;
-import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
 
+import java.util.ArrayList;
+import java.util.Map;
+
 /**
  * Batched INSERT query. Allows inserting multiple object snapshots (DataRows)
  * for a given DbEntity in a single query. InsertBatchQuery normally is not used
@@ -38,7 +37,7 @@ public class InsertBatchQuery extends BatchQuery {
      * Creates new InsertBatchQuery for a given DbEntity and estimated capacity.
      */
     public InsertBatchQuery(DbEntity entity, int batchCapacity) {
-        super(entity, new ArrayList<DbAttribute>(entity.getAttributes()), batchCapacity);
+        super(entity, new ArrayList<>(entity.getAttributes()), batchCapacity);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/query/ObjectSelect.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/ObjectSelect.java b/cayenne-server/src/main/java/org/apache/cayenne/query/ObjectSelect.java
index a527a54..21e48a6 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/ObjectSelect.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/ObjectSelect.java
@@ -284,7 +284,7 @@ public class ObjectSelect<T> extends IndirectQuery implements Select<T> {
 		Collection<Expression> all;
 
 		if (where != null) {
-			all = new ArrayList<Expression>(expressions.size() + 1);
+			all = new ArrayList<>(expressions.size() + 1);
 			all.add(where);
 			all.addAll(expressions);
 		} else {
@@ -321,7 +321,7 @@ public class ObjectSelect<T> extends IndirectQuery implements Select<T> {
 		Collection<Expression> all;
 
 		if (where != null) {
-			all = new ArrayList<Expression>(expressions.size() + 1);
+			all = new ArrayList<>(expressions.size() + 1);
 			all.add(where);
 			all.addAll(expressions);
 		} else {
@@ -367,7 +367,7 @@ public class ObjectSelect<T> extends IndirectQuery implements Select<T> {
 		}
 
 		if (this.orderings == null) {
-			this.orderings = new ArrayList<Ordering>(orderings.length);
+			this.orderings = new ArrayList<>(orderings.length);
 		}
 
 		for (Ordering o : orderings) {
@@ -389,7 +389,7 @@ public class ObjectSelect<T> extends IndirectQuery implements Select<T> {
 		}
 
 		if (this.orderings == null) {
-			this.orderings = new ArrayList<Ordering>(orderings.size());
+			this.orderings = new ArrayList<>(orderings.size());
 		}
 
 		this.orderings.addAll(orderings);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/query/Ordering.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/Ordering.java b/cayenne-server/src/main/java/org/apache/cayenne/query/Ordering.java
index 0a3d156..7c21d7a 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/Ordering.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/Ordering.java
@@ -19,15 +19,6 @@
 
 package org.apache.cayenne.query;
 
-import java.io.PrintWriter;
-import java.io.Serializable;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-
 import org.apache.cayenne.exp.Expression;
 import org.apache.cayenne.exp.ExpressionException;
 import org.apache.cayenne.exp.parser.ASTDbPath;
@@ -38,6 +29,15 @@ import org.apache.cayenne.util.XMLEncoder;
 import org.apache.cayenne.util.XMLSerializable;
 import org.apache.commons.collections.ComparatorUtils;
 
+import java.io.PrintWriter;
+import java.io.Serializable;
+import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
 /**
  * Defines object sorting criteria, used either for in-memory sorting of object
  * lists or as a specification for building <em>ORDER BY</em> clause of a
@@ -73,7 +73,7 @@ public class Ordering implements Comparator<Object>, Serializable, XMLSerializab
 	 * @since 4.0
 	 */
 	public static <E> List<E> orderedList(Collection<E> objects, List<? extends Ordering> orderings) {
-		List<E> newList = new ArrayList<E>(objects);
+		List<E> newList = new ArrayList<>(objects);
 		
 		orderList(newList, orderings);
 		
@@ -334,7 +334,7 @@ public class Ordering implements Comparator<Object>, Serializable, XMLSerializab
 	 * @since 4.0
 	 */
 	public <E> List<E> orderedList(Collection<E> objects) {
-		List<E> newList = new ArrayList<E>(objects);
+		List<E> newList = new ArrayList<>(objects);
 		
 		orderList(newList);
 		

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/query/PrefetchTreeNode.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/PrefetchTreeNode.java b/cayenne-server/src/main/java/org/apache/cayenne/query/PrefetchTreeNode.java
index d71a7f4..a1d0fb6 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/PrefetchTreeNode.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/PrefetchTreeNode.java
@@ -140,7 +140,7 @@ public class PrefetchTreeNode implements Serializable, XMLSerializable {
 	 * node, regardless of its semantics.
 	 */
 	public Collection<PrefetchTreeNode> adjacentJointNodes() {
-		Collection<PrefetchTreeNode> c = new ArrayList<PrefetchTreeNode>();
+		Collection<PrefetchTreeNode> c = new ArrayList<>();
 		traverse(new AdjacentJoinsOperation(c));
 		return c;
 	}
@@ -150,7 +150,7 @@ public class PrefetchTreeNode implements Serializable, XMLSerializable {
 	 * semantics.
 	 */
 	public Collection<PrefetchTreeNode> jointNodes() {
-		Collection<PrefetchTreeNode> c = new ArrayList<PrefetchTreeNode>();
+		Collection<PrefetchTreeNode> c = new ArrayList<>();
 		traverse(new CollectionBuilderOperation(c, false, false, true, false, false));
 		return c;
 	}
@@ -159,7 +159,7 @@ public class PrefetchTreeNode implements Serializable, XMLSerializable {
 	 * Returns a collection of PrefetchTreeNodes with disjoint semantics.
 	 */
 	public Collection<PrefetchTreeNode> disjointNodes() {
-		Collection<PrefetchTreeNode> c = new ArrayList<PrefetchTreeNode>();
+		Collection<PrefetchTreeNode> c = new ArrayList<>();
 		traverse(new CollectionBuilderOperation(c, true, false, false, false, false));
 		return c;
 	}
@@ -170,7 +170,7 @@ public class PrefetchTreeNode implements Serializable, XMLSerializable {
 	 * @since 3.1
 	 */
 	public Collection<PrefetchTreeNode> disjointByIdNodes() {
-		Collection<PrefetchTreeNode> c = new ArrayList<PrefetchTreeNode>();
+		Collection<PrefetchTreeNode> c = new ArrayList<>();
 		traverse(new CollectionBuilderOperation(c, false, true, false, false, false));
 		return c;
 	}
@@ -179,7 +179,7 @@ public class PrefetchTreeNode implements Serializable, XMLSerializable {
 	 * Returns a collection of PrefetchTreeNodes that are not phantoms.
 	 */
 	public Collection<PrefetchTreeNode> nonPhantomNodes() {
-		Collection<PrefetchTreeNode> c = new ArrayList<PrefetchTreeNode>();
+		Collection<PrefetchTreeNode> c = new ArrayList<>();
 		traverse(new CollectionBuilderOperation(c, true, true, true, true, false));
 		return c;
 	}
@@ -369,7 +369,7 @@ public class PrefetchTreeNode implements Serializable, XMLSerializable {
 		}
 
 		if (children == null) {
-			children = new ArrayList<PrefetchTreeNode>(4);
+			children = new ArrayList<>(4);
 		}
 
 		children.add(child);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/query/ProcedureQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/ProcedureQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/query/ProcedureQuery.java
index 1bd6479..b081c6b 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/ProcedureQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/ProcedureQuery.java
@@ -19,13 +19,6 @@
 
 package org.apache.cayenne.query;
 
-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.access.jdbc.ColumnDescriptor;
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.map.MapLoader;
@@ -33,6 +26,13 @@ import org.apache.cayenne.map.Procedure;
 import org.apache.cayenne.util.XMLEncoder;
 import org.apache.cayenne.util.XMLSerializable;
 
+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 query based on Procedure. Can be used as a select query, or as a query of an
  * arbitrary complexity, performing data modification, selecting data (possibly with
@@ -178,7 +178,7 @@ public class ProcedureQuery extends AbstractQuery implements ParameterizedQuery,
      */
     public synchronized void addResultDescriptor(ColumnDescriptor[] descriptor) {
         if (resultDescriptors == null) {
-            resultDescriptors = new ArrayList<ColumnDescriptor[]>(2);
+            resultDescriptors = new ArrayList<>(2);
         }
 
         resultDescriptors.add(descriptor);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/query/ProcedureQueryMetadata.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/ProcedureQueryMetadata.java b/cayenne-server/src/main/java/org/apache/cayenne/query/ProcedureQueryMetadata.java
index 0c54d40..a937f65 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/ProcedureQueryMetadata.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/ProcedureQueryMetadata.java
@@ -19,14 +19,14 @@
 
 package org.apache.cayenne.query;
 
+import org.apache.cayenne.map.EntityResolver;
+import org.apache.cayenne.map.Procedure;
+
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.cayenne.map.EntityResolver;
-import org.apache.cayenne.map.Procedure;
-
 class ProcedureQueryMetadata extends BaseQueryMetadata {
 
     transient Procedure procedure;
@@ -81,7 +81,7 @@ class ProcedureQueryMetadata extends BaseQueryMetadata {
                 Map<String, ?> parameters = query.getParameters();
                 if (!parameters.isEmpty()) {
 
-                    List<String> keys = new ArrayList<String>(parameters.keySet());
+                    List<String> keys = new ArrayList<>(parameters.keySet());
                     Collections.sort(keys);
 
                     for(String parameterKey : keys) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/query/QueryChain.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/QueryChain.java b/cayenne-server/src/main/java/org/apache/cayenne/query/QueryChain.java
index 73516fa..5e00431 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/QueryChain.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/QueryChain.java
@@ -19,14 +19,14 @@
 
 package org.apache.cayenne.query;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.EntityResolver;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+
 /**
  * A Query decorator for a collection of other queries. Note that QueryChain will always
  * return DataRows (that is if it returns data), as it has no way of knowing how to
@@ -55,7 +55,7 @@ public class QueryChain implements Query {
      */
     public QueryChain(Query[] queries) {
         if (queries != null && queries.length > 0) {
-            this.chain = new ArrayList<Query>(Arrays.asList(queries));
+            this.chain = new ArrayList<>(Arrays.asList(queries));
         }
     }
 
@@ -64,7 +64,7 @@ public class QueryChain implements Query {
      */
     public QueryChain(Collection<? extends Query> queries) {
         if (queries != null && !queries.isEmpty()) {
-            this.chain = new ArrayList<Query>(queries);
+            this.chain = new ArrayList<>(queries);
         }
     }
 
@@ -73,7 +73,7 @@ public class QueryChain implements Query {
      */
     public void addQuery(Query query) {
         if (chain == null) {
-            chain = new ArrayList<Query>();
+            chain = new ArrayList<>();
         }
 
         chain.add(query);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/query/SQLTemplate.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/SQLTemplate.java b/cayenne-server/src/main/java/org/apache/cayenne/query/SQLTemplate.java
index e8db56d..114c500 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/SQLTemplate.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/SQLTemplate.java
@@ -378,7 +378,7 @@ public class SQLTemplate extends AbstractQuery implements ParameterizedQuery, XM
 		// since positional parameters are specified, resetting named
 		// parameters
 		this.parameters = null;
-		this.positionalParams = params != null ? new ArrayList<Object>(params) : null;
+		this.positionalParams = params != null ? new ArrayList<>(params) : null;
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/query/SQLTemplateMetadata.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/SQLTemplateMetadata.java b/cayenne-server/src/main/java/org/apache/cayenne/query/SQLTemplateMetadata.java
index de106d5..236c0c7 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/SQLTemplateMetadata.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/SQLTemplateMetadata.java
@@ -18,14 +18,14 @@
  ****************************************************************/
 package org.apache.cayenne.query;
 
+import org.apache.cayenne.map.EntityResolver;
+import org.apache.cayenne.map.ObjEntity;
+
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.cayenne.map.EntityResolver;
-import org.apache.cayenne.map.ObjEntity;
-
 /**
  * @since 3.0
  */
@@ -59,7 +59,7 @@ class SQLTemplateMetadata extends BaseQueryMetadata {
 				Map<String, ?> parameters = query.getParams();
 				if (!parameters.isEmpty()) {
 
-					List<String> keys = new ArrayList<String>(parameters.keySet());
+					List<String> keys = new ArrayList<>(parameters.keySet());
 					Collections.sort(keys);
 
 					for (String parameterKey : keys) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/query/SelectQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/SelectQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/query/SelectQuery.java
index 793d3d8..5fe1c37 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/SelectQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/SelectQuery.java
@@ -19,12 +19,6 @@
 
 package org.apache.cayenne.query;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
 import org.apache.cayenne.DataRow;
 import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.ResultBatchIterator;
@@ -40,6 +34,12 @@ import org.apache.cayenne.map.Procedure;
 import org.apache.cayenne.util.XMLEncoder;
 import org.apache.cayenne.util.XMLSerializable;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
 /**
  * A query that selects persistent objects of a certain type or "raw data" (aka
  * DataRows). Supports expression qualifier, multiple orderings and a number of
@@ -802,7 +802,7 @@ public class SelectQuery<T> extends AbstractQuery implements ParameterizedQuery,
 	 */
 	List<Ordering> nonNullOrderings() {
 		if (orderings == null) {
-			orderings = new ArrayList<Ordering>(3);
+			orderings = new ArrayList<>(3);
 		}
 
 		return orderings;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/query/UpdateBatchQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/UpdateBatchQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/query/UpdateBatchQuery.java
index 42381e0..8b44d86 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/UpdateBatchQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/UpdateBatchQuery.java
@@ -19,16 +19,16 @@
 
 package org.apache.cayenne.query;
 
+import org.apache.cayenne.ObjectId;
+import org.apache.cayenne.map.DbAttribute;
+import org.apache.cayenne.map.DbEntity;
+
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.cayenne.ObjectId;
-import org.apache.cayenne.map.DbAttribute;
-import org.apache.cayenne.map.DbEntity;
-
 /**
  * Batched UPDATE query.
  */
@@ -42,7 +42,7 @@ public class UpdateBatchQuery extends BatchQuery {
 
     private static List<DbAttribute> toDbAttributes(List<DbAttribute> qualifierAttributes,
             List<DbAttribute> updatedAttributes) {
-        List<DbAttribute> dbAttributes = new ArrayList<DbAttribute>(updatedAttributes.size()
+        List<DbAttribute> dbAttributes = new ArrayList<>(updatedAttributes.size()
                 + qualifierAttributes.size());
         dbAttributes.addAll(updatedAttributes);
         dbAttributes.addAll(qualifierAttributes);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/reflect/LifecycleCallbackEventHandler.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/reflect/LifecycleCallbackEventHandler.java b/cayenne-server/src/main/java/org/apache/cayenne/reflect/LifecycleCallbackEventHandler.java
index 53395cb..429efdb 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/reflect/LifecycleCallbackEventHandler.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/reflect/LifecycleCallbackEventHandler.java
@@ -18,16 +18,16 @@
  ****************************************************************/
 package org.apache.cayenne.reflect;
 
+import org.apache.cayenne.Persistent;
+import org.apache.cayenne.map.EntityResolver;
+import org.apache.cayenne.map.ObjEntity;
+
 import java.lang.reflect.Method;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.cayenne.Persistent;
-import org.apache.cayenne.map.EntityResolver;
-import org.apache.cayenne.map.ObjEntity;
-
 /**
  * A runtime callback processor for a single kind of lifecycle events.
  * 
@@ -127,7 +127,7 @@ class LifecycleCallbackEventHandler {
                 .getName());
 
         if (entityListeners == null) {
-            entityListeners = new ArrayList<AbstractCallback>(3);
+            entityListeners = new ArrayList<>(3);
             listeners.put(entityClass.getName(), entityListeners);
         }
 
@@ -142,7 +142,7 @@ class LifecycleCallbackEventHandler {
         // default listeners are invoked first
         if (!defaultListeners.isEmpty()
                 && !excludingDefaultListeners(object.getObjectId().getEntityName())) {
-            for (final AbstractCallback listener : defaultListeners) {
+            for (AbstractCallback listener : defaultListeners) {
                 listener.performCallback(object);
             }
         }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/reflect/PersistentDescriptor.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/reflect/PersistentDescriptor.java b/cayenne-server/src/main/java/org/apache/cayenne/reflect/PersistentDescriptor.java
index c34fb4b..bcaf65b 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/reflect/PersistentDescriptor.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/reflect/PersistentDescriptor.java
@@ -18,6 +18,15 @@
  ****************************************************************/
 package org.apache.cayenne.reflect;
 
+import org.apache.cayenne.CayenneRuntimeException;
+import org.apache.cayenne.PersistenceState;
+import org.apache.cayenne.exp.Expression;
+import org.apache.cayenne.map.DbEntity;
+import org.apache.cayenne.map.EntityInheritanceTree;
+import org.apache.cayenne.map.ObjAttribute;
+import org.apache.cayenne.map.ObjEntity;
+import org.apache.cayenne.map.ObjRelationship;
+
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -28,15 +37,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 
-import org.apache.cayenne.CayenneRuntimeException;
-import org.apache.cayenne.PersistenceState;
-import org.apache.cayenne.exp.Expression;
-import org.apache.cayenne.map.DbEntity;
-import org.apache.cayenne.map.EntityInheritanceTree;
-import org.apache.cayenne.map.ObjAttribute;
-import org.apache.cayenne.map.ObjEntity;
-import org.apache.cayenne.map.ObjRelationship;
-
 /**
  * A default ClassDescriptor implementation for persistent objects.
  * 
@@ -88,7 +88,7 @@ public class PersistentDescriptor implements ClassDescriptor {
 		if (columns == null || columns.isEmpty()) {
 			allDiscriminatorColumns = null;
 		} else {
-			allDiscriminatorColumns = new ArrayList<ObjAttribute>(columns);
+			allDiscriminatorColumns = new ArrayList<>(columns);
 		}
 	}
 
@@ -126,16 +126,11 @@ public class PersistentDescriptor implements ClassDescriptor {
 		// properties, and populated both ordered collections at once
 		if (properties.size() > 1) {
 
-			List<Entry<String, PropertyDescriptor>> entries = new ArrayList<Entry<String, PropertyDescriptor>>(
-					properties.entrySet());
+			List<Entry<String, PropertyDescriptor>> entries = new ArrayList<>(properties.entrySet());
 
 			Collections.sort(entries, PropertyComparator.comparator);
-
-			Map<String, PropertyDescriptor> orderedProperties = new LinkedHashMap<String, PropertyDescriptor>(
-					(int) (entries.size() / 0.75));
-
-			Map<String, PropertyDescriptor> orderedDeclared = new LinkedHashMap<String, PropertyDescriptor>(
-					(int) (declaredProperties.size() / 0.75));
+			Map<String, PropertyDescriptor> orderedProperties = new LinkedHashMap<>((int) (entries.size() / 0.75));
+			Map<String, PropertyDescriptor> orderedDeclared = new LinkedHashMap<>((int) (declaredProperties.size() / 0.75));
 
 			for (Entry<String, PropertyDescriptor> e : entries) {
 				orderedProperties.put(e.getKey(), e.getValue());
@@ -158,7 +153,7 @@ public class PersistentDescriptor implements ClassDescriptor {
 			if (attribute.isPrimaryKey()) {
 
 				if (idProperties == null) {
-					idProperties = new ArrayList<AttributeProperty>(2);
+					idProperties = new ArrayList<>(2);
 				}
 
 				idProperties.add(attributeProperty);
@@ -169,7 +164,7 @@ public class PersistentDescriptor implements ClassDescriptor {
 			if (reverseRelationship != null && "java.util.Map".equals(reverseRelationship.getCollectionType())) {
 
 				if (mapArcProperties == null) {
-					mapArcProperties = new ArrayList<ArcProperty>(2);
+					mapArcProperties = new ArrayList<>(2);
 				}
 
 				mapArcProperties.add((ArcProperty) property);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/resource/ClassLoaderResourceLocator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/resource/ClassLoaderResourceLocator.java b/cayenne-server/src/main/java/org/apache/cayenne/resource/ClassLoaderResourceLocator.java
index 0985c04..de57322 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/resource/ClassLoaderResourceLocator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/resource/ClassLoaderResourceLocator.java
@@ -18,16 +18,16 @@
  ****************************************************************/
 package org.apache.cayenne.resource;
 
+import org.apache.cayenne.ConfigurationException;
+import org.apache.cayenne.di.ClassLoaderManager;
+import org.apache.cayenne.di.Inject;
+
 import java.io.IOException;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Enumeration;
 
-import org.apache.cayenne.ConfigurationException;
-import org.apache.cayenne.di.ClassLoaderManager;
-import org.apache.cayenne.di.Inject;
-
 /**
  * A {@link ResourceLocator} that looks up resources is the application
  * classpath based on the current thread ClassLoader.
@@ -45,7 +45,7 @@ public class ClassLoaderResourceLocator implements ResourceLocator {
     @Override
     public Collection<Resource> findResources(String name) {
 
-        Collection<Resource> resources = new ArrayList<Resource>(3);
+        Collection<Resource> resources = new ArrayList<>(3);
 
         Enumeration<URL> urls;
         try {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/resource/FilesystemResourceLocator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/resource/FilesystemResourceLocator.java b/cayenne-server/src/main/java/org/apache/cayenne/resource/FilesystemResourceLocator.java
index 0614dba..fd4a029 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/resource/FilesystemResourceLocator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/resource/FilesystemResourceLocator.java
@@ -18,14 +18,14 @@
  ****************************************************************/
 package org.apache.cayenne.resource;
 
+import org.apache.cayenne.CayenneRuntimeException;
+import org.apache.cayenne.ConfigurationException;
+
 import java.io.File;
 import java.net.MalformedURLException;
 import java.util.ArrayList;
 import java.util.Collection;
 
-import org.apache.cayenne.CayenneRuntimeException;
-import org.apache.cayenne.ConfigurationException;
-
 /**
  * A {@link ResourceLocator} that can locate resources in the filesystem. Instances of
  * {@link FilesystemResourceLocator} are explicitly created by the user and then bound to
@@ -92,7 +92,7 @@ public class FilesystemResourceLocator implements ResourceLocator {
     }
 
     public Collection<Resource> findResources(String name) {
-        Collection<Resource> resources = new ArrayList<Resource>(3);
+        Collection<Resource> resources = new ArrayList<>(3);
 
         for (File root : roots) {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/util/Util.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/util/Util.java b/cayenne-server/src/main/java/org/apache/cayenne/util/Util.java
index 8835668..3ee62ba 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/util/Util.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/util/Util.java
@@ -459,7 +459,7 @@ public class Util {
 	 * that backs the original iterator.
 	 */
 	public static <T> Iterator<T> sortedIterator(Iterator<T> it, Comparator<T> comparator) {
-		List<T> list = new ArrayList<T>();
+		List<T> list = new ArrayList<>();
 		while (it.hasNext()) {
 			list.add(it.next());
 		}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/validation/ValidationResult.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/validation/ValidationResult.java b/cayenne-server/src/main/java/org/apache/cayenne/validation/ValidationResult.java
index cf0b6d1..8ca7f55 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/validation/ValidationResult.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/validation/ValidationResult.java
@@ -19,13 +19,13 @@
 
 package org.apache.cayenne.validation;
 
+import org.apache.cayenne.util.Util;
+
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
-import org.apache.cayenne.util.Util;
-
 /**
  * Represents a result of a validation execution. Contains a set of
  * {@link ValidationFailure ValidationFailures}that occured in a given context. All
@@ -38,7 +38,7 @@ public class ValidationResult implements Serializable {
     private List<ValidationFailure> failures;
 
     public ValidationResult() {
-        failures = new ArrayList<ValidationFailure>();
+        failures = new ArrayList<>();
     }
 
     /**
@@ -70,7 +70,7 @@ public class ValidationResult implements Serializable {
      * @see ValidationFailure#getSource()
      */
     public List<ValidationFailure> getFailures(Object source) {
-        ArrayList<ValidationFailure> matchingFailures = new ArrayList<ValidationFailure>(5);
+        ArrayList<ValidationFailure> matchingFailures = new ArrayList<>(5);
         for (ValidationFailure failure : failures) {
             if (Util.nullSafeEquals(source, failure.getSource())) {
                 matchingFailures.add(failure);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-server/src/main/java/org/apache/cayenne/velocity/VelocitySQLTemplateProcessor.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/velocity/VelocitySQLTemplateProcessor.java b/cayenne-server/src/main/java/org/apache/cayenne/velocity/VelocitySQLTemplateProcessor.java
index 4fceb6c..49fac9d 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/velocity/VelocitySQLTemplateProcessor.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/velocity/VelocitySQLTemplateProcessor.java
@@ -19,13 +19,6 @@
 
 package org.apache.cayenne.velocity;
 
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.access.jdbc.ColumnDescriptor;
 import org.apache.cayenne.access.jdbc.SQLParameterBinding;
@@ -42,6 +35,13 @@ import org.apache.velocity.runtime.parser.node.ASTReference;
 import org.apache.velocity.runtime.parser.node.SimpleNode;
 import org.apache.velocity.runtime.visitor.BaseVisitor;
 
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
  * Processor for SQL velocity templates.
  * 
@@ -152,8 +152,8 @@ public class VelocitySQLTemplateProcessor implements SQLTemplateProcessor {
 	}
 
 	SQLStatement processTemplate(String template, SimpleNode parsedTemplate, Map<String, Object> parameters) {
-		List<SQLParameterBinding> bindings = new ArrayList<SQLParameterBinding>();
-		List<ColumnDescriptor> results = new ArrayList<ColumnDescriptor>();
+		List<SQLParameterBinding> bindings = new ArrayList<>();
+		List<ColumnDescriptor> results = new ArrayList<>();
 		parameters.put(BINDINGS_LIST_KEY, bindings);
 		parameters.put(RESULT_COLUMNS_LIST_KEY, results);
 		parameters.put(HELPER_KEY, renderingUtils);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-tools/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java b/cayenne-tools/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
index c8d43e4..9c5c932 100644
--- a/cayenne-tools/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
+++ b/cayenne-tools/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
@@ -95,7 +95,7 @@ public class ClassGenerationAction {
 		this.context = new VelocityContext();
 		this.templateCache = new HashMap<>(5);
 
-		this.artifacts = new ArrayList<Artifact>();
+		this.artifacts = new ArrayList<>();
 	}
 
 	protected String defaultTemplateName(TemplateType type) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-tools/src/main/java/org/apache/cayenne/gen/ImportUtils.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/main/java/org/apache/cayenne/gen/ImportUtils.java b/cayenne-tools/src/main/java/org/apache/cayenne/gen/ImportUtils.java
index 5eb4208..af40499 100644
--- a/cayenne-tools/src/main/java/org/apache/cayenne/gen/ImportUtils.java
+++ b/cayenne-tools/src/main/java/org/apache/cayenne/gen/ImportUtils.java
@@ -19,6 +19,8 @@
 
 package org.apache.cayenne.gen;
 
+import org.apache.cayenne.util.Util;
+
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Comparator;
@@ -26,8 +28,6 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.cayenne.util.Util;
-
 /**
  * Methods for mangling strings.
  * 
@@ -212,7 +212,7 @@ public class ImportUtils {
 			outputBuffer.append(";\n\n");
 		}
 
-		List<String> typesList = new ArrayList<String>(importTypesMap.values());
+		List<String> typesList = new ArrayList<>(importTypesMap.values());
 		Collections.sort(typesList, new Comparator<String>() {
 
 			public int compare(String s1, String s2) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-tools/src/main/java/org/apache/cayenne/tools/CayenneGeneratorEntityFilterAction.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/main/java/org/apache/cayenne/tools/CayenneGeneratorEntityFilterAction.java b/cayenne-tools/src/main/java/org/apache/cayenne/tools/CayenneGeneratorEntityFilterAction.java
index f32b1d2..4d068d8 100644
--- a/cayenne-tools/src/main/java/org/apache/cayenne/tools/CayenneGeneratorEntityFilterAction.java
+++ b/cayenne-tools/src/main/java/org/apache/cayenne/tools/CayenneGeneratorEntityFilterAction.java
@@ -40,7 +40,7 @@ class CayenneGeneratorEntityFilterAction {
     private boolean client;
 
     Collection<Embeddable> getFilteredEmbeddables(DataMap mainDataMap) {
-        Collection<Embeddable> embeddables = new ArrayList<Embeddable>(mainDataMap.getEmbeddables());
+        Collection<Embeddable> embeddables = new ArrayList<>(mainDataMap.getEmbeddables());
 
         // filter out excluded entities...
         Iterator<Embeddable> it = embeddables.iterator();
@@ -61,7 +61,7 @@ class CayenneGeneratorEntityFilterAction {
     Collection<ObjEntity> getFilteredEntities(DataMap mainDataMap)
             throws MalformedURLException {
 
-        Collection<ObjEntity> entities = new ArrayList<ObjEntity>(mainDataMap.getObjEntities());
+        Collection<ObjEntity> entities = new ArrayList<>(mainDataMap.getObjEntities());
 
         // filter out excluded entities...
         Iterator<ObjEntity> it = entities.iterator();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/ManyToManyCandidateEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/ManyToManyCandidateEntity.java b/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/ManyToManyCandidateEntity.java
index bbb7c68..7f183cf 100644
--- a/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/ManyToManyCandidateEntity.java
+++ b/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/ManyToManyCandidateEntity.java
@@ -69,7 +69,7 @@ class ManyToManyCandidateEntity {
      * @return true if current entity is represent many to many table; otherwise returns false
      */
     public static ManyToManyCandidateEntity build(ObjEntity joinEntity) {
-        ArrayList<ObjRelationship> relationships = new ArrayList<ObjRelationship>(joinEntity.getRelationships());
+        ArrayList<ObjRelationship> relationships = new ArrayList<>(joinEntity.getRelationships());
         if (relationships.size() != 2 || (relationships.get(0).getDbRelationships().isEmpty() || relationships.get(1).getDbRelationships().isEmpty())) {
             return null;
         }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Application.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Application.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Application.java
index 9b91036..44ebd6d 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Application.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Application.java
@@ -19,14 +19,6 @@
 
 package org.apache.cayenne.modeler;
 
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.prefs.BackingStoreException;
-import java.util.prefs.Preferences;
-
-import javax.swing.SwingUtilities;
-
 import org.apache.cayenne.configuration.DataChannelDescriptor;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.di.Injector;
@@ -44,6 +36,13 @@ import org.apache.cayenne.util.IDUtil;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.Transformer;
 
+import javax.swing.*;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.prefs.BackingStoreException;
+import java.util.prefs.Preferences;
+
 /**
  * A main modeler application class that provides a number of services to the Modeler
  * components. Configuration properties:
@@ -238,9 +237,9 @@ public class Application {
                 ClasspathPreferences.class,
                 "");
 
-        Collection details = new ArrayList<String>();
+        Collection details = new ArrayList<>();
         String[] keys = null;
-        ArrayList<String> values = new ArrayList<String>();
+        ArrayList<String> values = new ArrayList<>();
 
         try {
             keys = classLoaderPreference.keys();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CodeTemplateManager.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CodeTemplateManager.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CodeTemplateManager.java
index 0f8131c..ce6bd0c 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CodeTemplateManager.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CodeTemplateManager.java
@@ -19,6 +19,12 @@
 
 package org.apache.cayenne.modeler;
 
+import org.apache.cayenne.gen.ClassGenerationAction;
+import org.apache.cayenne.gen.ClientClassGenerationAction;
+import org.apache.cayenne.modeler.pref.FSPath;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -26,12 +32,6 @@ import java.util.Map;
 import java.util.prefs.BackingStoreException;
 import java.util.prefs.Preferences;
 
-import org.apache.cayenne.gen.ClassGenerationAction;
-import org.apache.cayenne.gen.ClientClassGenerationAction;
-import org.apache.cayenne.modeler.pref.FSPath;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
 /**
  * Manages code generation templates.
  */
@@ -56,12 +56,12 @@ public class CodeTemplateManager {
 	}
 
 	public CodeTemplateManager(Application application) {
-		standardSuperclassTemplates = new ArrayList<String>(3);
+		standardSuperclassTemplates = new ArrayList<>(3);
 
 		standardSuperclassTemplates.add(STANDARD_SERVER_SUPERCLASS);
 		standardSuperclassTemplates.add(STANDARD_CLIENT_SUPERCLASS);
 
-		standardSubclassTemplates = new ArrayList<String>(3);
+		standardSubclassTemplates = new ArrayList<>(3);
 		standardSubclassTemplates.add(STANDARD_SERVER_SUBCLASS);
 		standardSubclassTemplates.add(STANDARD_CLIENT_SUBCLASS);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Main.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Main.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Main.java
index ed5882c..d290ca6 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Main.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Main.java
@@ -68,8 +68,7 @@ public class Main {
     protected void launch() {
 
         // TODO: use module auto-loading...
-        final Injector injector = DIBootstrap
-                .createInjector(appendModules(new ArrayList<Module>()));
+        final Injector injector = DIBootstrap.createInjector(appendModules(new ArrayList<Module>()));
 
         logger.info("Starting CayenneModeler.");
         logger.info("JRE v."

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ModelerPreferences.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ModelerPreferences.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ModelerPreferences.java
index e8e05be..0111ea9 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ModelerPreferences.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ModelerPreferences.java
@@ -19,6 +19,12 @@
 
 package org.apache.cayenne.modeler;
 
+import org.apache.cayenne.pref.CayennePreference;
+import org.apache.cayenne.pref.Preference;
+import org.apache.cayenne.pref.UpgradeCayennePreference;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -27,12 +33,6 @@ import java.util.prefs.PreferenceChangeEvent;
 import java.util.prefs.PreferenceChangeListener;
 import java.util.prefs.Preferences;
 
-import org.apache.cayenne.pref.CayennePreference;
-import org.apache.cayenne.pref.Preference;
-import org.apache.cayenne.pref.UpgradeCayennePreference;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
 /**
  * ModelerPreferences class supports persistent user preferences. Preferences are saved in
  * the user home directory in "<code>$HOME/.cayenne/modeler.preferences</code>" file.
@@ -84,7 +84,7 @@ public class ModelerPreferences implements PreferenceChangeListener {
 
     public static List<String> getLastProjFiles() {
         Preferences filesPrefs = getLastProjFilesPref();
-        ArrayList<String> arrayLastProjFiles = new ArrayList<String>();
+        ArrayList<String> arrayLastProjFiles = new ArrayList<>();
         String[] keys = null;
         try {
             keys = filesPrefs.keys();
@@ -96,7 +96,7 @@ public class ModelerPreferences implements PreferenceChangeListener {
         if (keys != null) {
             int len = keys.length;
             
-            ArrayList<Integer> keysInteger = new ArrayList<Integer>();
+            ArrayList<Integer> keysInteger = new ArrayList<>();
             for (int i = 0; i < len; i++) {
                 keysInteger.add(new Integer(i));
             }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectController.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectController.java
index f247b50..881733e 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectController.java
@@ -417,7 +417,7 @@ public class ProjectController extends CayenneController {
     private void removeFromHistory(EventObject e) {
 
         int count = controllerStateHistory.size();
-        List<Object> removeList = new ArrayList<Object>();
+        List<Object> removeList = new ArrayList<>();
 
         for (int i = 0; i < count; i++) {
             ControllerState cs = (ControllerState) controllerStateHistory.get(i);
@@ -1779,7 +1779,7 @@ public class ProjectController extends CayenneController {
         DataChannelDescriptor dataChannelDescriptor = (DataChannelDescriptor) getProject().getRootNode();
         Collection<DataMap> maps = dataChannelDescriptor.getDataMaps();
         Iterator<DataMap> it = maps.iterator();
-        ArrayList<Embeddable> embs = new ArrayList<Embeddable>();
+        ArrayList<Embeddable> embs = new ArrayList<>();
         while (it.hasNext()) {
             embs.addAll(it.next().getEmbeddables());
         }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectTreeFactory.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectTreeFactory.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectTreeFactory.java
index 2abd045..4fec9c6 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectTreeFactory.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectTreeFactory.java
@@ -18,14 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.modeler;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-
-import javax.swing.tree.DefaultMutableTreeNode;
-
 import org.apache.cayenne.configuration.BaseConfigurationNodeVisitor;
 import org.apache.cayenne.configuration.ConfigurationNode;
 import org.apache.cayenne.configuration.DataChannelDescriptor;
@@ -37,6 +29,13 @@ import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.map.Procedure;
 import org.apache.cayenne.map.QueryDescriptor;
 
+import javax.swing.tree.DefaultMutableTreeNode;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.List;
+
 /**
  * A helper class that wraps a tree of project nodes into Swing tree nodes.
  */
@@ -60,7 +59,7 @@ public class ProjectTreeFactory {
                 return unsorted;
             }
 
-            List<T> sorted = new ArrayList<T>(unsorted);
+            List<T> sorted = new ArrayList<>(unsorted);
             Collections.sort(sorted);
             return sorted;
         }
@@ -122,8 +121,7 @@ public class ProjectTreeFactory {
             pushNode(nodeDescriptor);
 
             if (parent != null) {
-                List<String> mapNames = new ArrayList<String>(nodeDescriptor
-                        .getDataMapNames());
+                List<String> mapNames = new ArrayList<>(nodeDescriptor.getDataMapNames());
                 Collections.sort(mapNames);
                 for (String mapName : mapNames) {
                     makeNode(parent.getDataMap(mapName));

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectTreeView.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectTreeView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectTreeView.java
index f281c80..adf90c0 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectTreeView.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectTreeView.java
@@ -660,8 +660,7 @@ public class ProjectTreeView extends JTree implements DomainDisplayListener,
         mediator.getEntityResolver().removeDataMap(e.getDataMap());
 
         // Clean up map from the nodes
-        for (DataNodeDescriptor dataNode : new ArrayList<DataNodeDescriptor>(
-                dataChannelDescriptor.getNodeDescriptors())) {
+        for (DataNodeDescriptor dataNode : new ArrayList<>(dataChannelDescriptor.getNodeDescriptors())) {
             removeNode(new Object[] {
                     dataChannelDescriptor, dataNode, map
             });

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/FindAction.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/FindAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/FindAction.java
index 37356eb..05ca95d 100755
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/FindAction.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/FindAction.java
@@ -60,7 +60,7 @@ public class FindAction extends CayenneAction {
         JTextField source = (JTextField) e.getSource();
         String sourceStr = source.getText().trim();
 
-        paths = new ArrayList<Object>();
+        paths = new ArrayList<>();
         if (sourceStr != null && !sourceStr.isEmpty()) {
 
             if (sourceStr.startsWith("*")) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/GenerateCodeAction.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/GenerateCodeAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/GenerateCodeAction.java
index c2ac2d0..aebe022 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/GenerateCodeAction.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/GenerateCodeAction.java
@@ -49,7 +49,7 @@ public class GenerateCodeAction extends CayenneAction {
         DataMap dataMap = getProjectController().getCurrentDataMap();
 
         if (dataMap != null) {
-            dataMaps = new ArrayList<DataMap>();
+            dataMaps = new ArrayList<>();
             dataMaps.add(dataMap);
 
             new CodeGeneratorController(getApplication().getFrameController(), dataMaps).startup();
@@ -58,7 +58,7 @@ public class GenerateCodeAction extends CayenneAction {
             Project project = getProjectController().getProject();
             dataMaps = ((DataChannelDescriptor) project.getRootNode()).getDataMaps();
 
-            Collection<DataMap> resultMaps = new ArrayList<DataMap>();
+            Collection<DataMap> resultMaps = new ArrayList<>();
             for (DataMap map : dataMaps) {
                 if (nodeMaps.contains(map.getName())) {
                     resultMaps.add(map);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cee0b77d/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/GenerateDBAction.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/GenerateDBAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/GenerateDBAction.java
index 0173304..107c6d0 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/GenerateDBAction.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/GenerateDBAction.java
@@ -48,7 +48,7 @@ public class GenerateDBAction extends DBWizardAction {
         DataMap dataMap = getProjectController().getCurrentDataMap();
 
         if (dataMap != null) {
-            dataMaps = new ArrayList<DataMap>();
+            dataMaps = new ArrayList<>();
             dataMaps.add(dataMap);
             new DBGeneratorOptions(getProjectController(), "Generate DB Schema: Options", dataMaps).startupAction();
         } else {


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

Posted by aa...@apache.org.
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) {