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:07 UTC
[incubator-hugegraph] 04/33: fix inconsistent error messages with clabel (#10)
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 fa3ace6865821536411b766bfe07c07d101343f9
Author: Jermy Li <li...@baidu.com>
AuthorDate: Sat Apr 11 10:46:04 2020 +0800
fix inconsistent error messages with clabel (#10)
also improve error message cause reason
Change-Id: I15ea8dd651e01ff678a32f19efd3584cd20ffc10
---
.../com/baidu/hugegraph/job/algorithm/AbstractAlgorithm.java | 12 ++++++++++--
.../hugegraph/job/algorithm/cent/AbstractCentAlgorithm.java | 2 +-
.../baidu/hugegraph/job/algorithm/comm/LouvainTraverser.java | 5 +----
.../com/baidu/hugegraph/job/algorithm/comm/LpaAlgorithm.java | 5 +++--
4 files changed, 15 insertions(+), 9 deletions(-)
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 8db652d0d..8387a69f9 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
@@ -344,7 +344,14 @@ public abstract class AbstractAlgorithm implements Algorithm {
});
}
- protected static boolean match(Element elem, String key, Object value) {
+ protected boolean match(Element elem, Object clabel) {
+ return match(elem, C_LABEL, clabel);
+ }
+
+ protected boolean match(Element elem, String key, Object value) {
+ // check property key exists
+ this.graph().propertyKey(key);
+ // return true if property value exists & equals to specified value
Property<Object> p = elem.property(key);
return p.isPresent() && Objects.equal(p.value(), value);
}
@@ -375,7 +382,8 @@ public abstract class AbstractAlgorithm implements Algorithm {
try {
return callback.call();
} catch (Exception e) {
- throw new HugeException("Failed to execute algorithm", e);
+ throw new HugeException("Failed to execute algorithm: %s",
+ e, e.getMessage());
} finally {
Query.defaultCapacity(capacity);
try {
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 fba7a8de7..37492e456 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
@@ -66,7 +66,7 @@ public abstract class AbstractCentAlgorithm extends AbstractAlgorithm {
t = t.filter(it -> {
this.updateProgress(++this.progress);
return sourceCLabel == null ? true :
- match(it.get(), C_LABEL, sourceCLabel);
+ match(it.get(), sourceCLabel);
});
if (sourceSample > 0L) {
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 ecb500a7d..0177d8f2d 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
@@ -19,8 +19,6 @@
package com.baidu.hugegraph.job.algorithm.comm;
-import static com.baidu.hugegraph.job.algorithm.AbstractAlgorithm.C_LABEL;
-
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -237,8 +235,7 @@ public class LouvainTraverser extends AlgoTraverser {
}
}
// skip the vertex with unmatched clabel
- if (this.sourceCLabel != null &&
- !match(v, C_LABEL, this.sourceCLabel)) {
+ if (this.sourceCLabel != null && !match(v, this.sourceCLabel)) {
return true;
}
return false;
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 361e9b9a9..abcdb938c 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
@@ -35,6 +35,7 @@ import com.baidu.hugegraph.job.Job;
import com.baidu.hugegraph.schema.SchemaManager;
import com.baidu.hugegraph.schema.VertexLabel;
import com.baidu.hugegraph.type.define.Directions;
+import com.baidu.hugegraph.util.E;
import com.google.common.collect.ImmutableMap;
public class LpaAlgorithm extends AbstractCommAlgorithm {
@@ -122,9 +123,9 @@ public class LpaAlgorithm extends AbstractCommAlgorithm {
}
public Object showCommunity(String clabel) {
+ E.checkNotNull(clabel, "clabel");
// all vertices with specified c-label
- Iterator<Vertex> vertices = this.vertices(LIMIT);
- vertices = filter(vertices, C_LABEL, clabel);
+ Iterator<Vertex> vertices = this.vertices(null, clabel, LIMIT);
JsonMap json = new JsonMap();
json.startList();