import com.google.common.base.Function;
import com.google.common.base.Predicates;
import com.google.common.collect.ImmutableSortedSet;
+import com.google.common.collect.Sets;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import static com.google.common.base.Objects.firstNonNull;
import static com.google.common.collect.FluentIterable.from;
+import static com.google.common.collect.Sets.newHashSet;
import static java.lang.String.format;
import static java.util.Collections.emptyMap;
import static org.sonar.core.util.Uuids.UUID_EXAMPLE_02;
}
private static TreeWsResponse buildResponse(ComponentDto baseComponent, List<ComponentDtoWithSnapshotId> components, Map<Long, ComponentDto> referenceComponentsById,
- Paging paging) {
+ Paging paging) {
TreeWsResponse.Builder response = TreeWsResponse.newBuilder();
response.getPagingBuilder()
.setPageIndex(paging.pageIndex())
return requestQualifiers;
}
- // intersection of request and children qualifiers
- childrenQualifiers.retainAll(requestQualifiers);
+ Sets.SetView<String> intersectQualifiers = Sets.intersection(newHashSet(childrenQualifiers), newHashSet(requestQualifiers));
- return childrenQualifiers;
+ return new ArrayList<>(intersectQualifiers);
}
private static TreeWsRequest toTreeWsRequest(Request request) {
.setAsc(request.mandatoryParamAsBoolean(Param.ASCENDING))
.setPage(request.mandatoryParamAsInt(Param.PAGE))
.setPageSize(request.mandatoryParamAsInt(Param.PAGE_SIZE));
- checkRequest(treeWsRequest.getPageSize() <= MAX_SIZE, "The '%s' parameter must be less thant %d", Param.PAGE_SIZE, MAX_SIZE);
+ checkRequest(treeWsRequest.getPageSize() <= MAX_SIZE, "The '%s' parameter must be less than %d", Param.PAGE_SIZE, MAX_SIZE);
return treeWsRequest;
}
.setMediaType(MediaTypes.PROTOBUF)
.setParam(PARAM_STRATEGY, "leaves")
.setParam(PARAM_BASE_COMPONENT_ID, "project-uuid")
+ .setParam(PARAM_QUALIFIERS, Qualifiers.FILE)
.execute().getInputStream();
WsComponents.TreeWsResponse response = WsComponents.TreeWsResponse.parseFrom(responseStream);
@Test
public void fail_when_page_size_above_500() {
expectedException.expect(BadRequestException.class);
- expectedException.expectMessage("The 'ps' parameter must be less thant 500");
+ expectedException.expectMessage("The 'ps' parameter must be less than 500");
componentDb.insertComponent(newProjectDto("project-uuid"));
db.commit();
*/
package org.sonar.db.component;
-import java.util.ArrayList;
-import java.util.Arrays;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import org.sonar.api.resources.ResourceTypeTree;
import org.sonar.api.resources.ResourceTypes;
+import static java.util.Collections.emptyList;
+import static java.util.Collections.emptySet;
+
public class ResourceTypesRule extends ResourceTypes {
- private final Set<ResourceType> allResourceTypes = new HashSet<>();
- private final Set<ResourceType> rootResourceTypes = new HashSet<>();
- private final List<String> childrenQualifiers = new ArrayList<>();
- private final List<String> leavesQualifiers = new ArrayList<>();
+ private Set<ResourceType> allResourceTypes = emptySet();
+ private Set<ResourceType> rootResourceTypes = emptySet();
+ private List<String> childrenQualifiers = emptyList();
+ private List<String> leavesQualifiers = emptyList();
@Override
public Collection<ResourceType> getAll() {
}
public ResourceTypesRule setRootQualifiers(String... qualifiers) {
- rootResourceTypes.clear();
+ Set<ResourceType> resourceTypes = new HashSet<>();
for (String qualifier : qualifiers) {
- rootResourceTypes.add(ResourceType.builder(qualifier).build());
+ resourceTypes.add(ResourceType.builder(qualifier).build());
}
+ rootResourceTypes = ImmutableSet.copyOf(resourceTypes);
return this;
}
public ResourceTypesRule setLeavesQualifiers(String... qualifiers) {
- leavesQualifiers.clear();
- leavesQualifiers.addAll(Arrays.asList(qualifiers));
+ leavesQualifiers = ImmutableList.copyOf(qualifiers);
return this;
}
public ResourceTypesRule setChildrenQualifiers(String... qualifiers) {
- childrenQualifiers.clear();
- childrenQualifiers.addAll(Arrays.asList(qualifiers));
-
+ childrenQualifiers = ImmutableList.copyOf(qualifiers);
return this;
}
public ResourceTypesRule setAllQualifiers(String... qualifiers) {
- allResourceTypes.clear();
+ Set<ResourceType> resourceTypes = new HashSet<>();
for (String qualifier : qualifiers) {
- allResourceTypes.add(ResourceType.builder(qualifier).build());
+ resourceTypes.add(ResourceType.builder(qualifier).build());
}
+ allResourceTypes = ImmutableSet.copyOf(resourceTypes);
return this;
}