18
18
*/
19
19
20
20
/*
21
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
21
+ * Copyright (c) 2018, 2021, Oracle and/or its affiliates. All rights reserved.
22
22
*/
23
23
package org .opengrok .web .api .v1 .suggester .parser ;
24
24
25
25
import org .apache .commons .lang3 .RandomStringUtils ;
26
26
import org .apache .lucene .queryparser .classic .ParseException ;
27
27
import org .apache .lucene .search .Query ;
28
+ import org .opengrok .indexer .configuration .RuntimeEnvironment ;
28
29
import org .opengrok .suggest .query .SuggesterQuery ;
29
30
import org .opengrok .indexer .logger .LoggerFactory ;
30
31
import org .opengrok .indexer .search .QueryBuilder ;
33
34
import org .opengrok .web .api .v1 .suggester .query .SuggesterQueryBuilder ;
34
35
35
36
import java .util .HashMap ;
37
+ import java .util .List ;
36
38
import java .util .Map ;
37
39
import java .util .logging .Level ;
38
40
import java .util .logging .Logger ;
41
+ import java .util .stream .Collectors ;
39
42
40
43
/**
41
44
* Parser for the raw {@link SuggesterQueryData}.
@@ -53,9 +56,14 @@ private SuggesterQueryDataParser() {
53
56
* Parses the {@link SuggesterQueryData}.
54
57
* @param data data to parse
55
58
* @return parsed data for the suggester use
56
- * @throws ParseException if could not parse the search data into a valid {@link Query}
59
+ * @throws ParseException could not parse the search data into a valid {@link Query}
57
60
*/
58
61
public static SuggesterData parse (final SuggesterQueryData data ) throws ParseException {
62
+
63
+ List <String > projectList = data .getProjects ().stream ().
64
+ filter (p -> RuntimeEnvironment .getInstance ().getProjectNames ().contains (p )).
65
+ collect (Collectors .toList ());
66
+
59
67
Map <String , String > fieldQueries = getFieldQueries (data );
60
68
61
69
ProcessedQueryData queryData = processQuery (fieldQueries .get (data .getField ()), data .getCaretPosition ());
@@ -87,7 +95,7 @@ public static SuggesterData parse(final SuggesterQueryData data) throws ParseExc
87
95
query = null ;
88
96
}
89
97
90
- return new SuggesterData (suggesterQuery , data . getProjects () , query , builder .getQueryTextWithPlaceholder (),
98
+ return new SuggesterData (suggesterQuery , projectList , query , builder .getQueryTextWithPlaceholder (),
91
99
builder .getIdentifier ());
92
100
}
93
101
@@ -136,5 +144,4 @@ private static class ProcessedQueryData {
136
144
this .query = query ;
137
145
}
138
146
}
139
-
140
147
}
0 commit comments