From: Teryk Bellahsene Date: Mon, 8 May 2017 17:31:41 +0000 (+0200) Subject: SONAR-9182 Add visibility to WS api/projects/search X-Git-Tag: 6.4-RC1~99 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=refs%2Fpull%2F2038%2Fhead;p=sonarqube.git SONAR-9182 Add visibility to WS api/projects/search --- diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentQuery.java b/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentQuery.java index f5e6df3a26a..72ed52dd99c 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentQuery.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentQuery.java @@ -32,6 +32,7 @@ public class ComponentQuery { private final String nameOrKeyQuery; private final String[] qualifiers; private final String language; + private final Boolean isPrivate; private final Set componentIds; /** @@ -46,6 +47,7 @@ public class ComponentQuery { this.qualifiers = Builder.validateQualifiers(qualifiers); this.language = null; this.componentIds = null; + this.isPrivate = null; } private ComponentQuery(Builder builder) { @@ -53,6 +55,7 @@ public class ComponentQuery { this.qualifiers = builder.qualifiers; this.language = builder.language; this.componentIds = builder.componentIds; + this.isPrivate = builder.isPrivate; } public String[] getQualifiers() { @@ -82,6 +85,11 @@ public class ComponentQuery { return componentIds; } + @CheckForNull + public Boolean getPrivate() { + return isPrivate; + } + public static Builder builder() { return new Builder(); } @@ -90,6 +98,7 @@ public class ComponentQuery { private String nameOrKeyQuery; private String[] qualifiers; private String language; + private Boolean isPrivate; private Set componentIds; public Builder setNameOrKeyQuery(@Nullable String nameOrKeyQuery) { @@ -112,6 +121,11 @@ public class ComponentQuery { return this; } + public Builder setPrivate(@Nullable Boolean isPrivate) { + this.isPrivate = isPrivate; + return this; + } + protected static String[] validateQualifiers(@Nullable String... qualifiers) { checkArgument(qualifiers != null && qualifiers.length > 0, "At least one qualifier must be provided"); return qualifiers; diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/component/ComponentMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/component/ComponentMapper.xml index 1c4920b51e3..fa61bb41a3b 100644 --- a/server/sonar-db-dao/src/main/resources/org/sonar/db/component/ComponentMapper.xml +++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/component/ComponentMapper.xml @@ -298,6 +298,14 @@ upper(p.name) like #{query.nameOrKeyUpperLikeQuery,jdbcType=VARCHAR} escape '/' ) + + + and p.private=${_true} + + + and p.private=${_false} + +