From bbff5ec32f25c4d6f253f4213448b61f8d5e3041 Mon Sep 17 00:00:00 2001 From: LeiYangGH <675686066@qq.com> Date: Fri, 21 May 2021 11:52:55 +0800 Subject: [PATCH 1/2] add AqlQueryBuilder.transitive() method to append .transitive() to aql --- .../artifactory/client/aql/AqlQueryBuilder.java | 13 ++++++++++++- .../resources/artifactory.client.release.properties | 2 +- .../artifactory/client/aql/AqlQueryBuilderTest.java | 8 ++++++++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/services/src/main/java/org/jfrog/artifactory/client/aql/AqlQueryBuilder.java b/services/src/main/java/org/jfrog/artifactory/client/aql/AqlQueryBuilder.java index b07a2bfa..0805cfdd 100644 --- a/services/src/main/java/org/jfrog/artifactory/client/aql/AqlQueryBuilder.java +++ b/services/src/main/java/org/jfrog/artifactory/client/aql/AqlQueryBuilder.java @@ -17,6 +17,7 @@ public class AqlQueryBuilder { private AqlRootElement root = new AqlRootElement(); private AqlItem sort; private AqlInclude include; + private boolean isTransitive = false; public AqlQueryBuilder item(AqlItem item) { root.putAll(item.value()); @@ -83,10 +84,20 @@ public AqlQueryBuilder desc(String... by) { return this; } + public AqlQueryBuilder transitive() { + this.isTransitive = true; + return this; + } + public String build() { try { ObjectMapper mapper = new ObjectMapper(); - return "items.find(" + getRootAsString(mapper) + ")" + getIncludeAsString() + getSortAsString(mapper); + String aql = "items.find(" + getRootAsString(mapper) + ")" + getIncludeAsString() + + getSortAsString(mapper); + if (this.isTransitive) { + aql += ".transitive()"; + } + return aql; } catch (JsonProcessingException e) { throw new AqlBuilderException("Error serializing object to json: ", e); } diff --git a/services/src/main/resources/artifactory.client.release.properties b/services/src/main/resources/artifactory.client.release.properties index f4b0a0ca..dca01175 100644 --- a/services/src/main/resources/artifactory.client.release.properties +++ b/services/src/main/resources/artifactory.client.release.properties @@ -1 +1 @@ -version=2.9.2 \ No newline at end of file +version=2.9.x-SNAPSHOT \ No newline at end of file diff --git a/services/src/test/java/org/jfrog/artifactory/client/aql/AqlQueryBuilderTest.java b/services/src/test/java/org/jfrog/artifactory/client/aql/AqlQueryBuilderTest.java index 17041e11..8ce66b09 100644 --- a/services/src/test/java/org/jfrog/artifactory/client/aql/AqlQueryBuilderTest.java +++ b/services/src/test/java/org/jfrog/artifactory/client/aql/AqlQueryBuilderTest.java @@ -237,4 +237,12 @@ public void emptyElements() { assertThat(result, notNullValue()); assertThat(result, is("items.find()")); } + + @Test + public void transitive() { + String result = new AqlQueryBuilder().include("size", "name", "repo").transitive().build(); + + assertThat(result, notNullValue()); + assertThat(result, is("items.find().include(\"size\",\"name\",\"repo\").transitive()")); + } } \ No newline at end of file From fdd3d050dc2d50f1097178140e7bb862e35d409c Mon Sep 17 00:00:00 2001 From: LeiYangGH <675686066@qq.com> Date: Fri, 21 May 2021 12:11:19 +0800 Subject: [PATCH 2/2] I have read the CLA Document and I hereby sign the CLA --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 9a0ca17d..8426e38d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1 +1 @@ -currentVersion=2.9.x-SNAPSHOT \ No newline at end of file +currentVersion=2.9.2 \ No newline at end of file