You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by mr...@apache.org on 2009/08/06 11:32:42 UTC

svn commit: r801565 [2/2] - in /jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query: ./ lucene/ lucene/join/

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/PerQueryCache.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/PerQueryCache.java?rev=801565&r1=801564&r2=801565&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/PerQueryCache.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/PerQueryCache.java Thu Aug  6 09:32:38 2009
@@ -30,7 +30,7 @@
     /**
      * The internal map of this <code>PerQueryCache</code>.
      */
-    private final Map map = new HashMap();
+    private final Map<Key, Object> map = new HashMap<Key, Object>();
 
     /**
      * Private constructor.
@@ -41,13 +41,13 @@
     /**
      * The per thread cache instance.
      */
-    private static final ThreadLocal CACHE = new ThreadLocal();
+    private static final ThreadLocal<PerQueryCache> CACHE = new ThreadLocal<PerQueryCache>();
 
     /**
      * @return <code>PerQueryCache</code> for the current thread.
      */
     static PerQueryCache getInstance() {
-        PerQueryCache cache = (PerQueryCache) CACHE.get();
+        PerQueryCache cache = CACHE.get();
         if (cache == null) {
             cache = new PerQueryCache();
             CACHE.set(cache);

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/PredicateDerefQuery.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/PredicateDerefQuery.java?rev=801565&r1=801564&r2=801565&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/PredicateDerefQuery.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/PredicateDerefQuery.java Thu Aug  6 09:32:38 2009
@@ -79,7 +79,6 @@
      * Creates a new <code>DerefQuery</code> based on a <code>context</code>
      * query.
      *
-     * @param context the context for this query.
      * @param subQuery TODO
      * @param refProperty the name of the reference property.
      * @param nameTest a name test or <code>null</code> if any node is

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/PropertiesSynonymProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/PropertiesSynonymProvider.java?rev=801565&r1=801564&r2=801565&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/PropertiesSynonymProvider.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/PropertiesSynonymProvider.java Thu Aug  6 09:32:38 2009
@@ -16,16 +16,15 @@
  */
 package org.apache.jackrabbit.core.query.lucene;
 
-import org.slf4j.LoggerFactory;
-import org.slf4j.Logger;
-import org.apache.jackrabbit.core.fs.FileSystemResource;
-import org.apache.jackrabbit.core.fs.FileSystemException;
-
 import java.io.IOException;
-import java.util.Map;
 import java.util.HashMap;
+import java.util.Map;
 import java.util.Properties;
-import java.util.Iterator;
+
+import org.apache.jackrabbit.core.fs.FileSystemException;
+import org.apache.jackrabbit.core.fs.FileSystemResource;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Implements a synonym provider based on a properties file. Each line in the
@@ -73,7 +72,7 @@
     /**
      * Contains the synonym mapping. Map&lt;String, String[]>
      */
-    private Map synonyms = new HashMap();
+    private Map<String, String[]> synonyms = new HashMap<String, String[]>();
 
     /**
      * {@inheritDoc}
@@ -101,7 +100,7 @@
         term = term.toLowerCase();
         String[] syns;
         synchronized (this) {
-            syns = (String[]) synonyms.get(term);
+            syns = synonyms.get(term);
         }
         if (syns == null) {
             syns = EMPTY_ARRAY;
@@ -144,16 +143,14 @@
      * @throws IOException if an error occurs while reading from the file system
      *                     resource.
      */
-    private static Map getSynonyms(FileSystemResource config) throws IOException {
+    private static Map<String, String[]> getSynonyms(FileSystemResource config) throws IOException {
         try {
-            Map synonyms = new HashMap();
+            Map<String, String[]> synonyms = new HashMap<String, String[]>();
             Properties props = new Properties();
             props.load(config.getInputStream());
-            Iterator it = props.entrySet().iterator();
-            while (it.hasNext()) {
-                Map.Entry e = (Map.Entry) it.next();
-                String key = (String) e.getKey();
-                String value = (String) e.getValue();
+            for (Map.Entry<Object, Object> entry : props.entrySet()) {
+                String key = (String) entry.getKey();
+                String value = (String) entry.getValue();
                 addSynonym(key, value, synonyms);
                 addSynonym(value, key, synonyms);
             }
@@ -170,9 +167,9 @@
      * @param synonym  synonym for <code>term</code>.
      * @param synonyms the Map containing the synonyms.
      */
-    private static void addSynonym(String term, String synonym, Map synonyms) {
+    private static void addSynonym(String term, String synonym, Map<String, String[]> synonyms) {
         term = term.toLowerCase();
-        String[] syns = (String[]) synonyms.get(term);
+        String[] syns = synonyms.get(term);
         if (syns == null) {
             syns = new String[]{synonym};
         } else {

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/QueryHitsQuery.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/QueryHitsQuery.java?rev=801565&r1=801564&r2=801565&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/QueryHitsQuery.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/QueryHitsQuery.java Thu Aug  6 09:32:38 2009
@@ -171,7 +171,7 @@
          * Maps <code>Integer</code> document numbers to <code>Float</code>
          * scores.
          */
-        private final Map scores = new HashMap();
+        private final Map<Integer, Float> scores = new HashMap<Integer, Float>();
 
         /**
          * The current document number.
@@ -190,7 +190,7 @@
                 throws IOException {
             super(similarity);
             ScoreNode node;
-            Set sortedDocs = new TreeSet();
+            Set<Integer> sortedDocs = new TreeSet<Integer>();
             try {
                 while ((node = hits.nextScoreNode()) != null) {
                     String uuid = node.getNodeId().toString();
@@ -198,9 +198,9 @@
                     TermDocs tDocs = reader.termDocs(id);
                     try {
                         if (tDocs.next()) {
-                            Integer doc = new Integer(tDocs.doc());
+                            Integer doc = tDocs.doc();
                             sortedDocs.add(doc);
-                            scores.put(doc, new Float(node.getScore()));
+                            scores.put(doc, node.getScore());
                         }
                     } finally {
                         tDocs.close();
@@ -227,14 +227,14 @@
          * {@inheritDoc}
          */
         public int doc() {
-            return currentDoc.intValue();
+            return currentDoc;
         }
 
         /**
          * {@inheritDoc}
          */
         public float score() throws IOException {
-            return ((Float) scores.get(currentDoc)).floatValue();
+            return scores.get(currentDoc);
         }
 
         /**

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/QueryResultImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/QueryResultImpl.java?rev=801565&r1=801564&r2=801565&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/QueryResultImpl.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/QueryResultImpl.java Thu Aug  6 09:32:38 2009
@@ -16,6 +16,19 @@
  */
 package org.apache.jackrabbit.core.query.lucene;
 
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.NoSuchElementException;
+
+import javax.jcr.ItemNotFoundException;
+import javax.jcr.NodeIterator;
+import javax.jcr.RepositoryException;
+import javax.jcr.query.QueryResult;
+import javax.jcr.query.RowIterator;
+
 import org.apache.jackrabbit.core.ItemManager;
 import org.apache.jackrabbit.core.SessionImpl;
 import org.apache.jackrabbit.core.security.AccessManager;
@@ -24,19 +37,6 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.jcr.ItemNotFoundException;
-import javax.jcr.NodeIterator;
-import javax.jcr.RepositoryException;
-import javax.jcr.UnsupportedRepositoryOperationException;
-import javax.jcr.query.QueryResult;
-import javax.jcr.query.RowIterator;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.NoSuchElementException;
-import java.util.Map;
-import java.util.LinkedHashMap;
-
 /**
  * Implements the <code>QueryResult</code> interface.
  */

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/RangeQuery.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/RangeQuery.java?rev=801565&r1=801564&r2=801565&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/RangeQuery.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/RangeQuery.java Thu Aug  6 09:32:38 2009
@@ -33,7 +33,6 @@
 import java.util.Map;
 import java.util.List;
 import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.HashMap;
 import java.util.Set;
 
@@ -205,7 +204,7 @@
          */
         protected Scorer createScorer(IndexReader reader) {
             return new RangeQueryScorer(searcher.getSimilarity(), reader);
-        };
+        }
 
         /**
          * Returns this <code>RangeQuery</code>.
@@ -279,13 +278,14 @@
         /**
          * The map to store the results.
          */
-        private final Map resultMap;
+        private final Map<String, BitSet> resultMap;
 
         /**
          * Creates a new RangeQueryScorer.
          * @param similarity the similarity implementation.
          * @param reader the index reader to use.
          */
+        @SuppressWarnings({"unchecked"})
         RangeQueryScorer(Similarity similarity, IndexReader reader) {
             super(similarity);
             this.reader = reader;
@@ -302,14 +302,14 @@
             this.cacheKey = key.toString();
             // check cache
             PerQueryCache cache = PerQueryCache.getInstance();
-            Map m = (Map) cache.get(RangeQueryScorer.class, reader);
+            Map<String, BitSet> m = (Map<String, BitSet>) cache.get(RangeQueryScorer.class, reader);
             if (m == null) {
-                m = new HashMap();
+                m = new HashMap<String, BitSet>();
                 cache.put(RangeQueryScorer.class, reader, m);
             }
             resultMap = m;
 
-            BitSet result = (BitSet) resultMap.get(cacheKey);
+            BitSet result = resultMap.get(cacheKey);
             if (result == null) {
                 result = new BitSet(reader.maxDoc());
             } else {
@@ -380,7 +380,7 @@
             if (propNameLength > 0) {
                 namePrefix = lowerTerm.text().substring(0, propNameLength);
             }
-            List startTerms = new ArrayList(2);
+            List<Term> startTerms = new ArrayList<Term>(2);
 
             if (transform == TRANSFORM_NONE || lowerTerm.text().length() <= propNameLength) {
                 // use lowerTerm as is
@@ -397,25 +397,20 @@
                 startTerms.add(new Term(lowerTerm.field(), termText.toString()));
             }
 
-            Iterator it = startTerms.iterator();
-            while (it.hasNext()) {
-                Term startTerm = (Term) it.next();
-
+            for (Term startTerm : startTerms) {
                 TermEnum terms = reader.terms(startTerm);
                 try {
                     TermDocs docs = reader.termDocs();
                     try {
                         do {
                             Term term = terms.term();
-                            if (term != null
-                                    && term.field() == testField
-                                    && term.text().startsWith(namePrefix)) {
+                            if (term != null && term.field() == testField && term.text().startsWith(namePrefix)) {
                                 if (checkLower) {
                                     int compare = termCompare(term.text(), lowerTerm.text(), propNameLength);
                                     if (compare > 0 || compare == 0 && inclusive) {
                                         // do not check lower term anymore if no
                                         // transformation is done on the term enum
-                                        checkLower = transform == TRANSFORM_NONE ? false : true;
+                                        checkLower = transform != TRANSFORM_NONE;
                                     } else {
                                         // continue with next term
                                         continue;
@@ -452,7 +447,7 @@
                             } else {
                                 break;
                             }
-                        } while(terms.next());
+                        } while (terms.next());
                     } finally {
                         docs.close();
                     }

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/SimpleExcerptProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/SimpleExcerptProvider.java?rev=801565&r1=801564&r2=801565&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/SimpleExcerptProvider.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/SimpleExcerptProvider.java Thu Aug  6 09:32:38 2009
@@ -68,8 +68,8 @@
                     text.append(separator);
                     separator = " ... ";
                     InternalValue[] values = propState.getValues();
-                    for (int i = 0; i < values.length; i++) {
-                        text.append(values[i].toString());
+                    for (InternalValue value : values) {
+                        text.append(value.toString());
                     }
                 }
             }

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/TermDocsCache.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/TermDocsCache.java?rev=801565&r1=801564&r2=801565&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/TermDocsCache.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/TermDocsCache.java Thu Aug  6 09:32:38 2009
@@ -22,13 +22,12 @@
 import java.util.BitSet;
 import java.util.Arrays;
 import java.util.Iterator;
+import java.util.LinkedHashMap;
 
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.TermDocs;
 import org.apache.lucene.index.Term;
 import org.apache.lucene.index.TermEnum;
-import org.apache.commons.collections.map.LRUMap;
-import org.apache.commons.collections.map.LinkedMap;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -61,13 +60,19 @@
     /**
      * Map of {@link Term#text()} that are unknown to the underlying index.
      */
-    private final Map unknownValues = Collections.synchronizedMap(new LRUMap(100));
+    private final Map<String, String> unknownValues = Collections.synchronizedMap(new LinkedHashMap<String, String>() {
+        private static final long serialVersionUID = 1443679637070403838L;
+
+        protected boolean removeEldestEntry(Map.Entry<String, String> eldest) {
+            return size() > 100;
+        }
+    });
 
     /**
      * The cache of the {@link #CACHE_SIZE} most frequently requested TermDocs.
      * Maps term text <code>String</code> to {@link CacheEntry}.
      */
-    private final LinkedMap cache = new LinkedMap();
+    private final Map<String, CacheEntry> cache = new LinkedHashMap<String, CacheEntry>();
 
     /**
      * Creates a new cache for the given <code>reader</code> and
@@ -102,23 +107,23 @@
         // maintain cache
         CacheEntry entry;
         synchronized (cache) {
-            entry = (CacheEntry) cache.get(text);
+            entry = cache.get(text);
             if (entry == null) {
                 // check space
                 if (cache.size() >= CACHE_SIZE) {
                     // prune half of them and adjust the rest
-                    CacheEntry[] entries = (CacheEntry[]) cache.values().toArray(
+                    CacheEntry[] entries = cache.values().toArray(
                             new CacheEntry[cache.size()]);
                     Arrays.sort(entries);
                     int threshold = entries[CACHE_SIZE / 2].numAccessed;
-                    for (Iterator it = cache.entrySet().iterator(); it.hasNext(); ) {
-                        Map.Entry e = (Map.Entry) it.next();
-                        if (((CacheEntry) e.getValue()).numAccessed <= threshold) {
+                    for (Iterator<Map.Entry<String, CacheEntry>> it = cache.entrySet().iterator(); it.hasNext(); ) {
+                        Map.Entry<String, CacheEntry> e = it.next();
+                        if (e.getValue().numAccessed <= threshold) {
                             // prune
                             it.remove();
                         } else {
                             // adjust
-                            CacheEntry ce = (CacheEntry) e.getValue();
+                            CacheEntry ce = e.getValue();
                             ce.numAccessed = (int) Math.sqrt(ce.numAccessed);
                         }
                     }
@@ -135,8 +140,7 @@
         if (entry.numAccessed < 10) {
             if (log.isDebugEnabled()) {
                 log.debug("#{} TermDocs({},{})",
-                        new Object[]{new Integer(entry.numAccessed),
-                                field, text});
+                        new Object[]{entry.numAccessed, field, text});
             }
             return reader.termDocs(t);
         }
@@ -167,8 +171,7 @@
         } else {
             if (log.isDebugEnabled()) {
                 log.debug("CachedTermDocs({},{},{}/{})", new Object[]{
-                        field, text, new Integer(entry.bits.cardinality()),
-                        new Integer(reader.maxDoc())});
+                        field, text, entry.bits.cardinality(), reader.maxDoc()});
             }
             return new CachedTermDocs(entry.bits);
         }

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/WeightedHighlighter.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/WeightedHighlighter.java?rev=801565&r1=801564&r2=801565&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/WeightedHighlighter.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/WeightedHighlighter.java Thu Aug  6 09:32:38 2009
@@ -18,6 +18,7 @@
 
 import org.apache.lucene.index.TermPositionVector;
 import org.apache.lucene.index.TermVectorOffsetInfo;
+import org.apache.lucene.index.Term;
 import org.apache.lucene.util.PriorityQueue;
 
 import java.util.Set;
@@ -76,7 +77,7 @@
      *         highlighted
      */
     public static String highlight(TermPositionVector tvec,
-                                   Set queryTerms,
+                                   Set<Term> queryTerms,
                                    String text,
                                    String excerptStart,
                                    String excerptEnd,
@@ -102,7 +103,7 @@
      *         highlighted
      */
     public static String highlight(TermPositionVector tvec,
-                                   Set queryTerms,
+                                   Set<Term> queryTerms,
                                    String text,
                                    int maxFragments,
                                    int surround) throws IOException {
@@ -150,21 +151,21 @@
 
         // retrieve fragment infos from queue and fill into list, least
         // fragment comes out first
-        List infos = new LinkedList();
+        List<FragmentInfo> infos = new LinkedList<FragmentInfo>();
         while (bestFragments.size() > 0) {
             FragmentInfo fi = (FragmentInfo) bestFragments.pop();
             infos.add(0, fi);
         }
 
-        Map offsetInfos = new IdentityHashMap();
+        Map<TermVectorOffsetInfo, Object> offsetInfos = new IdentityHashMap<TermVectorOffsetInfo, Object>();
         // remove overlapping fragment infos
-        Iterator it = infos.iterator();
+        Iterator<FragmentInfo> it = infos.iterator();
         while (it.hasNext()) {
-            FragmentInfo fi = (FragmentInfo) it.next();
+            FragmentInfo fi = it.next();
             boolean overlap = false;
-            Iterator fit = fi.iterator();
+            Iterator<TermVectorOffsetInfo> fit = fi.iterator();
             while (fit.hasNext() && !overlap) {
-                TermVectorOffsetInfo oi = (TermVectorOffsetInfo) fit.next();
+                TermVectorOffsetInfo oi = fit.next();
                 if (offsetInfos.containsKey(oi)) {
                     overlap = true;
                 }
@@ -172,7 +173,7 @@
             if (overlap) {
                 it.remove();
             } else {
-                Iterator oit = fi.iterator();
+                Iterator<TermVectorOffsetInfo> oit = fi.iterator();
                 while (oit.hasNext()) {
                     offsetInfos.put(oit.next(), null);
                 }
@@ -183,7 +184,7 @@
         StringBuffer sb = new StringBuffer(excerptStart);
         it = infos.iterator();
         while (it.hasNext()) {
-            FragmentInfo fi = (FragmentInfo) it.next();
+            FragmentInfo fi = it.next();
             sb.append(fragmentStart);
             int limit = Math.max(0, fi.getStartOffset() / 2 + fi.getEndOffset() / 2 - surround);
             int len = startFragment(sb, text, fi.getStartOffset(), limit);
@@ -271,14 +272,14 @@
     }
 
     private static class FragmentInfo {
-        ArrayList offsetInfosList;
+        List<TermVectorOffsetInfo> offsetInfosList;
         int startOffset;
         int endOffset;
         int maxFragmentSize;
         int quality;
 
         public FragmentInfo(TermVectorOffsetInfo offsetinfo, int maxFragmentSize) {
-            offsetInfosList = new ArrayList();
+            offsetInfosList = new ArrayList<TermVectorOffsetInfo>();
             offsetInfosList.add(offsetinfo);
             startOffset = offsetinfo.getStartOffset();
             endOffset = offsetinfo.getEndOffset();
@@ -313,7 +314,7 @@
             return true;
         }
 
-        public Iterator iterator() {
+        public Iterator<TermVectorOffsetInfo> iterator() {
             return offsetInfosList.iterator();
         }
 

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/WildcardQuery.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/WildcardQuery.java?rev=801565&r1=801564&r2=801565&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/WildcardQuery.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/WildcardQuery.java Thu Aug  6 09:32:38 2009
@@ -265,7 +265,7 @@
         /**
          * The map to store the results.
          */
-        private final Map resultMap;
+        private final Map<String, BitSet> resultMap;
 
         /**
          * Creates a new WildcardQueryScorer.
@@ -273,20 +273,21 @@
          * @param similarity the similarity implementation.
          * @param reader     the index reader to use.
          */
+        @SuppressWarnings({"unchecked"})
         WildcardQueryScorer(Similarity similarity, IndexReader reader) {
             super(similarity);
             this.reader = reader;
             this.cacheKey = field + '\uFFFF' + propName + '\uFFFF' + transform + '\uFFFF' + pattern;
             // check cache
             PerQueryCache cache = PerQueryCache.getInstance();
-            Map m = (Map) cache.get(WildcardQueryScorer.class, reader);
+            Map<String, BitSet> m = (Map<String, BitSet>) cache.get(WildcardQueryScorer.class, reader);
             if (m == null) {
-                m = new HashMap();
+                m = new HashMap<String, BitSet>();
                 cache.put(WildcardQueryScorer.class, reader, m);
             }
             resultMap = m;
 
-            BitSet result = (BitSet) resultMap.get(cacheKey);
+            BitSet result = resultMap.get(cacheKey);
             if (result == null) {
                 result = new BitSet(reader.maxDoc());
             } else {

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/WildcardTermEnum.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/WildcardTermEnum.java?rev=801565&r1=801564&r2=801565&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/WildcardTermEnum.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/WildcardTermEnum.java Thu Aug  6 09:32:38 2009
@@ -163,12 +163,12 @@
         /**
          * The matching terms
          */
-        private final Map orderedTerms = new LinkedHashMap();
+        private final Map<Term, Integer> orderedTerms = new LinkedHashMap<Term, Integer>();
 
         /**
          * Iterator over all matching terms
          */
-        private final Iterator it;
+        private final Iterator<Term> it;
 
         public LowerUpperCaseTermEnum(IndexReader reader,
                                       String field,
@@ -191,7 +191,7 @@
 
             if (!neverMatches) {
                 // create range scans
-                List rangeScans = new ArrayList(2);
+                List<RangeScan> rangeScans = new ArrayList<RangeScan>(2);
                 try {
                     int idx = 0;
                     while (idx < pattern.length()
@@ -228,14 +228,13 @@
                     }
 
                     // do range scans with pattern matcher
-                    for (Iterator it = rangeScans.iterator(); it.hasNext(); ) {
-                        RangeScan scan = (RangeScan) it.next();
+                    for (RangeScan scan : rangeScans) {
                         do {
                             Term t = scan.term();
                             if (t != null) {
                                 input.setBase(t.text());
                                 if (WildcardTermEnum.this.pattern.reset().matches()) {
-                                    orderedTerms.put(t, new Integer(scan.docFreq()));
+                                    orderedTerms.put(t, scan.docFreq());
                                 }
                             }
                         } while (scan.next());
@@ -243,9 +242,7 @@
 
                 } finally {
                     // close range scans
-                    Iterator it = rangeScans.iterator();
-                    while (it.hasNext()) {
-                        RangeScan scan = (RangeScan) it.next();
+                    for (RangeScan scan : rangeScans) {
                         try {
                             scan.close();
                         } catch (IOException e) {
@@ -283,8 +280,8 @@
          * {@inheritDoc}
          */
         public int docFreq() {
-            Integer docFreq = (Integer) orderedTerms.get(current);
-            return docFreq != null ? docFreq.intValue() : 0;
+            Integer docFreq = orderedTerms.get(current);
+            return docFreq != null ? docFreq : 0;
         }
 
         /**
@@ -299,7 +296,7 @@
          * <code>null</code> if there is no next.
          */
         private void getNext() {
-            current = it.hasNext() ? (Term) it.next() : null;
+            current = it.hasNext() ? it.next() : null;
         }
     }
 }

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/join/AncestorNodeJoin.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/join/AncestorNodeJoin.java?rev=801565&r1=801564&r2=801565&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/join/AncestorNodeJoin.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/join/AncestorNodeJoin.java Thu Aug  6 09:32:38 2009
@@ -56,7 +56,7 @@
     /**
      * Reusable list of ancestor document numbers.
      */
-    private final List ancestors = new ArrayList();
+    private final List<Integer> ancestors = new ArrayList<Integer>();
 
     /**
      * Creates a new ancestor node join condition.
@@ -77,11 +77,10 @@
         int idx = getIndex(context, contextSelectorName);
         ScoreNode[] nodes;
         while ((nodes = context.nextScoreNodes()) != null) {
-            Integer docNum = new Integer(nodes[idx].getDoc(reader));
+            Integer docNum = nodes[idx].getDoc(reader);
             ancestors.clear();
-            collectAncestors(docNum.intValue());
-            for (int i = 0; i < ancestors.size(); i++) {
-                Integer doc = (Integer) ancestors.get(i);
+            collectAncestors(docNum);
+            for (Integer doc : ancestors) {
                 contextIndex.addScoreNodes(doc, nodes);
             }
         }
@@ -94,7 +93,7 @@
      */
     public ScoreNode[][] getMatchingScoreNodes(ScoreNode ancestor)
             throws IOException {
-        Integer doc = new Integer(ancestor.getDoc(reader));
+        Integer doc = ancestor.getDoc(reader);
         return contextIndex.getScoreNodes(doc);
     }
 
@@ -108,14 +107,13 @@
     private void collectAncestors(int doc) throws IOException {
         docNums = resolver.getParents(doc, docNums);
         if (docNums.length == 1) {
-            ancestors.add(new Integer(docNums[0]));
+            ancestors.add(docNums[0]);
             collectAncestors(docNums[0]);
         } else if (docNums.length > 1) {
             // clone because recursion uses docNums again
-            int[] tmp = (int[]) docNums.clone();
-            for (int i = 0; i < tmp.length; i++) {
-                ancestors.add(new Integer(tmp[i]));
-                collectAncestors(tmp[i]);
+            for (int docNum : docNums.clone()) {
+                ancestors.add(docNum);
+                collectAncestors(docNum);
             }
         }
     }

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/join/ChildNodeJoin.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/join/ChildNodeJoin.java?rev=801565&r1=801564&r2=801565&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/join/ChildNodeJoin.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/join/ChildNodeJoin.java Thu Aug  6 09:32:38 2009
@@ -55,7 +55,7 @@
     /**
      * Reusable list of score nodes.
      */
-    private List tmpScoreNodes = new ArrayList();
+    private List<ScoreNode[]> tmpScoreNodes = new ArrayList<ScoreNode[]>();
 
     /**
      * Creates a new child node join condition.
@@ -77,7 +77,7 @@
         int idx = getIndex(parent, condition.getParentSelectorQName());
         ScoreNode[] nodes;
         while ((nodes = parent.nextScoreNodes()) != null) {
-            Integer docNum = new Integer(nodes[idx].getDoc(reader));
+            Integer docNum = nodes[idx].getDoc(reader);
             parentIndex.addScoreNodes(docNum, nodes);
         }
     }
@@ -90,18 +90,18 @@
     public ScoreNode[][] getMatchingScoreNodes(ScoreNode child) throws IOException {
         docNums = resolver.getParents(child.getDoc(reader), docNums);
         tmpScoreNodes.clear();
-        for (int i = 0; i < docNums.length; i++) {
-            ScoreNode[][] sn = parentIndex.getScoreNodes(new Integer(docNums[i]));
+        for (int docNum : docNums) {
+            ScoreNode[][] sn = parentIndex.getScoreNodes(docNum);
             if (sn != null) {
-                for (int j = 0; j < sn.length; j++) {
-                    tmpScoreNodes.add(sn[j]);
+                for (ScoreNode[] aSn : sn) {
+                    tmpScoreNodes.add(aSn);
                 }
             }
         }
         if (tmpScoreNodes.isEmpty()) {
             return null;
         } else {
-            return (ScoreNode[][]) tmpScoreNodes.toArray(new ScoreNode[tmpScoreNodes.size()][]);
+            return tmpScoreNodes.toArray(new ScoreNode[tmpScoreNodes.size()][]);
         }
     }
 }

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/join/DescendantNodeJoin.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/join/DescendantNodeJoin.java?rev=801565&r1=801564&r2=801565&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/join/DescendantNodeJoin.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/join/DescendantNodeJoin.java Thu Aug  6 09:32:38 2009
@@ -55,12 +55,12 @@
     /**
      * Reusable list of document number.
      */
-    private final List ancestors = new ArrayList();
+    private final List<Integer> ancestors = new ArrayList<Integer>();
 
     /**
      * Reusable list of score nodes.
      */
-    private final List scoreNodes = new ArrayList();
+    private final List<ScoreNode[]> scoreNodes = new ArrayList<ScoreNode[]>();
 
     /**
      * Creates a new descendant node join condition.
@@ -81,7 +81,7 @@
         int idx = getIndex(context, contextSelectorName);
         ScoreNode[] nodes;
         while ((nodes = context.nextScoreNodes()) != null) {
-            Integer docNum = new Integer(nodes[idx].getDoc(reader));
+            Integer docNum = nodes[idx].getDoc(reader);
             contextIndex.addScoreNodes(docNum, nodes);
         }
     }
@@ -96,19 +96,18 @@
         ancestors.clear();
         collectAncestors(descendant.getDoc(reader));
         scoreNodes.clear();
-        for (int i = 0; i < ancestors.size(); i++) {
-            Integer ancestor = (Integer) ancestors.get(i);
+        for (Integer ancestor : ancestors) {
             ScoreNode[][] sn = contextIndex.getScoreNodes(ancestor);
             if (sn != null) {
-                for (int j = 0; j < sn.length; j++) {
-                    scoreNodes.add(sn[j]);
+                for (ScoreNode[] aSn : sn) {
+                    scoreNodes.add(aSn);
                 }
             }
         }
         if (scoreNodes.isEmpty()) {
             return null;
         } else {
-            return (ScoreNode[][]) scoreNodes.toArray(new ScoreNode[scoreNodes.size()][]);
+            return scoreNodes.toArray(new ScoreNode[scoreNodes.size()][]);
         }
     }
 
@@ -122,14 +121,13 @@
     private void collectAncestors(int doc) throws IOException {
         docNums = resolver.getParents(doc, docNums);
         if (docNums.length == 1) {
-            ancestors.add(new Integer(docNums[0]));
+            ancestors.add(docNums[0]);
             collectAncestors(docNums[0]);
         } else if (docNums.length > 1) {
             // clone because recursion uses docNums again
-            int[] tmp = (int[]) docNums.clone();
-            for (int i = 0; i < tmp.length; i++) {
-                ancestors.add(new Integer(tmp[i]));
-                collectAncestors(tmp[i]);
+            for (int docNum : docNums.clone()) {
+                ancestors.add(docNum);
+                collectAncestors(docNum);
             }
         }
     }

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/join/EquiJoin.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/join/EquiJoin.java?rev=801565&r1=801564&r2=801565&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/join/EquiJoin.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/join/EquiJoin.java Thu Aug  6 09:32:38 2009
@@ -77,8 +77,7 @@
         ScoreNode[] nodes;
         // create lookup map
         while ((nodes = inner.nextScoreNodes()) != null) {
-            Integer doc = new Integer(nodes[innerScoreNodeIndex].getDoc(reader));
-            sDoc.doc = doc.intValue();
+            sDoc.doc = nodes[innerScoreNodeIndex].getDoc(reader);
             Comparable value = comparator.sortValue(sDoc);
             if (value != null) {
                 innerScoreNodes.addScoreNodes(value, nodes);

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/join/ParentNodeJoin.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/join/ParentNodeJoin.java?rev=801565&r1=801564&r2=801565&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/join/ParentNodeJoin.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/join/ParentNodeJoin.java Thu Aug  6 09:32:38 2009
@@ -60,8 +60,7 @@
         int[] docNums = new int[1];
         while ((nodes = child.nextScoreNodes()) != null) {
             docNums = resolver.getParents(nodes[idx].getDoc(reader), docNums);
-            for (int i = 0; i < docNums.length; i++) {
-                Integer parentId = new Integer(docNums[i]);
+            for (int parentId : docNums) {
                 childIndex.addScoreNodes(parentId, nodes);
             }
         }
@@ -73,6 +72,6 @@
      */
     public ScoreNode[][] getMatchingScoreNodes(ScoreNode parent)
             throws IOException {
-        return childIndex.getScoreNodes(new Integer(parent.getDoc(reader)));
+        return childIndex.getScoreNodes(parent.getDoc(reader));
     }
 }

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/join/ScoreNodeMap.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/join/ScoreNodeMap.java?rev=801565&r1=801564&r2=801565&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/join/ScoreNodeMap.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/join/ScoreNodeMap.java Thu Aug  6 09:32:38 2009
@@ -32,7 +32,7 @@
     /**
      * The internal map.
      */
-    private final Map map = new HashMap();
+    private final Map<Object, Object> map = new HashMap<Object, Object>();
 
     /**
      * Adds <code>scoreNodes</code> to this map under the given <code>key</code>.
@@ -62,8 +62,8 @@
             ((List) existing).add(nodes);
         } else {
             // ScoreNode[]
-            ArrayList tmp = new ArrayList();
-            tmp.add(existing);
+            List<ScoreNode[]> tmp = new ArrayList<ScoreNode[]>();
+            tmp.add((ScoreNode[]) existing);
             tmp.add(nodes);
             existing = tmp;
             map.put(key, existing);
@@ -83,8 +83,8 @@
         if (sn == null) {
             return null;
         } else if (sn instanceof List) {
-            List list = (List) sn;
-            return (ScoreNode[][]) list.toArray(new ScoreNode[list.size()][]);
+            List<ScoreNode[]> list = (List<ScoreNode[]>) sn;
+            return list.toArray(new ScoreNode[list.size()][]);
         } else {
             // ScoreNode[]
             return new ScoreNode[][]{(ScoreNode[]) sn};