You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by gr...@apache.org on 2016/06/30 18:57:52 UTC

[4/4] flink git commit: [FLINK-4132] [gelly] Fix boxed comparison in CommunityDetection algorithm

[FLINK-4132] [gelly] Fix boxed comparison in CommunityDetection algorithm

This closes #2185


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

Branch: refs/heads/master
Commit: 7324b9c1703e4673a98c8edb3f09465d0ea9cdfe
Parents: 918e5d0
Author: Greg Hogan <co...@greghogan.com>
Authored: Wed Jun 29 10:43:41 2016 -0400
Committer: Greg Hogan <co...@greghogan.com>
Committed: Thu Jun 30 13:11:41 2016 -0400

----------------------------------------------------------------------
 .../flink/graph/library/CommunityDetection.java | 37 ++++++++++----------
 1 file changed, 18 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink/blob/7324b9c1/flink-libraries/flink-gelly/src/main/java/org/apache/flink/graph/library/CommunityDetection.java
----------------------------------------------------------------------
diff --git a/flink-libraries/flink-gelly/src/main/java/org/apache/flink/graph/library/CommunityDetection.java b/flink-libraries/flink-gelly/src/main/java/org/apache/flink/graph/library/CommunityDetection.java
index f554680..74fdd69 100644
--- a/flink-libraries/flink-gelly/src/main/java/org/apache/flink/graph/library/CommunityDetection.java
+++ b/flink-libraries/flink-gelly/src/main/java/org/apache/flink/graph/library/CommunityDetection.java
@@ -48,9 +48,9 @@ import java.util.TreeMap;
  */
 public class CommunityDetection<K> implements GraphAlgorithm<K, Long, Double, Graph<K, Long, Double>> {
 
-	private Integer maxIterations;
+	private int maxIterations;
 
-	private Double delta;
+	private double delta;
 
 	/**
 	 * Creates a new Community Detection algorithm instance.
@@ -63,7 +63,7 @@ public class CommunityDetection<K> implements GraphAlgorithm<K, Long, Double, Gr
 	 * @param maxIterations The maximum number of iterations to run.
 	 * @param delta The hop attenuation parameter. Its default value is 0.5.  
 	 */
-	public CommunityDetection(Integer maxIterations, Double delta) {
+	public CommunityDetection(int maxIterations, double delta) {
 
 		this.maxIterations = maxIterations;
 		this.delta = delta;
@@ -91,7 +91,7 @@ public class CommunityDetection<K> implements GraphAlgorithm<K, Long, Double, Gr
 		public void sendMessages(Vertex<K, Tuple2<Long, Double>> vertex) throws Exception {
 
 			for(Edge<K, Double> edge : getEdges()) {
-				sendMessageTo(edge.getTarget(), new Tuple2<Long, Double>(vertex.getValue().f0,
+				sendMessageTo(edge.getTarget(), new Tuple2<>(vertex.getValue().f0,
 					vertex.getValue().f1 * edge.getValue()));
 			}
 		}
@@ -101,9 +101,9 @@ public class CommunityDetection<K> implements GraphAlgorithm<K, Long, Double, Gr
 	public static final class VertexLabelUpdater<K> extends GatherFunction<
 			K, Tuple2<Long, Double>, Tuple2<Long, Double>> {
 
-		private Double delta;
+		private double delta;
 
-		public VertexLabelUpdater(Double delta) {
+		public VertexLabelUpdater(double delta) {
 			this.delta = delta;
 		}
 
@@ -112,17 +112,17 @@ public class CommunityDetection<K> implements GraphAlgorithm<K, Long, Double, Gr
 								MessageIterator<Tuple2<Long, Double>> inMessages) throws Exception {
 
 			// we would like these two maps to be ordered
-			Map<Long, Double> receivedLabelsWithScores = new TreeMap<Long, Double>();
-			Map<Long, Double> labelsWithHighestScore = new TreeMap<Long, Double>();
+			Map<Long, Double> receivedLabelsWithScores = new TreeMap<>();
+			Map<Long, Double> labelsWithHighestScore = new TreeMap<>();
 
 			for (Tuple2<Long, Double> message : inMessages) {
 				// split the message into received label and score
-				Long receivedLabel = message.f0;
-				Double receivedScore = message.f1;
+				long receivedLabel = message.f0;
+				double receivedScore = message.f1;
 
 				// if the label was received before
 				if (receivedLabelsWithScores.containsKey(receivedLabel)) {
-					Double newScore = receivedScore + receivedLabelsWithScores.get(receivedLabel);
+					double newScore = receivedScore + receivedLabelsWithScores.get(receivedLabel);
 					receivedLabelsWithScores.put(receivedLabel, newScore);
 				} else {
 					// first time we see the label
@@ -131,7 +131,7 @@ public class CommunityDetection<K> implements GraphAlgorithm<K, Long, Double, Gr
 
 				// store the labels with the highest scores
 				if (labelsWithHighestScore.containsKey(receivedLabel)) {
-					Double currentScore = labelsWithHighestScore.get(receivedLabel);
+					double currentScore = labelsWithHighestScore.get(receivedLabel);
 					if (currentScore < receivedScore) {
 						// record the highest score
 						labelsWithHighestScore.put(receivedLabel, receivedScore);
@@ -144,9 +144,9 @@ public class CommunityDetection<K> implements GraphAlgorithm<K, Long, Double, Gr
 
 			if(receivedLabelsWithScores.size() > 0) {
 				// find the label with the highest score from the ones received
-				Double maxScore = -Double.MAX_VALUE;
-				Long maxScoreLabel = vertex.getValue().f0;
-				for (Long curLabel : receivedLabelsWithScores.keySet()) {
+				double maxScore = Double.MIN_VALUE;
+				long maxScoreLabel = vertex.getValue().f0;
+				for (long curLabel : receivedLabelsWithScores.keySet()) {
 
 					if (receivedLabelsWithScores.get(curLabel) > maxScore) {
 						maxScore = receivedLabelsWithScores.get(curLabel);
@@ -155,14 +155,14 @@ public class CommunityDetection<K> implements GraphAlgorithm<K, Long, Double, Gr
 				}
 
 				// find the highest score of maxScoreLabel
-				Double highestScore = labelsWithHighestScore.get(maxScoreLabel);
+				double highestScore = labelsWithHighestScore.get(maxScoreLabel);
 				// re-score the new label
 				if (maxScoreLabel != vertex.getValue().f0) {
 					highestScore -= delta / getSuperstepNumber();
 				}
 				// else delta = 0
 				// update own label
-				setNewVertexValue(new Tuple2<Long, Double>(maxScoreLabel, highestScore));
+				setNewVertexValue(new Tuple2<>(maxScoreLabel, highestScore));
 			}
 		}
 	}
@@ -173,8 +173,7 @@ public class CommunityDetection<K> implements GraphAlgorithm<K, Long, Double, Gr
 		Vertex<K, Long>, Vertex<K, Tuple2<Long, Double>>> {
 
 		public Vertex<K, Tuple2<Long, Double>> map(Vertex<K, Long> vertex) {
-			return new Vertex<K, Tuple2<Long, Double>>(
-				vertex.getId(), new Tuple2<Long, Double>(vertex.getValue(), 1.0));
+			return new Vertex<>(vertex.getId(), new Tuple2<>(vertex.getValue(), 1.0));
 		}
 	}