You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by er...@apache.org on 2020/06/08 01:26:15 UTC
[lucene-solr] branch branch_8x updated: SOLR-14543: Fix or suppress
warnings in apache/solr/search
This is an automated email from the ASF dual-hosted git repository.
erick pushed a commit to branch branch_8x
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git
The following commit(s) were added to refs/heads/branch_8x by this push:
new d1fd4bd SOLR-14543: Fix or suppress warnings in apache/solr/search
d1fd4bd is described below
commit d1fd4bda3a4bcc9be278f353165202aaca615801
Author: Erick Erickson <Er...@gmail.com>
AuthorDate: Sun Jun 7 21:25:50 2020 -0400
SOLR-14543: Fix or suppress warnings in apache/solr/search
---
solr/CHANGES.txt | 2 ++
.../apache/solr/search/AbstractReRankQuery.java | 2 +-
.../java/org/apache/solr/search/CacheConfig.java | 8 +++++
.../org/apache/solr/search/CacheRegenerator.java | 4 ++-
.../java/org/apache/solr/search/CaffeineCache.java | 2 ++
.../solr/search/CollapsingQParserPlugin.java | 10 ++++++-
.../solr/search/ComplexPhraseQParserPlugin.java | 2 +-
.../java/org/apache/solr/search/CursorMark.java | 1 +
.../apache/solr/search/ExportQParserPlugin.java | 5 ++++
.../solr/search/FloatPayloadValueSource.java | 3 +-
.../src/java/org/apache/solr/search/Grouping.java | 34 +++++++++++++++++-----
.../solr/search/IGainTermsQParserPlugin.java | 2 ++
.../java/org/apache/solr/search/QParserPlugin.java | 2 +-
.../java/org/apache/solr/search/QueryContext.java | 1 +
.../java/org/apache/solr/search/QueryParsing.java | 1 +
.../src/java/org/apache/solr/search/RankQuery.java | 1 +
.../org/apache/solr/search/ReRankCollector.java | 5 ++++
.../solr/search/SignificantTermsQParserPlugin.java | 6 ++++
.../src/java/org/apache/solr/search/SolrCache.java | 2 +-
.../apache/solr/search/SolrConstantScoreQuery.java | 1 +
.../org/apache/solr/search/SolrCoreParser.java | 1 +
.../apache/solr/search/SolrDocumentFetcher.java | 1 +
.../java/org/apache/solr/search/SolrFilter.java | 6 ++--
.../org/apache/solr/search/SolrIndexSearcher.java | 31 ++++++++++++++++----
.../TextLogisticRegressionQParserPlugin.java | 4 ++-
.../org/apache/solr/search/ValueSourceParser.java | 26 ++++++++++-------
.../org/apache/solr/search/XmlQParserPlugin.java | 3 +-
.../solr/search/grouping/CommandHandler.java | 14 +++++----
.../distributed/command/GroupConverter.java | 6 ++--
.../grouping/distributed/command/QueryCommand.java | 1 +
.../command/SearchGroupsFieldCommand.java | 3 ++
.../distributed/command/TopGroupsFieldCommand.java | 2 ++
.../SearchGroupShardResponseProcessor.java | 3 +-
.../TopGroupsShardResponseProcessor.java | 4 ++-
.../SearchGroupsResultTransformer.java | 7 ++++-
.../ShardResultTransformer.java | 2 ++
.../TopGroupsResultTransformer.java | 3 +-
.../GroupedEndResultTransformer.java | 1 +
.../apache/solr/search/join/XCJFQParserPlugin.java | 4 +--
.../apache/solr/search/mlt/CloudMLTQParser.java | 4 +++
.../apache/solr/search/mlt/SimpleMLTQParser.java | 1 +
.../apache/solr/search/stats/ExactStatsCache.java | 10 +++++++
.../apache/solr/search/stats/LRUStatsCache.java | 2 ++
43 files changed, 183 insertions(+), 50 deletions(-)
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 6a71f07..2bee13c 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -236,6 +236,8 @@ Other Changes
* SOLR-14542: Fix or suppress warnings in solr/handler/dataimport (Erick Erickson)
+* SOLR-14543: Fix or suppress warnings in apache/solr/search (Erick Erickson)
+
================== 8.5.2 ==================
Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release.
diff --git a/solr/core/src/java/org/apache/solr/search/AbstractReRankQuery.java b/solr/core/src/java/org/apache/solr/search/AbstractReRankQuery.java
index c875658..f0e6702 100644
--- a/solr/core/src/java/org/apache/solr/search/AbstractReRankQuery.java
+++ b/solr/core/src/java/org/apache/solr/search/AbstractReRankQuery.java
@@ -56,7 +56,7 @@ public abstract class AbstractReRankQuery extends RankQuery {
return null;
}
- @SuppressWarnings("unchecked")
+ @SuppressWarnings({"unchecked", "rawtypes"})
public TopDocsCollector getTopDocsCollector(int len, QueryCommand cmd, IndexSearcher searcher) throws IOException {
if(this.boostedPriority == null) {
SolrRequestInfo info = SolrRequestInfo.getRequestInfo();
diff --git a/solr/core/src/java/org/apache/solr/search/CacheConfig.java b/solr/core/src/java/org/apache/solr/search/CacheConfig.java
index 8ccc077..6c7f68f 100644
--- a/solr/core/src/java/org/apache/solr/search/CacheConfig.java
+++ b/solr/core/src/java/org/apache/solr/search/CacheConfig.java
@@ -49,6 +49,7 @@ public class CacheConfig implements MapSerializable{
private String nodeName;
+ @SuppressWarnings({"rawtypes"})
private Class<? extends SolrCache> clazz;
private Map<String,String> args;
private CacheRegenerator regenerator;
@@ -61,6 +62,7 @@ public class CacheConfig implements MapSerializable{
public CacheConfig() {}
+ @SuppressWarnings({"rawtypes"})
public CacheConfig(Class<? extends SolrCache> clazz, Map<String,String> args, CacheRegenerator regenerator) {
this.clazz = clazz;
this.args = args;
@@ -91,6 +93,7 @@ public class CacheConfig implements MapSerializable{
}
+ @SuppressWarnings({"unchecked"})
public static CacheConfig getConfig(SolrConfig solrConfig, String xpath) {
Node node = solrConfig.getNode(xpath, false);
if(node == null || !"true".equals(DOMUtil.getAttrOrDefault(node, "enabled", "true"))) {
@@ -103,9 +106,11 @@ public class CacheConfig implements MapSerializable{
}
+ @SuppressWarnings({"unchecked"})
public static CacheConfig getConfig(SolrConfig solrConfig, String nodeName, Map<String,String> attrs, String xpath) {
CacheConfig config = new CacheConfig();
config.nodeName = nodeName;
+ @SuppressWarnings({"rawtypes"})
Map attrsCopy = new LinkedHashMap<>(attrs.size());
for (Map.Entry<String, String> e : attrs.entrySet()) {
attrsCopy.put(e.getKey(), String.valueOf(e.getValue()));
@@ -138,6 +143,7 @@ public class CacheConfig implements MapSerializable{
return config;
}
+ @SuppressWarnings({"rawtypes"})
public SolrCache newInstance() {
try {
SolrCache cache = clazz.getConstructor().newInstance();
@@ -152,7 +158,9 @@ public class CacheConfig implements MapSerializable{
}
@Override
+ @SuppressWarnings({"unchecked"})
public Map<String, Object> toMap(Map<String, Object> map) {
+ @SuppressWarnings({"rawtypes"})
Map result = Collections.unmodifiableMap(args);
return result;
}
diff --git a/solr/core/src/java/org/apache/solr/search/CacheRegenerator.java b/solr/core/src/java/org/apache/solr/search/CacheRegenerator.java
index 4daaa52..f958bf2 100644
--- a/solr/core/src/java/org/apache/solr/search/CacheRegenerator.java
+++ b/solr/core/src/java/org/apache/solr/search/CacheRegenerator.java
@@ -38,5 +38,7 @@ public interface CacheRegenerator {
* @param oldVal the old value of the cache item
* @return true to continue with autowarming, false to stop
*/
- public boolean regenerateItem(SolrIndexSearcher newSearcher, SolrCache newCache, SolrCache oldCache, Object oldKey, Object oldVal) throws IOException;
+ public boolean regenerateItem(SolrIndexSearcher newSearcher,
+ @SuppressWarnings({"rawtypes"})SolrCache newCache,
+ @SuppressWarnings({"rawtypes"})SolrCache oldCache, Object oldKey, Object oldVal) throws IOException;
}
diff --git a/solr/core/src/java/org/apache/solr/search/CaffeineCache.java b/solr/core/src/java/org/apache/solr/search/CaffeineCache.java
index e9ce929..52df874 100644
--- a/solr/core/src/java/org/apache/solr/search/CaffeineCache.java
+++ b/solr/core/src/java/org/apache/solr/search/CaffeineCache.java
@@ -136,7 +136,9 @@ public class CaffeineCache<K, V> extends SolrCacheBase implements SolrCache<K, V
return persistence;
}
+ @SuppressWarnings({"unchecked"})
private Cache<K, V> buildCache(Cache<K, V> prev) {
+ @SuppressWarnings({"rawtypes"})
Caffeine builder = Caffeine.newBuilder()
.initialCapacity(initialSize)
.executor(executor)
diff --git a/solr/core/src/java/org/apache/solr/search/CollapsingQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/CollapsingQParserPlugin.java
index e712577..b9e8eb9 100644
--- a/solr/core/src/java/org/apache/solr/search/CollapsingQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/CollapsingQParserPlugin.java
@@ -366,6 +366,7 @@ public class CollapsingQParserPlugin extends QParserPlugin {
}
}
+ @SuppressWarnings({"unchecked"})
public DelegatingCollector getFilterCollector(IndexSearcher indexSearcher) {
try {
@@ -376,6 +377,7 @@ public class CollapsingQParserPlugin extends QParserPlugin {
//because the QueryElevationComponent runs after the Queries are constructed.
IntIntHashMap boostDocsMap = null;
+ @SuppressWarnings({"rawtypes"})
Map context = null;
SolrRequestInfo info = SolrRequestInfo.getRequestInfo();
if(info != null) {
@@ -1451,8 +1453,9 @@ public class CollapsingQParserPlugin extends QParserPlugin {
* If it is, then "this" will be added to the readerContext
* using the "CSCORE" key, and true will be returned. If not returns false.
*/
+ @SuppressWarnings({"unchecked"})
public boolean setupIfNeeded(final GroupHeadSelector groupHeadSelector,
- final Map readerContext) {
+ @SuppressWarnings({"rawtypes"})final Map readerContext) {
// HACK, but not really any better options until/unless we can recursively
// ask value sources if they depend on score
if (wantsCScore(groupHeadSelector.selectorText)) {
@@ -1832,6 +1835,7 @@ public class CollapsingQParserPlugin extends QParserPlugin {
private ValueSource valueSource;
private FunctionValues functionValues;
private IntFloatDynamicMap ordVals;
+ @SuppressWarnings({"rawtypes"})
private Map rcontext;
private final CollapseScore collapseScore = new CollapseScore();
private boolean needsScores4Collapsing;
@@ -2353,6 +2357,7 @@ public class CollapsingQParserPlugin extends QParserPlugin {
private ValueSource valueSource;
private FunctionValues functionValues;
+ @SuppressWarnings({"rawtypes"})
private Map rcontext;
private final CollapseScore collapseScore = new CollapseScore();
private int index=-1;
@@ -2632,6 +2637,7 @@ public class CollapsingQParserPlugin extends QParserPlugin {
final private int numClauses;
final private SortField[] sorts;
final private int[] reverseMul;
+ @SuppressWarnings({"rawtypes"})
final private FieldComparator[] fieldComparators;
final private LeafFieldComparator[] leafFieldComparators;
@@ -2642,6 +2648,7 @@ public class CollapsingQParserPlugin extends QParserPlugin {
* Constructs an instance based on the the (raw, un-rewritten) SortFields to be used,
* and an initial number of expected groups (will grow as needed).
*/
+ @SuppressWarnings({"rawtypes"})
public SortFieldsCompare(SortField[] sorts, int initNumGroups) {
this.sorts = sorts;
numClauses = sorts.length;
@@ -2757,6 +2764,7 @@ public class CollapsingQParserPlugin extends QParserPlugin {
* accordance with the SortFields.
* (otherwise returns false)
*/
+ @SuppressWarnings({"unchecked", "rawtypes"})
private boolean testAndSetGroupValues(Object[] values, int contextDoc) throws IOException {
Object[] stash = new Object[numClauses];
int lastCompare = 0;
diff --git a/solr/core/src/java/org/apache/solr/search/ComplexPhraseQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/ComplexPhraseQParserPlugin.java
index 85b40cd..6313e5b 100644
--- a/solr/core/src/java/org/apache/solr/search/ComplexPhraseQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/ComplexPhraseQParserPlugin.java
@@ -39,7 +39,7 @@ public class ComplexPhraseQParserPlugin extends QParserPlugin {
private boolean inOrder = true;
@Override
- public void init(NamedList args) {
+ public void init(@SuppressWarnings({"rawtypes"})NamedList args) {
super.init(args);
if (args != null) {
Object val = args.get("inOrder");
diff --git a/solr/core/src/java/org/apache/solr/search/CursorMark.java b/solr/core/src/java/org/apache/solr/search/CursorMark.java
index 2a63da5..8048471 100644
--- a/solr/core/src/java/org/apache/solr/search/CursorMark.java
+++ b/solr/core/src/java/org/apache/solr/search/CursorMark.java
@@ -172,6 +172,7 @@ public final class CursorMark {
*
* @see #getSerializedTotem
*/
+ @SuppressWarnings({"unchecked"})
public void parseSerializedTotem(final String serialized) {
if (CURSOR_MARK_START.equals(serialized)) {
values = null;
diff --git a/solr/core/src/java/org/apache/solr/search/ExportQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/ExportQParserPlugin.java
index bdf943e..097f1fc 100644
--- a/solr/core/src/java/org/apache/solr/search/ExportQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/ExportQParserPlugin.java
@@ -95,6 +95,7 @@ public class ExportQParserPlugin extends QParserPlugin {
}
}
+ @SuppressWarnings({"rawtypes"})
public TopDocsCollector getTopDocsCollector(int len,
QueryCommand cmd,
IndexSearcher searcher) throws IOException {
@@ -137,10 +138,12 @@ public class ExportQParserPlugin extends QParserPlugin {
}
}
+ @SuppressWarnings({"rawtypes"})
private static class ExportCollector extends TopDocsCollector {
private FixedBitSet[] sets;
+ @SuppressWarnings({"unchecked"})
public ExportCollector(FixedBitSet[] sets) {
super(null);
this.sets = sets;
@@ -172,6 +175,7 @@ public class ExportQParserPlugin extends QParserPlugin {
return docs;
}
+ @SuppressWarnings({"unchecked"})
public TopDocs topDocs(int start, int howMany) {
assert(sets != null);
@@ -180,6 +184,7 @@ public class ExportQParserPlugin extends QParserPlugin {
SolrQueryRequest req = null;
if(info != null && ((req = info.getReq()) != null)) {
+ @SuppressWarnings({"rawtypes"})
Map context = req.getContext();
context.put("export", sets);
context.put("totalHits", totalHits);
diff --git a/solr/core/src/java/org/apache/solr/search/FloatPayloadValueSource.java b/solr/core/src/java/org/apache/solr/search/FloatPayloadValueSource.java
index c548418..0103d3d 100644
--- a/solr/core/src/java/org/apache/solr/search/FloatPayloadValueSource.java
+++ b/solr/core/src/java/org/apache/solr/search/FloatPayloadValueSource.java
@@ -53,7 +53,8 @@ public class FloatPayloadValueSource extends ValueSource {
}
@Override
- public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
+ public FunctionValues getValues(@SuppressWarnings({"rawtypes"})Map context
+ , LeafReaderContext readerContext) throws IOException {
final Terms terms = readerContext.reader().terms(indexedField);
diff --git a/solr/core/src/java/org/apache/solr/search/Grouping.java b/solr/core/src/java/org/apache/solr/search/Grouping.java
index c17cf58..8d00388 100644
--- a/solr/core/src/java/org/apache/solr/search/Grouping.java
+++ b/solr/core/src/java/org/apache/solr/search/Grouping.java
@@ -82,6 +82,7 @@ public class Grouping {
private final SolrIndexSearcher searcher;
private final QueryResult qr;
private final QueryCommand cmd;
+ @SuppressWarnings({"rawtypes"})
private final List<Command> commands = new ArrayList<>();
private final boolean main;
private final boolean cacheSecondPassSearch;
@@ -103,6 +104,7 @@ public class Grouping {
private Query query;
private DocSet filter;
private Filter luceneFilter;
+ @SuppressWarnings({"rawtypes"})
private NamedList grouped = new SimpleOrderedMap();
private Set<Integer> idSet = new LinkedHashSet<>(); // used for tracking unique docs when we need a doclist
private int maxMatches; // max number of matches from any grouping command
@@ -134,7 +136,7 @@ public class Grouping {
this.main = main;
}
- public void add(Grouping.Command groupingCommand) {
+ public void add(@SuppressWarnings({"rawtypes"})Grouping.Command groupingCommand) {
commands.add(groupingCommand);
}
@@ -180,6 +182,7 @@ public class Grouping {
public void addFunctionCommand(String groupByStr, SolrQueryRequest request) throws SyntaxError {
QParser parser = QParser.getParser(groupByStr, FunctionQParserPlugin.NAME, request);
Query q = parser.getQuery();
+ @SuppressWarnings({"rawtypes"})
final Grouping.Command gc;
if (q instanceof FunctionQuery) {
ValueSource valueSource = ((FunctionQuery) q).getValueSource();
@@ -288,6 +291,7 @@ public class Grouping {
return this;
}
+ @SuppressWarnings({"rawtypes"})
public List<Command> getCommands() {
return commands;
}
@@ -317,13 +321,13 @@ public class Grouping {
getDocList = (cmd.getFlags() & SolrIndexSearcher.GET_DOCLIST) != 0;
query = QueryUtils.makeQueryable(cmd.getQuery());
- for (Command cmd : commands) {
+ for (@SuppressWarnings({"rawtypes"})Command cmd : commands) {
cmd.prepare();
}
AllGroupHeadsCollector<?> allGroupHeadsCollector = null;
List<Collector> collectors = new ArrayList<>(commands.size());
- for (Command cmd : commands) {
+ for (@SuppressWarnings({"rawtypes"})Command cmd : commands) {
Collector collector = cmd.createFirstPassCollector();
if (collector != null) {
collectors.add(collector);
@@ -370,7 +374,7 @@ public class Grouping {
}
collectors.clear();
- for (Command cmd : commands) {
+ for (@SuppressWarnings({"rawtypes"})Command cmd : commands) {
Collector collector = cmd.createSecondPassCollector();
if (collector != null)
collectors.add(collector);
@@ -401,7 +405,7 @@ public class Grouping {
}
}
- for (Command cmd : commands) {
+ for (@SuppressWarnings({"rawtypes"})Command cmd : commands) {
cmd.finish();
}
@@ -592,6 +596,7 @@ public class Grouping {
}
}
+ @SuppressWarnings({"unchecked", "rawtypes"})
protected NamedList commonResponse() {
NamedList groupResult = new SimpleOrderedMap();
grouped.add(key, groupResult); // grouped={ key={
@@ -606,7 +611,7 @@ public class Grouping {
return groupResult;
}
- protected DocList getDocList(GroupDocs groups) {
+ protected DocList getDocList(@SuppressWarnings({"rawtypes"})GroupDocs groups) {
assert groups.totalHits.relation == TotalHits.Relation.EQUAL_TO;
int max = Math.toIntExact(groups.totalHits.value);
int off = groupOffset;
@@ -640,12 +645,15 @@ public class Grouping {
return docs;
}
- protected void addDocList(NamedList rsp, GroupDocs groups) {
+ @SuppressWarnings({"unchecked"})
+ protected void addDocList(@SuppressWarnings({"rawtypes"})NamedList rsp
+ , @SuppressWarnings({"rawtypes"})GroupDocs groups) {
rsp.add("doclist", getDocList(groups));
}
// Flatten the groups and get up offset + rows documents
protected DocList createSimpleResponse() {
+ @SuppressWarnings({"rawtypes"})
GroupDocs[] groups = result != null ? result.groups : new GroupDocs[0];
List<Integer> ids = new ArrayList<>();
@@ -655,7 +663,7 @@ public class Grouping {
float maxScore = Float.NaN;
outer:
- for (GroupDocs group : groups) {
+ for (@SuppressWarnings({"rawtypes"})GroupDocs group : groups) {
maxScore = maxAvoidNaN(maxScore, group.maxScore);
for (ScoreDoc scoreDoc : group.scoreDocs) {
@@ -768,6 +776,7 @@ public class Grouping {
}
@Override
+ @SuppressWarnings({"unchecked"})
protected void finish() throws IOException {
if (secondPass != null) {
result = secondPass.getTopGroups(0);
@@ -778,6 +787,7 @@ public class Grouping {
return;
}
+ @SuppressWarnings({"rawtypes"})
NamedList groupResult = commonResponse();
if (format == Format.simple) {
@@ -785,6 +795,7 @@ public class Grouping {
return;
}
+ @SuppressWarnings({"rawtypes"})
List groupList = new ArrayList();
groupResult.add("groups", groupList); // grouped={ key={ groups=[
@@ -796,6 +807,7 @@ public class Grouping {
if (numGroups == 0) return;
for (GroupDocs<BytesRef> group : result.groups) {
+ @SuppressWarnings({"rawtypes"})
NamedList nl = new SimpleOrderedMap();
groupList.add(nl); // grouped={ key={ groups=[ {
@@ -844,6 +856,7 @@ public class Grouping {
* A group command for grouping on a query.
*/
//NOTE: doesn't need to be generic. Maybe Command interface --> First / Second pass abstract impl.
+ @SuppressWarnings({"rawtypes"})
public class CommandQuery extends Command {
public Query query;
@@ -911,6 +924,7 @@ public class Grouping {
public class CommandFunc extends Command<MutableValue> {
public ValueSource groupBy;
+ @SuppressWarnings({"rawtypes"})
Map context;
private ValueSourceGroupSelector newSelector() {
@@ -985,6 +999,7 @@ public class Grouping {
}
@Override
+ @SuppressWarnings({"unchecked"})
protected void finish() throws IOException {
if (secondPass != null) {
result = secondPass.getTopGroups(0);
@@ -995,6 +1010,7 @@ public class Grouping {
return;
}
+ @SuppressWarnings({"rawtypes"})
NamedList groupResult = commonResponse();
if (format == Format.simple) {
@@ -1002,6 +1018,7 @@ public class Grouping {
return;
}
+ @SuppressWarnings({"rawtypes"})
List groupList = new ArrayList();
groupResult.add("groups", groupList); // grouped={ key={ groups=[
@@ -1013,6 +1030,7 @@ public class Grouping {
if (numGroups == 0) return;
for (GroupDocs<MutableValue> group : result.groups) {
+ @SuppressWarnings({"rawtypes"})
NamedList nl = new SimpleOrderedMap();
groupList.add(nl); // grouped={ key={ groups=[ {
nl.add("groupValue", group.groupValue.toObject());
diff --git a/solr/core/src/java/org/apache/solr/search/IGainTermsQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/IGainTermsQParserPlugin.java
index c9e1434..5364b1b 100644
--- a/solr/core/src/java/org/apache/solr/search/IGainTermsQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/IGainTermsQParserPlugin.java
@@ -143,8 +143,10 @@ public class IGainTermsQParserPlugin extends QParserPlugin {
@Override
public void finish() throws IOException {
NamedList<Double> analytics = new NamedList<Double>();
+ @SuppressWarnings({"unchecked", "rawtypes"})
NamedList<Integer> topFreq = new NamedList();
+ @SuppressWarnings({"unchecked", "rawtypes"})
NamedList<Integer> allFreq = new NamedList();
rb.rsp.add("featuredTerms", analytics);
diff --git a/solr/core/src/java/org/apache/solr/search/QParserPlugin.java b/solr/core/src/java/org/apache/solr/search/QParserPlugin.java
index d17422c..2791f5e 100644
--- a/solr/core/src/java/org/apache/solr/search/QParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/QParserPlugin.java
@@ -97,7 +97,7 @@ public abstract class QParserPlugin implements NamedListInitializedPlugin, SolrI
public abstract QParser createParser(String qstr, SolrParams localParams, SolrParams params, SolrQueryRequest req);
@Override
- public void init( NamedList args ) {
+ public void init( @SuppressWarnings({"rawtypes"})NamedList args ) {
}
@Override
diff --git a/solr/core/src/java/org/apache/solr/search/QueryContext.java b/solr/core/src/java/org/apache/solr/search/QueryContext.java
index ebffc32..48c7ace 100644
--- a/solr/core/src/java/org/apache/solr/search/QueryContext.java
+++ b/solr/core/src/java/org/apache/solr/search/QueryContext.java
@@ -48,6 +48,7 @@ public class QueryContext extends IdentityHashMap implements Closeable {
return context;
}
+ @SuppressWarnings({"unchecked"})
public QueryContext(IndexSearcher searcher) {
this.searcher = searcher instanceof SolrIndexSearcher ? (SolrIndexSearcher)searcher : null;
indexSearcher = searcher;
diff --git a/solr/core/src/java/org/apache/solr/search/QueryParsing.java b/solr/core/src/java/org/apache/solr/search/QueryParsing.java
index cc35c78..22ad421 100644
--- a/solr/core/src/java/org/apache/solr/search/QueryParsing.java
+++ b/solr/core/src/java/org/apache/solr/search/QueryParsing.java
@@ -251,6 +251,7 @@ public class QueryParsing {
out.append(q.includesUpper() ? ']' : '}');
} else if (query instanceof LegacyNumericRangeQuery) {
+ @SuppressWarnings({"rawtypes"})
LegacyNumericRangeQuery q = (LegacyNumericRangeQuery) query;
String fname = q.getField();
FieldType ft = writeFieldName(fname, schema, out, flags);
diff --git a/solr/core/src/java/org/apache/solr/search/RankQuery.java b/solr/core/src/java/org/apache/solr/search/RankQuery.java
index 4812e41..2aa991a 100644
--- a/solr/core/src/java/org/apache/solr/search/RankQuery.java
+++ b/solr/core/src/java/org/apache/solr/search/RankQuery.java
@@ -29,6 +29,7 @@ import java.io.IOException;
public abstract class RankQuery extends ExtendedQueryBase {
+ @SuppressWarnings({"rawtypes"})
public abstract TopDocsCollector getTopDocsCollector(int len, QueryCommand cmd, IndexSearcher searcher) throws IOException;
public abstract MergeStrategy getMergeStrategy();
public abstract RankQuery wrap(Query mainQuery);
diff --git a/solr/core/src/java/org/apache/solr/search/ReRankCollector.java b/solr/core/src/java/org/apache/solr/search/ReRankCollector.java
index ed917c3..27b07ba 100644
--- a/solr/core/src/java/org/apache/solr/search/ReRankCollector.java
+++ b/solr/core/src/java/org/apache/solr/search/ReRankCollector.java
@@ -42,8 +42,10 @@ import org.apache.solr.handler.component.QueryElevationComponent;
import org.apache.solr.request.SolrRequestInfo;
/* A TopDocsCollector used by reranking queries. */
+@SuppressWarnings({"rawtypes"})
public class ReRankCollector extends TopDocsCollector {
+ @SuppressWarnings({"rawtypes"})
final private TopDocsCollector mainCollector;
final private IndexSearcher searcher;
final private int reRankDocs;
@@ -54,6 +56,7 @@ public class ReRankCollector extends TopDocsCollector {
final private Query query;
+ @SuppressWarnings({"unchecked"})
public ReRankCollector(int reRankDocs,
int length,
Rescorer reRankQueryRescorer,
@@ -92,6 +95,7 @@ public class ReRankCollector extends TopDocsCollector {
return sort == null || sort.needsScores() ? ScoreMode.COMPLETE : ScoreMode.COMPLETE_NO_SCORES;
}
+ @SuppressWarnings({"unchecked"})
public TopDocs topDocs(int start, int howMany) {
try {
@@ -152,6 +156,7 @@ public class ReRankCollector extends TopDocsCollector {
}
}
+ @SuppressWarnings({"rawtypes"})
public static class BoostedComp implements Comparator {
IntFloatHashMap boostedMap;
diff --git a/solr/core/src/java/org/apache/solr/search/SignificantTermsQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/SignificantTermsQParserPlugin.java
index d5776a8..130490f 100644
--- a/solr/core/src/java/org/apache/solr/search/SignificantTermsQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/SignificantTermsQParserPlugin.java
@@ -134,12 +134,18 @@ public class SignificantTermsQParserPlugin extends QParserPlugin {
@Override
public void finish() throws IOException {
+ @SuppressWarnings({"unchecked", "rawtypes"})
List<String> outTerms = new ArrayList();
+ @SuppressWarnings({"unchecked", "rawtypes"})
List<Integer> outFreq = new ArrayList();
+ @SuppressWarnings({"unchecked", "rawtypes"})
List<Integer> outQueryFreq = new ArrayList();
+ @SuppressWarnings({"unchecked", "rawtypes"})
List<Double> scores = new ArrayList();
+ @SuppressWarnings({"unchecked", "rawtypes"})
NamedList<Integer> allFreq = new NamedList();
+ @SuppressWarnings({"unchecked", "rawtypes"})
NamedList<Integer> allQueryFreq = new NamedList();
LinkedHashMap<String, Object> response = new LinkedHashMap<>();
diff --git a/solr/core/src/java/org/apache/solr/search/SolrCache.java b/solr/core/src/java/org/apache/solr/search/SolrCache.java
index 581c5dd..2dbaefa 100644
--- a/solr/core/src/java/org/apache/solr/search/SolrCache.java
+++ b/solr/core/src/java/org/apache/solr/search/SolrCache.java
@@ -65,7 +65,7 @@ public interface SolrCache<K,V> extends SolrInfoBean, SolrMetricProducer {
* regenerate an item in the new cache from an entry in the old cache.
*
*/
- public Object init(Map args, Object persistence, CacheRegenerator regenerator);
+ public Object init(@SuppressWarnings({"rawtypes"})Map args, Object persistence, CacheRegenerator regenerator);
// I don't think we need a factory for faster creation given that these
// will be associated with slow-to-create SolrIndexSearchers.
// change to NamedList when other plugins do?
diff --git a/solr/core/src/java/org/apache/solr/search/SolrConstantScoreQuery.java b/solr/core/src/java/org/apache/solr/search/SolrConstantScoreQuery.java
index 0d37abb..82beecb 100644
--- a/solr/core/src/java/org/apache/solr/search/SolrConstantScoreQuery.java
+++ b/solr/core/src/java/org/apache/solr/search/SolrConstantScoreQuery.java
@@ -84,6 +84,7 @@ public class SolrConstantScoreQuery extends Query implements ExtendedQuery {
}
protected class ConstantWeight extends ConstantScoreWeight {
+ @SuppressWarnings({"rawtypes"})
private Map context;
private ScoreMode scoreMode;
diff --git a/solr/core/src/java/org/apache/solr/search/SolrCoreParser.java b/solr/core/src/java/org/apache/solr/search/SolrCoreParser.java
index def2919..23d3a93 100755
--- a/solr/core/src/java/org/apache/solr/search/SolrCoreParser.java
+++ b/solr/core/src/java/org/apache/solr/search/SolrCoreParser.java
@@ -52,6 +52,7 @@ public class SolrCoreParser extends CoreParser implements NamedListInitializedPl
}
@Override
+ @SuppressWarnings({"unchecked", "rawtypes"})
public void init(NamedList initArgs) {
if (initArgs == null || initArgs.size() == 0) {
return;
diff --git a/solr/core/src/java/org/apache/solr/search/SolrDocumentFetcher.java b/solr/core/src/java/org/apache/solr/search/SolrDocumentFetcher.java
index f1f02da..4f92aa1 100644
--- a/solr/core/src/java/org/apache/solr/search/SolrDocumentFetcher.java
+++ b/solr/core/src/java/org/apache/solr/search/SolrDocumentFetcher.java
@@ -108,6 +108,7 @@ public class SolrDocumentFetcher {
private Collection<String> storedHighlightFieldNames; // lazy populated; use getter
+ @SuppressWarnings({"unchecked"})
SolrDocumentFetcher(SolrIndexSearcher searcher, SolrConfig solrConfig, boolean cachingEnabled) {
this.searcher = searcher;
this.enableLazyFieldLoading = solrConfig.enableLazyFieldLoading;
diff --git a/solr/core/src/java/org/apache/solr/search/SolrFilter.java b/solr/core/src/java/org/apache/solr/search/SolrFilter.java
index f1bf505..0dc255a 100644
--- a/solr/core/src/java/org/apache/solr/search/SolrFilter.java
+++ b/solr/core/src/java/org/apache/solr/search/SolrFilter.java
@@ -34,9 +34,11 @@ public abstract class SolrFilter extends Filter {
/** Implementations should propagate createWeight to sub-ValueSources which can store weight info in the context.
* The context object will be passed to getDocIdSet() where this info can be retrieved. */
- public abstract void createWeight(Map context, IndexSearcher searcher) throws IOException;
+ public abstract void createWeight(@SuppressWarnings({"rawtypes"})Map context
+ , IndexSearcher searcher) throws IOException;
- public abstract DocIdSet getDocIdSet(Map context, LeafReaderContext readerContext, Bits acceptDocs) throws IOException;
+ public abstract DocIdSet getDocIdSet(@SuppressWarnings({"rawtypes"})Map context
+ , LeafReaderContext readerContext, Bits acceptDocs) throws IOException;
@Override
public DocIdSet getDocIdSet(LeafReaderContext context, Bits acceptDocs) throws IOException {
diff --git a/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java b/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
index 121ab5e..8a4fd33 100644
--- a/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
+++ b/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
@@ -98,7 +98,9 @@ public class SolrIndexSearcher extends IndexSearcher implements Closeable, SolrI
// These should *only* be used for debugging or monitoring purposes
public static final AtomicLong numOpens = new AtomicLong();
public static final AtomicLong numCloses = new AtomicLong();
+ @SuppressWarnings({"rawtypes"})
private static final Map<String,SolrCache> NO_GENERIC_CACHES = Collections.emptyMap();
+ @SuppressWarnings({"rawtypes"})
private static final SolrCache[] NO_CACHES = new SolrCache[0];
private final SolrCore core;
@@ -123,9 +125,11 @@ public class SolrIndexSearcher extends IndexSearcher implements Closeable, SolrI
private final SolrCache<String,UnInvertedField> fieldValueCache;
// map of generic caches - not synchronized since it's read-only after the constructor.
+ @SuppressWarnings({"rawtypes"})
private final Map<String,SolrCache> cacheMap;
// list of all caches associated with this searcher.
+ @SuppressWarnings({"rawtypes"})
private final SolrCache[] cacheList;
private DirectoryFactory directoryFactory;
@@ -230,6 +234,7 @@ public class SolrIndexSearcher extends IndexSearcher implements Closeable, SolrI
this.releaseDirectory = true;
}
+ @SuppressWarnings({"unchecked", "rawtypes"})
public SolrIndexSearcher(SolrCore core, String path, IndexSchema schema, String name, DirectoryReader r,
boolean closeReader, boolean enableCache, boolean reserveDirectory, DirectoryFactory directoryFactory)
throws IOException {
@@ -429,12 +434,12 @@ public class SolrIndexSearcher extends IndexSearcher implements Closeable, SolrI
// register self
infoRegistry.put(STATISTICS_KEY, this);
infoRegistry.put(name, this);
- for (SolrCache cache : cacheList) {
+ for (@SuppressWarnings({"rawtypes"})SolrCache cache : cacheList) {
cache.setState(SolrCache.State.LIVE);
infoRegistry.put(cache.name(), cache);
}
this.solrMetricsContext = core.getSolrMetricsContext().getChildContext(this);
- for (SolrCache cache : cacheList) {
+ for (@SuppressWarnings({"rawtypes"})SolrCache cache : cacheList) {
// XXX use the deprecated method for back-compat. remove in 9.0
cache.initializeMetrics(solrMetricsContext.metricManager,
solrMetricsContext.registry, solrMetricsContext.tag, SolrMetricManager.mkName(cache.name(), STATISTICS_KEY));
@@ -454,7 +459,7 @@ public class SolrIndexSearcher extends IndexSearcher implements Closeable, SolrI
if (cachingEnabled) {
final StringBuilder sb = new StringBuilder();
sb.append("Closing ").append(name);
- for (SolrCache cache : cacheList) {
+ for (@SuppressWarnings({"rawtypes"})SolrCache cache : cacheList) {
sb.append("\n\t");
sb.append(cache);
}
@@ -481,7 +486,7 @@ public class SolrIndexSearcher extends IndexSearcher implements Closeable, SolrI
core.getDeletionPolicy().releaseCommitPoint(cpg);
}
- for (SolrCache cache : cacheList) {
+ for (@SuppressWarnings({"rawtypes"})SolrCache cache : cacheList) {
try {
cache.close();
} catch (Exception e) {
@@ -521,7 +526,9 @@ public class SolrIndexSearcher extends IndexSearcher implements Closeable, SolrI
if (solrConfig.fieldValueCacheConfig != null && solrConfig.fieldValueCacheConfig.getRegenerator() == null) {
solrConfig.fieldValueCacheConfig.setRegenerator(new CacheRegenerator() {
@Override
- public boolean regenerateItem(SolrIndexSearcher newSearcher, SolrCache newCache, SolrCache oldCache,
+ public boolean regenerateItem(SolrIndexSearcher newSearcher,
+ @SuppressWarnings({"rawtypes"})SolrCache newCache,
+ @SuppressWarnings({"rawtypes"})SolrCache oldCache,
Object oldKey, Object oldVal) throws IOException {
if (oldVal instanceof UnInvertedField) {
UnInvertedField.getUnInvertedField((String) oldKey, newSearcher);
@@ -534,7 +541,9 @@ public class SolrIndexSearcher extends IndexSearcher implements Closeable, SolrI
if (solrConfig.filterCacheConfig != null && solrConfig.filterCacheConfig.getRegenerator() == null) {
solrConfig.filterCacheConfig.setRegenerator(new CacheRegenerator() {
@Override
- public boolean regenerateItem(SolrIndexSearcher newSearcher, SolrCache newCache, SolrCache oldCache,
+ public boolean regenerateItem(SolrIndexSearcher newSearcher
+ , @SuppressWarnings({"rawtypes"})SolrCache newCache
+ , @SuppressWarnings({"rawtypes"})SolrCache oldCache,
Object oldKey, Object oldVal) throws IOException {
newSearcher.cacheDocSet((Query) oldKey, null, false);
return true;
@@ -546,6 +555,7 @@ public class SolrIndexSearcher extends IndexSearcher implements Closeable, SolrI
final int queryResultWindowSize = solrConfig.queryResultWindowSize;
solrConfig.queryResultCacheConfig.setRegenerator(new CacheRegenerator() {
@Override
+ @SuppressWarnings({"rawtypes"})
public boolean regenerateItem(SolrIndexSearcher newSearcher, SolrCache newCache, SolrCache oldCache,
Object oldKey, Object oldVal) throws IOException {
QueryResultKey key = (QueryResultKey) oldKey;
@@ -1481,6 +1491,7 @@ public class SolrIndexSearcher extends IndexSearcher implements Closeable, SolrI
* @param cmd
* The Command whose properties should determine the type of TopDocsCollector to use.
*/
+ @SuppressWarnings({"rawtypes"})
private TopDocsCollector buildTopDocsCollector(int len, QueryCommand cmd) throws IOException {
int minNumFound = cmd.getMinExactCount();
Query q = cmd.getQuery();
@@ -1676,6 +1687,7 @@ public class SolrIndexSearcher extends IndexSearcher implements Closeable, SolrI
// no docs on this page, so cursor doesn't change
qr.setNextCursorMark(cmd.getCursorMark());
} else {
+ @SuppressWarnings({"rawtypes"})
final TopDocsCollector topCollector = buildTopDocsCollector(len, cmd);
DocSetCollector setCollector = new DocSetCollector(maxDoc);
MaxScoreCollector maxScoreCollector = null;
@@ -1996,6 +2008,7 @@ public class SolrIndexSearcher extends IndexSearcher implements Closeable, SolrI
// bit of a hack to tell if a set is sorted - do it better in the future.
boolean inOrder = set instanceof BitDocSet || set instanceof SortedIntDocSet;
+ @SuppressWarnings({"rawtypes"})
TopDocsCollector topCollector = buildTopDocsCollector(nDocs, cmd);
DocIterator iter = set.iterator();
@@ -2118,6 +2131,7 @@ public class SolrIndexSearcher extends IndexSearcher implements Closeable, SolrI
/**
* Warm this searcher based on an old one (primarily for auto-cache warming).
*/
+ @SuppressWarnings({"unchecked"})
public void warm(SolrIndexSearcher old) {
// Make sure this is first! filters can help queryResults execute!
long warmingStartTime = System.nanoTime();
@@ -2162,6 +2176,7 @@ public class SolrIndexSearcher extends IndexSearcher implements Closeable, SolrI
/**
* return the named generic cache
*/
+ @SuppressWarnings({"rawtypes"})
public SolrCache getCache(String cacheName) {
return cacheMap.get(cacheName);
}
@@ -2169,7 +2184,9 @@ public class SolrIndexSearcher extends IndexSearcher implements Closeable, SolrI
/**
* lookup an entry in a generic cache
*/
+ @SuppressWarnings({"unchecked"})
public Object cacheLookup(String cacheName, Object key) {
+ @SuppressWarnings({"rawtypes"})
SolrCache cache = cacheMap.get(cacheName);
return cache == null ? null : cache.get(key);
}
@@ -2177,7 +2194,9 @@ public class SolrIndexSearcher extends IndexSearcher implements Closeable, SolrI
/**
* insert an entry in a generic cache
*/
+ @SuppressWarnings({"unchecked"})
public Object cacheInsert(String cacheName, Object key, Object val) {
+ @SuppressWarnings({"rawtypes"})
SolrCache cache = cacheMap.get(cacheName);
return cache == null ? null : cache.put(key, val);
}
diff --git a/solr/core/src/java/org/apache/solr/search/TextLogisticRegressionQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/TextLogisticRegressionQParserPlugin.java
index 5d3bb46..0fd0f6a 100644
--- a/solr/core/src/java/org/apache/solr/search/TextLogisticRegressionQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/TextLogisticRegressionQParserPlugin.java
@@ -53,7 +53,7 @@ public class TextLogisticRegressionQParserPlugin extends QParserPlugin {
public static final String NAME = "tlogit";
@Override
- public void init(NamedList args) {
+ public void init(@SuppressWarnings({"rawtypes"})NamedList args) {
}
@Override
@@ -165,6 +165,7 @@ public class TextLogisticRegressionQParserPlugin extends QParserPlugin {
}
+ @SuppressWarnings({"unchecked"})
public void finish() throws IOException {
Map<Integer, double[]> docVectors = new HashMap<>();
@@ -211,6 +212,7 @@ public class TextLogisticRegressionQParserPlugin extends QParserPlugin {
}
}
+ @SuppressWarnings({"rawtypes"})
NamedList analytics = new NamedList();
rbsp.rsp.add("logit", analytics);
diff --git a/solr/core/src/java/org/apache/solr/search/ValueSourceParser.java b/solr/core/src/java/org/apache/solr/search/ValueSourceParser.java
index d054bc8..d952235 100644
--- a/solr/core/src/java/org/apache/solr/search/ValueSourceParser.java
+++ b/solr/core/src/java/org/apache/solr/search/ValueSourceParser.java
@@ -98,7 +98,7 @@ public abstract class ValueSourceParser implements NamedListInitializedPlugin {
* Initialize the plugin.
*/
@Override
- public void init(NamedList args) {}
+ public void init(@SuppressWarnings({"rawtypes"})NamedList args) {}
/**
* Parse the user input into a ValueSource.
@@ -1189,7 +1189,7 @@ public abstract class ValueSourceParser implements NamedListInitializedPlugin {
class DateValueSourceParser extends ValueSourceParser {
@Override
- public void init(NamedList args) {
+ public void init(@SuppressWarnings({"rawtypes"})NamedList args) {
}
public Date getDate(FunctionQParser fp, String arg) {
@@ -1308,7 +1308,8 @@ class LongConstValueSource extends ConstNumberSource {
}
@Override
- public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
+ public FunctionValues getValues(@SuppressWarnings({"rawtypes"})Map context
+ , LeafReaderContext readerContext) throws IOException {
return new LongDocValues(this) {
@Override
public float floatVal(int doc) {
@@ -1415,7 +1416,7 @@ abstract class DoubleParser extends NamedParser {
}
@Override
- public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
+ public FunctionValues getValues(@SuppressWarnings({"rawtypes"})Map context, LeafReaderContext readerContext) throws IOException {
final FunctionValues vals = source.getValues(context, readerContext);
return new DoubleDocValues(this) {
@Override
@@ -1463,7 +1464,7 @@ abstract class Double2Parser extends NamedParser {
}
@Override
- public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
+ public FunctionValues getValues(@SuppressWarnings({"rawtypes"})Map context, LeafReaderContext readerContext) throws IOException {
final FunctionValues aVals = a.getValues(context, readerContext);
final FunctionValues bVals = b.getValues(context, readerContext);
return new DoubleDocValues(this) {
@@ -1479,7 +1480,7 @@ abstract class Double2Parser extends NamedParser {
}
@Override
- public void createWeight(Map context, IndexSearcher searcher) throws IOException {
+ public void createWeight(@SuppressWarnings({"rawtypes"})Map context, IndexSearcher searcher) throws IOException {
}
@Override
@@ -1517,7 +1518,8 @@ class BoolConstValueSource extends ConstNumberSource {
}
@Override
- public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
+ public FunctionValues getValues(@SuppressWarnings({"rawtypes"})Map context,
+ LeafReaderContext readerContext) throws IOException {
return new BoolDocValues(this) {
@Override
public boolean boolVal(int doc) {
@@ -1572,13 +1574,14 @@ class BoolConstValueSource extends ConstNumberSource {
class TestValueSource extends ValueSource {
ValueSource source;
-
+
public TestValueSource(ValueSource source) {
this.source = source;
}
-
+
@Override
- public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
+ public FunctionValues getValues(@SuppressWarnings({"rawtypes"})Map context
+ , LeafReaderContext readerContext) throws IOException {
if (context.get(this) == null) {
SolrRequestInfo requestInfo = SolrRequestInfo.getRequestInfo();
throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, "testfunc: unweighted value source detected. delegate="+source + " request=" + (requestInfo==null ? "null" : requestInfo.getReq()));
@@ -1602,7 +1605,8 @@ class TestValueSource extends ValueSource {
}
@Override
- public void createWeight(Map context, IndexSearcher searcher) throws IOException {
+ @SuppressWarnings({"unchecked"})
+ public void createWeight(@SuppressWarnings({"rawtypes"})Map context, IndexSearcher searcher) throws IOException {
context.put(this, this);
}
diff --git a/solr/core/src/java/org/apache/solr/search/XmlQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/XmlQParserPlugin.java
index 26ee523..a09f621 100755
--- a/solr/core/src/java/org/apache/solr/search/XmlQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/XmlQParserPlugin.java
@@ -66,10 +66,11 @@ import org.apache.solr.schema.IndexSchema;
public class XmlQParserPlugin extends QParserPlugin {
public static final String NAME = "xmlparser";
+ @SuppressWarnings({"rawtypes"})
private NamedList args;
@Override
- public void init( NamedList args ) {
+ public void init( @SuppressWarnings({"rawtypes"})NamedList args ) {
super.init(args);
this.args = args;
}
diff --git a/solr/core/src/java/org/apache/solr/search/grouping/CommandHandler.java b/solr/core/src/java/org/apache/solr/search/grouping/CommandHandler.java
index e7fdfd3..534c26e 100644
--- a/solr/core/src/java/org/apache/solr/search/grouping/CommandHandler.java
+++ b/solr/core/src/java/org/apache/solr/search/grouping/CommandHandler.java
@@ -59,6 +59,7 @@ public class CommandHandler {
public static class Builder {
private QueryCommand queryCommand;
+ @SuppressWarnings({"rawtypes"})
private List<Command> commands = new ArrayList<>();
private SolrIndexSearcher searcher;
private boolean needDocSet = false;
@@ -71,7 +72,7 @@ public class CommandHandler {
return this;
}
- public Builder addCommandField(Command commandField) {
+ public Builder addCommandField(@SuppressWarnings({"rawtypes"})Command commandField) {
commands.add(commandField);
return this;
}
@@ -116,6 +117,7 @@ public class CommandHandler {
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
private final QueryCommand queryCommand;
+ @SuppressWarnings({"rawtypes"})
private final List<Command> commands;
private final SolrIndexSearcher searcher;
private final boolean needDocset;
@@ -127,7 +129,7 @@ public class CommandHandler {
private DocSet docSet;
private CommandHandler(QueryCommand queryCommand,
- List<Command> commands,
+ @SuppressWarnings({"rawtypes"})List<Command> commands,
SolrIndexSearcher searcher,
boolean needDocset,
boolean truncateGroups,
@@ -144,7 +146,7 @@ public class CommandHandler {
public void execute() throws IOException {
final int nrOfCommands = commands.size();
List<Collector> collectors = new ArrayList<>(nrOfCommands);
- for (Command command : commands) {
+ for (@SuppressWarnings({"rawtypes"})Command command : commands) {
collectors.addAll(command.create());
}
@@ -162,17 +164,19 @@ public class CommandHandler {
searchWithTimeLimiter(query, filter, null);
}
- for (Command command : commands) {
+ for (@SuppressWarnings({"rawtypes"})Command command : commands) {
command.postCollect(searcher);
}
}
private DocSet computeGroupedDocSet(Query query, ProcessedFilter filter, List<Collector> collectors) throws IOException {
+ @SuppressWarnings({"rawtypes"})
Command firstCommand = commands.get(0);
String field = firstCommand.getKey();
SchemaField sf = searcher.getSchema().getField(field);
FieldType fieldType = sf.getType();
+ @SuppressWarnings({"rawtypes"})
final AllGroupHeadsCollector allGroupHeadsCollector;
if (fieldType.getNumberType() != null) {
ValueSource vs = fieldType.getValueSource(sf, null);
@@ -201,7 +205,7 @@ public class CommandHandler {
return DocSetUtil.getDocSet( docSetCollector, searcher );
}
- @SuppressWarnings("unchecked")
+ @SuppressWarnings({"unchecked", "rawtypes"})
public NamedList processResult(QueryResult queryResult, ShardResultTransformer transformer) throws IOException {
if (docSet != null) {
queryResult.setDocSet(docSet);
diff --git a/solr/core/src/java/org/apache/solr/search/grouping/distributed/command/GroupConverter.java b/solr/core/src/java/org/apache/solr/search/grouping/distributed/command/GroupConverter.java
index 3d27798..f02a42d 100644
--- a/solr/core/src/java/org/apache/solr/search/grouping/distributed/command/GroupConverter.java
+++ b/solr/core/src/java/org/apache/solr/search/grouping/distributed/command/GroupConverter.java
@@ -133,16 +133,16 @@ class GroupConverter {
return result;
}
+ @SuppressWarnings({"unchecked", "rawtypes"})
static TopGroups<BytesRef> fromMutable(SchemaField field, TopGroups<MutableValue> values) {
if (values == null) {
return null;
}
FieldType fieldType = field.getType();
-
- @SuppressWarnings("unchecked")
+
GroupDocs<BytesRef> groupDocs[] = new GroupDocs[values.groups.length];
-
+
for (int i = 0; i < values.groups.length; i++) {
GroupDocs<MutableValue> original = values.groups[i];
final BytesRef groupValue;
diff --git a/solr/core/src/java/org/apache/solr/search/grouping/distributed/command/QueryCommand.java b/solr/core/src/java/org/apache/solr/search/grouping/distributed/command/QueryCommand.java
index 06b49f6..7c7362b 100644
--- a/solr/core/src/java/org/apache/solr/search/grouping/distributed/command/QueryCommand.java
+++ b/solr/core/src/java/org/apache/solr/search/grouping/distributed/command/QueryCommand.java
@@ -138,6 +138,7 @@ public class QueryCommand implements Command<QueryCommandResult> {
private final String queryString;
private final Query mainQuery;
+ @SuppressWarnings({"rawtypes"})
private TopDocsCollector topDocsCollector;
private FilterCollector filterCollector;
private MaxScoreCollector maxScoreCollector;
diff --git a/solr/core/src/java/org/apache/solr/search/grouping/distributed/command/SearchGroupsFieldCommand.java b/solr/core/src/java/org/apache/solr/search/grouping/distributed/command/SearchGroupsFieldCommand.java
index 425a987..1dad199 100644
--- a/solr/core/src/java/org/apache/solr/search/grouping/distributed/command/SearchGroupsFieldCommand.java
+++ b/solr/core/src/java/org/apache/solr/search/grouping/distributed/command/SearchGroupsFieldCommand.java
@@ -83,7 +83,9 @@ public class SearchGroupsFieldCommand implements Command<SearchGroupsFieldComman
private final int topNGroups;
private final boolean includeGroupCount;
+ @SuppressWarnings({"rawtypes"})
private FirstPassGroupingCollector firstPassGroupingCollector;
+ @SuppressWarnings({"rawtypes"})
private AllGroupsCollector allGroupsCollector;
private SearchGroupsFieldCommand(SchemaField field, Sort groupSort, int topNGroups, boolean includeGroupCount) {
@@ -121,6 +123,7 @@ public class SearchGroupsFieldCommand implements Command<SearchGroupsFieldComman
}
@Override
+ @SuppressWarnings({"unchecked"})
public SearchGroupsFieldCommandResult result() throws IOException {
final Collection<SearchGroup<BytesRef>> topGroups;
if (firstPassGroupingCollector != null) {
diff --git a/solr/core/src/java/org/apache/solr/search/grouping/distributed/command/TopGroupsFieldCommand.java b/solr/core/src/java/org/apache/solr/search/grouping/distributed/command/TopGroupsFieldCommand.java
index b618286..c13a3b6 100644
--- a/solr/core/src/java/org/apache/solr/search/grouping/distributed/command/TopGroupsFieldCommand.java
+++ b/solr/core/src/java/org/apache/solr/search/grouping/distributed/command/TopGroupsFieldCommand.java
@@ -116,6 +116,7 @@ public class TopGroupsFieldCommand implements Command<TopGroups<BytesRef>> {
private final int maxDocPerGroup;
private final boolean needScores;
private final boolean needMaxScore;
+ @SuppressWarnings({"rawtypes"})
private TopGroupsCollector secondPassCollector;
private TopGroups<BytesRef> topGroups;
@@ -161,6 +162,7 @@ public class TopGroupsFieldCommand implements Command<TopGroups<BytesRef>> {
}
@Override
+ @SuppressWarnings({"unchecked", "rawtypes"})
public void postCollect(IndexSearcher searcher) throws IOException {
if (firstPhaseGroups.isEmpty()) {
topGroups = new TopGroups<>(groupSort.getSort(), withinGroupSort.getSort(), 0, 0, new GroupDocs[0], Float.NaN);
diff --git a/solr/core/src/java/org/apache/solr/search/grouping/distributed/responseprocessor/SearchGroupShardResponseProcessor.java b/solr/core/src/java/org/apache/solr/search/grouping/distributed/responseprocessor/SearchGroupShardResponseProcessor.java
index 016da1d..c3ced66 100644
--- a/solr/core/src/java/org/apache/solr/search/grouping/distributed/responseprocessor/SearchGroupShardResponseProcessor.java
+++ b/solr/core/src/java/org/apache/solr/search/grouping/distributed/responseprocessor/SearchGroupShardResponseProcessor.java
@@ -48,6 +48,7 @@ import org.apache.solr.search.grouping.distributed.shardresultserializer.SearchG
public class SearchGroupShardResponseProcessor implements ShardResponseProcessor {
@Override
+ @SuppressWarnings({"unchecked"})
public void process(ResponseBuilder rb, ShardRequest shardRequest) {
SortSpec groupSortSpec = rb.getGroupingSpec().getGroupSortSpec();
Sort groupSort = rb.getGroupingSpec().getGroupSortSpec().getSort();
@@ -104,7 +105,7 @@ public class SearchGroupShardResponseProcessor implements ShardResponseProcessor
continue; // continue if there was an error and we're tolerant.
}
maxElapsedTime = (int) Math.max(maxElapsedTime, srsp.getSolrResponse().getElapsedTime());
- @SuppressWarnings("unchecked")
+ @SuppressWarnings({"rawtypes"})
NamedList<NamedList> firstPhaseResult = (NamedList<NamedList>) srsp.getSolrResponse().getResponse().get("firstPhase");
final Map<String, SearchGroupsFieldCommandResult> result = serializer.transformToNative(firstPhaseResult, groupSort, withinGroupSort, srsp.getShard());
for (Map.Entry<String, List<Collection<SearchGroup<BytesRef>>>> entry : commandSearchGroups.entrySet()) {
diff --git a/solr/core/src/java/org/apache/solr/search/grouping/distributed/responseprocessor/TopGroupsShardResponseProcessor.java b/solr/core/src/java/org/apache/solr/search/grouping/distributed/responseprocessor/TopGroupsShardResponseProcessor.java
index 5a0cd62..7f67fee 100644
--- a/solr/core/src/java/org/apache/solr/search/grouping/distributed/responseprocessor/TopGroupsShardResponseProcessor.java
+++ b/solr/core/src/java/org/apache/solr/search/grouping/distributed/responseprocessor/TopGroupsShardResponseProcessor.java
@@ -119,6 +119,7 @@ public class TopGroupsShardResponseProcessor implements ShardResponseProcessor {
rb.rsp.getResponseHeader().asShallowMap().put(SolrQueryResponse.RESPONSE_HEADER_PARTIAL_RESULTS_KEY, Boolean.TRUE);
continue; // continue if there was an error and we're tolerant.
}
+ @SuppressWarnings({"rawtypes"})
NamedList<NamedList> secondPhaseResult = (NamedList<NamedList>) srsp.getSolrResponse().getResponse().get("secondPhase");
if(secondPhaseResult == null)
continue;
@@ -156,11 +157,12 @@ public class TopGroupsShardResponseProcessor implements ShardResponseProcessor {
continue;
}
+ @SuppressWarnings({"rawtypes"})
TopGroups<BytesRef>[] topGroupsArr = new TopGroups[topGroups.size()];
int docsPerGroup = docsPerGroupDefault;
if (docsPerGroup < 0) {
docsPerGroup = 0;
- for (TopGroups subTopGroups : topGroups) {
+ for (@SuppressWarnings({"rawtypes"})TopGroups subTopGroups : topGroups) {
docsPerGroup += subTopGroups.totalGroupedHitCount;
}
}
diff --git a/solr/core/src/java/org/apache/solr/search/grouping/distributed/shardresultserializer/SearchGroupsResultTransformer.java b/solr/core/src/java/org/apache/solr/search/grouping/distributed/shardresultserializer/SearchGroupsResultTransformer.java
index 425ca5b..0ecc3c4 100644
--- a/solr/core/src/java/org/apache/solr/search/grouping/distributed/shardresultserializer/SearchGroupsResultTransformer.java
+++ b/solr/core/src/java/org/apache/solr/search/grouping/distributed/shardresultserializer/SearchGroupsResultTransformer.java
@@ -35,6 +35,7 @@ import java.util.*;
/**
* Implementation for transforming {@link SearchGroup} into a {@link NamedList} structure and visa versa.
*/
+@SuppressWarnings({"rawtypes"})
public class SearchGroupsResultTransformer implements ShardResultTransformer<List<Command>, Map<String, SearchGroupsFieldCommandResult>> {
private static final String TOP_GROUPS = "topGroups";
@@ -47,6 +48,7 @@ public class SearchGroupsResultTransformer implements ShardResultTransformer<Lis
}
@Override
+ @SuppressWarnings({"rawtypes"})
public NamedList transform(List<Command> data) throws IOException {
final NamedList<NamedList> result = new NamedList<>(data.size());
for (Command command : data) {
@@ -71,6 +73,7 @@ public class SearchGroupsResultTransformer implements ShardResultTransformer<Lis
return result;
}
+ @SuppressWarnings({"rawtypes"})
private SearchGroup<BytesRef> deserializeOneSearchGroup(SchemaField groupField, String groupValue,
SortField[] groupSortField, List<Comparable> rawSearchGroupData) {
SearchGroup<BytesRef> searchGroup = new SearchGroup<>();
@@ -93,12 +96,13 @@ public class SearchGroupsResultTransformer implements ShardResultTransformer<Lis
}
@Override
+ @SuppressWarnings({"rawtypes"})
public Map<String, SearchGroupsFieldCommandResult> transformToNative(NamedList<NamedList> shardResponse, Sort groupSort, Sort withinGroupSort, String shard) {
final Map<String, SearchGroupsFieldCommandResult> result = new HashMap<>(shardResponse.size());
for (Map.Entry<String, NamedList> command : shardResponse) {
List<SearchGroup<BytesRef>> searchGroups = new ArrayList<>();
NamedList topGroupsAndGroupCount = command.getValue();
- @SuppressWarnings("unchecked")
+ @SuppressWarnings({"unchecked"})
final NamedList<List<Comparable>> rawSearchGroups = (NamedList<List<Comparable>>) topGroupsAndGroupCount.get(TOP_GROUPS);
if (rawSearchGroups != null) {
final SchemaField groupField = searcher.getSchema().getFieldOrNull(command.getKey());
@@ -128,6 +132,7 @@ public class SearchGroupsResultTransformer implements ShardResultTransformer<Lis
return convertedSortValues;
}
+ @SuppressWarnings({"rawtypes"})
private NamedList serializeSearchGroup(Collection<SearchGroup<BytesRef>> data, SearchGroupsFieldCommand command) {
final NamedList<Object[]> result = new NamedList<>(data.size());
diff --git a/solr/core/src/java/org/apache/solr/search/grouping/distributed/shardresultserializer/ShardResultTransformer.java b/solr/core/src/java/org/apache/solr/search/grouping/distributed/shardresultserializer/ShardResultTransformer.java
index 47e20a0..e604b1f 100644
--- a/solr/core/src/java/org/apache/solr/search/grouping/distributed/shardresultserializer/ShardResultTransformer.java
+++ b/solr/core/src/java/org/apache/solr/search/grouping/distributed/shardresultserializer/ShardResultTransformer.java
@@ -37,6 +37,7 @@ public interface ShardResultTransformer<T, R> {
* @return {@link NamedList} structure
* @throws IOException If I/O related errors occur during transforming
*/
+ @SuppressWarnings({"rawtypes"})
NamedList transform(T data) throws IOException;
/**
@@ -48,6 +49,7 @@ public interface ShardResultTransformer<T, R> {
* @param shard The shard address where the response originated from
* @return native structure of the data
*/
+ @SuppressWarnings({"rawtypes"})
R transformToNative(NamedList<NamedList> shardResponse, Sort groupSort, Sort withinGroupSort, String shard);
}
diff --git a/solr/core/src/java/org/apache/solr/search/grouping/distributed/shardresultserializer/TopGroupsResultTransformer.java b/solr/core/src/java/org/apache/solr/search/grouping/distributed/shardresultserializer/TopGroupsResultTransformer.java
index fb5bd32..047c31e 100644
--- a/solr/core/src/java/org/apache/solr/search/grouping/distributed/shardresultserializer/TopGroupsResultTransformer.java
+++ b/solr/core/src/java/org/apache/solr/search/grouping/distributed/shardresultserializer/TopGroupsResultTransformer.java
@@ -54,6 +54,7 @@ import static org.apache.solr.common.params.CommonParams.ID;
* Implementation for transforming {@link TopGroups} and {@link TopDocs} into a {@link NamedList} structure and
* vice versa.
*/
+@SuppressWarnings({"rawtypes"})
public class TopGroupsResultTransformer implements ShardResultTransformer<List<Command>, Map<String, ?>> {
private final ResponseBuilder rb;
@@ -138,7 +139,7 @@ public class TopGroupsResultTransformer implements ShardResultTransformer<List<C
groupDocs.add(new GroupDocs<>(Float.NaN, maxScore, new TotalHits(totalGroupHits.longValue(), TotalHits.Relation.EQUAL_TO), scoreDocs, groupValueRef, null));
}
- @SuppressWarnings("unchecked")
+ @SuppressWarnings({"unchecked"})
GroupDocs<BytesRef>[] groupDocsArr = groupDocs.toArray(new GroupDocs[groupDocs.size()]);
TopGroups<BytesRef> topGroups = new TopGroups<>(
groupSort.getSort(), withinGroupSort.getSort(), totalHitCount, totalGroupedHitCount, groupDocsArr, Float.NaN
diff --git a/solr/core/src/java/org/apache/solr/search/grouping/endresulttransformer/GroupedEndResultTransformer.java b/solr/core/src/java/org/apache/solr/search/grouping/endresulttransformer/GroupedEndResultTransformer.java
index 3ba3470..1b4058c 100644
--- a/solr/core/src/java/org/apache/solr/search/grouping/endresulttransformer/GroupedEndResultTransformer.java
+++ b/solr/core/src/java/org/apache/solr/search/grouping/endresulttransformer/GroupedEndResultTransformer.java
@@ -68,6 +68,7 @@ public class GroupedEndResultTransformer implements EndResultTransformer {
command.add("ngroups", totalGroupCount);
}
+ @SuppressWarnings({"rawtypes"})
List<NamedList> groups = new ArrayList<>();
SchemaField groupField = searcher.getSchema().getField(entry.getKey());
FieldType groupFieldType = groupField.getType();
diff --git a/solr/core/src/java/org/apache/solr/search/join/XCJFQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/join/XCJFQParserPlugin.java
index d832391..a7300e6 100644
--- a/solr/core/src/java/org/apache/solr/search/join/XCJFQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/join/XCJFQParserPlugin.java
@@ -45,11 +45,11 @@ public class XCJFQParserPlugin extends QParserPlugin {
}
@Override
- public void init(NamedList args) {
+ @SuppressWarnings({"unchecked"})
+ public void init(@SuppressWarnings({"rawtypes"})NamedList args) {
routerField = (String) args.get("routerField");
solrUrlWhitelist = new HashSet<>();
if (args.get("solrUrl") != null) {
- //noinspection unchecked
for (String s : (List<String>) args.get("solrUrl")) {
if (!StringUtils.isEmpty(s))
solrUrlWhitelist.add(s);
diff --git a/solr/core/src/java/org/apache/solr/search/mlt/CloudMLTQParser.java b/solr/core/src/java/org/apache/solr/search/mlt/CloudMLTQParser.java
index 7669db8..bfbe408 100644
--- a/solr/core/src/java/org/apache/solr/search/mlt/CloudMLTQParser.java
+++ b/solr/core/src/java/org/apache/solr/search/mlt/CloudMLTQParser.java
@@ -91,6 +91,7 @@ public class CloudMLTQParser extends QParser {
String[] fieldNames;
if (qf != null) {
+ @SuppressWarnings({"unchecked", "rawtypes"})
ArrayList<String> fields = new ArrayList();
for (String fieldName : qf) {
if (!StringUtils.isEmpty(fieldName)) {
@@ -106,6 +107,7 @@ public class CloudMLTQParser extends QParser {
boostFields = SolrPluginUtils.parseFieldBoosts(fields.toArray(new String[0]));
fieldNames = boostFields.keySet().toArray(new String[0]);
} else {
+ @SuppressWarnings({"unchecked", "rawtypes"})
ArrayList<String> fields = new ArrayList();
for (String field : doc.getFieldNames()) {
// Only use fields that are stored and have an explicit analyzer.
@@ -128,6 +130,7 @@ public class CloudMLTQParser extends QParser {
for (String field : fieldNames) {
Collection<Object> fieldValues = doc.getFieldValues(field);
if (fieldValues != null) {
+ @SuppressWarnings({"unchecked", "rawtypes"})
Collection<Object> values = new ArrayList();
for (Object val : fieldValues) {
if (val instanceof IndexableField) {
@@ -188,6 +191,7 @@ public class CloudMLTQParser extends QParser {
};
core.getRequestHandler("/get").handleRequest(request, rsp);
+ @SuppressWarnings({"rawtypes"})
NamedList response = rsp.getValues();
return (SolrDocument) response.get("doc");
diff --git a/solr/core/src/java/org/apache/solr/search/mlt/SimpleMLTQParser.java b/solr/core/src/java/org/apache/solr/search/mlt/SimpleMLTQParser.java
index c57fb00..04648e0 100644
--- a/solr/core/src/java/org/apache/solr/search/mlt/SimpleMLTQParser.java
+++ b/solr/core/src/java/org/apache/solr/search/mlt/SimpleMLTQParser.java
@@ -99,6 +99,7 @@ public class SimpleMLTQParser extends QParser {
fieldNames = boostFields.keySet().toArray(new String[0]);
} else {
Map<String, SchemaField> fieldDefinitions = req.getSearcher().getSchema().getFields();
+ @SuppressWarnings({"unchecked", "rawtypes"})
ArrayList<String> fields = new ArrayList();
for (Map.Entry<String, SchemaField> entry : fieldDefinitions.entrySet()) {
if (entry.getValue().indexed() && entry.getValue().stored())
diff --git a/solr/core/src/java/org/apache/solr/search/stats/ExactStatsCache.java b/solr/core/src/java/org/apache/solr/search/stats/ExactStatsCache.java
index 63690c3..e0ffee2 100644
--- a/solr/core/src/java/org/apache/solr/search/stats/ExactStatsCache.java
+++ b/solr/core/src/java/org/apache/solr/search/stats/ExactStatsCache.java
@@ -70,7 +70,9 @@ public class ExactStatsCache extends StatsCache {
@Override
protected StatsSource doGet(SolrQueryRequest req) {
+ @SuppressWarnings({"unchecked"})
Map<String,CollectionStats> currentGlobalColStats = (Map<String,CollectionStats>) req.getContext().getOrDefault(CURRENT_GLOBAL_COL_STATS, Collections.emptyMap());
+ @SuppressWarnings({"unchecked"})
Map<String,TermStats> currentGlobalTermStats = (Map<String,TermStats>) req.getContext().getOrDefault(CURRENT_GLOBAL_TERM_STATS, Collections.emptyMap());
if (log.isDebugEnabled()) {
log.debug("Returning StatsSource. Collection stats={}, Term stats size= {}", currentGlobalColStats, currentGlobalTermStats.size());
@@ -127,12 +129,15 @@ public class ExactStatsCache extends StatsCache {
}
protected void addToPerShardColStats(SolrQueryRequest req, String shard, Map<String,CollectionStats> colStats) {
+ @SuppressWarnings({"unchecked"})
Map<String,Map<String,CollectionStats>> perShardColStats = (Map<String,Map<String,CollectionStats>>) req.getContext().computeIfAbsent(PER_SHARD_COL_STATS, Utils.NEW_HASHMAP_FUN);
perShardColStats.put(shard, colStats);
}
protected void printStats(SolrQueryRequest req) {
+ @SuppressWarnings({"unchecked"})
Map<String,Map<String,TermStats>> perShardTermStats = (Map<String,Map<String,TermStats>>) req.getContext().getOrDefault(PER_SHARD_TERM_STATS, Collections.emptyMap());
+ @SuppressWarnings({"unchecked"})
Map<String,Map<String,CollectionStats>> perShardColStats = (Map<String,Map<String,CollectionStats>>) req.getContext().getOrDefault(PER_SHARD_COL_STATS, Collections.emptyMap());
log.debug("perShardColStats={}, perShardTermStats={}", perShardColStats, perShardTermStats);
}
@@ -140,6 +145,7 @@ public class ExactStatsCache extends StatsCache {
protected void addToPerShardTermStats(SolrQueryRequest req, String shard, String termStatsString) {
Map<String,TermStats> termStats = StatsUtil.termStatsMapFromString(termStatsString);
if (termStats != null) {
+ @SuppressWarnings({"unchecked"})
Map<String,Map<String,TermStats>> perShardTermStats = (Map<String,Map<String,TermStats>>) req.getContext().computeIfAbsent(PER_SHARD_TERM_STATS, Utils.NEW_HASHMAP_FUN);
perShardTermStats.put(shard, termStats);
}
@@ -275,11 +281,13 @@ public class ExactStatsCache extends StatsCache {
}
protected Map<String,CollectionStats> getPerShardColStats(ResponseBuilder rb, String shard) {
+ @SuppressWarnings({"unchecked"})
Map<String,Map<String,CollectionStats>> perShardColStats = (Map<String,Map<String,CollectionStats>>) rb.req.getContext().getOrDefault(PER_SHARD_COL_STATS, Collections.emptyMap());
return perShardColStats.get(shard);
}
protected TermStats getPerShardTermStats(SolrQueryRequest req, String t, String shard) {
+ @SuppressWarnings({"unchecked"})
Map<String,Map<String,TermStats>> perShardTermStats = (Map<String,Map<String,TermStats>>) req.getContext().getOrDefault(PER_SHARD_TERM_STATS, Collections.emptyMap());
Map<String,TermStats> cache = perShardTermStats.get(shard);
return (cache != null) ? cache.get(t) : null; //Term doesn't exist in shard
@@ -309,11 +317,13 @@ public class ExactStatsCache extends StatsCache {
protected void addToGlobalColStats(SolrQueryRequest req,
Entry<String,CollectionStats> e) {
+ @SuppressWarnings({"unchecked"})
Map<String,CollectionStats> currentGlobalColStats = (Map<String,CollectionStats>) req.getContext().computeIfAbsent(CURRENT_GLOBAL_COL_STATS, Utils.NEW_HASHMAP_FUN);
currentGlobalColStats.put(e.getKey(), e.getValue());
}
protected void addToGlobalTermStats(SolrQueryRequest req, Entry<String,TermStats> e) {
+ @SuppressWarnings({"unchecked"})
Map<String,TermStats> currentGlobalTermStats = (Map<String,TermStats>) req.getContext().computeIfAbsent(CURRENT_GLOBAL_TERM_STATS, Utils.NEW_HASHMAP_FUN);
currentGlobalTermStats.put(e.getKey(), e.getValue());
}
diff --git a/solr/core/src/java/org/apache/solr/search/stats/LRUStatsCache.java b/solr/core/src/java/org/apache/solr/search/stats/LRUStatsCache.java
index a925b3b..e02eb19 100644
--- a/solr/core/src/java/org/apache/solr/search/stats/LRUStatsCache.java
+++ b/solr/core/src/java/org/apache/solr/search/stats/LRUStatsCache.java
@@ -185,7 +185,9 @@ public class LRUStatsCache extends ExactStatsCache {
protected void addToPerShardTermStats(SolrQueryRequest req, String shard, String termStatsString) {
Map<String,TermStats> termStats = StatsUtil.termStatsMapFromString(termStatsString);
if (termStats != null) {
+ @SuppressWarnings({"unchecked"})
SolrCache<String,TermStats> cache = perShardTermStats.computeIfAbsent(shard, s -> {
+ @SuppressWarnings({"rawtypes"})
FastLRUCache c = new FastLRUCache<>();
Map<String, String> map = new HashMap<>(lruCacheInitArgs);
map.put(CommonParams.NAME, s);