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 2015/11/16 20:42:34 UTC

[2/2] cayenne git commit: modernizing syntax, no change

modernizing syntax, no change


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

Branch: refs/heads/master
Commit: 80de06e8f0424daf7145ddbd95c3dd7a0cfeca2d
Parents: e0caeac
Author: aadamchik <aa...@apache.org>
Authored: Mon Nov 16 14:33:40 2015 -0500
Committer: aadamchik <aa...@apache.org>
Committed: Mon Nov 16 14:37:26 2015 -0500

----------------------------------------------------------------------
 .../cayenne/ashwood/AshwoodEntitySorter.java    | 41 +++++++++++---------
 .../cayenne/ashwood/AshwoodEntitySorterIT.java  |  2 +-
 2 files changed, 24 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/80de06e8/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 6eeae5e..9337955 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
@@ -117,7 +117,7 @@ public class AshwoodEntitySorter implements EntitySorter {
 		for (DbEntity destination : tableMap.values()) {
 			for (DbRelationship candidate : destination.getRelationships()) {
 				if ((!candidate.isToMany() && !candidate.isToDependentPK()) || candidate.isToMasterPK()) {
-					DbEntity origin = (DbEntity) candidate.getTargetEntity();
+					DbEntity origin = candidate.getTargetEntity();
 					boolean newReflexive = destination.equals(origin);
 
 					for (DbJoin join : candidate.getJoins()) {
@@ -127,7 +127,7 @@ public class AshwoodEntitySorter implements EntitySorter {
 							if (newReflexive) {
 								List<DbRelationship> reflexiveRels = reflexiveDbEntities.get(destination);
 								if (reflexiveRels == null) {
-									reflexiveRels = new ArrayList<DbRelationship>(1);
+									reflexiveRels = new ArrayList<>(1);
 									reflexiveDbEntities.put(destination, reflexiveRels);
 								}
 								reflexiveRels.add(candidate);
@@ -136,7 +136,7 @@ public class AshwoodEntitySorter implements EntitySorter {
 
 							List<DbAttribute> fks = referentialDigraph.getArc(origin, destination);
 							if (fks == null) {
-								fks = new ArrayList<DbAttribute>();
+								fks = new ArrayList<>();
 								referentialDigraph.putArc(origin, destination, fks);
 							}
 
@@ -148,17 +148,15 @@ public class AshwoodEntitySorter implements EntitySorter {
 
 		}
 
-		StrongConnection<DbEntity, List<DbAttribute>> contractor = new StrongConnection<DbEntity, List<DbAttribute>>(
-				referentialDigraph);
+		StrongConnection<DbEntity, List<DbAttribute>> contractor = new StrongConnection<>(referentialDigraph);
 
-		Digraph<Collection<DbEntity>, Collection<List<DbAttribute>>> contractedReferentialDigraph = new MapDigraph<Collection<DbEntity>, Collection<List<DbAttribute>>>();
+		Digraph<Collection<DbEntity>, Collection<List<DbAttribute>>> contractedReferentialDigraph = new MapDigraph<>();
 		contractor.contract(contractedReferentialDigraph);
 
-		IndegreeTopologicalSort<Collection<DbEntity>> sorter = new IndegreeTopologicalSort<Collection<DbEntity>>(
+		IndegreeTopologicalSort<Collection<DbEntity>> sorter = new IndegreeTopologicalSort<>(
 				contractedReferentialDigraph);
 
-		Map<DbEntity, ComponentRecord> components = new HashMap<DbEntity, ComponentRecord>(
-				contractedReferentialDigraph.order());
+		Map<DbEntity, ComponentRecord> components = new HashMap<>(contractedReferentialDigraph.order());
 		int componentIndex = 0;
 		while (sorter.hasNext()) {
 			Collection<DbEntity> component = sorter.next();
@@ -176,21 +174,25 @@ public class AshwoodEntitySorter implements EntitySorter {
 	/**
 	 * @since 3.1
 	 */
+	@Override
 	public void setEntityResolver(EntityResolver entityResolver) {
 		this.entityResolver = entityResolver;
 		this.dirty = true;
 	}
 
+	@Override
 	public void sortDbEntities(List<DbEntity> dbEntities, boolean deleteOrder) {
 		indexSorter();
 		Collections.sort(dbEntities, getDbEntityComparator(deleteOrder));
 	}
 
+	@Override
 	public void sortObjEntities(List<ObjEntity> objEntities, boolean deleteOrder) {
 		indexSorter();
 		Collections.sort(objEntities, getObjEntityComparator(deleteOrder));
 	}
 
+	@Override
 	public void sortObjectsForEntity(ObjEntity objEntity, List<?> objects, boolean deleteOrder) {
 
 		indexSorter();
@@ -222,7 +224,7 @@ public class AshwoodEntitySorter implements EntitySorter {
 
 		List<Persistent> sorted = new ArrayList<Persistent>(size);
 
-		Digraph<Persistent, Boolean> objectDependencyGraph = new MapDigraph<Persistent, Boolean>();
+		Digraph<Persistent, Boolean> objectDependencyGraph = new MapDigraph<>();
 		Object[] masters = new Object[reflexiveRelNames.length];
 		for (int i = 0; i < size; i++) {
 			Persistent current = (Persistent) objects.get(i);
@@ -256,7 +258,6 @@ public class AshwoodEntitySorter implements EntitySorter {
 
 				Persistent masterCandidate = persistent.get(j);
 				for (Object master : masters) {
-					// if (masterCandidate.equals(master)) {
 					if (masterCandidate == master) {
 						objectDependencyGraph.putArc(masterCandidate, current, Boolean.TRUE);
 						mastersFound++;
@@ -265,7 +266,7 @@ public class AshwoodEntitySorter implements EntitySorter {
 			}
 		}
 
-		IndegreeTopologicalSort<Persistent> sorter = new IndegreeTopologicalSort<Persistent>(objectDependencyGraph);
+		IndegreeTopologicalSort<Persistent> sorter = new IndegreeTopologicalSort<>(objectDependencyGraph);
 
 		while (sorter.hasNext()) {
 			Persistent o = sorter.next();
@@ -354,24 +355,28 @@ public class AshwoodEntitySorter implements EntitySorter {
 	private final class DbEntityComparator implements Comparator<DbEntity> {
 
 		public int compare(DbEntity t1, DbEntity t2) {
-			int result = 0;
 
 			if (t1 == t2)
 				return 0;
 			if (t1 == null)
-				result = -1;
+				return -1;
 			else if (t2 == null)
-				result = 1;
+				return 1;
 			else {
 				ComponentRecord rec1 = components.get(t1);
 				ComponentRecord rec2 = components.get(t2);
 				int index1 = rec1.index;
 				int index2 = rec2.index;
-				result = (index1 > index2 ? 1 : (index1 < index2 ? -1 : 0));
-				if (result != 0 && rec1.component == rec2.component)
+				
+				int result = index1 > index2 ? 1 : (index1 < index2 ? -1 : 0);
+
+				// TODO: is this check really needed?
+				if (result != 0 && rec1.component == rec2.component) {
 					result = 0;
+				}
+
+				return result;
 			}
-			return result;
 		}
 	}
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/80de06e8/cayenne-server/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorterIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorterIT.java b/cayenne-server/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorterIT.java
index f90cc54..0e74d66 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorterIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorterIT.java
@@ -73,7 +73,7 @@ public class AshwoodEntitySorterIT extends ServerCase {
 
         ObjEntity entity = context.getEntityResolver().getObjEntity(ReflexiveAndToOne.class);
 
-        List<?> objects = context.performQuery(new SelectQuery(ReflexiveAndToOne.class));
+        List<?> objects = context.performQuery(new SelectQuery<>(ReflexiveAndToOne.class));
         Collections.shuffle(objects);
         assertEquals(3, objects.size());