aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTeryk Bellahsene <teryk.bellahsene@sonarsource.com>2017-10-11 14:46:26 +0200
committerTeryk Bellahsene <teryk@users.noreply.github.com>2017-10-12 14:50:59 +0200
commitd0234973112df69164cd8435a74e714fa97625cd (patch)
treec942008bf6ddb363dc414f0a0f69e7daf8834f1f
parent1c69c861bcdb3fd41e5eed0a051b3ea8022642f7 (diff)
downloadsonarqube-d0234973112df69164cd8435a74e714fa97625cd.tar.gz
sonarqube-d0234973112df69164cd8435a74e714fa97625cd.zip
SONAR-9928 ComponentIndexQuery renamed to SuggestionQuery
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/component/index/ComponentIndex.java38
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/component/index/SuggestionQuery.java (renamed from server/sonar-server/src/main/java/org/sonar/server/component/index/ComponentIndexQuery.java)8
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/component/ws/SuggestionsAction.java10
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexCombinationTest.java6
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexFeatureExactTest.java2
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexFeatureFavoriteTest.java6
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexFeatureRecentlyBrowsedTest.java4
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexHighlightTest.java4
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexScoreTest.java4
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexTest.java10
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/component/index/SuggestionQueryTest.java (renamed from server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexQueryTest.java)14
11 files changed, 53 insertions, 53 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/component/index/ComponentIndex.java b/server/sonar-server/src/main/java/org/sonar/server/component/index/ComponentIndex.java
index 41b07f569e6..0946a08abd7 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/component/index/ComponentIndex.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/component/index/ComponentIndex.java
@@ -68,25 +68,12 @@ public class ComponentIndex {
this.authorizationTypeSupport = authorizationTypeSupport;
}
- private static HighlightBuilder.Field createHighlighterField() {
- HighlightBuilder.Field field = new HighlightBuilder.Field(FIELD_NAME);
- field.highlighterType("fvh");
- field.matchedFields(
- Stream.concat(
- Stream.of(FIELD_NAME),
- Arrays
- .stream(NAME_ANALYZERS)
- .map(a -> a.subField(FIELD_NAME)))
- .toArray(String[]::new));
- return field;
- }
-
- public ComponentIndexResults search(ComponentIndexQuery query) {
- return search(query, ComponentTextSearchFeatureRepertoire.values());
+ public ComponentIndexResults searchSuggestions(SuggestionQuery query) {
+ return searchSuggestions(query, ComponentTextSearchFeatureRepertoire.values());
}
@VisibleForTesting
- ComponentIndexResults search(ComponentIndexQuery query, ComponentTextSearchFeature... features) {
+ ComponentIndexResults searchSuggestions(SuggestionQuery query, ComponentTextSearchFeature... features) {
Collection<String> qualifiers = query.getQualifiers();
if (qualifiers.isEmpty()) {
return ComponentIndexResults.newBuilder().build();
@@ -105,14 +92,27 @@ public class ComponentIndex {
return aggregationsToQualifiers(response);
}
- private static FiltersAggregationBuilder createAggregation(ComponentIndexQuery query) {
+ private static HighlightBuilder.Field createHighlighterField() {
+ HighlightBuilder.Field field = new HighlightBuilder.Field(FIELD_NAME);
+ field.highlighterType("fvh");
+ field.matchedFields(
+ Stream.concat(
+ Stream.of(FIELD_NAME),
+ Arrays
+ .stream(NAME_ANALYZERS)
+ .map(a -> a.subField(FIELD_NAME)))
+ .toArray(String[]::new));
+ return field;
+ }
+
+ private static FiltersAggregationBuilder createAggregation(SuggestionQuery query) {
return AggregationBuilders.filters(
FILTERS_AGGREGATION_NAME,
query.getQualifiers().stream().map(q -> new KeyedFilter(q, termQuery(FIELD_QUALIFIER, q))).toArray(KeyedFilter[]::new))
.subAggregation(createSubAggregation(query));
}
- private static TopHitsAggregationBuilder createSubAggregation(ComponentIndexQuery query) {
+ private static TopHitsAggregationBuilder createSubAggregation(SuggestionQuery query) {
return AggregationBuilders.topHits(DOCS_AGGREGATION_NAME)
.highlighter(new HighlightBuilder()
.encoder("html")
@@ -127,7 +127,7 @@ public class ComponentIndex {
.fetchSource(false);
}
- private QueryBuilder createQuery(ComponentIndexQuery query, ComponentTextSearchFeature... features) {
+ private QueryBuilder createQuery(SuggestionQuery query, ComponentTextSearchFeature... features) {
BoolQueryBuilder esQuery = boolQuery();
esQuery.filter(authorizationTypeSupport.createQueryFilter());
ComponentTextSearchQuery componentTextSearchQuery = ComponentTextSearchQuery.builder()
diff --git a/server/sonar-server/src/main/java/org/sonar/server/component/index/ComponentIndexQuery.java b/server/sonar-server/src/main/java/org/sonar/server/component/index/SuggestionQuery.java
index e314afce4db..8e15fcfee4c 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/component/index/ComponentIndexQuery.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/component/index/SuggestionQuery.java
@@ -26,7 +26,7 @@ import java.util.Set;
import static com.google.common.base.Preconditions.checkArgument;
import static java.util.Objects.requireNonNull;
-public class ComponentIndexQuery {
+public class SuggestionQuery {
public static final int DEFAULT_LIMIT = 6;
@@ -37,7 +37,7 @@ public class ComponentIndexQuery {
private final int skip;
private final int limit;
- private ComponentIndexQuery(Builder builder) {
+ private SuggestionQuery(Builder builder) {
this.query = requireNonNull(builder.query);
this.qualifiers = requireNonNull(builder.qualifiers);
this.recentlyBrowsedKeys = requireNonNull(builder.recentlyBrowsedKeys);
@@ -118,8 +118,8 @@ public class ComponentIndexQuery {
return this;
}
- public ComponentIndexQuery build() {
- return new ComponentIndexQuery(this);
+ public SuggestionQuery build() {
+ return new SuggestionQuery(this);
}
}
}
diff --git a/server/sonar-server/src/main/java/org/sonar/server/component/ws/SuggestionsAction.java b/server/sonar-server/src/main/java/org/sonar/server/component/ws/SuggestionsAction.java
index dbc6953d94d..5d728d6ab7d 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/component/ws/SuggestionsAction.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/component/ws/SuggestionsAction.java
@@ -51,7 +51,7 @@ import org.sonar.db.organization.OrganizationDto;
import org.sonar.server.component.index.ComponentHit;
import org.sonar.server.component.index.ComponentHitsPerQualifier;
import org.sonar.server.component.index.ComponentIndex;
-import org.sonar.server.component.index.ComponentIndexQuery;
+import org.sonar.server.component.index.SuggestionQuery;
import org.sonar.server.component.index.ComponentIndexResults;
import org.sonar.server.es.DefaultIndexSettings;
import org.sonar.server.favorite.FavoriteFinder;
@@ -69,7 +69,7 @@ import static java.util.Collections.singletonList;
import static org.sonar.api.web.UserRole.USER;
import static org.sonar.core.util.stream.MoreCollectors.toList;
import static org.sonar.core.util.stream.MoreCollectors.toSet;
-import static org.sonar.server.component.index.ComponentIndexQuery.DEFAULT_LIMIT;
+import static org.sonar.server.component.index.SuggestionQuery.DEFAULT_LIMIT;
import static org.sonar.server.es.DefaultIndexSettings.MINIMUM_NGRAM_LENGTH;
import static org.sonar.server.ws.WsUtils.writeProtobuf;
import static org.sonarqube.ws.WsComponents.SuggestionsWsResponse.Organization;
@@ -218,7 +218,7 @@ public class SuggestionsAction implements ComponentsWsAction {
List<ComponentDto> favorites = favoriteFinder.list();
Set<String> favoriteKeys = favorites.stream().map(ComponentDto::getDbKey).collect(MoreCollectors.toSet(favorites.size()));
- ComponentIndexQuery.Builder queryBuilder = ComponentIndexQuery.builder()
+ SuggestionQuery.Builder queryBuilder = SuggestionQuery.builder()
.setQuery(query)
.setRecentlyBrowsedKeys(recentlyBrowsedKeys)
.setFavoriteKeys(favoriteKeys)
@@ -296,8 +296,8 @@ public class SuggestionsAction implements ComponentsWsAction {
.collect(MoreCollectors.uniqueIndex(OrganizationDto::getUuid));
}
- private ComponentIndexResults searchInIndex(ComponentIndexQuery componentIndexQuery) {
- return index.search(componentIndexQuery);
+ private ComponentIndexResults searchInIndex(SuggestionQuery suggestionQuery) {
+ return index.searchSuggestions(suggestionQuery);
}
private static SuggestionsWsResponse.Builder toResponse(ComponentIndexResults componentsPerQualifiers, Set<String> recentlyBrowsedKeys, Set<String> favoriteUuids,
diff --git a/server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexCombinationTest.java b/server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexCombinationTest.java
index 56b82d6730d..86f93f1065b 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexCombinationTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexCombinationTest.java
@@ -33,7 +33,7 @@ public class ComponentIndexCombinationTest extends ComponentIndexTest {
public void return_empty_list_if_no_fields_match_query() {
indexProject("struts", "Apache Struts");
- assertThat(index.search(ComponentIndexQuery.builder().setQuery("missing").build()).isEmpty()).isTrue();
+ assertThat(index.searchSuggestions(SuggestionQuery.builder().setQuery("missing").build()).isEmpty()).isTrue();
}
@Test
@@ -48,14 +48,14 @@ public class ComponentIndexCombinationTest extends ComponentIndexTest {
ComponentDto project = indexProject("struts", "Apache Struts");
indexFile(project, "src/main/java/StrutsManager.java", "StrutsManager.java");
- assertSearchResults(ComponentIndexQuery.builder().setQuery("struts").setQualifiers(singletonList(Qualifiers.PROJECT)).build(), project);
+ assertSearchResults(SuggestionQuery.builder().setQuery("struts").setQualifiers(singletonList(Qualifiers.PROJECT)).build(), project);
}
@Test
public void should_limit_the_number_of_results() {
IntStream.rangeClosed(0, 10).forEach(i -> indexProject("sonarqube" + i, "SonarQube" + i));
- assertSearch(ComponentIndexQuery.builder().setQuery("sonarqube").setLimit(5).setQualifiers(singletonList(Qualifiers.PROJECT)).build()).hasSize(5);
+ assertSearch(SuggestionQuery.builder().setQuery("sonarqube").setLimit(5).setQualifiers(singletonList(Qualifiers.PROJECT)).build()).hasSize(5);
}
@Test
diff --git a/server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexFeatureExactTest.java b/server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexFeatureExactTest.java
index 458fe4f5f4c..146ff2acbcf 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexFeatureExactTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexFeatureExactTest.java
@@ -41,7 +41,7 @@ public class ComponentIndexFeatureExactTest extends ComponentIndexTest {
ComponentDto project1 = indexProject("project1", "LongNameLongNameLongNameLongNameSonarQube");
ComponentDto project2 = indexProject("project2", "LongNameLongNameLongNameLongNameSonarQubeX");
- ComponentIndexQuery query1 = ComponentIndexQuery.builder()
+ SuggestionQuery query1 = SuggestionQuery.builder()
.setQuery("LongNameLongNameLongNameLongNameSonarQube")
.setQualifiers(Collections.singletonList(PROJECT))
.build();
diff --git a/server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexFeatureFavoriteTest.java b/server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexFeatureFavoriteTest.java
index e37db705eeb..c06db8cceae 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexFeatureFavoriteTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexFeatureFavoriteTest.java
@@ -44,14 +44,14 @@ public class ComponentIndexFeatureFavoriteTest extends ComponentIndexTest {
ComponentDto project1 = indexProject("sonarqube", "SonarQube");
ComponentDto project2 = indexProject("recent", "SonarQube Recently");
- ComponentIndexQuery query1 = ComponentIndexQuery.builder()
+ SuggestionQuery query1 = SuggestionQuery.builder()
.setQuery("SonarQube")
.setQualifiers(singletonList(PROJECT))
.setFavoriteKeys(of(project1.getDbKey()))
.build();
assertSearch(query1).containsExactly(uuids(project1, project2));
- ComponentIndexQuery query2 = ComponentIndexQuery.builder()
+ SuggestionQuery query2 = SuggestionQuery.builder()
.setQuery("SonarQube")
.setQualifiers(singletonList(PROJECT))
.setFavoriteKeys(of(project2.getDbKey()))
@@ -64,7 +64,7 @@ public class ComponentIndexFeatureFavoriteTest extends ComponentIndexTest {
features.set(q -> termQuery(FIELD_KEY, "non-existing-value"), ComponentTextSearchFeatureRepertoire.FAVORITE);
ComponentDto project1 = indexProject("foo", "foo");
- ComponentIndexQuery query1 = ComponentIndexQuery.builder()
+ SuggestionQuery query1 = SuggestionQuery.builder()
.setQuery("bar")
.setQualifiers(singletonList(PROJECT))
.setFavoriteKeys(of(project1.getDbKey()))
diff --git a/server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexFeatureRecentlyBrowsedTest.java b/server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexFeatureRecentlyBrowsedTest.java
index 24158ff3296..4d2c15340cf 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexFeatureRecentlyBrowsedTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexFeatureRecentlyBrowsedTest.java
@@ -42,14 +42,14 @@ public class ComponentIndexFeatureRecentlyBrowsedTest extends ComponentIndexTest
ComponentDto project1 = indexProject("sonarqube", "SonarQube");
ComponentDto project2 = indexProject("recent", "SonarQube Recently");
- ComponentIndexQuery query1 = ComponentIndexQuery.builder()
+ SuggestionQuery query1 = SuggestionQuery.builder()
.setQuery("SonarQube")
.setQualifiers(Collections.singletonList(PROJECT))
.setRecentlyBrowsedKeys(of(project1.getDbKey()))
.build();
assertSearch(query1).containsExactly(uuids(project1, project2));
- ComponentIndexQuery query2 = ComponentIndexQuery.builder()
+ SuggestionQuery query2 = SuggestionQuery.builder()
.setQuery("SonarQube")
.setQualifiers(Collections.singletonList(PROJECT))
.setRecentlyBrowsedKeys(of(project2.getDbKey()))
diff --git a/server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexHighlightTest.java b/server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexHighlightTest.java
index 97f81c171eb..e41d82ff6d2 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexHighlightTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexHighlightTest.java
@@ -62,11 +62,11 @@ public class ComponentIndexHighlightTest extends ComponentIndexTest {
private void assertHighlighting(String fileName, String search, String expectedHighlighting) {
indexFile(fileName);
- ComponentIndexQuery query = ComponentIndexQuery.builder()
+ SuggestionQuery query = SuggestionQuery.builder()
.setQuery(search)
.setQualifiers(Collections.singletonList(Qualifiers.FILE))
.build();
- Stream<ComponentHitsPerQualifier> results = index.search(query, features.get()).getQualifiers();
+ Stream<ComponentHitsPerQualifier> results = index.searchSuggestions(query, features.get()).getQualifiers();
assertThat(results).flatExtracting(ComponentHitsPerQualifier::getHits)
.extracting(ComponentHit::getHighlightedText)
diff --git a/server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexScoreTest.java b/server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexScoreTest.java
index 205917259cf..42dd0859ac9 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexScoreTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexScoreTest.java
@@ -118,14 +118,14 @@ public class ComponentIndexScoreTest extends ComponentIndexTest {
ComponentDto file2 = db.components().insertPrivateProject(c -> c.setName("File2"));
index(file2);
- assertSearch(ComponentIndexQuery.builder()
+ assertSearch(SuggestionQuery.builder()
.setQuery("File")
.setQualifiers(asList(PROJECT, MODULE, FILE))
.setRecentlyBrowsedKeys(ImmutableSet.of(file1.getDbKey()))
.setFavoriteKeys(ImmutableSet.of(file2.getDbKey()))
.build()).containsExactly(uuids(file2, file1));
- assertSearch(ComponentIndexQuery.builder()
+ assertSearch(SuggestionQuery.builder()
.setQuery("File")
.setQualifiers(asList(PROJECT, MODULE, FILE))
.setRecentlyBrowsedKeys(ImmutableSet.of(file2.getDbKey()))
diff --git a/server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexTest.java b/server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexTest.java
index cabec1a8c2f..bbbb51a2d43 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexTest.java
@@ -98,20 +98,20 @@ public abstract class ComponentIndexTest {
}
protected AbstractListAssert<?, ? extends List<? extends String>, String> assertSearch(String query) {
- return assertSearch(ComponentIndexQuery.builder().setQuery(query).setQualifiers(asList(PROJECT, MODULE, FILE)).build());
+ return assertSearch(SuggestionQuery.builder().setQuery(query).setQualifiers(asList(PROJECT, MODULE, FILE)).build());
}
- protected AbstractListAssert<?, ? extends List<? extends String>, String> assertSearch(ComponentIndexQuery query) {
- return assertThat(index.search(query, features.get()).getQualifiers())
+ protected AbstractListAssert<?, ? extends List<? extends String>, String> assertSearch(SuggestionQuery query) {
+ return assertThat(index.searchSuggestions(query, features.get()).getQualifiers())
.flatExtracting(ComponentHitsPerQualifier::getHits)
.extracting(ComponentHit::getUuid);
}
protected void assertSearchResults(String query, ComponentDto... expectedComponents) {
- assertSearchResults(ComponentIndexQuery.builder().setQuery(query).setQualifiers(asList(PROJECT, MODULE, FILE)).build(), expectedComponents);
+ assertSearchResults(SuggestionQuery.builder().setQuery(query).setQualifiers(asList(PROJECT, MODULE, FILE)).build(), expectedComponents);
}
- protected void assertSearchResults(ComponentIndexQuery query, ComponentDto... expectedComponents) {
+ protected void assertSearchResults(SuggestionQuery query, ComponentDto... expectedComponents) {
assertSearch(query).containsOnly(uuids(expectedComponents));
}
diff --git a/server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexQueryTest.java b/server/sonar-server/src/test/java/org/sonar/server/component/index/SuggestionQueryTest.java
index 7192e929fc8..b41105b4d60 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/component/index/ComponentIndexQueryTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/component/index/SuggestionQueryTest.java
@@ -25,7 +25,7 @@ import org.junit.rules.ExpectedException;
import static org.assertj.core.api.Assertions.assertThat;
-public class ComponentIndexQueryTest {
+public class SuggestionQueryTest {
@Rule
public ExpectedException expectedException = ExpectedException.none();
@@ -35,7 +35,7 @@ public class ComponentIndexQueryTest {
expectedException.expect(IllegalArgumentException.class);
expectedException.expectMessage("Query must be at least two characters long");
- ComponentIndexQuery.builder().setQuery("");
+ SuggestionQuery.builder().setQuery("");
}
@Test
@@ -43,19 +43,19 @@ public class ComponentIndexQueryTest {
expectedException.expect(IllegalArgumentException.class);
expectedException.expectMessage("Query must be at least two characters long");
- ComponentIndexQuery.builder().setQuery("a");
+ SuggestionQuery.builder().setQuery("a");
}
@Test
public void should_support_query_with_two_characters_long() {
- ComponentIndexQuery query = ComponentIndexQuery.builder().setQuery("ab").build();
+ SuggestionQuery query = SuggestionQuery.builder().setQuery("ab").build();
assertThat(query.getQuery()).isEqualTo("ab");
}
@Test
public void should_fail_with_IAE_if_limit_is_negative() {
- ComponentIndexQuery.Builder query = ComponentIndexQuery.builder().setQuery("ab");
+ SuggestionQuery.Builder query = SuggestionQuery.builder().setQuery("ab");
expectedException.expect(IllegalArgumentException.class);
expectedException.expectMessage("Limit has to be strictly positive");
@@ -65,7 +65,7 @@ public class ComponentIndexQueryTest {
@Test
public void should_fail_with_IAE_if_limit_is_zero() {
- ComponentIndexQuery.Builder query = ComponentIndexQuery.builder().setQuery("ab");
+ SuggestionQuery.Builder query = SuggestionQuery.builder().setQuery("ab");
expectedException.expect(IllegalArgumentException.class);
expectedException.expectMessage("Limit has to be strictly positive");
@@ -75,7 +75,7 @@ public class ComponentIndexQueryTest {
@Test
public void should_support_positive_limit() {
- ComponentIndexQuery query = ComponentIndexQuery.builder().setQuery("ab")
+ SuggestionQuery query = SuggestionQuery.builder().setQuery("ab")
.setLimit(1).build();
assertThat(query.getLimit()).isEqualTo(1);