You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2014/03/16 20:39:37 UTC

svn commit: r1578144 [14/37] - in /lucene/dev/branches/lucene5376_2: ./ dev-tools/ dev-tools/idea/.idea/libraries/ dev-tools/idea/solr/contrib/dataimporthandler/ dev-tools/idea/solr/contrib/map-reduce/ dev-tools/idea/solr/core/src/test/ dev-tools/scrip...

Modified: lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/FacetsConfig.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/FacetsConfig.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/FacetsConfig.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/FacetsConfig.java Sun Mar 16 19:39:10 2014
@@ -62,11 +62,11 @@ public class FacetsConfig {
    *  doc values). */
   public static final String DEFAULT_INDEX_FIELD_NAME = "$facets";
 
-  private final Map<String,DimConfig> fieldTypes = new ConcurrentHashMap<String,DimConfig>();
+  private final Map<String,DimConfig> fieldTypes = new ConcurrentHashMap<>();
 
   // Used only for best-effort detection of app mixing
   // int/float/bytes in a single indexed field:
-  private final Map<String,String> assocDimTypes = new ConcurrentHashMap<String,String>();
+  private final Map<String,String> assocDimTypes = new ConcurrentHashMap<>();
 
   /** Holds the configuration for one dimension
    *
@@ -98,11 +98,22 @@ public class FacetsConfig {
   public FacetsConfig() {
   }
 
+  /** Get the default configuration for new dimensions.  Useful when
+   *  the dimension is not known beforehand and may need different 
+   *  global default settings, like {@code multivalue =
+   *  true}.
+   *
+   *  @return The default configuration to be used for dimensions that 
+   *  are not yet set in the {@link FacetsConfig} */
+  protected DimConfig getDefaultDimConfig(){
+    return DEFAULT_DIM_CONFIG;
+  }
+  
   /** Get the current configuration for a dimension. */
   public synchronized DimConfig getDimConfig(String dimName) {
     DimConfig ft = fieldTypes.get(dimName);
     if (ft == null) {
-      ft = DEFAULT_DIM_CONFIG;
+      ft = getDefaultDimConfig();
     }
     return ft;
   }
