From cd90c9a911f3a1e2788d5396f43d6a07dc1895fe Mon Sep 17 00:00:00 2001 From: "Chris M. Hostetter" Date: Sat, 8 Jan 2011 00:59:11 +0000 Subject: [PATCH] SOLR-2288: more small tweaks to eliminate compiler warnings git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1056578 13f79535-47bb-0310-9956-ffa450edef68 --- .../solr/common/util/ConcurrentLRUCache.java | 32 +++++++++++-------- .../solr/common/util/SimpleOrderedMap.java | 4 +-- .../handler/component/TermsComponent.java | 4 +-- .../client/solrj/response/FieldStatsInfo.java | 2 ++ .../client/solrj/response/QueryResponse.java | 12 +++---- .../solrj/response/SpellCheckResponse.java | 26 +++++++++------ .../client/solrj/response/TermsResponse.java | 6 ++-- 7 files changed, 50 insertions(+), 36 deletions(-) diff --git a/solr/src/common/org/apache/solr/common/util/ConcurrentLRUCache.java b/solr/src/common/org/apache/solr/common/util/ConcurrentLRUCache.java index ed352f2e186..a3ca8be6264 100644 --- a/solr/src/common/org/apache/solr/common/util/ConcurrentLRUCache.java +++ b/solr/src/common/org/apache/solr/common/util/ConcurrentLRUCache.java @@ -20,6 +20,8 @@ import org.apache.lucene.util.PriorityQueue; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.Arrays; +import java.util.Collections; import java.util.LinkedHashMap; import java.util.Map; import java.util.TreeSet; @@ -182,6 +184,7 @@ public class ConcurrentLRUCache { int wantToKeep = lowerWaterMark; int wantToRemove = sz - lowerWaterMark; + @SuppressWarnings("unchecked") // generic array's are anoying CacheEntry[] eset = new CacheEntry[sz]; int eSize = 0; @@ -280,7 +283,7 @@ public class ConcurrentLRUCache { wantToKeep = lowerWaterMark - numKept; wantToRemove = sz - lowerWaterMark - numRemoved; - PQueue queue = new PQueue(wantToRemove); + PQueue queue = new PQueue(wantToRemove); for (int i=eSize-1; i>=0; i--) { CacheEntry ce = eset[i]; @@ -331,9 +334,8 @@ public class ConcurrentLRUCache { // Now delete everything in the priority queue. // avoid using pop() since order doesn't matter anymore - for (Object o : queue.getValues()) { - if (o==null) continue; - CacheEntry ce = (CacheEntry)o; + for (CacheEntry ce : queue.getValues()) { + if (ce==null) continue; evictEntry(ce.key); numRemoved++; } @@ -349,27 +351,29 @@ public class ConcurrentLRUCache { } } - private static class PQueue extends PriorityQueue { + private static class PQueue extends PriorityQueue> { int myMaxSize; PQueue(int maxSz) { super.initialize(maxSz); myMaxSize = maxSz; } - Object[] getValues() { return heap; } + Iterable> getValues() { + return Collections.unmodifiableCollection(Arrays.asList(heap)); + } - protected boolean lessThan(Object a, Object b) { + protected boolean lessThan(CacheEntry a, CacheEntry b) { // reverse the parameter order so that the queue keeps the oldest items - return ((CacheEntry)b).lastAccessedCopy < ((CacheEntry)a).lastAccessedCopy; + return b.lastAccessedCopy < a.lastAccessedCopy; } // necessary because maxSize is private in base class - public Object myInsertWithOverflow(Object element) { + public CacheEntry myInsertWithOverflow(CacheEntry element) { if (size() < myMaxSize) { add(element); return null; } else if (size() > 0 && !lessThan(element, heap[1])) { - Object ret = heap[1]; + CacheEntry ret = heap[1]; heap[1] = element; updateTop(); return ret; @@ -400,11 +404,11 @@ public class ConcurrentLRUCache { Map result = new LinkedHashMap(); if (n <= 0) return result; - TreeSet tree = new TreeSet(); + TreeSet> tree = new TreeSet>(); markAndSweepLock.lock(); try { for (Map.Entry> entry : map.entrySet()) { - CacheEntry ce = entry.getValue(); + CacheEntry ce = entry.getValue(); ce.lastAccessedCopy = ce.lastAccessed; if (tree.size() < n) { tree.add(ce); @@ -418,7 +422,7 @@ public class ConcurrentLRUCache { } finally { markAndSweepLock.unlock(); } - for (CacheEntry e : tree) { + for (CacheEntry e : tree) { result.put(e.key, e.value); } return result; @@ -428,7 +432,7 @@ public class ConcurrentLRUCache { Map result = new LinkedHashMap(); if (n <= 0) return result; - TreeSet tree = new TreeSet(); + TreeSet> tree = new TreeSet>(); // we need to grab the lock since we are changing lastAccessedCopy markAndSweepLock.lock(); try { diff --git a/solr/src/common/org/apache/solr/common/util/SimpleOrderedMap.java b/solr/src/common/org/apache/solr/common/util/SimpleOrderedMap.java index e00938b8e86..01ed9cefdce 100755 --- a/solr/src/common/org/apache/solr/common/util/SimpleOrderedMap.java +++ b/solr/src/common/org/apache/solr/common/util/SimpleOrderedMap.java @@ -50,7 +50,7 @@ public class SimpleOrderedMap extends NamedList { * @param nameValuePairs underlying List which should be used to implement a SimpleOrderedMap; modifying this List will affect the SimpleOrderedMap. */ @Deprecated - public SimpleOrderedMap(List nameValuePairs) { + public SimpleOrderedMap(List nameValuePairs) { super(nameValuePairs); } @@ -60,7 +60,7 @@ public class SimpleOrderedMap extends NamedList { @Override public SimpleOrderedMap clone() { - ArrayList newList = new ArrayList(nvPairs.size()); + ArrayList newList = new ArrayList(nvPairs.size()); newList.addAll(nvPairs); return new SimpleOrderedMap(newList); } diff --git a/solr/src/java/org/apache/solr/handler/component/TermsComponent.java b/solr/src/java/org/apache/solr/handler/component/TermsComponent.java index b0bf7c00e62..ee2e51f1f51 100644 --- a/solr/src/java/org/apache/solr/handler/component/TermsComponent.java +++ b/solr/src/java/org/apache/solr/handler/component/TermsComponent.java @@ -274,7 +274,7 @@ public class TermsComponent extends SearchComponent { if (th != null) { for (ShardResponse srsp : sreq.responses) { @SuppressWarnings("unchecked") - NamedList terms = (NamedList) srsp.getSolrResponse().getResponse().get("terms"); + NamedList> terms = (NamedList>) srsp.getSolrResponse().getResponse().get("terms"); th.parse(terms); } } @@ -333,7 +333,7 @@ public class TermsComponent extends SearchComponent { } } - public void parse(NamedList terms) { + public void parse(NamedList> terms) { // exit if there is no terms if (terms == null) { return; diff --git a/solr/src/solrj/org/apache/solr/client/solrj/response/FieldStatsInfo.java b/solr/src/solrj/org/apache/solr/client/solrj/response/FieldStatsInfo.java index aa35c7d6ac4..f2064dd5b3c 100644 --- a/solr/src/solrj/org/apache/solr/client/solrj/response/FieldStatsInfo.java +++ b/solr/src/solrj/org/apache/solr/client/solrj/response/FieldStatsInfo.java @@ -74,11 +74,13 @@ public class FieldStatsInfo implements Serializable { stddev = (Double)entry.getValue(); } else if( "facets".equals( entry.getKey() ) ) { + @SuppressWarnings("unchecked") NamedList fields = (NamedList)entry.getValue(); facets = new HashMap>(); for( Map.Entry ev : fields ) { List vals = new ArrayList(); facets.put( ev.getKey(), vals ); + @SuppressWarnings("unchecked") NamedList> vnl = (NamedList>) ev.getValue(); for( int i=0; i _facetInfo = null; private NamedList _debugInfo = null; private NamedList _highlightingInfo = null; - private NamedList _spellInfo = null; + private NamedList> _spellInfo = null; private NamedList _statsInfo = null; - private NamedList _termsInfo = null; + private NamedList> _termsInfo = null; // Facet stuff private Map _facetQuery = null; @@ -116,7 +116,7 @@ public class QueryResponse extends SolrResponseBase extractHighlightingInfo( _highlightingInfo ); } else if ( "spellcheck".equals( n ) ) { - _spellInfo = (NamedList) res.getVal( i ); + _spellInfo = (NamedList>) res.getVal( i ); extractSpellCheckInfo( _spellInfo ); } else if ( "stats".equals( n ) ) { @@ -124,17 +124,17 @@ public class QueryResponse extends SolrResponseBase extractStatsInfo( _statsInfo ); } else if ( "terms".equals( n ) ) { - _termsInfo = (NamedList) res.getVal( i ); + _termsInfo = (NamedList>) res.getVal( i ); extractTermsInfo( _termsInfo ); } } } - private void extractSpellCheckInfo(NamedList spellInfo) { + private void extractSpellCheckInfo(NamedList> spellInfo) { _spellResponse = new SpellCheckResponse(spellInfo); } - private void extractTermsInfo(NamedList termsInfo) { + private void extractTermsInfo(NamedList> termsInfo) { _termsResponse = new TermsResponse(termsInfo); } diff --git a/solr/src/solrj/org/apache/solr/client/solrj/response/SpellCheckResponse.java b/solr/src/solrj/org/apache/solr/client/solrj/response/SpellCheckResponse.java index 25eb3c71c88..e4001ec19c6 100644 --- a/solr/src/solrj/org/apache/solr/client/solrj/response/SpellCheckResponse.java +++ b/solr/src/solrj/org/apache/solr/client/solrj/response/SpellCheckResponse.java @@ -35,8 +35,8 @@ public class SpellCheckResponse { private List suggestions = new ArrayList(); Map suggestionMap = new LinkedHashMap(); - public SpellCheckResponse(NamedList spellInfo) { - NamedList sugg = (NamedList) spellInfo.get("suggestions"); + public SpellCheckResponse(NamedList> spellInfo) { + NamedList sugg = spellInfo.get("suggestions"); if (sugg == null) { correctlySpelled = true; return; @@ -55,12 +55,14 @@ public class SpellCheckResponse { collations.add(new Collation() .setCollationQueryString((String) sugg.getVal(i))); } else if (o instanceof NamedList) { - NamedList expandedCollation = (NamedList) o; - String collationQuery = (String) expandedCollation - .get("collationQuery"); + @SuppressWarnings("unchecked") + NamedList expandedCollation = (NamedList) o; + String collationQuery + = (String) expandedCollation.get("collationQuery"); int hits = (Integer) expandedCollation.get("hits"); - NamedList misspellingsAndCorrections = (NamedList) expandedCollation - .get("misspellingsAndCorrections"); + @SuppressWarnings("unchecked") + NamedList misspellingsAndCorrections + = (NamedList) expandedCollation.get("misspellingsAndCorrections"); Collation collation = new Collation(); collation.setCollationQueryString(collationQuery); @@ -79,6 +81,7 @@ public class SpellCheckResponse { } } } else { + @SuppressWarnings("unchecked") Suggestion s = new Suggestion(n, (NamedList) sugg.getVal(i)); suggestionMap.put(n, s); suggestions.add(s); @@ -152,16 +155,21 @@ public class SpellCheckResponse { } else if ("origFreq".equals(n)) { originalFrequency = (Integer) suggestion.getVal(i); } else if ("suggestion".equals(n)) { + @SuppressWarnings("unchecked") List list = (List)suggestion.getVal(i); if (list.size() > 0 && list.get(0) instanceof NamedList) { // extended results detected + @SuppressWarnings("unchecked") + List extended = (List)list; alternativeFrequencies = new ArrayList(); - for (NamedList nl : (List)list) { + for (NamedList nl : extended) { alternatives.add((String)nl.get("word")); alternativeFrequencies.add((Integer)nl.get("freq")); } } else { - alternatives.addAll(list); + @SuppressWarnings("unchecked") + List alts = (List) list; + alternatives.addAll(alts); } } } diff --git a/solr/src/solrj/org/apache/solr/client/solrj/response/TermsResponse.java b/solr/src/solrj/org/apache/solr/client/solrj/response/TermsResponse.java index f0b28b405c2..0924a1041f1 100644 --- a/solr/src/solrj/org/apache/solr/client/solrj/response/TermsResponse.java +++ b/solr/src/solrj/org/apache/solr/client/solrj/response/TermsResponse.java @@ -29,14 +29,14 @@ import java.util.Map; public class TermsResponse { private Map> termMap = new HashMap>(); - public TermsResponse(NamedList termsInfo) { + public TermsResponse(NamedList> termsInfo) { for (int i = 0; i < termsInfo.size(); i++) { String fieldName = termsInfo.getName(i); List itemList = new ArrayList(); - NamedList items = (NamedList) termsInfo.getVal(i); + NamedList items = termsInfo.getVal(i); for (int j = 0; j < items.size(); j++) { - Term t = new Term(items.getName(j), ((Number) items.getVal(j)).longValue()); + Term t = new Term(items.getName(j), items.getVal(j).longValue()); itemList.add(t); }