fix(api): correct the vertex id in the edge-existence api (#2380)
diff --git a/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/EdgeExistenceAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/EdgeExistenceAPI.java
index 6ffec16..4af3ff5 100644
--- a/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/EdgeExistenceAPI.java
+++ b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/EdgeExistenceAPI.java
@@ -22,6 +22,7 @@
import java.util.Iterator;
import org.apache.hugegraph.HugeGraph;
+import org.apache.hugegraph.api.graph.VertexAPI;
import org.apache.hugegraph.backend.id.Id;
import org.apache.hugegraph.core.GraphManager;
import org.apache.hugegraph.structure.HugeVertex;
@@ -72,8 +73,8 @@
E.checkArgumentNotNull(source, "The source can't be null");
E.checkArgumentNotNull(target, "The target can't be null");
- Id sourceId = HugeVertex.getIdValue(source);
- Id targetId = HugeVertex.getIdValue(target);
+ Id sourceId = VertexAPI.checkAndParseVertexId(source);
+ Id targetId = VertexAPI.checkAndParseVertexId(target);
HugeGraph hugegraph = graph(manager, graph);
EdgeExistenceTraverser traverser = new EdgeExistenceTraverser(hugegraph);
Iterator<Edge> edges = traverser.queryEdgeExistence(sourceId, targetId, edgeLabel,
diff --git a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/EdgeExistenceTraverser.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/EdgeExistenceTraverser.java
index a7005ad..38f92da 100644
--- a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/EdgeExistenceTraverser.java
+++ b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/EdgeExistenceTraverser.java
@@ -42,16 +42,15 @@
return queryByNeighbors(sourceId, targetId, limit);
}
- Id edgeLabelId = getEdgeLabelId(label);
- EdgeLabel edgeLabel = graph().edgeLabel(edgeLabelId);
+ EdgeLabel edgeLabel = graph().edgeLabel(label);
ConditionQuery conditionQuery = new ConditionQuery(HugeType.EDGE);
conditionQuery.eq(HugeKeys.OWNER_VERTEX, sourceId);
conditionQuery.eq(HugeKeys.OTHER_VERTEX, targetId);
- conditionQuery.eq(HugeKeys.LABEL, edgeLabelId);
+ conditionQuery.eq(HugeKeys.LABEL, edgeLabel.id());
conditionQuery.eq(HugeKeys.DIRECTION, Directions.OUT);
conditionQuery.limit(limit);
- if (edgeLabel.existSortKeys()) {
+ if (edgeLabel.existSortKeys() && !sortValues.isEmpty()) {
conditionQuery.eq(HugeKeys.SORT_VALUES, sortValues);
} else {
conditionQuery.eq(HugeKeys.SORT_VALUES, "");