@@ -187,15 +198,15 @@ public class FacetsConfig {
    */
   public Document build(TaxonomyWriter taxoWriter, Document doc) throws IOException {
     // Find all FacetFields, collated by the actual field:
-    Map<String,List<FacetField>> byField = new HashMap<String,List<FacetField>>();
+    Map<String,List<FacetField>> byField = new HashMap<>();
 
     // ... and also all SortedSetDocValuesFacetFields:
-    Map<String,List<SortedSetDocValuesFacetField>> dvByField = new HashMap<String,List<SortedSetDocValuesFacetField>>();
+    Map<String,List<SortedSetDocValuesFacetField>> dvByField = new HashMap<>();
 
     // ... and also all AssociationFacetFields
-    Map<String,List<AssociationFacetField>> assocByField = new HashMap<String,List<AssociationFacetField>>();
+    Map<String,List<AssociationFacetField>> assocByField = new HashMap<>();
 
-    Set<String> seenDims = new HashSet<String>();
+    Set<String> seenDims = new HashSet<>();
 
     for (IndexableField field : doc.indexableFields()) {
       if (field.fieldType() == FacetField.TYPE) {
@@ -207,7 +218,7 @@ public class FacetsConfig {
         String indexFieldName = dimConfig.indexFieldName;
         List<FacetField> fields = byField.get(indexFieldName);
         if (fields == null) {
-          fields = new ArrayList<FacetField>();
+          fields = new ArrayList<>();
           byField.put(indexFieldName, fields);
         }
         fields.add(facetField);
@@ -222,7 +233,7 @@ public class FacetsConfig {
         String indexFieldName = dimConfig.indexFieldName;
         List<SortedSetDocValuesFacetField> fields = dvByField.get(indexFieldName);
         if (fields == null) {
-          fields = new ArrayList<SortedSetDocValuesFacetField>();
+          fields = new ArrayList<>();
           dvByField.put(indexFieldName, fields);
         }
         fields.add(facetField);
@@ -244,7 +255,7 @@ public class FacetsConfig {
         String indexFieldName = dimConfig.indexFieldName;
         List<AssociationFacetField> fields = assocByField.get(indexFieldName);
         if (fields == null) {
-          fields = new ArrayList<AssociationFacetField>();
+          fields = new ArrayList<>();
           assocByField.put(indexFieldName, fields);
         }
         fields.add(facetField);
@@ -392,6 +403,12 @@ public class FacetsConfig {
         }
         System.arraycopy(field.assoc.bytes, field.assoc.offset, bytes, upto, field.assoc.length);
         upto += field.assoc.length;
+        
+        // Drill down:
+        FacetLabel cp = new FacetLabel(field.dim, field.path);
+        for (int i = 1; i <= cp.length; i++) {
+          doc.add(new StringField(indexFieldName, pathToString(cp.components, i), Field.Store.NO));
+        }
       }
       doc.add(new BinaryDocValuesField(indexFieldName, new BytesRef(bytes, 0, upto)));
     }
@@ -503,7 +520,7 @@ public class FacetsConfig {
    *  #pathToString}) back into the original {@code
    *  String[]}. */
   public static String[] stringToPath(String s) {
-    List<String> parts = new ArrayList<String>();
+    List<String> parts = new ArrayList<>();
     int length = s.length();
     if (length == 0) {
       return new String[0];

Modified: lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/MultiFacets.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/MultiFacets.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/MultiFacets.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/MultiFacets.java Sun Mar 16 19:39:10 2014
@@ -18,6 +18,7 @@ package org.apache.lucene.facet;
  */
 
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -65,7 +66,25 @@ public class MultiFacets extends Facets 
 
   @Override
   public List<FacetResult> getAllDims(int topN) throws IOException {
-    // TODO
-    throw new UnsupportedOperationException();
+
+    List<FacetResult> results = new ArrayList<FacetResult>();
+
+    // First add the specific dim's facets:
+    for(Map.Entry<String,Facets> ent : dimToFacets.entrySet()) {
+      results.add(ent.getValue().getTopChildren(topN, ent.getKey()));
+    }
+
+    if (defaultFacets != null) {
+
+      // Then add all default facets as long as we didn't
+      // already add that dim:
+      for(FacetResult result : defaultFacets.getAllDims(topN)) {
+        if (dimToFacets.containsKey(result.dim) == false) {
+          results.add(result);
+        }
+      }
+    }
+
+    return results;
   }
 }

Modified: lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/range/LongRangeCounter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/range/LongRangeCounter.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/range/LongRangeCounter.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/range/LongRangeCounter.java Sun Mar 16 19:39:10 2014
@@ -44,7 +44,7 @@ final class LongRangeCounter {
     // track the start vs end case separately because if a
     // given point is both, then it must be its own
     // elementary interval:
-    Map<Long,Integer> endsMap = new HashMap<Long,Integer>();
+    Map<Long,Integer> endsMap = new HashMap<>();
 
     endsMap.put(Long.MIN_VALUE, 1);
     endsMap.put(Long.MAX_VALUE, 2);
@@ -64,11 +64,11 @@ final class LongRangeCounter {
       }
     }
 
-    List<Long> endsList = new ArrayList<Long>(endsMap.keySet());
+    List<Long> endsList = new ArrayList<>(endsMap.keySet());
     Collections.sort(endsList);
 
     // Build elementaryIntervals (a 1D Venn diagram):
-    List<InclusiveRange> elementaryIntervals = new ArrayList<InclusiveRange>();
+    List<InclusiveRange> elementaryIntervals = new ArrayList<>();
     int upto0 = 1;
     long v = endsList.get(0);
     long prev;
@@ -281,7 +281,7 @@ final class LongRangeCounter {
         // Our range is fully included in the incoming
         // range; add to our output list:
         if (outputs == null) {
-          outputs = new ArrayList<Integer>();
+          outputs = new ArrayList<>();
         }
         outputs.add(index);
       } else if (left != null) {

Modified: lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/sortedset/DefaultSortedSetDocValuesReaderState.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/sortedset/DefaultSortedSetDocValuesReaderState.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/sortedset/DefaultSortedSetDocValuesReaderState.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/sortedset/DefaultSortedSetDocValuesReaderState.java Sun Mar 16 19:39:10 2014
@@ -42,7 +42,7 @@ public class DefaultSortedSetDocValuesRe
   /** {@link IndexReader} passed to the constructor. */
   public final IndexReader origReader;
 
-  private final Map<String,OrdRange> prefixToOrdRange = new HashMap<String,OrdRange>();
+  private final Map<String,OrdRange> prefixToOrdRange = new HashMap<>();
 
   /** Creates this, pulling doc values from the default {@link
    *  FacetsConfig#DEFAULT_INDEX_FIELD_NAME}. */ 

Modified: lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/sortedset/SortedSetDocValuesFacetCounts.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/sortedset/SortedSetDocValuesFacetCounts.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/sortedset/SortedSetDocValuesFacetCounts.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/sortedset/SortedSetDocValuesFacetCounts.java Sun Mar 16 19:39:10 2014
@@ -266,7 +266,7 @@ public class SortedSetDocValuesFacetCoun
   @Override
   public List<FacetResult> getAllDims(int topN) throws IOException {
 
-    List<FacetResult> results = new ArrayList<FacetResult>();
+    List<FacetResult> results = new ArrayList<>();
     for(Map.Entry<String,OrdRange> ent : state.getPrefixToOrdRange().entrySet()) {
       FacetResult fr = getDim(ent.getKey(), ent.getValue(), topN);
       if (fr != null) {

Modified: lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/CachedOrdinalsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/CachedOrdinalsReader.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/CachedOrdinalsReader.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/CachedOrdinalsReader.java Sun Mar 16 19:39:10 2014
@@ -57,7 +57,7 @@ public class CachedOrdinalsReader extend
 
   private final OrdinalsReader source;
 
-  private final Map<Object,CachedOrds> ordsCache = new WeakHashMap<Object,CachedOrds>();
+  private final Map<Object,CachedOrds> ordsCache = new WeakHashMap<>();
 
   /** Sole constructor. */
   public CachedOrdinalsReader(OrdinalsReader source) {

Modified: lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacetSumValueSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacetSumValueSource.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacetSumValueSource.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacetSumValueSource.java Sun Mar 16 19:39:10 2014
@@ -18,12 +18,13 @@ package org.apache.lucene.facet.taxonomy
  */
 
 import java.io.IOException;
+import java.util.Collection;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.lucene.facet.FacetsCollector;
 import org.apache.lucene.facet.FacetsCollector.MatchingDocs;
+import org.apache.lucene.facet.FacetsCollector;
 import org.apache.lucene.facet.FacetsConfig;
 import org.apache.lucene.index.AtomicReaderContext;
 import org.apache.lucene.queries.function.FunctionValues;
@@ -31,6 +32,7 @@ import org.apache.lucene.queries.functio
 import org.apache.lucene.queries.function.docvalues.DoubleDocValues;
 import org.apache.lucene.search.DocIdSetIterator;
 import org.apache.lucene.search.Scorer;
+import org.apache.lucene.search.Weight;
 import org.apache.lucene.util.IntsRef;
 
 /** Aggregates sum of values from {@link
@@ -70,11 +72,21 @@ public class TaxonomyFacetSumValueSource
     @Override public int nextDoc() throws IOException { throw new UnsupportedOperationException(); }
     @Override public int advance(int target) throws IOException { throw new UnsupportedOperationException(); }
     @Override public long cost() { return 0; }
+
+    @Override
+    public Weight getWeight() {
+      throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public Collection<ChildScorer> getChildren() {
+      throw new UnsupportedOperationException();
+    }
   }
 
   private final void sumValues(List<MatchingDocs> matchingDocs, boolean keepScores, ValueSource valueSource) throws IOException {
     final FakeScorer scorer = new FakeScorer();
-    Map<String, Scorer> context = new HashMap<String, Scorer>();
+    Map<String, Scorer> context = new HashMap<>();
     if (keepScores) {
       context.put("scorer", scorer);
     }

Modified: lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacets.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacets.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacets.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacets.java Sun Mar 16 19:39:10 2014
@@ -85,7 +85,7 @@ public abstract class TaxonomyFacets ext
   @Override
   public List<FacetResult> getAllDims(int topN) throws IOException {
     int ord = children[TaxonomyReader.ROOT_ORDINAL];
-    List<FacetResult> results = new ArrayList<FacetResult>();
+    List<FacetResult> results = new ArrayList<>();
     while (ord != TaxonomyReader.INVALID_ORDINAL) {
       String dim = taxoReader.getPath(ord).components[0];
       FacetsConfig.DimConfig dimConfig = config.getDimConfig(dim);

Modified: lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyReader.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyReader.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyReader.java Sun Mar 16 19:39:10 2014
@@ -102,8 +102,8 @@ public class DirectoryTaxonomyReader ext
 
     // These are the default cache sizes; they can be configured after
     // construction with the cache's setMaxSize() method
-    ordinalCache = new LRUHashMap<FacetLabel, Integer>(DEFAULT_CACHE_VALUE);
-    categoryCache = new LRUHashMap<Integer, FacetLabel>(DEFAULT_CACHE_VALUE);
+    ordinalCache = new LRUHashMap<>(DEFAULT_CACHE_VALUE);
+    categoryCache = new LRUHashMap<>(DEFAULT_CACHE_VALUE);
   }
   
   /**
@@ -121,8 +121,8 @@ public class DirectoryTaxonomyReader ext
     
     // These are the default cache sizes; they can be configured after
     // construction with the cache's setMaxSize() method
-    ordinalCache = new LRUHashMap<FacetLabel, Integer>(DEFAULT_CACHE_VALUE);
-    categoryCache = new LRUHashMap<Integer, FacetLabel>(DEFAULT_CACHE_VALUE);
+    ordinalCache = new LRUHashMap<>(DEFAULT_CACHE_VALUE);
+    categoryCache = new LRUHashMap<>(DEFAULT_CACHE_VALUE);
   }
   
   private synchronized void initTaxoArrays() throws IOException {

Modified: lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyWriter.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyWriter.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyWriter.java Sun Mar 16 19:39:10 2014
@@ -620,7 +620,7 @@ public class DirectoryTaxonomyWriter imp
 
   /** Combine original user data with the taxonomy epoch. */
   private Map<String,String> combinedCommitData(Map<String,String> commitData) {
-    Map<String,String> m = new HashMap<String, String>();
+    Map<String,String> m = new HashMap<>();
     if (commitData != null) {
       m.putAll(commitData);
     }

Modified: lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/CharBlockArray.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/CharBlockArray.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/CharBlockArray.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/CharBlockArray.java Sun Mar 16 19:39:10 2014
@@ -60,7 +60,7 @@ class CharBlockArray implements Appendab
   }
 
   CharBlockArray(int blockSize) {
-    this.blocks = new ArrayList<Block>();
+    this.blocks = new ArrayList<>();
     this.blockSize = blockSize;
     addBlock();
   }

Modified: lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/NameIntCacheLRU.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/NameIntCacheLRU.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/NameIntCacheLRU.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/NameIntCacheLRU.java Sun Mar 16 19:39:10 2014
@@ -54,9 +54,9 @@ class NameIntCacheLRU {
 
   private void createCache (int maxSize) {
     if (maxSize<Integer.MAX_VALUE) {
-      cache = new LinkedHashMap<Object, Integer>(1000,(float)0.7,true); //for LRU
+      cache = new LinkedHashMap<>(1000,(float)0.7,true); //for LRU
     } else {
-      cache = new HashMap<Object, Integer>(1000,(float)0.7); //no need for LRU
+      cache = new HashMap<>(1000,(float)0.7); //no need for LRU
     }
   }
 

Modified: lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/AssertingSubDocsAtOnceCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/AssertingSubDocsAtOnceCollector.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/AssertingSubDocsAtOnceCollector.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/AssertingSubDocsAtOnceCollector.java Sun Mar 16 19:39:10 2014
@@ -36,7 +36,7 @@ class AssertingSubDocsAtOnceCollector ex
   @Override
   public void setScorer(Scorer s) {
     // Gathers all scorers, including s and "under":
-    allScorers = new ArrayList<Scorer>();
+    allScorers = new ArrayList<>();
     allScorers.add(s);
     int upto = 0;
     while(upto < allScorers.size()) {

Modified: lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/FacetTestCase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/FacetTestCase.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/FacetTestCase.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/FacetTestCase.java Sun Mar 16 19:39:10 2014
@@ -177,14 +177,14 @@ public abstract class FacetTestCase exte
   protected void assertFloatValuesEquals(List<FacetResult> a, List<FacetResult> b) {
     assertEquals(a.size(), b.size());
     float lastValue = Float.POSITIVE_INFINITY;
-    Map<String,FacetResult> aByDim = new HashMap<String,FacetResult>();
+    Map<String,FacetResult> aByDim = new HashMap<>();
     for(int i=0;i<a.size();i++) {
       assertTrue(a.get(i).value.floatValue() <= lastValue);
       lastValue = a.get(i).value.floatValue();
       aByDim.put(a.get(i).dim, a.get(i));
     }
     lastValue = Float.POSITIVE_INFINITY;
-    Map<String,FacetResult> bByDim = new HashMap<String,FacetResult>();
+    Map<String,FacetResult> bByDim = new HashMap<>();
     for(int i=0;i<b.size();i++) {
       bByDim.put(b.get(i).dim, b.get(i));
       assertTrue(b.get(i).value.floatValue() <= lastValue);

Modified: lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/TestDrillSideways.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/TestDrillSideways.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/TestDrillSideways.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/TestDrillSideways.java Sun Mar 16 19:39:10 2014
@@ -148,7 +148,7 @@ public class TestDrillSideways extends F
     // published once:
     assertEquals("dim=Author path=[] value=5 childCount=4\n  Lisa (2)\n  Bob (1)\n  Susan (1)\n  Frank (1)\n", r.facets.getTopChildren(10, "Author").toString());
 
-    // Another simple case: drill-down on on single fields
+    // Another simple case: drill-down on single fields
     // but OR of two values
     ddq = new DrillDownQuery(config);
     ddq.add("Author", "Lisa");
@@ -163,6 +163,12 @@ public class TestDrillSideways extends F
     // published once:
     assertEquals("dim=Author path=[] value=5 childCount=4\n  Lisa (2)\n  Bob (1)\n  Susan (1)\n  Frank (1)\n", r.facets.getTopChildren(10, "Author").toString());
 
+    assertTrue(r.facets instanceof MultiFacets);
+    List<FacetResult> allResults = r.facets.getAllDims(10);
+    assertEquals(2, allResults.size());
+    assertEquals("dim=Author path=[] value=5 childCount=4\n  Lisa (2)\n  Bob (1)\n  Susan (1)\n  Frank (1)\n", allResults.get(0).toString());
+    assertEquals("dim=Publish Date path=[] value=3 childCount=2\n  2010 (2)\n  2012 (1)\n", allResults.get(1).toString());
+
     // More interesting case: drill-down on two fields
     ddq = new DrillDownQuery(config);
     ddq.add("Author", "Lisa");
@@ -422,7 +428,7 @@ public class TestDrillSideways extends F
     int valueCount = 2;
 
     for(int dim=0;dim<numDims;dim++) {
-      Set<String> values = new HashSet<String>();
+      Set<String> values = new HashSet<>();
       while (values.size() < valueCount) {
         String s = TestUtil.randomRealisticUnicodeString(random());
         //String s = _TestUtil.randomString(random());
@@ -434,7 +440,7 @@ public class TestDrillSideways extends F
       valueCount *= 2;
     }
 
-    List<Doc> docs = new ArrayList<Doc>();
+    List<Doc> docs = new ArrayList<>();
     for(int i=0;i<numDocs;i++) {
       Doc doc = new Doc();
       doc.id = ""+i;
@@ -710,7 +716,7 @@ public class TestDrillSideways extends F
         ds = new DrillSideways(s, config, tr) {
             @Override
             protected Facets buildFacetsResult(FacetsCollector drillDowns, FacetsCollector[] drillSideways, String[] drillSidewaysDims) throws IOException {
-              Map<String,Facets> drillSidewaysFacets = new HashMap<String,Facets>();
+              Map<String,Facets> drillSidewaysFacets = new HashMap<>();
               Facets drillDownFacets = getTaxonomyFacetCounts(taxoReader, config, drillDowns);
               if (drillSideways != null) {
                 for(int i=0;i<drillSideways.length;i++) {
@@ -733,7 +739,7 @@ public class TestDrillSideways extends F
       DrillSidewaysResult actual = ds.search(ddq, filter, null, numDocs, sort, true, true);
 
       TopDocs hits = s.search(baseQuery, numDocs);
-      Map<String,Float> scores = new HashMap<String,Float>();
+      Map<String,Float> scores = new HashMap<>();
       for(ScoreDoc sd : hits.scoreDocs) {
         scores.put(s.doc(sd.doc).get("id"), sd.score);
       }
@@ -847,7 +853,7 @@ public class TestDrillSideways extends F
                                                         String[][] dimValues, Filter onlyEven) throws Exception {
     int numDims = dimValues.length;
 
-    List<Doc> hits = new ArrayList<Doc>();
+    List<Doc> hits = new ArrayList<>();
     Counters drillDownCounts = new Counters(dimValues);
     Counters[] drillSidewaysCounts = new Counters[dimValues.length];
     for(int dim=0;dim<numDims;dim++) {
@@ -909,7 +915,7 @@ public class TestDrillSideways extends F
       }
     }
 
-    Map<String,Integer> idToDocID = new HashMap<String,Integer>();
+    Map<String,Integer> idToDocID = new HashMap<>();
     for(int i=0;i<s.getIndexReader().maxDoc();i++) {
       idToDocID.put(s.doc(i).get("id"), i);
     }
@@ -964,7 +970,7 @@ public class TestDrillSideways extends F
       }
 
       int idx = 0;
-      Map<String,Integer> actualValues = new HashMap<String,Integer>();
+      Map<String,Integer> actualValues = new HashMap<>();
 
       if (fr != null) {
         for(LabelAndValue labelValue : fr.labelValues) {

Modified: lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/TestFacetsConfig.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/TestFacetsConfig.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/TestFacetsConfig.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/TestFacetsConfig.java Sun Mar 16 19:39:10 2014
@@ -84,5 +84,18 @@ public class TestFacetsConfig extends Fa
     
     IOUtils.close(indexDir, taxoDir);
   }
-  
+
+  /** LUCENE-5479 */
+  public void testCustomDefault() {
+    FacetsConfig config = new FacetsConfig() {
+        @Override
+        protected DimConfig getDefaultDimConfig() {
+          DimConfig config = new DimConfig();
+          config.hierarchical = true;
+          return config;
+        }
+      };
+
+    assertTrue(config.getDimConfig("foobar").hierarchical);
+  }
 }

Modified: lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/TestMultipleIndexFields.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/TestMultipleIndexFields.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/TestMultipleIndexFields.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/TestMultipleIndexFields.java Sun Mar 16 19:39:10 2014
@@ -120,7 +120,7 @@ public class TestMultipleIndexFields ext
 
     FacetsCollector sfc = performSearch(tr, ir, searcher);
 
-    Map<String,Facets> facetsMap = new HashMap<String,Facets>();
+    Map<String,Facets> facetsMap = new HashMap<>();
     facetsMap.put("Author", getTaxonomyFacetCounts(tr, config, sfc, "$author"));
     Facets facets = new MultiFacets(facetsMap, getTaxonomyFacetCounts(tr, config, sfc));
 
@@ -160,7 +160,7 @@ public class TestMultipleIndexFields ext
 
     FacetsCollector sfc = performSearch(tr, ir, searcher);
 
-    Map<String,Facets> facetsMap = new HashMap<String,Facets>();
+    Map<String,Facets> facetsMap = new HashMap<>();
     Facets facets2 = getTaxonomyFacetCounts(tr, config, sfc, "$music");
     facetsMap.put("Band", facets2);
     facetsMap.put("Composer", facets2);
@@ -213,7 +213,7 @@ public class TestMultipleIndexFields ext
 
     FacetsCollector sfc = performSearch(tr, ir, searcher);
 
-    Map<String,Facets> facetsMap = new HashMap<String,Facets>();
+    Map<String,Facets> facetsMap = new HashMap<>();
     facetsMap.put("Band", getTaxonomyFacetCounts(tr, config, sfc, "$bands"));
     facetsMap.put("Composer", getTaxonomyFacetCounts(tr, config, sfc, "$composers"));
     Facets facets = new MultiFacets(facetsMap, getTaxonomyFacetCounts(tr, config, sfc));
@@ -255,7 +255,7 @@ public class TestMultipleIndexFields ext
 
     FacetsCollector sfc = performSearch(tr, ir, searcher);
 
-    Map<String,Facets> facetsMap = new HashMap<String,Facets>();
+    Map<String,Facets> facetsMap = new HashMap<>();
     Facets facets2 = getTaxonomyFacetCounts(tr, config, sfc, "$music");
     facetsMap.put("Band", facets2);
     facetsMap.put("Composer", facets2);

Modified: lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/range/TestRangeFacetCounts.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/range/TestRangeFacetCounts.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/range/TestRangeFacetCounts.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/range/TestRangeFacetCounts.java Sun Mar 16 19:39:10 2014
@@ -260,7 +260,7 @@ public class TestRangeFacetCounts extend
             }
           }
 
-          Map<String,Facets> byDim = new HashMap<String,Facets>();
+          Map<String,Facets> byDim = new HashMap<>();
           byDim.put("field",
                     new LongRangeFacetCounts("field", fieldFC,
                           new LongRange("less than 10", 0L, true, 10L, false),

Modified: lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/sortedset/TestSortedSetDocValuesFacets.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/sortedset/TestSortedSetDocValuesFacets.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/sortedset/TestSortedSetDocValuesFacets.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/sortedset/TestSortedSetDocValuesFacets.java Sun Mar 16 19:39:10 2014
@@ -310,7 +310,7 @@ public class TestSortedSetDocValuesFacet
       // Slow, yet hopefully bug-free, faceting:
       @SuppressWarnings({"rawtypes","unchecked"}) Map<String,Integer>[] expectedCounts = new HashMap[numDims];
       for(int i=0;i<numDims;i++) {
-        expectedCounts[i] = new HashMap<String,Integer>();
+        expectedCounts[i] = new HashMap<>();
       }
 
       for(TestDoc doc : testDocs) {
@@ -328,9 +328,9 @@ public class TestSortedSetDocValuesFacet
         }
       }
 
-      List<FacetResult> expected = new ArrayList<FacetResult>();
+      List<FacetResult> expected = new ArrayList<>();
       for(int i=0;i<numDims;i++) {
-        List<LabelAndValue> labelValues = new ArrayList<LabelAndValue>();
+        List<LabelAndValue> labelValues = new ArrayList<>();
         int totCount = 0;
         for(Map.Entry<String,Integer> ent : expectedCounts[i].entrySet()) {
           labelValues.add(new LabelAndValue(ent.getKey(), ent.getValue()));

Modified: lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestLRUHashMap.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestLRUHashMap.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestLRUHashMap.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestLRUHashMap.java Sun Mar 16 19:39:10 2014
@@ -27,7 +27,7 @@ public class TestLRUHashMap extends Face
   // recently used
   @Test
   public void testLRU() throws Exception {
-    LRUHashMap<String, String> lru = new LRUHashMap<String, String>(3);
+    LRUHashMap<String, String> lru = new LRUHashMap<>(3);
     assertEquals(0, lru.size());
     lru.put("one", "Hello world");
     assertEquals(1, lru.size());

Modified: lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestSearcherTaxonomyManager.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestSearcherTaxonomyManager.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestSearcherTaxonomyManager.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestSearcherTaxonomyManager.java Sun Mar 16 19:39:10 2014
@@ -35,6 +35,8 @@ import org.apache.lucene.facet.FacetsCon
 import org.apache.lucene.facet.taxonomy.SearcherTaxonomyManager.SearcherAndTaxonomy;
 import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter;
 import org.apache.lucene.index.IndexWriter;
+import org.apache.lucene.index.IndexWriterConfig;
+import org.apache.lucene.index.TieredMergePolicy;
 import org.apache.lucene.search.MatchAllDocsQuery;
 import org.apache.lucene.search.ReferenceManager;
 import org.apache.lucene.store.Directory;
@@ -65,8 +67,8 @@ public class TestSearcherTaxonomyManager
     @Override
     public void run() {
       try {
-        Set<String> seen = new HashSet<String>();
-        List<String> paths = new ArrayList<String>();
+        Set<String> seen = new HashSet<>();
+        List<String> paths = new ArrayList<>();
         while (true) {
           Document doc = new Document();
           int numPaths = TestUtil.nextInt(random(), 1, 5);
@@ -91,7 +93,7 @@ public class TestSearcherTaxonomyManager
           }
           try {
             w.addDocument(config.build(tw, doc));
-            if (mgr != null && random().nextDouble() < 0.1) {
+            if (mgr != null && random().nextDouble() < 0.02) {
               w.commit();
               tw.commit();
               mgr.maybeRefresh();
@@ -99,7 +101,11 @@ public class TestSearcherTaxonomyManager
           } catch (IOException ioe) {
             throw new RuntimeException(ioe);
           }
-          
+
+          if (VERBOSE) {
+            System.out.println("TW size=" + tw.getSize() + " vs " + ordLimit);
+          }
+
           if (tw.getSize() >= ordLimit) {
             break;
           }
@@ -114,7 +120,16 @@ public class TestSearcherTaxonomyManager
   public void testNRT() throws Exception {
     Directory dir = newDirectory();
     Directory taxoDir = newDirectory();
-    final IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random())));
+    IndexWriterConfig iwc = newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random()));
+    // Don't allow tiny maxBufferedDocs; it can make this
+    // test too slow:
+    iwc.setMaxBufferedDocs(Math.max(500, iwc.getMaxBufferedDocs()));
+
+    // MockRandom/AlcololicMergePolicy are too slow:
+    TieredMergePolicy tmp = new TieredMergePolicy();
+    tmp.setFloorSegmentMB(.001);
+    iwc.setMergePolicy(tmp);
+    final IndexWriter w = new IndexWriter(dir, iwc);
     final DirectoryTaxonomyWriter tw = new DirectoryTaxonomyWriter(taxoDir);
     final FacetsConfig config = new FacetsConfig();
     config.setMultiValued("field", true);
@@ -150,8 +165,11 @@ public class TestSearcherTaxonomyManager
           }
         }
       };
+
+    reopener.setName("reopener");
     reopener.start();
 
+    indexer.setName("indexer");
     indexer.start();
 
     try {

Modified: lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyCombined.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyCombined.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyCombined.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyCombined.java Sun Mar 16 19:39:10 2014
@@ -534,7 +534,7 @@ public class TestTaxonomyCombined extend
     for (int i=0; i<expectedCategories.length; i++) {
       // find expected children by looking at all expectedCategories
       // for children
-      ArrayList<Integer> expectedChildren = new ArrayList<Integer>();
+      ArrayList<Integer> expectedChildren = new ArrayList<>();
       for (int j=expectedCategories.length-1; j>=0; j--) {
         if (expectedCategories[j].length != expectedCategories[i].length+1) {
           continue; // not longer by 1, so can't be a child

Modified: lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetAssociations.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetAssociations.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetAssociations.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetAssociations.java Sun Mar 16 19:39:10 2014
@@ -19,6 +19,7 @@ package org.apache.lucene.facet.taxonomy
 
 
 import org.apache.lucene.document.Document;
+import org.apache.lucene.facet.DrillDownQuery;
 import org.apache.lucene.facet.FacetTestCase;
 import org.apache.lucene.facet.Facets;
 import org.apache.lucene.facet.FacetsCollector;
@@ -223,4 +224,19 @@ public class TestTaxonomyFacetAssociatio
     }
     IOUtils.close(writer, taxoWriter, dir, taxoDir);
   }
+  
+  public void testIntSumAssociationDrillDown() throws Exception {
+    FacetsCollector fc = new FacetsCollector();
+    
+    IndexSearcher searcher = newSearcher(reader);
+    DrillDownQuery q = new DrillDownQuery(config);
+    q.add("int", "b");
+    searcher.search(q, fc);
+
+    Facets facets = new TaxonomyFacetSumIntAssociations("$facets.int", taxoReader, config, fc);
+    assertEquals("dim=int path=[] value=-1 childCount=2\n  b (150)\n  a (100)\n", facets.getTopChildren(10, "int").toString());
+    assertEquals("Wrong count for category 'a'!", 100, facets.getSpecificValue("int", "a").intValue());
+    assertEquals("Wrong count for category 'b'!", 150, facets.getSpecificValue("int", "b").intValue());
+  }
+
 }

Modified: lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetCounts.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetCounts.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetCounts.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetCounts.java Sun Mar 16 19:39:10 2014
@@ -450,7 +450,7 @@ public class TestTaxonomyFacetCounts ext
 
     FacetResult result = facets.getTopChildren(Integer.MAX_VALUE, "dim");
     assertEquals(numLabels, result.labelValues.length);
-    Set<String> allLabels = new HashSet<String>();
+    Set<String> allLabels = new HashSet<>();
     for (LabelAndValue labelValue : result.labelValues) {
       allLabels.add(labelValue.label);
       assertEquals(1, labelValue.value.intValue());
@@ -710,7 +710,7 @@ public class TestTaxonomyFacetCounts ext
       // Slow, yet hopefully bug-free, faceting:
       @SuppressWarnings({"rawtypes","unchecked"}) Map<String,Integer>[] expectedCounts = new HashMap[numDims];
       for(int i=0;i<numDims;i++) {
-        expectedCounts[i] = new HashMap<String,Integer>();
+        expectedCounts[i] = new HashMap<>();
       }
 
       for(TestDoc doc : testDocs) {
@@ -728,9 +728,9 @@ public class TestTaxonomyFacetCounts ext
         }
       }
 
-      List<FacetResult> expected = new ArrayList<FacetResult>();
+      List<FacetResult> expected = new ArrayList<>();
       for(int i=0;i<numDims;i++) {
-        List<LabelAndValue> labelValues = new ArrayList<LabelAndValue>();
+        List<LabelAndValue> labelValues = new ArrayList<>();
         int totCount = 0;
         for(Map.Entry<String,Integer> ent : expectedCounts[i].entrySet()) {
           labelValues.add(new LabelAndValue(ent.getKey(), ent.getValue()));

Modified: lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetCounts2.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetCounts2.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetCounts2.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetCounts2.java Sun Mar 16 19:39:10 2014
@@ -101,14 +101,14 @@ public class TestTaxonomyFacetCounts2 ex
     // category is not added twice.
     int numFacetsA = random.nextInt(3) + 1; // 1-3
     int numFacetsB = random.nextInt(2) + 1; // 1-2
-    ArrayList<FacetField> categories_a = new ArrayList<FacetField>();
+    ArrayList<FacetField> categories_a = new ArrayList<>();
     categories_a.addAll(Arrays.asList(CATEGORIES_A));
-    ArrayList<FacetField> categories_b = new ArrayList<FacetField>();
+    ArrayList<FacetField> categories_b = new ArrayList<>();
     categories_b.addAll(Arrays.asList(CATEGORIES_B));
     Collections.shuffle(categories_a, random);
     Collections.shuffle(categories_b, random);
 
-    ArrayList<FacetField> categories = new ArrayList<FacetField>();
+    ArrayList<FacetField> categories = new ArrayList<>();
     categories.addAll(categories_a.subList(0, numFacetsA));
     categories.addAll(categories_b.subList(0, numFacetsB));
     
@@ -210,7 +210,7 @@ public class TestTaxonomyFacetCounts2 ex
   
   // initialize expectedCounts w/ 0 for all categories
   private static Map<String,Integer> newCounts() {
-    Map<String,Integer> counts = new HashMap<String,Integer>();
+    Map<String,Integer> counts = new HashMap<>();
     counts.put(CP_A, 0);
     counts.put(CP_B, 0);
     counts.put(CP_C, 0);

Modified: lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetSumValueSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetSumValueSource.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetSumValueSource.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetSumValueSource.java Sun Mar 16 19:39:10 2014
@@ -464,7 +464,7 @@ public class TestTaxonomyFacetSumValueSo
       // Slow, yet hopefully bug-free, faceting:
       @SuppressWarnings({"rawtypes","unchecked"}) Map<String,Float>[] expectedValues = new HashMap[numDims];
       for(int i=0;i<numDims;i++) {
-        expectedValues[i] = new HashMap<String,Float>();
+        expectedValues[i] = new HashMap<>();
       }
 
       for(TestDoc doc : testDocs) {
@@ -482,9 +482,9 @@ public class TestTaxonomyFacetSumValueSo
         }
       }
 
-      List<FacetResult> expected = new ArrayList<FacetResult>();
+      List<FacetResult> expected = new ArrayList<>();
       for(int i=0;i<numDims;i++) {
-        List<LabelAndValue> labelValues = new ArrayList<LabelAndValue>();
+        List<LabelAndValue> labelValues = new ArrayList<>();
         double totValue = 0;
         for(Map.Entry<String,Float> ent : expectedValues[i].entrySet()) {
           labelValues.add(new LabelAndValue(ent.getKey(), ent.getValue()));

Modified: lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestAddTaxonomy.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestAddTaxonomy.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestAddTaxonomy.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestAddTaxonomy.java Sun Mar 16 19:39:10 2014
@@ -229,7 +229,7 @@ public class TestAddTaxonomy extends Fac
     DirectoryTaxonomyReader dtr = new DirectoryTaxonomyReader(dest);
     // +2 to account for the root category + "a"
     assertEquals(numCategories + 2, dtr.getSize());
-    HashSet<FacetLabel> categories = new HashSet<FacetLabel>();
+    HashSet<FacetLabel> categories = new HashSet<>();
     for (int i = 1; i < dtr.getSize(); i++) {
       FacetLabel cat = dtr.getPath(i);
       assertTrue("category " + cat + " already existed", categories.add(cat));

Modified: lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestConcurrentFacetedIndexing.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestConcurrentFacetedIndexing.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestConcurrentFacetedIndexing.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestConcurrentFacetedIndexing.java Sun Mar 16 19:39:10 2014
@@ -82,7 +82,7 @@ public class TestConcurrentFacetedIndexi
     final AtomicInteger numDocs = new AtomicInteger(atLeast(10000));
     final Directory indexDir = newDirectory();
     final Directory taxoDir = newDirectory();
-    final ConcurrentHashMap<String,String> values = new ConcurrentHashMap<String,String>();
+    final ConcurrentHashMap<String,String> values = new ConcurrentHashMap<>();
     final IndexWriter iw = new IndexWriter(indexDir, newIndexWriterConfig(TEST_VERSION_CURRENT, null));
     final DirectoryTaxonomyWriter tw = new DirectoryTaxonomyWriter(taxoDir, OpenMode.CREATE, newTaxoWriterCache(numDocs.get()));
     final Thread[] indexThreads = new Thread[atLeast(4)];

Modified: lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestDirectoryTaxonomyReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestDirectoryTaxonomyReader.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestDirectoryTaxonomyReader.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestDirectoryTaxonomyReader.java Sun Mar 16 19:39:10 2014
@@ -504,7 +504,7 @@ public class TestDirectoryTaxonomyReader
     assertEquals(TaxonomyReader.INVALID_ORDINAL, it.next());
 
     // root's children
-    Set<String> roots = new HashSet<String>(Arrays.asList("a", "b", "c"));
+    Set<String> roots = new HashSet<>(Arrays.asList("a", "b", "c"));
     it = taxoReader.getChildren(TaxonomyReader.ROOT_ORDINAL);
     while (!roots.isEmpty()) {
       FacetLabel root = taxoReader.getPath(it.next());

Modified: lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestDirectoryTaxonomyWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestDirectoryTaxonomyWriter.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestDirectoryTaxonomyWriter.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestDirectoryTaxonomyWriter.java Sun Mar 16 19:39:10 2014
@@ -93,7 +93,7 @@ public class TestDirectoryTaxonomyWriter
     DirectoryTaxonomyWriter taxoWriter = new DirectoryTaxonomyWriter(dir, OpenMode.CREATE_OR_APPEND, NO_OP_CACHE);
     taxoWriter.addCategory(new FacetLabel("a"));
     taxoWriter.addCategory(new FacetLabel("b"));
-    Map<String, String> userCommitData = new HashMap<String, String>();
+    Map<String, String> userCommitData = new HashMap<>();
     userCommitData.put("testing", "1 2 3");
     taxoWriter.setCommitData(userCommitData);
     taxoWriter.close();
@@ -243,7 +243,7 @@ public class TestDirectoryTaxonomyWriter
     final int range = ncats * 3; // affects the categories selection
     final AtomicInteger numCats = new AtomicInteger(ncats);
     final Directory dir = newDirectory();
-    final ConcurrentHashMap<String,String> values = new ConcurrentHashMap<String,String>();
+    final ConcurrentHashMap<String,String> values = new ConcurrentHashMap<>();
     final double d = random().nextDouble();
     final TaxonomyWriterCache cache;
     if (d < 0.7) {

Modified: lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/writercache/TestCompactLabelToOrdinal.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/writercache/TestCompactLabelToOrdinal.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/writercache/TestCompactLabelToOrdinal.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/writercache/TestCompactLabelToOrdinal.java Sun Mar 16 19:39:10 2014
@@ -118,7 +118,7 @@ public class TestCompactLabelToOrdinal e
   }
 
   private static class LabelToOrdinalMap extends LabelToOrdinal {
-    private Map<FacetLabel, Integer> map = new HashMap<FacetLabel, Integer>();
+    private Map<FacetLabel, Integer> map = new HashMap<>();
 
     LabelToOrdinalMap() { }
     

Modified: lucene/dev/branches/lucene5376_2/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractAllGroupHeadsCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractAllGroupHeadsCollector.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractAllGroupHeadsCollector.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractAllGroupHeadsCollector.java Sun Mar 16 19:39:10 2014
@@ -128,7 +128,7 @@ public abstract class AbstractAllGroupHe
 
   @Override
   public boolean acceptsDocsOutOfOrder() {
-    return true;
+    return false;
   }
 
   /**

Modified: lucene/dev/branches/lucene5376_2/lucene/grouping/src/java/org/apache/lucene/search/grouping/BlockGroupingCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/grouping/src/java/org/apache/lucene/search/grouping/BlockGroupingCollector.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/grouping/src/java/org/apache/lucene/search/grouping/BlockGroupingCollector.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/grouping/src/java/org/apache/lucene/search/grouping/BlockGroupingCollector.java Sun Mar 16 19:39:10 2014
@@ -18,14 +18,15 @@ package org.apache.lucene.search.groupin
  */
 
 
+import java.io.IOException;
+import java.util.Collection;
+
 import org.apache.lucene.index.AtomicReaderContext;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.search.*;
 import org.apache.lucene.util.ArrayUtil;
 import org.apache.lucene.util.PriorityQueue;
 
-import java.io.IOException;
-
 // TODO: this sentence is too long for the class summary.
 /** BlockGroupingCollector performs grouping with a
  *  single pass collector, as long as you are grouping by a
@@ -90,7 +91,7 @@ public class BlockGroupingCollector exte
     int doc;
 
     public FakeScorer() {
-      super((Weight) null);
+      super(null);
     }
 
     @Override
@@ -122,6 +123,16 @@ public class BlockGroupingCollector exte
     public long cost() {
       return 1;
     }
+
+    @Override
+    public Weight getWeight() {
+      throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public Collection<ChildScorer> getChildren() {
+      throw new UnsupportedOperationException();
+    }
   }
 
   private static final class OneGroup {

Modified: lucene/dev/branches/lucene5376_2/lucene/grouping/src/java/org/apache/lucene/search/grouping/SearchGroup.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/grouping/src/java/org/apache/lucene/search/grouping/SearchGroup.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/grouping/src/java/org/apache/lucene/search/grouping/SearchGroup.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/grouping/src/java/org/apache/lucene/search/grouping/SearchGroup.java Sun Mar 16 19:39:10 2014
@@ -101,7 +101,7 @@ public class SearchGroup<GROUP_VALUE_TYP
     public final T groupValue;
 
     public Object[] topValues;
-    public final List<ShardIter<T>> shards = new ArrayList<ShardIter<T>>();
+    public final List<ShardIter<T>> shards = new ArrayList<>();
     public int minShardIndex;
     public boolean processed;
     public boolean inQueue;
@@ -214,7 +214,7 @@ public class SearchGroup<GROUP_VALUE_TYP
         if (isNew) {
           // Start a new group:
           //System.out.println("      new");
-          mergedGroup = new MergedGroup<T>(group.groupValue);
+          mergedGroup = new MergedGroup<>(group.groupValue);
           mergedGroup.minShardIndex = shard.shardIndex;
           assert group.sortValues != null;
           mergedGroup.topValues = group.sortValues;
@@ -281,12 +281,12 @@ public class SearchGroup<GROUP_VALUE_TYP
         final Collection<SearchGroup<T>> shard = shards.get(shardIDX);
         if (!shard.isEmpty()) {
           //System.out.println("  insert shard=" + shardIDX);
-          updateNextGroup(maxQueueSize, new ShardIter<T>(shard, shardIDX));
+          updateNextGroup(maxQueueSize, new ShardIter<>(shard, shardIDX));
         }
       }
 
       // Pull merged topN groups:
-      final List<SearchGroup<T>> newTopGroups = new ArrayList<SearchGroup<T>>();
+      final List<SearchGroup<T>> newTopGroups = new ArrayList<>();
 
       int count = 0;
 
@@ -295,7 +295,7 @@ public class SearchGroup<GROUP_VALUE_TYP
         group.processed = true;
         //System.out.println("  pop: shards=" + group.shards + " group=" + (group.groupValue == null ? "null" : (((BytesRef) group.groupValue).utf8ToString())) + " sortValues=" + Arrays.toString(group.topValues));
         if (count++ >= offset) {
-          final SearchGroup<T> newGroup = new SearchGroup<T>();
+          final SearchGroup<T> newGroup = new SearchGroup<>();
           newGroup.groupValue = group.groupValue;
           newGroup.sortValues = group.topValues;
           newTopGroups.add(newGroup);

Modified: lucene/dev/branches/lucene5376_2/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionAllGroupsCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionAllGroupsCollector.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionAllGroupsCollector.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionAllGroupsCollector.java Sun Mar 16 19:39:10 2014
@@ -45,7 +45,7 @@ public class FunctionAllGroupsCollector 
 
   private final Map<?, ?> vsContext;
   private final ValueSource groupBy;
-  private final SortedSet<MutableValue> groups = new TreeSet<MutableValue>();
+  private final SortedSet<MutableValue> groups = new TreeSet<>();
 
   private FunctionValues.ValueFiller filler;
   private MutableValue mval;

Modified: lucene/dev/branches/lucene5376_2/lucene/grouping/src/test/org/apache/lucene/search/grouping/AllGroupHeadsCollectorTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/grouping/src/test/org/apache/lucene/search/grouping/AllGroupHeadsCollectorTest.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/grouping/src/test/org/apache/lucene/search/grouping/AllGroupHeadsCollectorTest.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/grouping/src/test/org/apache/lucene/search/grouping/AllGroupHeadsCollectorTest.java Sun Mar 16 19:39:10 2014
@@ -380,10 +380,7 @@ public class AllGroupHeadsCollectorTest 
             System.out.println("\n===================================================================================");
           }
 
-          assertEquals(expectedGroupHeads.length, actualGroupHeads.length);
-          for (int i = 0; i < expectedGroupHeads.length; i++) {
-            assertEquals(expectedGroupHeads[i], actualGroupHeads[i]);
-          }
+          assertArrayEquals(expectedGroupHeads, actualGroupHeads);
         }
       } finally {
         QueryUtils.purgeFieldCache(r);

Modified: lucene/dev/branches/lucene5376_2/lucene/grouping/src/test/org/apache/lucene/search/grouping/TestGrouping.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/grouping/src/test/org/apache/lucene/search/grouping/TestGrouping.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/grouping/src/test/org/apache/lucene/search/grouping/TestGrouping.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/grouping/src/test/org/apache/lucene/search/grouping/TestGrouping.java Sun Mar 16 19:39:10 2014
@@ -320,7 +320,7 @@ public class TestGrouping extends Lucene
         BytesRef groupValue = mvalGd.groupValue.exists() ? ((MutableValueStr) mvalGd.groupValue).value : null;
         groups.add(new GroupDocs<>(Float.NaN, mvalGd.maxScore, mvalGd.totalHits, mvalGd.scoreDocs, groupValue, mvalGd.groupSortValues));
       }
-      return new TopGroups<BytesRef>(mvalTopGroups.groupSort, mvalTopGroups.withinGroupSort, mvalTopGroups.totalHitCount, mvalTopGroups.totalGroupedHitCount, groups.toArray(new GroupDocs[groups.size()]), Float.NaN);
+      return new TopGroups<>(mvalTopGroups.groupSort, mvalTopGroups.withinGroupSort, mvalTopGroups.totalHitCount, mvalTopGroups.totalGroupedHitCount, groups.toArray(new GroupDocs[groups.size()]), Float.NaN);
     }
     fail();
     return null;

Modified: lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/Highlighter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/Highlighter.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/Highlighter.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/Highlighter.java Sun Mar 16 19:39:10 2014
@@ -156,7 +156,7 @@ public class Highlighter
     TextFragment[] frag =getBestTextFragments(tokenStream,text, true,maxNumFragments);
 
     //Get text
-    ArrayList<String> fragTexts = new ArrayList<String>();
+    ArrayList<String> fragTexts = new ArrayList<>();
     for (int i = 0; i < frag.length; i++)
     {
       if ((frag[i] != null) && (frag[i].getScore() > 0))
@@ -182,7 +182,7 @@ public class Highlighter
     int maxNumFragments)
     throws IOException, InvalidTokenOffsetsException
   {
-    ArrayList<TextFragment> docFrags = new ArrayList<TextFragment>();
+    ArrayList<TextFragment> docFrags = new ArrayList<>();
     StringBuilder newText=new StringBuilder();
 
     CharTermAttribute termAtt = tokenStream.addAttribute(CharTermAttribute.class);
@@ -327,7 +327,7 @@ public class Highlighter
       if(mergeContiguousFragments)
       {
         mergeContiguousFragments(frag);
-        ArrayList<TextFragment> fragTexts = new ArrayList<TextFragment>();
+        ArrayList<TextFragment> fragTexts = new ArrayList<>();
         for (int i = 0; i < frag.length; i++)
         {
           if ((frag[i] != null) && (frag[i].getScore() > 0))

Modified: lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/QueryScorer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/QueryScorer.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/QueryScorer.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/QueryScorer.java Sun Mar 16 19:39:10 2014
@@ -102,7 +102,7 @@ public class QueryScorer implements Scor
    * @param weightedTerms an array of pre-created {@link WeightedSpanTerm}s
    */
   public QueryScorer(WeightedSpanTerm[] weightedTerms) {
-    this.fieldWeightedSpanTerms = new HashMap<String,WeightedSpanTerm>(weightedTerms.length);
+    this.fieldWeightedSpanTerms = new HashMap<>(weightedTerms.length);
 
     for (int i = 0; i < weightedTerms.length; i++) {
       WeightedSpanTerm existingTerm = fieldWeightedSpanTerms.get(weightedTerms[i].term);
@@ -239,7 +239,7 @@ public class QueryScorer implements Scor
    */
   @Override
   public void startFragment(TextFragment newFragment) {
-    foundTerms = new HashSet<String>();
+    foundTerms = new HashSet<>();
     totalScore = 0;
   }
   

Modified: lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/QueryTermExtractor.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/QueryTermExtractor.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/QueryTermExtractor.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/QueryTermExtractor.java Sun Mar 16 19:39:10 2014
@@ -88,7 +88,7 @@ public final class QueryTermExtractor
    */
   public static final WeightedTerm[] getTerms(Query query, boolean prohibited, String fieldName)
   {
-    HashSet<WeightedTerm> terms=new HashSet<WeightedTerm>();
+    HashSet<WeightedTerm> terms=new HashSet<>();
     getTerms(query,terms,prohibited,fieldName);
     return terms.toArray(new WeightedTerm[0]);
   }
@@ -112,7 +112,7 @@ public final class QueryTermExtractor
       else if (query instanceof FilteredQuery)
         getTermsFromFilteredQuery((FilteredQuery) query, terms, prohibited, fieldName);
       else {
-        HashSet<Term> nonWeightedTerms = new HashSet<Term>();
+        HashSet<Term> nonWeightedTerms = new HashSet<>();
         query.extractTerms(nonWeightedTerms);
         for (Iterator<Term> iter = nonWeightedTerms.iterator(); iter.hasNext(); ) {
           Term term = iter.next();

Modified: lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/QueryTermScorer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/QueryTermScorer.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/QueryTermScorer.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/QueryTermScorer.java Sun Mar 16 19:39:10 2014
@@ -77,7 +77,7 @@ public class QueryTermScorer implements 
   }
 
   public QueryTermScorer(WeightedTerm[] weightedTerms) {
-    termsToFind = new HashMap<String,WeightedTerm>();
+    termsToFind = new HashMap<>();
     for (int i = 0; i < weightedTerms.length; i++) {
       WeightedTerm existingTerm = termsToFind
           .get(weightedTerms[i].term);
@@ -109,7 +109,7 @@ public class QueryTermScorer implements 
    */
   @Override
   public void startFragment(TextFragment newFragment) {
-    uniqueTermsInFragment = new HashSet<String>();
+    uniqueTermsInFragment = new HashSet<>();
     currentTextFragment = newFragment;
     totalScore = 0;
 

Modified: lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TokenSources.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TokenSources.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TokenSources.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TokenSources.java Sun Mar 16 19:39:10 2014
@@ -257,7 +257,7 @@ public class TokenSources {
           // tokens NOT stored with positions or not guaranteed contiguous - must
           // add to list and sort later
           if (unsortedTokens == null) {
-            unsortedTokens = new ArrayList<Token>();
+            unsortedTokens = new ArrayList<>();
           }
           unsortedTokens.add(token);
         }

Modified: lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TokenStreamFromTermPositionVector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TokenStreamFromTermPositionVector.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TokenStreamFromTermPositionVector.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TokenStreamFromTermPositionVector.java Sun Mar 16 19:39:10 2014
@@ -39,7 +39,7 @@ import org.apache.lucene.util.Collection
  */
 public final class TokenStreamFromTermPositionVector extends TokenStream {
 
-  private final List<Token> positionedTokens = new ArrayList<Token>();
+  private final List<Token> positionedTokens = new ArrayList<>();
 
   private Iterator<Token> tokensAtCurrentPosition;
 

Modified: lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTerm.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTerm.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTerm.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTerm.java Sun Mar 16 19:39:10 2014
@@ -28,11 +28,11 @@ import java.util.List;
  */
 public class WeightedSpanTerm extends WeightedTerm{
   boolean positionSensitive;
-  private List<PositionSpan> positionSpans = new ArrayList<PositionSpan>();
+  private List<PositionSpan> positionSpans = new ArrayList<>();
 
   public WeightedSpanTerm(float weight, String term) {
     super(weight, term);
-    this.positionSpans = new ArrayList<PositionSpan>();
+    this.positionSpans = new ArrayList<>();
   }
 
   public WeightedSpanTerm(float weight, String term, boolean positionSensitive) {

Modified: lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java Sun Mar 16 19:39:10 2014
@@ -175,7 +175,7 @@ public class WeightedSpanTermExtractor {
           final Term[] termArray = termArrays.get(i);
           List<SpanQuery> disjuncts = disjunctLists[positions[i]];
           if (disjuncts == null) {
-            disjuncts = (disjunctLists[positions[i]] = new ArrayList<SpanQuery>(termArray.length));
+            disjuncts = (disjunctLists[positions[i]] = new ArrayList<>(termArray.length));
             ++distinctPositions;
           }
           for (int j = 0; j < termArray.length; ++j) {
@@ -243,10 +243,10 @@ public class WeightedSpanTermExtractor {
     Set<String> fieldNames;
 
     if (fieldName == null) {
-      fieldNames = new HashSet<String>();
+      fieldNames = new HashSet<>();
       collectSpanQueryFields(spanQuery, fieldNames);
     } else {
-      fieldNames = new HashSet<String>(1);
+      fieldNames = new HashSet<>(1);
       fieldNames.add(fieldName);
     }
     // To support the use of the default field name
@@ -254,9 +254,9 @@ public class WeightedSpanTermExtractor {
       fieldNames.add(defaultField);
     }
     
-    Map<String, SpanQuery> queries = new HashMap<String, SpanQuery>();
+    Map<String, SpanQuery> queries = new HashMap<>();
  
-    Set<Term> nonWeightedTerms = new HashSet<Term>();
+    Set<Term> nonWeightedTerms = new HashSet<>();
     final boolean mustRewriteQuery = mustRewriteQuery(spanQuery);
     if (mustRewriteQuery) {
       for (final String field : fieldNames) {
@@ -268,7 +268,7 @@ public class WeightedSpanTermExtractor {
       spanQuery.extractTerms(nonWeightedTerms);
     }
 
-    List<PositionSpan> spanPositions = new ArrayList<PositionSpan>();
+    List<PositionSpan> spanPositions = new ArrayList<>();
 
     for (final String field : fieldNames) {
       final SpanQuery q;
@@ -278,8 +278,8 @@ public class WeightedSpanTermExtractor {
         q = spanQuery;
       }
       AtomicReaderContext context = getLeafContext();
-      Map<Term,TermContext> termContexts = new HashMap<Term,TermContext>();
-      TreeSet<Term> extractedTerms = new TreeSet<Term>();
+      Map<Term,TermContext> termContexts = new HashMap<>();
+      TreeSet<Term> extractedTerms = new TreeSet<>();
       q.extractTerms(extractedTerms);
       for (Term term : extractedTerms) {
         termContexts.put(term, TermContext.build(context, term));
@@ -328,7 +328,7 @@ public class WeightedSpanTermExtractor {
    * @throws IOException If there is a low-level I/O error
    */
   protected void extractWeightedTerms(Map<String,WeightedSpanTerm> terms, Query query) throws IOException {
-    Set<Term> nonWeightedTerms = new HashSet<Term>();
+    Set<Term> nonWeightedTerms = new HashSet<>();
     query.extractTerms(nonWeightedTerms);
 
     for (final Term queryTerm : nonWeightedTerms) {
@@ -468,7 +468,7 @@ public class WeightedSpanTermExtractor {
       this.fieldName = null;
     }
 
-    Map<String,WeightedSpanTerm> terms = new PositionCheckingMap<String>();
+    Map<String,WeightedSpanTerm> terms = new PositionCheckingMap<>();
     this.tokenStream = tokenStream;
     try {
       extract(query, terms);
@@ -505,7 +505,7 @@ public class WeightedSpanTermExtractor {
     }
     this.tokenStream = tokenStream;
 
-    Map<String,WeightedSpanTerm> terms = new PositionCheckingMap<String>();
+    Map<String,WeightedSpanTerm> terms = new PositionCheckingMap<>();
     extract(query, terms);
 
     int totalNumDocs = reader.maxDoc();

Modified: lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/PostingsHighlighter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/PostingsHighlighter.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/PostingsHighlighter.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/PostingsHighlighter.java Sun Mar 16 19:39:10 2014
@@ -299,7 +299,7 @@ public class PostingsHighlighter {
    *         {@link IndexOptions#DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS}
    */
   public Map<String,String[]> highlightFields(String fieldsIn[], Query query, IndexSearcher searcher, int docidsIn[], int maxPassagesIn[]) throws IOException {
-    Map<String,String[]> snippets = new HashMap<String,String[]>();
+    Map<String,String[]> snippets = new HashMap<>();
     for(Map.Entry<String,Object[]> ent : highlightFieldsAsObjects(fieldsIn, query, searcher, docidsIn, maxPassagesIn).entrySet()) {
       Object[] snippetObjects = ent.getValue();
       String[] snippetStrings = new String[snippetObjects.length];
@@ -346,7 +346,7 @@ public class PostingsHighlighter {
     }
     final IndexReader reader = searcher.getIndexReader();
     Query rewritten = rewrite(query);
-    SortedSet<Term> queryTerms = new TreeSet<Term>();
+    SortedSet<Term> queryTerms = new TreeSet<>();
     rewritten.extractTerms(queryTerms);
 
     IndexReaderContext readerContext = reader.getContext();
@@ -384,7 +384,7 @@ public class PostingsHighlighter {
     // pull stored data:
     String[][] contents = loadFieldValues(searcher, fields, docids, maxLength);
     
-    Map<String,Object[]> highlights = new HashMap<String,Object[]>();
+    Map<String,Object[]> highlights = new HashMap<>();
     for (int i = 0; i < fields.length; i++) {
       String field = fields[i];
       int numPassages = maxPassages[i];
@@ -454,7 +454,7 @@ public class PostingsHighlighter {
   }
     
   private Map<Integer,Object> highlightField(String field, String contents[], BreakIterator bi, BytesRef terms[], int[] docids, List<AtomicReaderContext> leaves, int maxPassages, Query query) throws IOException {  
-    Map<Integer,Object> highlights = new HashMap<Integer,Object>();
+    Map<Integer,Object> highlights = new HashMap<>();
     
     PassageFormatter fieldFormatter = getFormatter(field);
     if (fieldFormatter == null) {
@@ -539,7 +539,7 @@ public class PostingsHighlighter {
     if (scorer == null) {
       throw new NullPointerException("PassageScorer cannot be null");
     }
-    PriorityQueue<OffsetsEnum> pq = new PriorityQueue<OffsetsEnum>();
+    PriorityQueue<OffsetsEnum> pq = new PriorityQueue<>();
     float weights[] = new float[terms.length];
     // initialize postings
     for (int i = 0; i < terms.length; i++) {
@@ -574,7 +574,7 @@ public class PostingsHighlighter {
     
     pq.add(new OffsetsEnum(EMPTY, Integer.MAX_VALUE)); // a sentinel for termination
     
-    PriorityQueue<Passage> passageQueue = new PriorityQueue<Passage>(n, new Comparator<Passage>() {
+    PriorityQueue<Passage> passageQueue = new PriorityQueue<>(n, new Comparator<Passage>() {
       @Override
       public int compare(Passage left, Passage right) {
         if (left.score < right.score) {
@@ -678,7 +678,7 @@ public class PostingsHighlighter {
    *  to customize. */
   protected Passage[] getEmptyHighlight(String fieldName, BreakIterator bi, int maxPassages) {
     // BreakIterator should be un-next'd:
-    List<Passage> passages = new ArrayList<Passage>();
+    List<Passage> passages = new ArrayList<>();
     int pos = bi.current();
     assert pos == 0;
     while (passages.size() < maxPassages) {

Modified: lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BaseFragListBuilder.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BaseFragListBuilder.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BaseFragListBuilder.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BaseFragListBuilder.java Sun Mar 16 19:39:10 2014
@@ -50,8 +50,8 @@ public abstract class BaseFragListBuilde
     if( fragCharSize < minFragCharSize )
       throw new IllegalArgumentException( "fragCharSize(" + fragCharSize + ") is too small. It must be " + minFragCharSize + " or higher." );
     
-    List<WeightedPhraseInfo> wpil = new ArrayList<WeightedPhraseInfo>();
-    IteratorQueue<WeightedPhraseInfo> queue = new IteratorQueue<WeightedPhraseInfo>(fieldPhraseList.getPhraseList().iterator());
+    List<WeightedPhraseInfo> wpil = new ArrayList<>();
+    IteratorQueue<WeightedPhraseInfo> queue = new IteratorQueue<>(fieldPhraseList.getPhraseList().iterator());
     WeightedPhraseInfo phraseInfo = null;
     int startOffset = 0;
     while((phraseInfo = queue.top()) != null){

Modified: lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BaseFragmentsBuilder.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BaseFragmentsBuilder.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BaseFragmentsBuilder.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BaseFragmentsBuilder.java Sun Mar 16 19:39:10 2014
@@ -135,7 +135,7 @@ public abstract class BaseFragmentsBuild
 
     fragInfos = getWeightedFragInfoList(fragInfos);
     int limitFragments = maxNumFragments < fragInfos.size() ? maxNumFragments : fragInfos.size();
-    List<String> fragments = new ArrayList<String>( limitFragments );
+    List<String> fragments = new ArrayList<>( limitFragments );
 
     StringBuilder buffer = new StringBuilder();
     int[] nextValueIndex = { 0 };
@@ -148,7 +148,7 @@ public abstract class BaseFragmentsBuild
   
   protected Field[] getFields( IndexReader reader, int docId, final String fieldName) throws IOException {
     // according to javadoc, doc.getFields(fieldName) cannot be used with lazy loaded field???
-    final List<Field> fields = new ArrayList<Field>();
+    final List<Field> fields = new ArrayList<>();
     reader.document(docId, new StoredFieldVisitor() {
         
         @Override
@@ -215,7 +215,7 @@ public abstract class BaseFragmentsBuild
   }
 
   protected List<WeightedFragInfo> discreteMultiValueHighlighting(List<WeightedFragInfo> fragInfos, Field[] fields) {
-    Map<String, List<WeightedFragInfo>> fieldNameToFragInfos = new HashMap<String, List<WeightedFragInfo>>();
+    Map<String, List<WeightedFragInfo>> fieldNameToFragInfos = new HashMap<>();
     for (Field field : fields) {
       fieldNameToFragInfos.put(field.name(), new ArrayList<WeightedFragInfo>());
     }
@@ -257,12 +257,12 @@ public abstract class BaseFragmentsBuild
         }
 
 
-        List<SubInfo> subInfos = new ArrayList<SubInfo>();
+        List<SubInfo> subInfos = new ArrayList<>();
         Iterator<SubInfo> subInfoIterator = fragInfo.getSubInfos().iterator();
         float boost = 0.0f;  //  The boost of the new info will be the sum of the boosts of its SubInfos
         while (subInfoIterator.hasNext()) {
           SubInfo subInfo = subInfoIterator.next();
-          List<Toffs> toffsList = new ArrayList<Toffs>();
+          List<Toffs> toffsList = new ArrayList<>();
           Iterator<Toffs> toffsIterator = subInfo.getTermsOffsets().iterator();
           while (toffsIterator.hasNext()) {
             Toffs toffs = toffsIterator.next();
@@ -286,7 +286,7 @@ public abstract class BaseFragmentsBuild
       }
     }
 
-    List<WeightedFragInfo> result = new ArrayList<WeightedFragInfo>();
+    List<WeightedFragInfo> result = new ArrayList<>();
     for (List<WeightedFragInfo> weightedFragInfos : fieldNameToFragInfos.values()) {
       result.addAll(weightedFragInfos);
     }

Modified: lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldFragList.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldFragList.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldFragList.java (original)
+++ lucene/dev/branches/lucene5376_2/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldFragList.java Sun Mar 16 19:39:10 2014
@@ -29,7 +29,7 @@ import java.util.List;
  */
 public abstract class FieldFragList {
 
-  private List<WeightedFragInfo> fragInfos = new ArrayList<WeightedFragInfo>();
+  private List<WeightedFragInfo> fragInfos = new ArrayList<>();
 
   /**
    * a constructor.