You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hugegraph.apache.org by ji...@apache.org on 2022/11/09 10:25:19 UTC
[incubator-hugegraph] 16/33: rebase master(0.11.1)
This is an automated email from the ASF dual-hosted git repository.
jin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-hugegraph.git
commit 0d6b871abad5cc496b909c92188e836bfdc19099
Author: Zhangmei Li <li...@baidu.com>
AuthorDate: Fri Jun 5 17:38:26 2020 +0800
rebase master(0.11.1)
Change-Id: I565602945a26c2a575baaa3f17d084b65399a009
---
.../java/com/baidu/hugegraph/job/AlgorithmJob.java | 2 +-
.../hugegraph/job/algorithm/AbstractAlgorithm.java | 8 ++---
.../baidu/hugegraph/job/algorithm/Algorithm.java | 4 +--
.../job/algorithm/CountEdgeAlgorithm.java | 6 ++--
.../job/algorithm/CountVertexAlgorithm.java | 6 ++--
.../job/algorithm/SubgraphStatAlgorithm.java | 34 ++++++++++++----------
.../job/algorithm/cent/AbstractCentAlgorithm.java | 4 +--
.../cent/BetweenessCentralityAlgorithm.java | 6 ++--
.../cent/ClosenessCentralityAlgorithm.java | 6 ++--
.../algorithm/cent/DegreeCentralityAlgorithm.java | 6 ++--
.../cent/EigenvectorCentralityAlgorithm.java | 6 ++--
.../algorithm/comm/ClusterCoeffcientAlgorithm.java | 6 ++--
.../job/algorithm/comm/KCoreAlgorithm.java | 6 ++--
.../job/algorithm/comm/LouvainAlgorithm.java | 4 +--
.../job/algorithm/comm/LouvainTraverser.java | 4 +--
.../hugegraph/job/algorithm/comm/LpaAlgorithm.java | 6 ++--
.../job/algorithm/comm/TriangleCountAlgorithm.java | 10 +++----
.../job/algorithm/comm/WeakConnectedComponent.java | 8 ++---
.../job/algorithm/path/RingsDetectAlgorithm.java | 6 ++--
.../job/algorithm/rank/PageRankAlgorithm.java | 6 ++--
.../similarity/FusiformSimilarityAlgorithm.java | 6 ++--
21 files changed, 76 insertions(+), 74 deletions(-)
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/AlgorithmJob.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/AlgorithmJob.java
index 7e752ac42..f25c1b250 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/AlgorithmJob.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/AlgorithmJob.java
@@ -26,7 +26,7 @@ import com.baidu.hugegraph.job.algorithm.AlgorithmPool;
import com.baidu.hugegraph.util.E;
import com.baidu.hugegraph.util.JsonUtil;
-public class AlgorithmJob extends Job<Object> {
+public class AlgorithmJob extends UserJob<Object> {
public static final String TASK_TYPE = "algorithm";
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/AbstractAlgorithm.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/AbstractAlgorithm.java
index e30ce1e16..cc245f6f9 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/AbstractAlgorithm.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/AbstractAlgorithm.java
@@ -44,7 +44,7 @@ import com.baidu.hugegraph.backend.query.ConditionQuery;
import com.baidu.hugegraph.backend.query.Query;
import com.baidu.hugegraph.iterator.FilterIterator;
import com.baidu.hugegraph.iterator.FlatMapperIterator;
-import com.baidu.hugegraph.job.Job;
+import com.baidu.hugegraph.job.UserJob;
import com.baidu.hugegraph.job.algorithm.Consumers.StopExecution;
import com.baidu.hugegraph.testutil.Whitebox;
import com.baidu.hugegraph.traversal.algorithm.HugeTraverser;
@@ -323,17 +323,17 @@ public abstract class AbstractAlgorithm implements Algorithm {
public static class AlgoTraverser extends HugeTraverser
implements AutoCloseable {
- private final Job<Object> job;
+ private final UserJob<Object> job;
protected final ExecutorService executor;
protected long progress;
- public AlgoTraverser(Job<Object> job) {
+ public AlgoTraverser(UserJob<Object> job) {
super(job.graph());
this.job = job;
this.executor = null;
}
- protected AlgoTraverser(Job<Object> job, String name, int workers) {
+ protected AlgoTraverser(UserJob<Object> job, String name, int workers) {
super(job.graph());
this.job = job;
String prefix = name + "-" + job.task().id();
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/Algorithm.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/Algorithm.java
index 6ad200157..b1cb53144 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/Algorithm.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/Algorithm.java
@@ -21,7 +21,7 @@ package com.baidu.hugegraph.job.algorithm;
import java.util.Map;
-import com.baidu.hugegraph.job.Job;
+import com.baidu.hugegraph.job.UserJob;
public interface Algorithm {
@@ -29,7 +29,7 @@ public interface Algorithm {
public String category();
- public Object call(Job<Object> job, Map<String, Object> parameters);
+ public Object call(UserJob<Object> job, Map<String, Object> parameters);
public void checkParameters(Map<String, Object> parameters);
}
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/CountEdgeAlgorithm.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/CountEdgeAlgorithm.java
index 670f54471..9ed617b08 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/CountEdgeAlgorithm.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/CountEdgeAlgorithm.java
@@ -26,7 +26,7 @@ import java.util.Map;
import org.apache.commons.lang3.mutable.MutableLong;
import org.apache.tinkerpop.gremlin.structure.Edge;
-import com.baidu.hugegraph.job.Job;
+import com.baidu.hugegraph.job.UserJob;
import com.baidu.hugegraph.util.JsonUtil;
public class CountEdgeAlgorithm extends AbstractAlgorithm {
@@ -42,7 +42,7 @@ public class CountEdgeAlgorithm extends AbstractAlgorithm {
}
@Override
- public Object call(Job<Object> job, Map<String, Object> parameters) {
+ public Object call(UserJob<Object> job, Map<String, Object> parameters) {
try (Traverser traverser = new Traverser(job)) {
return traverser.count();
}
@@ -50,7 +50,7 @@ public class CountEdgeAlgorithm extends AbstractAlgorithm {
private static class Traverser extends AlgoTraverser {
- public Traverser(Job<Object> job) {
+ public Traverser(UserJob<Object> job) {
super(job);
}
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/CountVertexAlgorithm.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/CountVertexAlgorithm.java
index 68a59a363..721979c35 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/CountVertexAlgorithm.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/CountVertexAlgorithm.java
@@ -26,7 +26,7 @@ import java.util.Map;
import org.apache.commons.lang3.mutable.MutableLong;
import org.apache.tinkerpop.gremlin.structure.Vertex;
-import com.baidu.hugegraph.job.Job;
+import com.baidu.hugegraph.job.UserJob;
import com.baidu.hugegraph.util.JsonUtil;
public class CountVertexAlgorithm extends AbstractAlgorithm {
@@ -42,7 +42,7 @@ public class CountVertexAlgorithm extends AbstractAlgorithm {
}
@Override
- public Object call(Job<Object> job, Map<String, Object> parameters) {
+ public Object call(UserJob<Object> job, Map<String, Object> parameters) {
try (Traverser traverser = new Traverser(job)) {
return traverser.count();
}
@@ -50,7 +50,7 @@ public class CountVertexAlgorithm extends AbstractAlgorithm {
private static class Traverser extends AlgoTraverser {
- public Traverser(Job<Object> job) {
+ public Traverser(UserJob<Object> job) {
super(job);
}
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/SubgraphStatAlgorithm.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/SubgraphStatAlgorithm.java
index 4ce97d362..199d1b020 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/SubgraphStatAlgorithm.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/SubgraphStatAlgorithm.java
@@ -27,10 +27,11 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.Vertex;
import com.baidu.hugegraph.HugeGraph;
+import com.baidu.hugegraph.StandardHugeGraph;
import com.baidu.hugegraph.backend.id.Id;
import com.baidu.hugegraph.config.CoreOptions;
import com.baidu.hugegraph.config.HugeConfig;
-import com.baidu.hugegraph.job.Job;
+import com.baidu.hugegraph.job.UserJob;
import com.baidu.hugegraph.job.algorithm.cent.BetweenessCentralityAlgorithm;
import com.baidu.hugegraph.job.algorithm.cent.ClosenessCentralityAlgorithm;
import com.baidu.hugegraph.job.algorithm.cent.DegreeCentralityAlgorithm;
@@ -39,6 +40,7 @@ import com.baidu.hugegraph.job.algorithm.comm.ClusterCoeffcientAlgorithm;
import com.baidu.hugegraph.job.algorithm.path.RingsDetectAlgorithm;
import com.baidu.hugegraph.job.algorithm.rank.PageRankAlgorithm;
import com.baidu.hugegraph.task.HugeTask;
+import com.baidu.hugegraph.testutil.Whitebox;
import com.baidu.hugegraph.traversal.algorithm.HugeTraverser;
import com.baidu.hugegraph.traversal.optimize.HugeScriptTraversal;
import com.baidu.hugegraph.util.E;
@@ -66,27 +68,27 @@ public class SubgraphStatAlgorithm extends AbstractAlgorithm {
}
@Override
- public Object call(Job<Object> job, Map<String, Object> parameters) {
+ public Object call(UserJob<Object> job, Map<String, Object> parameters) {
HugeGraph graph = this.createTempGraph(job);
try (Traverser traverser = new Traverser(job)) {
- this.initGraph(job.graph(), graph, subgraph(parameters),
- copySchema(parameters));
- Job<Object> tmpJob = new TempJob<>(graph, job, job.task());
+ this.initGraph(job.graph(), graph,
+ subgraph(parameters), copySchema(parameters));
+ UserJob<Object> tmpJob = new TempJob<>(graph, job, job.task());
return traverser.subgraphStat(tmpJob);
} finally {
graph.truncateBackend();
- // FIXME: task thread can't call close() here (will hang)
- graph.closeTx();
+ // FIXME: task thread can't call close() (will hang), use closeTx()
+ Whitebox.invoke(graph.getClass(), "closeTx", graph);
}
}
- private HugeGraph createTempGraph(Job<Object> job) {
+ private HugeGraph createTempGraph(UserJob<Object> job) {
Id id = job.task().id();
PropertiesConfiguration config = new PropertiesConfiguration();
config.setProperty(CoreOptions.BACKEND.name(), "memory");
config.setProperty(CoreOptions.STORE.name(), "tmp_" + id);
config.setDelimiterParsingDisabled(true);
- return new HugeGraph(new HugeConfig(config));
+ return new StandardHugeGraph(new HugeConfig(config));
}
@SuppressWarnings("resource")
@@ -127,11 +129,11 @@ public class SubgraphStatAlgorithm extends AbstractAlgorithm {
"top", -1L /* sorted */,
"workers", 0);
- public Traverser(Job<Object> job) {
+ public Traverser(UserJob<Object> job) {
super(job);
}
- public Object subgraphStat(Job<Object> job) {
+ public Object subgraphStat(UserJob<Object> job) {
Map<String, Object> results = InsertionOrderUtil.newMap();
GraphTraversalSource g = job.graph().traversal();
@@ -168,7 +170,7 @@ public class SubgraphStatAlgorithm extends AbstractAlgorithm {
return results;
}
- private Map<Object, Double> pageRanks(Job<Object> job) {
+ private Map<Object, Double> pageRanks(UserJob<Object> job) {
PageRankAlgorithm algo = new PageRankAlgorithm();
algo.call(job, ImmutableMap.of("alpha", 0.15));
@@ -184,12 +186,12 @@ public class SubgraphStatAlgorithm extends AbstractAlgorithm {
}
}
- private static class TempJob<V> extends Job<V> {
+ private static class TempJob<V> extends UserJob<V> {
- private final Job<V> parent;
+ private final UserJob<V> parent;
- public TempJob(HugeGraph graph, Job<V> job, HugeTask<V> task) {
- this.scheduler(graph.taskScheduler());
+ public TempJob(HugeGraph graph, UserJob<V> job, HugeTask<V> task) {
+ this.graph(graph);
this.task(task);
this.parent = job;
}
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/cent/AbstractCentAlgorithm.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/cent/AbstractCentAlgorithm.java
index 7b11c134c..19da8e968 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/cent/AbstractCentAlgorithm.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/cent/AbstractCentAlgorithm.java
@@ -34,7 +34,7 @@ import org.apache.tinkerpop.gremlin.structure.Direction;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import com.baidu.hugegraph.backend.id.Id;
-import com.baidu.hugegraph.job.Job;
+import com.baidu.hugegraph.job.UserJob;
import com.baidu.hugegraph.job.algorithm.AbstractAlgorithm;
import com.baidu.hugegraph.structure.HugeElement;
import com.baidu.hugegraph.type.define.Directions;
@@ -61,7 +61,7 @@ public abstract class AbstractCentAlgorithm extends AbstractAlgorithm {
protected static class Traverser extends AlgoTraverser {
- public Traverser(Job<Object> job) {
+ public Traverser(UserJob<Object> job) {
super(job);
}
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/cent/BetweenessCentralityAlgorithm.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/cent/BetweenessCentralityAlgorithm.java
index 40b38f655..465c6f96c 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/cent/BetweenessCentralityAlgorithm.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/cent/BetweenessCentralityAlgorithm.java
@@ -27,7 +27,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
import org.apache.tinkerpop.gremlin.structure.Vertex;
-import com.baidu.hugegraph.job.Job;
+import com.baidu.hugegraph.job.UserJob;
import com.baidu.hugegraph.type.define.Directions;
public class BetweenessCentralityAlgorithm extends AbstractCentAlgorithm {
@@ -38,7 +38,7 @@ public class BetweenessCentralityAlgorithm extends AbstractCentAlgorithm {
}
@Override
- public Object call(Job<Object> job, Map<String, Object> parameters) {
+ public Object call(UserJob<Object> job, Map<String, Object> parameters) {
try (Traverser traverser = new Traverser(job)) {
return traverser.betweenessCentrality(direction(parameters),
edgeLabel(parameters),
@@ -54,7 +54,7 @@ public class BetweenessCentralityAlgorithm extends AbstractCentAlgorithm {
private static class Traverser extends AbstractCentAlgorithm.Traverser {
- public Traverser(Job<Object> job) {
+ public Traverser(UserJob<Object> job) {
super(job);
}
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/cent/ClosenessCentralityAlgorithm.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/cent/ClosenessCentralityAlgorithm.java
index 9a25b6394..3391a191a 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/cent/ClosenessCentralityAlgorithm.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/cent/ClosenessCentralityAlgorithm.java
@@ -29,7 +29,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
import org.apache.tinkerpop.gremlin.structure.Vertex;
-import com.baidu.hugegraph.job.Job;
+import com.baidu.hugegraph.job.UserJob;
import com.baidu.hugegraph.type.define.Directions;
public class ClosenessCentralityAlgorithm extends AbstractCentAlgorithm {
@@ -48,7 +48,7 @@ public class ClosenessCentralityAlgorithm extends AbstractCentAlgorithm {
}
@Override
- public Object call(Job<Object> job, Map<String, Object> parameters) {
+ public Object call(UserJob<Object> job, Map<String, Object> parameters) {
try (Traverser traverser = new Traverser(job)) {
return traverser.closenessCentrality(direction(parameters),
edgeLabel(parameters),
@@ -64,7 +64,7 @@ public class ClosenessCentralityAlgorithm extends AbstractCentAlgorithm {
private static class Traverser extends AbstractCentAlgorithm.Traverser {
- public Traverser(Job<Object> job) {
+ public Traverser(UserJob<Object> job) {
super(job);
}
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/cent/DegreeCentralityAlgorithm.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/cent/DegreeCentralityAlgorithm.java
index 01b3e5c4b..b2030e845 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/cent/DegreeCentralityAlgorithm.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/cent/DegreeCentralityAlgorithm.java
@@ -27,7 +27,7 @@ import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
import com.baidu.hugegraph.backend.id.Id;
-import com.baidu.hugegraph.job.Job;
+import com.baidu.hugegraph.job.UserJob;
import com.baidu.hugegraph.structure.HugeEdge;
import com.baidu.hugegraph.type.define.Directions;
@@ -46,7 +46,7 @@ public class DegreeCentralityAlgorithm extends AbstractCentAlgorithm {
}
@Override
- public Object call(Job<Object> job, Map<String, Object> parameters) {
+ public Object call(UserJob<Object> job, Map<String, Object> parameters) {
try (Traverser traverser = new Traverser(job)) {
return traverser.degreeCentrality(direction(parameters),
edgeLabel(parameters),
@@ -56,7 +56,7 @@ public class DegreeCentralityAlgorithm extends AbstractCentAlgorithm {
private static class Traverser extends AlgoTraverser {
- public Traverser(Job<Object> job) {
+ public Traverser(UserJob<Object> job) {
super(job);
}
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/cent/EigenvectorCentralityAlgorithm.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/cent/EigenvectorCentralityAlgorithm.java
index 0f695a1fb..15748ec72 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/cent/EigenvectorCentralityAlgorithm.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/cent/EigenvectorCentralityAlgorithm.java
@@ -26,7 +26,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
-import com.baidu.hugegraph.job.Job;
+import com.baidu.hugegraph.job.UserJob;
import com.baidu.hugegraph.type.define.Directions;
public class EigenvectorCentralityAlgorithm extends AbstractCentAlgorithm {
@@ -40,7 +40,7 @@ public class EigenvectorCentralityAlgorithm extends AbstractCentAlgorithm {
}
@Override
- public Object call(Job<Object> job, Map<String, Object> parameters) {
+ public Object call(UserJob<Object> job, Map<String, Object> parameters) {
try (Traverser traverser = new Traverser(job)) {
return traverser.eigenvectorCentrality(direction(parameters),
edgeLabel(parameters),
@@ -56,7 +56,7 @@ public class EigenvectorCentralityAlgorithm extends AbstractCentAlgorithm {
private static class Traverser extends AbstractCentAlgorithm.Traverser {
- public Traverser(Job<Object> job) {
+ public Traverser(UserJob<Object> job) {
super(job);
}
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/comm/ClusterCoeffcientAlgorithm.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/comm/ClusterCoeffcientAlgorithm.java
index 3f3a26c3c..2a0cf1a42 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/comm/ClusterCoeffcientAlgorithm.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/comm/ClusterCoeffcientAlgorithm.java
@@ -21,7 +21,7 @@ package com.baidu.hugegraph.job.algorithm.comm;
import java.util.Map;
-import com.baidu.hugegraph.job.Job;
+import com.baidu.hugegraph.job.UserJob;
import com.baidu.hugegraph.type.define.Directions;
import com.baidu.hugegraph.util.E;
import com.baidu.hugegraph.util.InsertionOrderUtil;
@@ -43,7 +43,7 @@ public class ClusterCoeffcientAlgorithm extends AbstractCommAlgorithm {
}
@Override
- public Object call(Job<Object> job, Map<String, Object> parameters) {
+ public Object call(UserJob<Object> job, Map<String, Object> parameters) {
int workers = workersWhenBoth(parameters);
try (Traverser traverser = new Traverser(job, workers)) {
return traverser.clusterCoeffcient(direction(parameters),
@@ -63,7 +63,7 @@ public class ClusterCoeffcientAlgorithm extends AbstractCommAlgorithm {
private static class Traverser extends TriangleCountAlgorithm.Traverser {
- public Traverser(Job<Object> job, int workers) {
+ public Traverser(UserJob<Object> job, int workers) {
super(job, ALGO_NAME, workers);
}
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/comm/KCoreAlgorithm.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/comm/KCoreAlgorithm.java
index 52ddeeb71..508052354 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/comm/KCoreAlgorithm.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/comm/KCoreAlgorithm.java
@@ -33,7 +33,7 @@ import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
import com.baidu.hugegraph.HugeGraph;
import com.baidu.hugegraph.backend.id.Id;
-import com.baidu.hugegraph.job.Job;
+import com.baidu.hugegraph.job.UserJob;
import com.baidu.hugegraph.schema.EdgeLabel;
import com.baidu.hugegraph.traversal.algorithm.FusiformSimilarityTraverser;
import com.baidu.hugegraph.type.define.Directions;
@@ -70,7 +70,7 @@ public class KCoreAlgorithm extends AbstractCommAlgorithm {
}
@Override
- public Object call(Job<Object> job, Map<String, Object> parameters) {
+ public Object call(UserJob<Object> job, Map<String, Object> parameters) {
int workers = workers(parameters);
try (Traverser traverser = new Traverser(job, workers)) {
return traverser.kcore(sourceLabel(parameters),
@@ -102,7 +102,7 @@ public class KCoreAlgorithm extends AbstractCommAlgorithm {
private static class Traverser extends AlgoTraverser {
- public Traverser(Job<Object> job, int workers) {
+ public Traverser(UserJob<Object> job, int workers) {
super(job, ALGO_NAME, workers);
}
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/comm/LouvainAlgorithm.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/comm/LouvainAlgorithm.java
index 8eee9f43e..f05f85e56 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/comm/LouvainAlgorithm.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/comm/LouvainAlgorithm.java
@@ -21,7 +21,7 @@ package com.baidu.hugegraph.job.algorithm.comm;
import java.util.Map;
-import com.baidu.hugegraph.job.Job;
+import com.baidu.hugegraph.job.UserJob;
import com.baidu.hugegraph.traversal.algorithm.HugeTraverser;
public class LouvainAlgorithm extends AbstractCommAlgorithm {
@@ -48,7 +48,7 @@ public class LouvainAlgorithm extends AbstractCommAlgorithm {
}
@Override
- public Object call(Job<Object> job, Map<String, Object> parameters) {
+ public Object call(UserJob<Object> job, Map<String, Object> parameters) {
String label = sourceLabel(parameters);
String clabel = sourceCLabel(parameters);
long degree = degree(parameters);
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/comm/LouvainTraverser.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/comm/LouvainTraverser.java
index 6135d1d40..3a8a83f53 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/comm/LouvainTraverser.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/comm/LouvainTraverser.java
@@ -48,7 +48,7 @@ import com.baidu.hugegraph.backend.id.Id;
import com.baidu.hugegraph.backend.id.IdGenerator;
import com.baidu.hugegraph.exception.ExistedException;
import com.baidu.hugegraph.iterator.ListIterator;
-import com.baidu.hugegraph.job.Job;
+import com.baidu.hugegraph.job.UserJob;
import com.baidu.hugegraph.job.algorithm.AbstractAlgorithm;
import com.baidu.hugegraph.job.algorithm.AbstractAlgorithm.AlgoTraverser;
import com.baidu.hugegraph.job.algorithm.Consumers;
@@ -83,7 +83,7 @@ public class LouvainTraverser extends AlgoTraverser {
private long m;
private String passLabel;
- public LouvainTraverser(Job<Object> job, int workers, long degree,
+ public LouvainTraverser(UserJob<Object> job, int workers, long degree,
String sourceLabel, String sourceCLabel) {
super(job, LouvainAlgorithm.ALGO_NAME, workers);
this.g = this.graph().traversal();
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/comm/LpaAlgorithm.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/comm/LpaAlgorithm.java
index 0f3506a15..8b54241fe 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/comm/LpaAlgorithm.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/comm/LpaAlgorithm.java
@@ -32,7 +32,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.Scope;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import com.baidu.hugegraph.backend.id.Id;
-import com.baidu.hugegraph.job.Job;
+import com.baidu.hugegraph.job.UserJob;
import com.baidu.hugegraph.schema.SchemaManager;
import com.baidu.hugegraph.schema.VertexLabel;
import com.baidu.hugegraph.type.define.Directions;
@@ -61,7 +61,7 @@ public class LpaAlgorithm extends AbstractCommAlgorithm {
}
@Override
- public Object call(Job<Object> job, Map<String, Object> parameters) {
+ public Object call(UserJob<Object> job, Map<String, Object> parameters) {
int workers = workers(parameters);
String showComm = showCommunity(parameters);
@@ -88,7 +88,7 @@ public class LpaAlgorithm extends AbstractCommAlgorithm {
private final Random R = new Random();
- public Traverser(Job<Object> job, int workers) {
+ public Traverser(UserJob<Object> job, int workers) {
super(job, ALGO_NAME, workers);
}
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/comm/TriangleCountAlgorithm.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/comm/TriangleCountAlgorithm.java
index d8a17653c..4cecc623b 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/comm/TriangleCountAlgorithm.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/comm/TriangleCountAlgorithm.java
@@ -30,7 +30,7 @@ import org.apache.tinkerpop.gremlin.structure.Edge;
import com.baidu.hugegraph.backend.id.Id;
import com.baidu.hugegraph.backend.id.IdGenerator;
-import com.baidu.hugegraph.job.Job;
+import com.baidu.hugegraph.job.UserJob;
import com.baidu.hugegraph.structure.HugeEdge;
import com.baidu.hugegraph.type.define.Directions;
import com.baidu.hugegraph.util.E;
@@ -54,7 +54,7 @@ public class TriangleCountAlgorithm extends AbstractCommAlgorithm {
}
@Override
- public Object call(Job<Object> job, Map<String, Object> parameters) {
+ public Object call(UserJob<Object> job, Map<String, Object> parameters) {
int workers = workersWhenBoth(parameters);
try (Traverser traverser = new Traverser(job, workers)) {
return traverser.triangleCount(direction4Out(parameters),
@@ -77,11 +77,11 @@ public class TriangleCountAlgorithm extends AbstractCommAlgorithm {
protected static final String KEY_TRIANGLES = "triangles";
protected static final String KEY_TRIADS = "triads";
- public Traverser(Job<Object> job, int workers) {
+ public Traverser(UserJob<Object> job, int workers) {
super(job, ALGO_NAME, workers);
}
- protected Traverser(Job<Object> job, String name, int workers) {
+ protected Traverser(UserJob<Object> job, String name, int workers) {
super(job, name, workers);
}
@@ -205,7 +205,7 @@ public class TriangleCountAlgorithm extends AbstractCommAlgorithm {
protected long intersect(long degree, Set<Id> adjVertices) {
long count = 0L;
Directions dir = Directions.OUT;
- Id empty = IdGenerator.of(0);
+ Id empty = IdGenerator.ZERO;
Iterator<Id> vertices;
for (Id v : adjVertices) {
vertices = this.adjacentVertices(v, dir, null, degree);
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/comm/WeakConnectedComponent.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/comm/WeakConnectedComponent.java
index 99dee85cd..435a6e777 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/comm/WeakConnectedComponent.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/comm/WeakConnectedComponent.java
@@ -30,7 +30,7 @@ import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.slf4j.Logger;
import com.baidu.hugegraph.backend.id.Id;
-import com.baidu.hugegraph.job.Job;
+import com.baidu.hugegraph.job.UserJob;
import com.baidu.hugegraph.schema.SchemaManager;
import com.baidu.hugegraph.schema.VertexLabel;
import com.baidu.hugegraph.structure.HugeEdge;
@@ -56,7 +56,7 @@ public class WeakConnectedComponent extends AbstractCommAlgorithm {
}
@Override
- public Object call(Job<Object> job, Map<String, Object> parameters) {
+ public Object call(UserJob<Object> job, Map<String, Object> parameters) {
try (Traverser traverser = new Traverser(job)) {
return traverser.connectedComponent(times(parameters),
directionOutIn(parameters),
@@ -71,7 +71,7 @@ public class WeakConnectedComponent extends AbstractCommAlgorithm {
private final Map<Id, Id> vertexComponentMap = new HashMap<>();
- public Traverser(Job<Object> job) {
+ public Traverser(UserJob<Object> job) {
super(job);
}
@@ -81,7 +81,7 @@ public class WeakConnectedComponent extends AbstractCommAlgorithm {
this.initSchema();
this.initVertexComponentMap();
int times;
-
+
for (times = 0; times < maxTimes; times++) {
long changeCount = 0;
Id currentSourceVertexId = null;
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/path/RingsDetectAlgorithm.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/path/RingsDetectAlgorithm.java
index bbb028efc..d228b70a2 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/path/RingsDetectAlgorithm.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/path/RingsDetectAlgorithm.java
@@ -23,7 +23,7 @@ import java.util.Map;
import java.util.concurrent.atomic.AtomicLong;
import com.baidu.hugegraph.backend.id.Id;
-import com.baidu.hugegraph.job.Job;
+import com.baidu.hugegraph.job.UserJob;
import com.baidu.hugegraph.job.algorithm.AbstractAlgorithm;
import com.baidu.hugegraph.job.algorithm.Consumers.StopExecution;
import com.baidu.hugegraph.traversal.algorithm.SubGraphTraverser;
@@ -61,7 +61,7 @@ public class RingsDetectAlgorithm extends AbstractAlgorithm {
}
@Override
- public Object call(Job<Object> job, Map<String, Object> parameters) {
+ public Object call(UserJob<Object> job, Map<String, Object> parameters) {
int workers = workers(parameters);
try (Traverser traverser = new Traverser(job, workers)) {
return traverser.rings(sourceLabel(parameters),
@@ -85,7 +85,7 @@ public class RingsDetectAlgorithm extends AbstractAlgorithm {
private static class Traverser extends AlgoTraverser {
- public Traverser(Job<Object> job, int workers) {
+ public Traverser(UserJob<Object> job, int workers) {
super(job, ALGO_NAME, workers);
}
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/rank/PageRankAlgorithm.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/rank/PageRankAlgorithm.java
index 9f51bf7b6..fa552e399 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/rank/PageRankAlgorithm.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/rank/PageRankAlgorithm.java
@@ -30,7 +30,7 @@ import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.slf4j.Logger;
import com.baidu.hugegraph.backend.id.Id;
-import com.baidu.hugegraph.job.Job;
+import com.baidu.hugegraph.job.UserJob;
import com.baidu.hugegraph.job.algorithm.comm.AbstractCommAlgorithm;
import com.baidu.hugegraph.schema.SchemaManager;
import com.baidu.hugegraph.schema.VertexLabel;
@@ -64,7 +64,7 @@ public class PageRankAlgorithm extends AbstractCommAlgorithm {
}
@Override
- public Object call(Job<Object> job, Map<String, Object> parameters) {
+ public Object call(UserJob<Object> job, Map<String, Object> parameters) {
try (Traverser traverser = new Traverser(job)) {
return traverser.pageRank(alpha(parameters),
times(parameters),
@@ -85,7 +85,7 @@ public class PageRankAlgorithm extends AbstractCommAlgorithm {
*/
private final Map<Id, DoublePair> vertexRankMap;
- public Traverser(Job<Object> job) {
+ public Traverser(UserJob<Object> job) {
super(job);
this.vertexRankMap = new HashMap<>();
}
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/similarity/FusiformSimilarityAlgorithm.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/similarity/FusiformSimilarityAlgorithm.java
index fbaca4960..daf5b09aa 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/similarity/FusiformSimilarityAlgorithm.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/algorithm/similarity/FusiformSimilarityAlgorithm.java
@@ -25,7 +25,7 @@ import java.util.concurrent.atomic.AtomicLong;
import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
import com.baidu.hugegraph.HugeGraph;
-import com.baidu.hugegraph.job.Job;
+import com.baidu.hugegraph.job.UserJob;
import com.baidu.hugegraph.job.algorithm.AbstractAlgorithm;
import com.baidu.hugegraph.job.algorithm.Consumers.StopExecution;
import com.baidu.hugegraph.schema.EdgeLabel;
@@ -78,7 +78,7 @@ public class FusiformSimilarityAlgorithm extends AbstractAlgorithm {
}
@Override
- public Object call(Job<Object> job, Map<String, Object> parameters) {
+ public Object call(UserJob<Object> job, Map<String, Object> parameters) {
int workers = workers(parameters);
try (Traverser traverser = new Traverser(job, workers)) {
return traverser.fusiformSimilars(sourceLabel(parameters),
@@ -150,7 +150,7 @@ public class FusiformSimilarityAlgorithm extends AbstractAlgorithm {
private static class Traverser extends AlgoTraverser {
- public Traverser(Job<Object> job, int workers) {
+ public Traverser(UserJob<Object> job, int workers) {
super(job, ALGO_NAME, workers);
}