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));
}
}