From e3ae3307ea8f8c12cffc428cbb9ab8323e73479e Mon Sep 17 00:00:00 2001 From: wucc <77946882+DanGuge@users.noreply.github.com> Date: Fri, 21 Jul 2023 23:56:23 +0800 Subject: [PATCH] fix: incorrect use of 'NO_LIMIT' variable * replace Query.NO_LIMIT with HugeTraverser.NO_LIMIT --- .../api/traversers/KneighborAPI.java | 36 +++++++++--------- .../hugegraph/api/traversers/KoutAPI.java | 38 +++++++++---------- .../algorithm/records/KneighborRecords.java | 13 ++++--- .../algorithm/records/KoutRecords.java | 9 +++-- 4 files changed, 49 insertions(+), 47 deletions(-) diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/KneighborAPI.java b/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/KneighborAPI.java index 7deb4f29ae..4a7c0a9515 100644 --- a/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/KneighborAPI.java +++ b/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/KneighborAPI.java @@ -19,34 +19,19 @@ import static org.apache.hugegraph.traversal.algorithm.HugeTraverser.DEFAULT_ELEMENTS_LIMIT; import static org.apache.hugegraph.traversal.algorithm.HugeTraverser.DEFAULT_MAX_DEGREE; +import static org.apache.hugegraph.traversal.algorithm.HugeTraverser.NO_LIMIT; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; -import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.inject.Singleton; -import jakarta.ws.rs.Consumes; -import jakarta.ws.rs.DefaultValue; -import jakarta.ws.rs.GET; -import jakarta.ws.rs.POST; -import jakarta.ws.rs.Path; -import jakarta.ws.rs.PathParam; -import jakarta.ws.rs.Produces; -import jakarta.ws.rs.QueryParam; -import jakarta.ws.rs.core.Context; - -import org.apache.tinkerpop.gremlin.structure.Vertex; -import org.apache.hugegraph.core.GraphManager; -import org.slf4j.Logger; - import org.apache.hugegraph.HugeGraph; import org.apache.hugegraph.api.graph.EdgeAPI; import org.apache.hugegraph.api.graph.VertexAPI; import org.apache.hugegraph.backend.id.Id; -import org.apache.hugegraph.backend.query.Query; import org.apache.hugegraph.backend.query.QueryResults; +import org.apache.hugegraph.core.GraphManager; import org.apache.hugegraph.structure.HugeVertex; import org.apache.hugegraph.traversal.algorithm.HugeTraverser; import org.apache.hugegraph.traversal.algorithm.KneighborTraverser; @@ -55,10 +40,25 @@ import org.apache.hugegraph.type.define.Directions; import org.apache.hugegraph.util.E; import org.apache.hugegraph.util.Log; +import org.apache.tinkerpop.gremlin.structure.Vertex; +import org.slf4j.Logger; + import com.codahale.metrics.annotation.Timed; import com.fasterxml.jackson.annotation.JsonProperty; import com.google.common.collect.ImmutableList; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.inject.Singleton; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.DefaultValue; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Context; + @Path("graphs/{graph}/traversers/kneighbor") @Singleton @Tag(name = "KneighborAPI") @@ -134,7 +134,7 @@ public String post(@Context GraphManager manager, } long size = results.size(); - if (request.limit != Query.NO_LIMIT && size > request.limit) { + if (request.limit != NO_LIMIT && size > request.limit) { size = request.limit; } List neighbors = request.countOnly ? diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/KoutAPI.java b/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/KoutAPI.java index ca77281415..30282be9d6 100644 --- a/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/KoutAPI.java +++ b/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/KoutAPI.java @@ -20,34 +20,19 @@ import static org.apache.hugegraph.traversal.algorithm.HugeTraverser.DEFAULT_CAPACITY; import static org.apache.hugegraph.traversal.algorithm.HugeTraverser.DEFAULT_ELEMENTS_LIMIT; import static org.apache.hugegraph.traversal.algorithm.HugeTraverser.DEFAULT_MAX_DEGREE; +import static org.apache.hugegraph.traversal.algorithm.HugeTraverser.NO_LIMIT; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; -import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.inject.Singleton; -import jakarta.ws.rs.Consumes; -import jakarta.ws.rs.DefaultValue; -import jakarta.ws.rs.GET; -import jakarta.ws.rs.POST; -import jakarta.ws.rs.Path; -import jakarta.ws.rs.PathParam; -import jakarta.ws.rs.Produces; -import jakarta.ws.rs.QueryParam; -import jakarta.ws.rs.core.Context; - -import org.apache.tinkerpop.gremlin.structure.Vertex; -import org.apache.hugegraph.core.GraphManager; -import org.slf4j.Logger; - import org.apache.hugegraph.HugeGraph; import org.apache.hugegraph.api.graph.EdgeAPI; import org.apache.hugegraph.api.graph.VertexAPI; import org.apache.hugegraph.backend.id.Id; -import org.apache.hugegraph.backend.query.Query; import org.apache.hugegraph.backend.query.QueryResults; +import org.apache.hugegraph.core.GraphManager; import org.apache.hugegraph.structure.HugeVertex; import org.apache.hugegraph.traversal.algorithm.HugeTraverser; import org.apache.hugegraph.traversal.algorithm.KoutTraverser; @@ -56,10 +41,25 @@ import org.apache.hugegraph.type.define.Directions; import org.apache.hugegraph.util.E; import org.apache.hugegraph.util.Log; +import org.apache.tinkerpop.gremlin.structure.Vertex; +import org.slf4j.Logger; + import com.codahale.metrics.annotation.Timed; import com.fasterxml.jackson.annotation.JsonProperty; import com.google.common.collect.ImmutableList; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.inject.Singleton; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.DefaultValue; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Context; + @Path("graphs/{graph}/traversers/kout") @Singleton @Tag(name = "KoutAPI") @@ -77,7 +77,7 @@ public String get(@Context GraphManager manager, @QueryParam("label") String edgeLabel, @QueryParam("max_depth") int depth, @QueryParam("nearest") - @DefaultValue("true") boolean nearest, + @DefaultValue("true") boolean nearest, @QueryParam("max_degree") @DefaultValue(DEFAULT_MAX_DEGREE) long maxDegree, @QueryParam("capacity") @@ -143,7 +143,7 @@ public String post(@Context GraphManager manager, } long size = results.size(); - if (request.limit != Query.NO_LIMIT && size > request.limit) { + if (request.limit != NO_LIMIT && size > request.limit) { size = request.limit; } List neighbors = request.countOnly ? diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/KneighborRecords.java b/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/KneighborRecords.java index 1160afe33f..7e04a286c3 100644 --- a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/KneighborRecords.java +++ b/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/KneighborRecords.java @@ -17,17 +17,18 @@ package org.apache.hugegraph.traversal.algorithm.records; +import static org.apache.hugegraph.traversal.algorithm.HugeTraverser.NO_LIMIT; + import java.util.List; import java.util.Stack; import org.apache.hugegraph.backend.id.Id; -import org.apache.hugegraph.backend.query.Query; -import org.apache.hugegraph.type.define.CollectionType; -import org.apache.hugegraph.util.collection.CollectionFactory; -import org.apache.hugegraph.util.collection.IntIterator; import org.apache.hugegraph.traversal.algorithm.HugeTraverser.PathSet; import org.apache.hugegraph.traversal.algorithm.records.record.Record; import org.apache.hugegraph.traversal.algorithm.records.record.RecordType; +import org.apache.hugegraph.type.define.CollectionType; +import org.apache.hugegraph.util.collection.CollectionFactory; +import org.apache.hugegraph.util.collection.IntIterator; public class KneighborRecords extends SingleWayMultiPathsRecords { @@ -48,7 +49,7 @@ public List ids(long limit) { // Not include record(i=0) to ignore source vertex for (int i = 1; i < records.size(); i++) { IntIterator iterator = records.get(i).keys(); - while ((limit == Query.NO_LIMIT || limit > 0L) && iterator.hasNext()) { + while ((limit == NO_LIMIT || limit > 0L) && iterator.hasNext()) { ids.add(this.id(iterator.next())); limit--; } @@ -62,7 +63,7 @@ public PathSet paths(long limit) { Stack records = this.records(); for (int i = 1; i < records.size(); i++) { IntIterator iterator = records.get(i).keys(); - while ((limit == Query.NO_LIMIT || limit > 0L) && iterator.hasNext()) { + while ((limit == NO_LIMIT || limit > 0L) && iterator.hasNext()) { paths.add(this.linkPath(i, iterator.next())); limit--; } diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/KoutRecords.java b/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/KoutRecords.java index 2ba5e19d44..5953e71e2a 100644 --- a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/KoutRecords.java +++ b/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/KoutRecords.java @@ -17,17 +17,18 @@ package org.apache.hugegraph.traversal.algorithm.records; +import static org.apache.hugegraph.traversal.algorithm.HugeTraverser.NO_LIMIT; + import java.util.List; import java.util.Stack; import org.apache.hugegraph.backend.id.Id; -import org.apache.hugegraph.backend.query.Query; +import org.apache.hugegraph.traversal.algorithm.HugeTraverser.PathSet; import org.apache.hugegraph.traversal.algorithm.records.record.Record; import org.apache.hugegraph.traversal.algorithm.records.record.RecordType; import org.apache.hugegraph.type.define.CollectionType; import org.apache.hugegraph.util.collection.CollectionFactory; import org.apache.hugegraph.util.collection.IntIterator; -import org.apache.hugegraph.traversal.algorithm.HugeTraverser.PathSet; public class KoutRecords extends SingleWayMultiPathsRecords { @@ -44,7 +45,7 @@ public int size() { public List ids(long limit) { List ids = CollectionFactory.newList(CollectionType.EC); IntIterator iterator = this.records().peek().keys(); - while ((limit == Query.NO_LIMIT || limit-- > 0L) && iterator.hasNext()) { + while ((limit == NO_LIMIT || limit-- > 0L) && iterator.hasNext()) { ids.add(this.id(iterator.next())); } return ids; @@ -55,7 +56,7 @@ public PathSet paths(long limit) { PathSet paths = new PathSet(); Stack records = this.records(); IntIterator iterator = records.peek().keys(); - while ((limit == Query.NO_LIMIT || limit-- > 0L) && iterator.hasNext()) { + while ((limit == NO_LIMIT || limit-- > 0L) && iterator.hasNext()) { paths.add(this.linkPath(records.size() - 1, iterator.next())); } return paths;