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

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

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 {