diff --git a/gradle.properties b/gradle.properties index 3fe652cf..be6119ff 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1 +1,2 @@ currentVersion=2.13.x-SNAPSHOT + 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 f1c77e38..7bda86c6 100644 --- a/services/src/main/resources/artifactory.client.release.properties +++ b/services/src/main/resources/artifactory.client.release.properties @@ -1 +1,2 @@ -version=2.13.x-SNAPSHOT \ No newline at end of file +version=2.13.x-SNAPSHOT + 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 cd69b590..b8e4ee1b 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 @@ -236,4 +236,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