diff options
Diffstat (limited to 'sonar-ws/src')
3 files changed, 7 insertions, 67 deletions
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/measure/MeasuresWsParameters.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/measure/MeasuresWsParameters.java index d884f76cbd1..49ce3efb27e 100644 --- a/sonar-ws/src/main/java/org/sonarqube/ws/client/measure/MeasuresWsParameters.java +++ b/sonar-ws/src/main/java/org/sonarqube/ws/client/measure/MeasuresWsParameters.java @@ -43,6 +43,7 @@ public class MeasuresWsParameters { public static final String PARAM_ADDITIONAL_FIELDS = "additionalFields"; public static final String PARAM_COMPONENT_ID = "componentId"; public static final String PARAM_COMPONENT_KEY = "componentKey"; + public static final String PARAM_COMPONENT_KEYS = "componentKeys"; public static final String PARAM_DEVELOPER_ID = "developerId"; public static final String PARAM_DEVELOPER_KEY = "developerKey"; public static final String ADDITIONAL_METRICS = "metrics"; diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/measure/SearchRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/measure/SearchRequest.java index 7beedebec9f..a9e76772970 100644 --- a/sonar-ws/src/main/java/org/sonarqube/ws/client/measure/SearchRequest.java +++ b/sonar-ws/src/main/java/org/sonarqube/ws/client/measure/SearchRequest.java @@ -23,18 +23,15 @@ package org.sonarqube.ws.client.measure; import java.util.List; import static com.google.common.base.Preconditions.checkArgument; -import static java.util.Objects.requireNonNull; public class SearchRequest { public static final int MAX_NB_COMPONENTS = 100; private final List<String> metricKeys; - private final List<String> componentIds; private final List<String> componentKeys; public SearchRequest(Builder builder) { metricKeys = builder.metricKeys; - componentIds = builder.componentIds; componentKeys = builder.componentKeys; } @@ -42,20 +39,8 @@ public class SearchRequest { return metricKeys; } - public boolean hasComponentIds() { - return componentIds != null; - } - - public List<String> getComponentIds() { - return requireNonNull(componentIds, "No component id in request"); - } - - public boolean hasComponentKeys() { - return componentKeys != null; - } - public List<String> getComponentKeys() { - return requireNonNull(componentKeys, "No component key in request"); + return componentKeys; } public static Builder builder() { @@ -64,7 +49,6 @@ public class SearchRequest { public static class Builder { private List<String> metricKeys; - private List<String> componentIds; private List<String> componentKeys; private Builder() { @@ -76,11 +60,6 @@ public class SearchRequest { return this; } - public Builder setComponentIds(List<String> componentIds) { - this.componentIds = componentIds; - return this; - } - public Builder setComponentKeys(List<String> componentKeys) { this.componentKeys = componentKeys; return this; @@ -88,16 +67,10 @@ public class SearchRequest { public SearchRequest build() { checkArgument(metricKeys != null && !metricKeys.isEmpty(), "Metric keys must be provided"); - checkArgument( - (componentIds != null && !componentIds.isEmpty()) - ^ (componentKeys != null && !componentKeys.isEmpty()), - "Either component ids or component keys must be provided, not both"); - int nbComponents = componentIds == null ? componentKeys.size() : componentIds.size(); - checkArgument((componentIds != null && componentIds.size() < MAX_NB_COMPONENTS) - || (componentKeys != null && componentKeys.size() < MAX_NB_COMPONENTS), - "%s components provided, more than maximum authorized (%s)", - nbComponents, - MAX_NB_COMPONENTS); + checkArgument(componentKeys != null && !componentKeys.isEmpty(), "Component keys must be provided"); + int nbComponents = componentKeys.size(); + checkArgument(nbComponents < MAX_NB_COMPONENTS, + "%s components provided, more than maximum authorized (%s)", nbComponents, MAX_NB_COMPONENTS); return new SearchRequest(this); } } diff --git a/sonar-ws/src/test/java/org/sonarqube/ws/client/measure/SearchRequestTest.java b/sonar-ws/src/test/java/org/sonarqube/ws/client/measure/SearchRequestTest.java index ee6de73dfd5..6e174d78ed5 100644 --- a/sonar-ws/src/test/java/org/sonarqube/ws/client/measure/SearchRequestTest.java +++ b/sonar-ws/src/test/java/org/sonarqube/ws/client/measure/SearchRequestTest.java @@ -36,18 +36,6 @@ public class SearchRequestTest { SearchRequest.Builder underTest = SearchRequest.builder(); @Test - public void with_component_ids() { - SearchRequest result = underTest - .setMetricKeys(singletonList("metric")) - .setComponentIds(singletonList("uuid")) - .build(); - - assertThat(result.getMetricKeys()).containsExactly("metric"); - assertThat(result.getComponentIds()).containsExactly("uuid"); - assertThat(result.hasComponentKeys()).isFalse(); - } - - @Test public void with_component_keys() { SearchRequest result = underTest .setMetricKeys(singletonList("metric")) @@ -56,7 +44,6 @@ public class SearchRequestTest { assertThat(result.getMetricKeys()).containsExactly("metric"); assertThat(result.getComponentKeys()).containsExactly("key"); - assertThat(result.hasComponentIds()).isFalse(); } @Test @@ -81,27 +68,6 @@ public class SearchRequestTest { } @Test - public void fail_when_component_ids_and_keys_provided() { - expectExceptionOnComponents(); - - underTest - .setMetricKeys(singletonList("metric")) - .setComponentIds(singletonList("uuid")) - .setComponentKeys(singletonList("key")) - .build(); - } - - @Test - public void fail_when_component_ids_is_empty() { - expectExceptionOnComponents(); - - underTest - .setMetricKeys(singletonList("metric")) - .setComponentIds(emptyList()) - .build(); - } - - @Test public void fail_when_component_keys_is_empty() { expectExceptionOnComponents(); @@ -118,6 +84,6 @@ public class SearchRequestTest { private void expectExceptionOnComponents() { expectedException.expect(IllegalArgumentException.class); - expectedException.expectMessage("Either component ids or component keys must be provided, not both"); + expectedException.expectMessage("Component keys must be provided"); } } |