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 [30/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/solr/core/src/java/org/apache/solr/store/blockcache/BlockDirectory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/BlockDirectory.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/BlockDirectory.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/BlockDirectory.java Sun Mar 16 19:39:10 2014
@@ -34,6 +34,9 @@ import org.apache.solr.store.hdfs.HdfsDi
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * @lucene.experimental
+ */
 public class BlockDirectory extends Directory {
   public static Logger LOG = LoggerFactory.getLogger(BlockDirectory.class);
   
@@ -82,11 +85,11 @@ public class BlockDirectory extends Dire
   private Directory directory;
   private int blockSize;
   private String dirName;
-  private Cache cache;
+  private final Cache cache;
   private Set<String> blockCacheFileTypes;
   private final boolean blockCacheReadEnabled;
   private final boolean blockCacheWriteEnabled;
-  
+
   public BlockDirectory(String dirName, Directory directory, Cache cache,
       Set<String> blockCacheFileTypes, boolean blockCacheReadEnabled,
       boolean blockCacheWriteEnabled) throws IOException {
@@ -265,6 +268,15 @@ public class BlockDirectory extends Dire
     return dirName + "/" + name;
   }
   
+  /**
+   * Expert: mostly for tests
+   * 
+   * @lucene.experimental
+   */
+  public Cache getCache() {
+    return cache;
+  }
+  
   @Override
   public void copy(Directory to, String src, String dest, IOContext context)
       throws IOException {
@@ -383,4 +395,13 @@ public class BlockDirectory extends Dire
     return directory;
   }
   
+  
+  public boolean isBlockCacheReadEnabled() {
+    return blockCacheReadEnabled;
+  }
+
+  public boolean isBlockCacheWriteEnabled() {
+    return blockCacheWriteEnabled;
+  }
+  
 }

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/BlockDirectoryCache.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/BlockDirectoryCache.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/BlockDirectoryCache.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/BlockDirectoryCache.java Sun Mar 16 19:39:10 2014
@@ -21,17 +21,31 @@ import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.atomic.AtomicInteger;
 
+/**
+ * @lucene.experimental
+ */
 public class BlockDirectoryCache implements Cache {
-  private BlockCache blockCache;
+  private final BlockCache blockCache;
   private AtomicInteger counter = new AtomicInteger();
-  private Map<String,Integer> names = new ConcurrentHashMap<String,Integer>();
+  private Map<String,Integer> names = new ConcurrentHashMap<>();
+  private String path;
   private Metrics metrics;
   
-  public BlockDirectoryCache(BlockCache blockCache, Metrics metrics) {
+  public BlockDirectoryCache(BlockCache blockCache, String path, Metrics metrics) {
     this.blockCache = blockCache;
+    this.path = path;
     this.metrics = metrics;
   }
   
+  /**
+   * Expert: mostly for tests
+   * 
+   * @lucene.experimental
+   */
+  public BlockCache getBlockCache() {
+    return blockCache;
+  }
+  
   @Override
   public void delete(String name) {
     names.remove(name);
@@ -46,6 +60,7 @@ public class BlockDirectoryCache impleme
       names.put(name, file);
     }
     BlockCacheKey blockCacheKey = new BlockCacheKey();
+    blockCacheKey.setPath(path);
     blockCacheKey.setBlock(blockId);
     blockCacheKey.setFile(file);
     blockCache.store(blockCacheKey, blockOffset, buffer, offset, length);
@@ -59,6 +74,7 @@ public class BlockDirectoryCache impleme
       return false;
     }
     BlockCacheKey blockCacheKey = new BlockCacheKey();
+    blockCacheKey.setPath(path);
     blockCacheKey.setBlock(blockId);
     blockCacheKey.setFile(file);
     boolean fetch = blockCache.fetch(blockCacheKey, b, blockOffset, off,

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/BlockLocks.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/BlockLocks.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/BlockLocks.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/BlockLocks.java Sun Mar 16 19:39:10 2014
@@ -21,6 +21,9 @@ import java.util.concurrent.atomic.Atomi
 
 import org.apache.lucene.util.LongBitSet;
 
+/**
+ * @lucene.experimental
+ */
 public class BlockLocks {
   
   private AtomicLongArray bits;

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/BufferStore.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/BufferStore.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/BufferStore.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/BufferStore.java Sun Mar 16 19:39:10 2014
@@ -22,7 +22,9 @@ import java.util.concurrent.BlockingQueu
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 
-
+/**
+ * @lucene.experimental
+ */
 public class BufferStore implements Store {
 
   private static final Store EMPTY = new Store() {
@@ -37,7 +39,7 @@ public class BufferStore implements Stor
     }
   };
 
-  private final static ConcurrentMap<Integer, BufferStore> bufferStores = new ConcurrentHashMap<Integer, BufferStore>();
+  private final static ConcurrentMap<Integer, BufferStore> bufferStores = new ConcurrentHashMap<>();
 
   private final BlockingQueue<byte[]> buffers;
 
@@ -64,7 +66,7 @@ public class BufferStore implements Stor
   }
 
   private static BlockingQueue<byte[]> setupBuffers(int bufferSize, int count) {
-    BlockingQueue<byte[]> queue = new ArrayBlockingQueue<byte[]>(count);
+    BlockingQueue<byte[]> queue = new ArrayBlockingQueue<>(count);
     for (int i = 0; i < count; i++) {
       queue.add(new byte[bufferSize]);
     }

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/Cache.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/Cache.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/Cache.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/Cache.java Sun Mar 16 19:39:10 2014
@@ -17,6 +17,9 @@ package org.apache.solr.store.blockcache
  * limitations under the License.
  */
 
+/**
+ * @lucene.experimental
+ */
 public interface Cache {
   
   /**

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/CachedIndexOutput.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/CachedIndexOutput.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/CachedIndexOutput.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/CachedIndexOutput.java Sun Mar 16 19:39:10 2014
@@ -21,10 +21,11 @@ import java.io.IOException;
 
 import org.apache.lucene.store.IndexOutput;
 
-/*
+/**
  * Cache the blocks as they are written. The cache file name is the name of
  * the file until the file is closed, at which point the cache is updated
  * to include the last modified date (which is unknown until that point).
+ * @lucene.experimental
  */
 public class CachedIndexOutput extends ReusedBufferedIndexOutput {
   private final BlockDirectory directory;

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/CustomBufferedIndexInput.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/CustomBufferedIndexInput.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/CustomBufferedIndexInput.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/CustomBufferedIndexInput.java Sun Mar 16 19:39:10 2014
@@ -23,6 +23,9 @@ import java.io.IOException;
 import org.apache.lucene.store.IndexInput;
 import org.apache.lucene.store.IndexOutput;
 
+/**
+ * @lucene.experimental
+ */
 public abstract class CustomBufferedIndexInput extends IndexInput {
   
   public static final int BUFFER_SIZE = 32768;

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/Metrics.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/Metrics.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/Metrics.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/Metrics.java Sun Mar 16 19:39:10 2014
@@ -29,6 +29,9 @@ import org.apache.hadoop.metrics.Metrics
 import org.apache.hadoop.metrics.Updater;
 import org.apache.hadoop.metrics.jvm.JvmMetrics;
 
+/**
+ * @lucene.experimental
+ */
 public class Metrics implements Updater {
   
   public static class MethodCall {
@@ -50,7 +53,7 @@ public class Metrics implements Updater 
   public AtomicLong shardBuffercacheAllocate8192 = new AtomicLong(0);
   public AtomicLong shardBuffercacheAllocateOther = new AtomicLong(0);
   public AtomicLong shardBuffercacheLost = new AtomicLong(0);
-  public Map<String,MethodCall> methodCalls = new ConcurrentHashMap<String, MethodCall>();
+  public Map<String,MethodCall> methodCalls = new ConcurrentHashMap<>();
   
   public AtomicLong tableCount = new AtomicLong(0);
   public AtomicLong rowCount = new AtomicLong(0);

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/ReusedBufferedIndexOutput.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/ReusedBufferedIndexOutput.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/ReusedBufferedIndexOutput.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/ReusedBufferedIndexOutput.java Sun Mar 16 19:39:10 2014
@@ -21,6 +21,9 @@ import java.io.IOException;
 
 import org.apache.lucene.store.IndexOutput;
 
+/**
+ * @lucene.experimental
+ */
 public abstract class ReusedBufferedIndexOutput extends IndexOutput {
   
   public static final int BUFFER_SIZE = 1024;

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/Store.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/Store.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/Store.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/blockcache/Store.java Sun Mar 16 19:39:10 2014
@@ -17,6 +17,9 @@ package org.apache.solr.store.blockcache
  * limitations under the License.
  */
 
+/**
+ * @lucene.experimental
+ */
 public interface Store {
 
   byte[] takeBuffer(int bufferSize);

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/hdfs/HdfsDirectory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/hdfs/HdfsDirectory.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/hdfs/HdfsDirectory.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/hdfs/HdfsDirectory.java Sun Mar 16 19:39:10 2014
@@ -163,7 +163,7 @@ public class HdfsDirectory extends BaseD
   @Override
   public String[] listAll() throws IOException {
     FileStatus[] listStatus = getFileSystem().listStatus(hdfsDirPath);
-    List<String> files = new ArrayList<String>();
+    List<String> files = new ArrayList<>();
     if (listStatus == null) {
       return new String[] {};
     }

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/hdfs/HdfsFileReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/hdfs/HdfsFileReader.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/hdfs/HdfsFileReader.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/hdfs/HdfsFileReader.java Sun Mar 16 19:39:10 2014
@@ -28,6 +28,9 @@ import org.apache.lucene.store.DataInput
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * @lucene.experimental
+ */
 public class HdfsFileReader extends DataInput {
   
   public static Logger LOG = LoggerFactory.getLogger(HdfsFileReader.class);

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/hdfs/HdfsFileWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/hdfs/HdfsFileWriter.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/hdfs/HdfsFileWriter.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/hdfs/HdfsFileWriter.java Sun Mar 16 19:39:10 2014
@@ -32,6 +32,9 @@ import org.apache.lucene.store.DataOutpu
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * @lucene.experimental
+ */
 public class HdfsFileWriter extends DataOutput implements Closeable {
   public static Logger LOG = LoggerFactory.getLogger(HdfsFileWriter.class);
   

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/hdfs/NullIndexOutput.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/hdfs/NullIndexOutput.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/hdfs/NullIndexOutput.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/store/hdfs/NullIndexOutput.java Sun Mar 16 19:39:10 2014
@@ -21,6 +21,9 @@ import java.io.IOException;
 
 import org.apache.lucene.store.IndexOutput;
 
+/**
+ * @lucene.experimental
+ */
 public class NullIndexOutput extends IndexOutput {
   
   private long pos;

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/AddUpdateCommand.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/AddUpdateCommand.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/AddUpdateCommand.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/AddUpdateCommand.java Sun Mar 16 19:39:10 2014
@@ -193,7 +193,7 @@ public class AddUpdateCommand extends Up
   }
 
   private List<SolrInputDocument> flatten(SolrInputDocument root) {
-    List<SolrInputDocument> unwrappedDocs = new ArrayList<SolrInputDocument>();
+    List<SolrInputDocument> unwrappedDocs = new ArrayList<>();
     recUnwrapp(unwrappedDocs, root);
     return unwrappedDocs;
   }

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java Sun Mar 16 19:39:10 2014
@@ -201,7 +201,7 @@ public class DirectUpdateHandler2 extend
           if (deletesAfter != null) {
             log.info("Reordered DBQs detected.  Update=" + cmd + " DBQs="
                 + deletesAfter);
-            List<Query> dbqList = new ArrayList<Query>(deletesAfter.size());
+            List<Query> dbqList = new ArrayList<>(deletesAfter.size());
             for (UpdateLog.DBQ dbq : deletesAfter) {
               try {
                 DeleteUpdateCommand tmpDel = new DeleteUpdateCommand(cmd.req);
@@ -493,7 +493,7 @@ public class DirectUpdateHandler2 extend
       log.info("start "+cmd);
       RefCounted<IndexWriter> iw = solrCoreState.getIndexWriter(core);
       try {
-        final Map<String,String> commitData = new HashMap<String,String>();
+        final Map<String,String> commitData = new HashMap<>();
         commitData.put(SolrIndexWriter.COMMIT_TIME_MSEC_KEY,
             String.valueOf(System.currentTimeMillis()));
         iw.get().setCommitData(commitData);
@@ -571,7 +571,7 @@ public class DirectUpdateHandler2 extend
           // SolrCore.verbose("writer.commit() start writer=",writer);
 
           if (writer.hasUncommittedChanges()) {
-            final Map<String,String> commitData = new HashMap<String,String>();
+            final Map<String,String> commitData = new HashMap<>();
             commitData.put(SolrIndexWriter.COMMIT_TIME_MSEC_KEY,
                 String.valueOf(System.currentTimeMillis()));
             writer.setCommitData(commitData);
@@ -759,7 +759,7 @@ public class DirectUpdateHandler2 extend
           }
 
           // todo: refactor this shared code (or figure out why a real CommitUpdateCommand can't be used)
-          final Map<String,String> commitData = new HashMap<String,String>();
+          final Map<String,String> commitData = new HashMap<>();
           commitData.put(SolrIndexWriter.COMMIT_TIME_MSEC_KEY, String.valueOf(System.currentTimeMillis()));
           writer.setCommitData(commitData);
           writer.commit();

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/HdfsTransactionLog.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/HdfsTransactionLog.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/HdfsTransactionLog.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/HdfsTransactionLog.java Sun Mar 16 19:39:10 2014
@@ -191,7 +191,7 @@ public class HdfsTransactionLog extends 
 
     synchronized (this) {
       globalStringList = (List<String>)header.get("strings");
-      globalStringMap = new HashMap<String, Integer>(globalStringList.size());
+      globalStringMap = new HashMap<>(globalStringList.size());
       for (int i=0; i<globalStringList.size(); i++) {
         globalStringMap.put( globalStringList.get(i), i+1);
       }

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/HdfsUpdateLog.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/HdfsUpdateLog.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/HdfsUpdateLog.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/HdfsUpdateLog.java Sun Mar 16 19:39:10 2014
@@ -329,7 +329,7 @@ public class HdfsUpdateLog extends Updat
         return name.getName().startsWith(prefix);
       }
     });
-    List<String> fileList = new ArrayList<String>(files.length);
+    List<String> fileList = new ArrayList<>(files.length);
     for (FileStatus file : files) {
       fileList.add(file.getPath().getName());
     }

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/MemOutputStream.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/MemOutputStream.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/MemOutputStream.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/MemOutputStream.java Sun Mar 16 19:39:10 2014
@@ -25,7 +25,7 @@ import java.util.List;
 
 /** @lucene.internal */
 public class MemOutputStream extends FastOutputStream {
-  public List<byte[]> buffers = new LinkedList<byte[]>();
+  public List<byte[]> buffers = new LinkedList<>();
   public MemOutputStream(byte[] tempBuffer) {
     super(null, tempBuffer, 0);
   }

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/PeerSync.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/PeerSync.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/PeerSync.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/PeerSync.java Sun Mar 16 19:39:10 2014
@@ -227,7 +227,7 @@ public class PeerSync  {
       }
 
       // let's merge the lists
-      List<Long> newList = new ArrayList<Long>(ourUpdates);
+      List<Long> newList = new ArrayList<>(ourUpdates);
       for (Long ver : startingVersions) {
         if (Math.abs(ver) < smallestNewUpdate) {
           newList.add(ver);
@@ -248,8 +248,8 @@ public class PeerSync  {
       }
     }
 
-    ourUpdateSet = new HashSet<Long>(ourUpdates);
-    requestedUpdateSet = new HashSet<Long>(ourUpdates);
+    ourUpdateSet = new HashSet<>(ourUpdates);
+    requestedUpdateSet = new HashSet<>(ourUpdates);
 
     for(;;) {
       ShardResponse srsp = shardHandler.takeCompletedOrError();
@@ -390,7 +390,7 @@ public class PeerSync  {
       return true;
     }
     
-    List<Long> toRequest = new ArrayList<Long>();
+    List<Long> toRequest = new ArrayList<>();
     for (Long otherVersion : otherVersions) {
       // stop when the entries get old enough that reorders may lead us to see updates we don't need
       if (!completeList && Math.abs(otherVersion) < ourLowThreshold) break;

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java Sun Mar 16 19:39:10 2014
@@ -47,8 +47,8 @@ public class SolrCmdDistributor {
   private int retryPause = 500;
   private int maxRetriesOnForward = MAX_RETRIES_ON_FORWARD;
   
-  private List<Error> allErrors = new ArrayList<Error>();
-  private List<Error> errors = new ArrayList<Error>();
+  private List<Error> allErrors = new ArrayList<>();
+  private List<Error> errors = new ArrayList<>();
   
   public static interface AbortCheck {
     public boolean abortCheck();
@@ -76,9 +76,9 @@ public class SolrCmdDistributor {
   private void doRetriesIfNeeded() {
     // NOTE: retries will be forwards to a single url
     
-    List<Error> errors = new ArrayList<Error>(this.errors);
+    List<Error> errors = new ArrayList<>(this.errors);
     errors.addAll(servers.getErrors());
-    List<Error> resubmitList = new ArrayList<Error>();
+    List<Error> resubmitList = new ArrayList<>();
 
     for (Error err : errors) {
       try {
@@ -266,7 +266,7 @@ public class SolrCmdDistributor {
 
   
   public static class Response {
-    public List<Error> errors = new ArrayList<Error>();
+    public List<Error> errors = new ArrayList<>();
   }
   
   public static class Error {

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/SolrIndexSplitter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/SolrIndexSplitter.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/SolrIndexSplitter.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/SolrIndexSplitter.java Sun Mar 16 19:39:10 2014
@@ -90,7 +90,7 @@ public class SolrIndexSplitter {
   public void split() throws IOException {
 
     List<AtomicReaderContext> leaves = searcher.getTopReaderContext().leaves();
-    List<FixedBitSet[]> segmentDocSets = new ArrayList<FixedBitSet[]>(leaves.size());
+    List<FixedBitSet[]> segmentDocSets = new ArrayList<>(leaves.size());
 
     log.info("SolrIndexSplitter: partitions=" + numPieces + " segments="+leaves.size());
 

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/StreamingSolrServers.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/StreamingSolrServers.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/StreamingSolrServers.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/StreamingSolrServers.java Sun Mar 16 19:39:10 2014
@@ -43,7 +43,7 @@ public class StreamingSolrServers {
   
   private HttpClient httpClient;
   
-  private Map<String,ConcurrentUpdateSolrServer> solrServers = new HashMap<String,ConcurrentUpdateSolrServer>();
+  private Map<String,ConcurrentUpdateSolrServer> solrServers = new HashMap<>();
   private List<Error> errors = Collections.synchronizedList(new ArrayList<Error>());
 
   private ExecutorService updateExecutor;
@@ -82,7 +82,7 @@ public class StreamingSolrServers {
       server.setParser(new BinaryResponseParser());
       server.setRequestWriter(new BinaryRequestWriter());
       server.setPollQueueTime(0);
-      Set<String> queryParams = new HashSet<String>(2);
+      Set<String> queryParams = new HashSet<>(2);
       queryParams.add(DistributedUpdateProcessor.DISTRIB_FROM);
       queryParams.add(DistributingUpdateProcessorFactory.DISTRIB_UPDATE_PARAM);
       server.setQueryParams(queryParams);

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/TransactionLog.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/TransactionLog.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/TransactionLog.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/TransactionLog.java Sun Mar 16 19:39:10 2014
@@ -77,8 +77,8 @@ public class TransactionLog {
   protected volatile boolean deleteOnClose = true;  // we can delete old tlogs since they are currently only used for real-time-get (and in the future, recovery)
 
   AtomicInteger refcount = new AtomicInteger(1);
-  Map<String,Integer> globalStringMap = new HashMap<String, Integer>();
-  List<String> globalStringList = new ArrayList<String>();
+  Map<String,Integer> globalStringMap = new HashMap<>();
+  List<String> globalStringList = new ArrayList<>();
 
   long snapshot_size;
   int snapshot_numRecords;
@@ -271,7 +271,7 @@ public class TransactionLog {
 
     synchronized (this) {
       globalStringList = (List<String>)header.get("strings");
-      globalStringMap = new HashMap<String, Integer>(globalStringList.size());
+      globalStringMap = new HashMap<>(globalStringList.size());
       for (int i=0; i<globalStringList.size(); i++) {
         globalStringMap.put( globalStringList.get(i), i+1);
       }
@@ -295,7 +295,7 @@ public class TransactionLog {
 
   Collection<String> getGlobalStrings() {
     synchronized (this) {
-      return new ArrayList<String>(globalStringList);
+      return new ArrayList<>(globalStringList);
     }
   }
 

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/UpdateHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/UpdateHandler.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/UpdateHandler.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/UpdateHandler.java Sun Mar 16 19:39:10 2014
@@ -49,9 +49,9 @@ public abstract class UpdateHandler impl
   protected final SchemaField idField;
   protected final FieldType idFieldType;
 
-  protected Vector<SolrEventListener> commitCallbacks = new Vector<SolrEventListener>();
-  protected Vector<SolrEventListener> softCommitCallbacks = new Vector<SolrEventListener>();
-  protected Vector<SolrEventListener> optimizeCallbacks = new Vector<SolrEventListener>();
+  protected Vector<SolrEventListener> commitCallbacks = new Vector<>();
+  protected Vector<SolrEventListener> softCommitCallbacks = new Vector<>();
+  protected Vector<SolrEventListener> optimizeCallbacks = new Vector<>();
 
   protected final UpdateLog ulog;
 

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/UpdateLog.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/UpdateLog.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/UpdateLog.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/UpdateLog.java Sun Mar 16 19:39:10 2014
@@ -128,11 +128,11 @@ public class UpdateLog implements Plugin
 
   protected TransactionLog tlog;
   protected TransactionLog prevTlog;
-  protected Deque<TransactionLog> logs = new LinkedList<TransactionLog>();  // list of recent logs, newest first
-  protected LinkedList<TransactionLog> newestLogsOnStartup = new LinkedList<TransactionLog>();
+  protected Deque<TransactionLog> logs = new LinkedList<>();  // list of recent logs, newest first
+  protected LinkedList<TransactionLog> newestLogsOnStartup = new LinkedList<>();
   protected int numOldRecords;  // number of records in the recent logs
 
-  protected Map<BytesRef,LogPtr> map = new HashMap<BytesRef, LogPtr>();
+  protected Map<BytesRef,LogPtr> map = new HashMap<>();
   protected Map<BytesRef,LogPtr> prevMap;  // used while committing/reopening is happening
   protected Map<BytesRef,LogPtr> prevMap2;  // used while committing/reopening is happening
   protected TransactionLog prevMapLog;  // the transaction log used to look up entries found in prevMap
@@ -160,7 +160,7 @@ public class UpdateLog implements Plugin
     }
   }
 
-  protected LinkedList<DBQ> deleteByQueries = new LinkedList<DBQ>();
+  protected LinkedList<DBQ> deleteByQueries = new LinkedList<>();
 
   protected String[] tlogFiles;
   protected File tlogDir;
@@ -566,7 +566,7 @@ public class UpdateLog implements Plugin
         return null;
       }
 
-      List<DBQ> dbqList = new ArrayList<DBQ>();
+      List<DBQ> dbqList = new ArrayList<>();
       for (DBQ dbq : deleteByQueries) {
         if (dbq.version <= version) break;
         dbqList.add(dbq);
@@ -582,7 +582,7 @@ public class UpdateLog implements Plugin
     prevMap = map;
     prevMapLog = tlog;
 
-    map = new HashMap<BytesRef, LogPtr>();
+    map = new HashMap<>();
   }
 
   private void clearOldMaps() {
@@ -656,7 +656,7 @@ public class UpdateLog implements Plugin
       // any added documents will make it into this commit or not.
       // But we do know that any updates already added will definitely
       // show up in the latest reader after the commit succeeds.
-      map = new HashMap<BytesRef, LogPtr>();
+      map = new HashMap<>();
 
       if (debug) {
         log.debug("TLOG: preSoftCommit: prevMap="+ System.identityHashCode(prevMap) + " new map=" + System.identityHashCode(map));
@@ -792,7 +792,7 @@ public class UpdateLog implements Plugin
   public Future<RecoveryInfo> recoverFromLog() {
     recoveryInfo = new RecoveryInfo();
 
-    List<TransactionLog> recoverLogs = new ArrayList<TransactionLog>(1);
+    List<TransactionLog> recoverLogs = new ArrayList<>(1);
     for (TransactionLog ll : newestLogsOnStartup) {
       if (!ll.try_incref()) continue;
 
@@ -812,7 +812,7 @@ public class UpdateLog implements Plugin
 
     if (recoverLogs.isEmpty()) return null;
 
-    ExecutorCompletionService<RecoveryInfo> cs = new ExecutorCompletionService<RecoveryInfo>(recoveryExecutor);
+    ExecutorCompletionService<RecoveryInfo> cs = new ExecutorCompletionService<>(recoveryExecutor);
     LogReplayer replayer = new LogReplayer(recoverLogs, false);
 
     versionInfo.blockUpdates();
@@ -925,7 +925,7 @@ public class UpdateLog implements Plugin
 
     /** Returns the list of deleteByQueries that happened after the given version */
     public List<Object> getDeleteByQuery(long afterVersion) {
-      List<Object> result = new ArrayList<Object>(deleteByQueryList.size());
+      List<Object> result = new ArrayList<>(deleteByQueryList.size());
       for (Update update : deleteByQueryList) {
         if (Math.abs(update.version) > afterVersion) {
           Object dbq = update.log.lookup(update.pointer);
@@ -942,13 +942,13 @@ public class UpdateLog implements Plugin
 
     private void update() {
       int numUpdates = 0;
-      updateList = new ArrayList<List<Update>>(logList.size());
-      deleteByQueryList = new ArrayList<Update>();
-      deleteList = new ArrayList<DeleteUpdate>();
-      updates = new HashMap<Long,Update>(numRecordsToKeep);
+      updateList = new ArrayList<>(logList.size());
+      deleteByQueryList = new ArrayList<>();
+      deleteList = new ArrayList<>();
+      updates = new HashMap<>(numRecordsToKeep);
 
       for (TransactionLog oldLog : logList) {
-        List<Update> updatesForLog = new ArrayList<Update>();
+        List<Update> updatesForLog = new ArrayList<>();
 
         TransactionLog.ReverseReader reader = null;
         try {
@@ -1030,7 +1030,7 @@ public class UpdateLog implements Plugin
   public RecentUpdates getRecentUpdates() {
     Deque<TransactionLog> logList;
     synchronized (this) {
-      logList = new LinkedList<TransactionLog>(logs);
+      logList = new LinkedList<>(logs);
       for (TransactionLog log : logList) {
         log.incref();
       }
@@ -1156,7 +1156,7 @@ public class UpdateLog implements Plugin
       tlog.decref();
       throw new RuntimeException("executor is not running...");
     }
-    ExecutorCompletionService<RecoveryInfo> cs = new ExecutorCompletionService<RecoveryInfo>(recoveryExecutor);
+    ExecutorCompletionService<RecoveryInfo> cs = new ExecutorCompletionService<>(recoveryExecutor);
     LogReplayer replayer = new LogReplayer(Arrays.asList(new TransactionLog[]{tlog}), true);
     return cs.submit(replayer, recoveryInfo);
   }
@@ -1188,7 +1188,7 @@ public class UpdateLog implements Plugin
     boolean debug = loglog.isDebugEnabled();
 
     public LogReplayer(List<TransactionLog> translogs, boolean activeLog) {
-      this.translogs = new LinkedList<TransactionLog>();
+      this.translogs = new LinkedList<>();
       this.translogs.addAll(translogs);
       this.activeLog = activeLog;
     }

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/UpdateShardHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/UpdateShardHandler.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/UpdateShardHandler.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/UpdateShardHandler.java Sun Mar 16 19:39:10 2014
@@ -23,6 +23,7 @@ import java.util.concurrent.Executors;
 import org.apache.http.client.HttpClient;
 import org.apache.http.conn.ClientConnectionManager;
 import org.apache.http.impl.conn.PoolingClientConnectionManager;
+import org.apache.http.impl.conn.SchemeRegistryFactory;
 import org.apache.solr.client.solrj.impl.HttpClientUtil;
 import org.apache.solr.common.SolrException;
 import org.apache.solr.common.params.ModifiableSolrParams;
@@ -45,7 +46,7 @@ public class UpdateShardHandler {
 
   public UpdateShardHandler(ConfigSolr cfg) {
     
-    clientConnectionManager = new PoolingClientConnectionManager();
+    clientConnectionManager = new PoolingClientConnectionManager(SchemeRegistryFactory.createSystemDefault());
     clientConnectionManager.setMaxTotal(cfg.getMaxUpdateConnections());
     clientConnectionManager.setDefaultMaxPerRoute(cfg.getMaxUpdateConnectionsPerHost());
     

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/AddSchemaFieldsUpdateProcessorFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/AddSchemaFieldsUpdateProcessorFactory.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/AddSchemaFieldsUpdateProcessorFactory.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/AddSchemaFieldsUpdateProcessorFactory.java Sun Mar 16 19:39:10 2014
@@ -126,7 +126,7 @@ public class AddSchemaFieldsUpdateProces
   
   private List<TypeMapping> typeMappings = Collections.emptyList();
   private SelectorParams inclusions = new SelectorParams();
-  private Collection<SelectorParams> exclusions = new ArrayList<SelectorParams>();
+  private Collection<SelectorParams> exclusions = new ArrayList<>();
   private FieldNameSelector selector = null;
   private String defaultFieldType;
 
@@ -191,7 +191,7 @@ public class AddSchemaFieldsUpdateProces
   }
 
   private static List<TypeMapping> parseTypeMappings(NamedList args) {
-    List<TypeMapping> typeMappings = new ArrayList<TypeMapping>();
+    List<TypeMapping> typeMappings = new ArrayList<>();
     List<Object> typeMappingsParams = args.getAll(TYPE_MAPPING_PARAM);
     for (Object typeMappingObj : typeMappingsParams) {
       if (null == typeMappingObj) {
@@ -262,7 +262,7 @@ public class AddSchemaFieldsUpdateProces
       if (null == schema.getFieldTypeByName(fieldTypeName)) {
         throw new SolrException(SERVER_ERROR, "fieldType '" + fieldTypeName + "' not found in the schema");
       }
-      valueClasses = new HashSet<Class<?>>();
+      valueClasses = new HashSet<>();
       for (String valueClassName : valueClassNames) {
         try {
           valueClasses.add(loader.loadClass(valueClassName));
@@ -289,7 +289,7 @@ public class AddSchemaFieldsUpdateProces
       final SolrCore core = cmd.getReq().getCore();
       for (;;) {
         final IndexSchema oldSchema = core.getLatestSchema();
-        List<SchemaField> newFields = new ArrayList<SchemaField>();
+        List<SchemaField> newFields = new ArrayList<>();
         for (final String fieldName : doc.getFieldNames()) {
           if (selector.shouldMutate(fieldName)) {
             String fieldTypeName = mapValueClassesToFieldType(doc.getField(fieldName));

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/AllValuesOrNoneFieldMutatingUpdateProcessor.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/AllValuesOrNoneFieldMutatingUpdateProcessor.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/AllValuesOrNoneFieldMutatingUpdateProcessor.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/AllValuesOrNoneFieldMutatingUpdateProcessor.java Sun Mar 16 19:39:10 2014
@@ -87,7 +87,7 @@ public abstract class AllValuesOrNoneFie
       if (DELETE_VALUE_SINGLETON == destVal) {
         if (log.isDebugEnabled()) {
           if (null == messages) {
-            messages = new ArrayList<String>();
+            messages = new ArrayList<>();
           }
           messages.add(String.format(Locale.ROOT, "removing value from field '%s': %s '%s'", 
                                      srcField.getName(), srcVal.getClass().getSimpleName(), srcVal));
@@ -95,7 +95,7 @@ public abstract class AllValuesOrNoneFie
       } else {
         if (log.isDebugEnabled()) {
           if (null == messages) {
-            messages = new ArrayList<String>();
+            messages = new ArrayList<>();
           }
           messages.add(String.format(Locale.ROOT, "replace value from field '%s': %s '%s' with %s '%s'", 
                                      srcField.getName(), srcVal.getClass().getSimpleName(), srcVal, 

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/CloneFieldUpdateProcessorFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/CloneFieldUpdateProcessorFactory.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/CloneFieldUpdateProcessorFactory.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/CloneFieldUpdateProcessorFactory.java Sun Mar 16 19:39:10 2014
@@ -108,7 +108,7 @@ public class CloneFieldUpdateProcessorFa
   
   private SelectorParams srcInclusions = new SelectorParams();
   private Collection<SelectorParams> srcExclusions 
-    = new ArrayList<SelectorParams>();
+    = new ArrayList<>();
 
   private FieldNameSelector srcSelector = null;
   private String dest = null;
@@ -175,8 +175,7 @@ public class CloneFieldUpdateProcessorFa
       }
     } else {
       // source better be one or more strings
-      srcInclusions.fieldName = new HashSet<String>
-        (args.removeConfigArgs("source"));
+      srcInclusions.fieldName = new HashSet<>(args.removeConfigArgs("source"));
     }
 
     

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java Sun Mar 16 19:39:10 2014
@@ -283,13 +283,13 @@ public class DistributedUpdateProcessor 
 
           if (replicaProps != null) {
             if (nodes == null)  {
-            nodes = new ArrayList<Node>(replicaProps.size());
+            nodes = new ArrayList<>(replicaProps.size());
             }
             // check for test param that lets us miss replicas
             String[] skipList = req.getParams().getParams(TEST_DISTRIB_SKIP_SERVERS);
             Set<String> skipListSet = null;
             if (skipList != null) {
-              skipListSet = new HashSet<String>(skipList.length);
+              skipListSet = new HashSet<>(skipList.length);
               skipListSet.addAll(Arrays.asList(skipList));
               log.info("test.distrib.skip.servers was found and contains:" + skipListSet);
             }
@@ -309,7 +309,7 @@ public class DistributedUpdateProcessor 
 
         } else {
           // I need to forward onto the leader...
-          nodes = new ArrayList<Node>(1);
+          nodes = new ArrayList<>(1);
           nodes.add(new RetryNode(new ZkCoreNodeProps(leaderReplica), zkController.getZkStateReader(), collection, shardId));
           forwardToLeader = true;
         }
@@ -373,7 +373,7 @@ public class DistributedUpdateProcessor 
           Replica sliceLeader = aslice.getLeader();
           // slice leader can be null because node/shard is created zk before leader election
           if (sliceLeader != null && zkController.getClusterState().liveNodesContain(sliceLeader.getNodeName()))  {
-            if (nodes == null) nodes = new ArrayList<Node>();
+            if (nodes == null) nodes = new ArrayList<>();
             ZkCoreNodeProps nodeProps = new ZkCoreNodeProps(sliceLeader);
             nodes.add(new StdNode(nodeProps));
           }
@@ -400,7 +400,7 @@ public class DistributedUpdateProcessor 
             Collection<Slice> activeSlices = cstate.getActiveSlices(targetCollectionName);
             if (activeSlices != null && !activeSlices.isEmpty()) {
               Slice any = activeSlices.iterator().next();
-              if (nodes == null) nodes = new ArrayList<Node>();
+              if (nodes == null) nodes = new ArrayList<>();
               nodes.add(new StdNode(new ZkCoreNodeProps(any.getLeader())));
             }
           }
@@ -411,13 +411,14 @@ public class DistributedUpdateProcessor 
         if (routeKey != null) {
           RoutingRule rule = routingRules.get(routeKey + "!");
           if (rule != null) {
+            // TODO: look at using nanoTime
             if (rule.getExpireAt() >= System.currentTimeMillis()) {
               List<DocRouter.Range> ranges = rule.getRouteRanges();
               if (ranges != null && !ranges.isEmpty()) {
                 int hash = compositeIdRouter.sliceHash(id, doc, null, coll);
                 for (DocRouter.Range range : ranges) {
                   if (range.includes(hash)) {
-                    if (nodes == null) nodes = new ArrayList<Node>();
+                    if (nodes == null) nodes = new ArrayList<>();
                     DocCollection targetColl = cstate.getCollection(rule.getTargetCollectionName());
                     Collection<Slice> activeSlices = targetColl.getRouter().getSearchSlicesSingle(id, null, targetColl);
                     if (activeSlices == null || activeSlices.isEmpty()) {
@@ -525,7 +526,7 @@ public class DistributedUpdateProcessor 
           .getReplicaProps(collection, shardId, leaderReplica.getName(),
               req.getCore().getName());
       if (replicaProps != null) {
-        nodes = new ArrayList<Node>(replicaProps.size());
+        nodes = new ArrayList<>(replicaProps.size());
         for (ZkCoreNodeProps props : replicaProps) {
           nodes.add(new StdNode(props));
         }
@@ -1099,7 +1100,7 @@ public class DistributedUpdateProcessor 
       if(route == null) route = params.get(ShardParams.SHARD_KEYS);// deprecated . kept for backcompat
       Collection<Slice> slices = coll.getRouter().getSearchSlices(route, params, coll);
 
-      List<Node> leaders =  new ArrayList<Node>(slices.size());
+      List<Node> leaders =  new ArrayList<>(slices.size());
       for (Slice slice : slices) {
         String sliceName = slice.getName();
         Replica leader;
@@ -1223,7 +1224,7 @@ public class DistributedUpdateProcessor 
               .getReplicaProps(collection, myShardId, leaderReplica.getName(),
                   req.getCore().getName(), null, ZkStateReader.DOWN);
           if (replicaProps != null) {
-            List<Node> myReplicas = new ArrayList<Node>();
+            List<Node> myReplicas = new ArrayList<>();
             for (ZkCoreNodeProps replicaProp : replicaProps) {
               myReplicas.add(new StdNode(replicaProp));
             }
@@ -1478,7 +1479,7 @@ public class DistributedUpdateProcessor 
   private List<Node> getCollectionUrls(SolrQueryRequest req, String collection) {
     ClusterState clusterState = req.getCore().getCoreDescriptor()
         .getCoreContainer().getZkController().getClusterState();
-    List<Node> urls = new ArrayList<Node>();
+    List<Node> urls = new ArrayList<>();
     Map<String,Slice> slices = clusterState.getSlicesMap(collection);
     if (slices == null) {
       throw new ZooKeeperException(ErrorCode.BAD_REQUEST,

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/FieldMutatingUpdateProcessor.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/FieldMutatingUpdateProcessor.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/FieldMutatingUpdateProcessor.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/FieldMutatingUpdateProcessor.java Sun Mar 16 19:39:10 2014
@@ -84,7 +84,7 @@ public abstract class FieldMutatingUpdat
 
     // make a copy we can iterate over while mutating the doc
     final Collection<String> fieldNames 
-      = new ArrayList<String>(doc.getFieldNames());
+      = new ArrayList<>(doc.getFieldNames());
 
     for (final String fname : fieldNames) {
 
@@ -217,7 +217,7 @@ public abstract class FieldMutatingUpdat
       this.core = core;
       this.params = params;
 
-      final Collection<Class> classes = new ArrayList<Class>(params.typeClass.size());
+      final Collection<Class> classes = new ArrayList<>(params.typeClass.size());
 
       for (String t : params.typeClass) {
         try {

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/FieldMutatingUpdateProcessorFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/FieldMutatingUpdateProcessorFactory.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/FieldMutatingUpdateProcessorFactory.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/FieldMutatingUpdateProcessorFactory.java Sun Mar 16 19:39:10 2014
@@ -125,7 +125,7 @@ public abstract class FieldMutatingUpdat
 
   private SelectorParams inclusions = new SelectorParams();
   private Collection<SelectorParams> exclusions 
-    = new ArrayList<SelectorParams>();
+    = new ArrayList<>();
 
   private FieldMutatingUpdateProcessor.FieldNameSelector selector = null;
   
@@ -139,13 +139,13 @@ public abstract class FieldMutatingUpdat
   public static SelectorParams parseSelectorParams(NamedList args) {
     SelectorParams params = new SelectorParams();
     
-    params.fieldName = new HashSet<String>(args.removeConfigArgs("fieldName"));
-    params.typeName = new HashSet<String>(args.removeConfigArgs("typeName"));
+    params.fieldName = new HashSet<>(args.removeConfigArgs("fieldName"));
+    params.typeName = new HashSet<>(args.removeConfigArgs("typeName"));
 
     // we can compile the patterns now
     Collection<String> patterns = args.removeConfigArgs("fieldRegex");
     if (! patterns.isEmpty()) {
-      params.fieldRegex = new ArrayList<Pattern>(patterns.size());
+      params.fieldRegex = new ArrayList<>(patterns.size());
       for (String s : patterns) {
         try {
           params.fieldRegex.add(Pattern.compile(s));
@@ -167,7 +167,7 @@ public abstract class FieldMutatingUpdat
   }
                                
   public static Collection<SelectorParams> parseSelectorExclusionParams(NamedList args) {
-    Collection<SelectorParams> exclusions = new ArrayList<SelectorParams>();
+    Collection<SelectorParams> exclusions = new ArrayList<>();
     List<Object> excList = args.getAll("exclude");
     for (Object excObj : excList) {
       if (null == excObj) {

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/LogUpdateProcessorFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/LogUpdateProcessorFactory.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/LogUpdateProcessorFactory.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/LogUpdateProcessorFactory.java Sun Mar 16 19:39:10 2014
@@ -89,7 +89,7 @@ class LogUpdateProcessor extends UpdateR
     // TODO: make log level configurable as well, or is that overkill?
     // (ryan) maybe?  I added it mostly to show that it *can* be configurable
 
-    this.toLog = new SimpleOrderedMap<Object>();
+    this.toLog = new SimpleOrderedMap<>();
   }
   
   @Override
@@ -101,7 +101,7 @@ class LogUpdateProcessor extends UpdateR
 
     // Add a list of added id's to the response
     if (adds == null) {
-      adds = new ArrayList<String>();
+      adds = new ArrayList<>();
       toLog.add("add",adds);
     }
 
@@ -122,7 +122,7 @@ class LogUpdateProcessor extends UpdateR
 
     if (cmd.isDeleteById()) {
       if (deletes == null) {
-        deletes = new ArrayList<String>();
+        deletes = new ArrayList<>();
         toLog.add("delete",deletes);
       }
       if (deletes.size() < maxNumToLog) {

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/ParseBooleanFieldUpdateProcessorFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/ParseBooleanFieldUpdateProcessorFactory.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/ParseBooleanFieldUpdateProcessorFactory.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/ParseBooleanFieldUpdateProcessorFactory.java Sun Mar 16 19:39:10 2014
@@ -72,8 +72,8 @@ public class ParseBooleanFieldUpdateProc
   private static final String FALSE_VALUES_PARAM = "falseValue";
   private static final String CASE_SENSITIVE_PARAM = "caseSensitive";
   
-  private Set<String> trueValues = new HashSet<String>(Arrays.asList(new String[] { "true" }));
-  private Set<String> falseValues = new HashSet<String>(Arrays.asList(new String[] { "false" }));
+  private Set<String> trueValues = new HashSet<>(Arrays.asList(new String[] { "true" }));
+  private Set<String> falseValues = new HashSet<>(Arrays.asList(new String[] { "false" }));
   private boolean caseSensitive = false;
 
   @Override

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/ParseDateFieldUpdateProcessorFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/ParseDateFieldUpdateProcessorFactory.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/ParseDateFieldUpdateProcessorFactory.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/ParseDateFieldUpdateProcessorFactory.java Sun Mar 16 19:39:10 2014
@@ -102,7 +102,7 @@ public class ParseDateFieldUpdateProcess
   private static final String DEFAULT_TIME_ZONE_PARAM = "defaultTimeZone";
   private static final String LOCALE_PARAM = "locale";
 
-  private Map<String,DateTimeFormatter> formats = new LinkedHashMap<String,DateTimeFormatter>();
+  private Map<String,DateTimeFormatter> formats = new LinkedHashMap<>();
 
   @Override
   public UpdateRequestProcessor getInstance(SolrQueryRequest req,

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/PreAnalyzedUpdateProcessorFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/PreAnalyzedUpdateProcessorFactory.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/PreAnalyzedUpdateProcessorFactory.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/PreAnalyzedUpdateProcessorFactory.java Sun Mar 16 19:39:10 2014
@@ -121,7 +121,7 @@ public class PreAnalyzedUpdateProcessorF
   public void inform(SolrCore core) {
     super.inform(core);
     parser = new PreAnalyzedField();
-    Map<String,String> args = new HashMap<String,String>();
+    Map<String,String> args = new HashMap<>();
     if (parserImpl != null) {
       args.put(PreAnalyzedField.PARSER_IMPL, parserImpl);
     }

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/RegexpBoostProcessor.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/RegexpBoostProcessor.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/RegexpBoostProcessor.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/RegexpBoostProcessor.java Sun Mar 16 19:39:10 2014
@@ -66,7 +66,7 @@ public class RegexpBoostProcessor extend
   private String inputFieldname = DEFAULT_INPUT_FIELDNAME;
   private String boostFieldname = DEFAULT_BOOST_FIELDNAME;
   private String boostFilename;
-  private List<BoostEntry> boostEntries = new ArrayList<BoostEntry>();
+  private List<BoostEntry> boostEntries = new ArrayList<>();
   private static final String BOOST_ENTRIES_CACHE_KEY = "boost-entries";
 
   RegexpBoostProcessor(SolrParams parameters,
@@ -119,7 +119,7 @@ public class RegexpBoostProcessor extend
   }
 
   private List<BoostEntry> initBoostEntries(InputStream is) throws IOException {
-    List<BoostEntry> newBoostEntries = new ArrayList<BoostEntry>();
+    List<BoostEntry> newBoostEntries = new ArrayList<>();
     
     BufferedReader reader = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));
     try {

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/RegexpBoostProcessorFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/RegexpBoostProcessorFactory.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/RegexpBoostProcessorFactory.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/RegexpBoostProcessorFactory.java Sun Mar 16 19:39:10 2014
@@ -33,7 +33,7 @@ import org.apache.solr.response.SolrQuer
 public class RegexpBoostProcessorFactory extends UpdateRequestProcessorFactory {
 
     private SolrParams params;
-    private final Map<Object, Object> sharedObjectCache = new HashMap<Object, Object>();
+    private final Map<Object, Object> sharedObjectCache = new HashMap<>();
 
     @Override
     public void init(@SuppressWarnings("rawtypes") final NamedList args) {

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/SignatureUpdateProcessorFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/SignatureUpdateProcessorFactory.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/SignatureUpdateProcessorFactory.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/SignatureUpdateProcessorFactory.java Sun Mar 16 19:39:10 2014
@@ -142,7 +142,7 @@ public class SignatureUpdateProcessorFac
                     "Can't use SignatureUpdateProcessor with partial updates on signature fields");
           }
           Collection<String> docFields = doc.getFieldNames();
-          currDocSigFields = new ArrayList<String>(docFields.size());
+          currDocSigFields = new ArrayList<>(docFields.size());
           currDocSigFields.addAll(docFields);
           Collections.sort(currDocSigFields);
         } else {

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/StatelessScriptUpdateProcessorFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/StatelessScriptUpdateProcessorFactory.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/StatelessScriptUpdateProcessorFactory.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/StatelessScriptUpdateProcessorFactory.java Sun Mar 16 19:39:10 2014
@@ -179,7 +179,7 @@ public class StatelessScriptUpdateProces
                               "StatelessScriptUpdateProcessorFactory must be " +
                               "initialized with at least one " + SCRIPT_ARG);
     }
-    scriptFiles = new ArrayList<ScriptFile>();
+    scriptFiles = new ArrayList<>();
     for (String script : scripts) {
       scriptFiles.add(new ScriptFile(script));
     }
@@ -251,7 +251,7 @@ public class StatelessScriptUpdateProces
                                        SolrQueryResponse rsp) 
     throws SolrException {
     
-    List<EngineInfo> scriptEngines = new ArrayList<EngineInfo>();
+    List<EngineInfo> scriptEngines = new ArrayList<>();
 
     ScriptEngineManager scriptEngineManager 
       = new ScriptEngineManager(resourceLoader.getClassLoader());
@@ -338,7 +338,7 @@ public class StatelessScriptUpdateProces
       List<ScriptEngineFactory> factories = mgr.getEngineFactories();
       if (null == factories) return result;
 
-      Set<String> engines = new LinkedHashSet<String>(factories.size());
+      Set<String> engines = new LinkedHashSet<>(factories.size());
       for (ScriptEngineFactory f : factories) {
         if (ext) {
           engines.addAll(f.getExtensions());

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/TextProfileSignature.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/TextProfileSignature.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/TextProfileSignature.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/TextProfileSignature.java Sun Mar 16 19:39:10 2014
@@ -65,7 +65,7 @@ public class TextProfileSignature extend
 
   @Override
   public void add(String content) {
-    HashMap<String, Token> tokens = new HashMap<String, Token>();
+    HashMap<String, Token> tokens = new HashMap<>();
 
     StringBuilder curToken = new StringBuilder();
     int maxFreq = 0;
@@ -105,7 +105,7 @@ public class TextProfileSignature extend
         maxFreq = tok.cnt;
     }
     Iterator<Token> it = tokens.values().iterator();
-    ArrayList<Token> profile = new ArrayList<Token>();
+    ArrayList<Token> profile = new ArrayList<>();
     // calculate the QUANT value
     int quant = Math.round(maxFreq * quantRate);
     if (quant < 2) {

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/UniqFieldsUpdateProcessorFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/UniqFieldsUpdateProcessorFactory.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/UniqFieldsUpdateProcessorFactory.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/update/processor/UniqFieldsUpdateProcessorFactory.java Sun Mar 16 19:39:10 2014
@@ -70,8 +70,8 @@ public class UniqFieldsUpdateProcessorFa
   @Override
   @SuppressWarnings("unchecked")
   public Collection pickSubset(Collection values) {
-    Set<Object> uniqs = new HashSet<Object>();
-    List<Object> result = new ArrayList<Object>(values.size());
+    Set<Object> uniqs = new HashSet<>();
+    List<Object> result = new ArrayList<>(values.size());
     for (Object o : values) {
       if (!uniqs.contains(o)) {
         uniqs.add(o);

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/ConcurrentLFUCache.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/ConcurrentLFUCache.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/ConcurrentLFUCache.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/ConcurrentLFUCache.java Sun Mar 16 19:39:10 2014
@@ -62,7 +62,7 @@ public class ConcurrentLFUCache<K, V> {
     if (upperWaterMark < 1) throw new IllegalArgumentException("upperWaterMark must be > 0");
     if (lowerWaterMark >= upperWaterMark)
       throw new IllegalArgumentException("lowerWaterMark must be  < upperWaterMark");
-    map = new ConcurrentHashMap<Object, CacheEntry<K, V>>(initialSize);
+    map = new ConcurrentHashMap<>(initialSize);
     newThreadForCleanup = runNewThreadForCleanup;
     this.upperWaterMark = upperWaterMark;
     this.lowerWaterMark = lowerWaterMark;
@@ -108,7 +108,7 @@ public class ConcurrentLFUCache<K, V> {
 
   public V put(K key, V val) {
     if (val == null) return null;
-    CacheEntry<K, V> e = new CacheEntry<K, V>(key, val, stats.accessCounter.incrementAndGet());
+    CacheEntry<K, V> e = new CacheEntry<>(key, val, stats.accessCounter.incrementAndGet());
     CacheEntry<K, V> oldCacheEntry = map.put(key, e);
     int currentSize;
     if (oldCacheEntry == null) {
@@ -171,7 +171,7 @@ public class ConcurrentLFUCache<K, V> {
 
       int wantToRemove = sz - lowerWaterMark;
 
-      TreeSet<CacheEntry> tree = new TreeSet<CacheEntry>();
+      TreeSet<CacheEntry> tree = new TreeSet<>();
 
       for (CacheEntry<K, V> ce : map.values()) {
         // set hitsCopy to avoid later Atomic reads
@@ -223,10 +223,10 @@ public class ConcurrentLFUCache<K, V> {
    * @return a LinkedHashMap containing 'n' or less than 'n' entries
    */
   public Map<K, V> getLeastUsedItems(int n) {
-    Map<K, V> result = new LinkedHashMap<K, V>();
+    Map<K, V> result = new LinkedHashMap<>();
     if (n <= 0)
       return result;
-    TreeSet<CacheEntry> tree = new TreeSet<CacheEntry>();
+    TreeSet<CacheEntry> tree = new TreeSet<>();
     // we need to grab the lock since we are changing the copy variables
     markAndSweepLock.lock();
     try {
@@ -267,10 +267,10 @@ public class ConcurrentLFUCache<K, V> {
    * @return a LinkedHashMap containing 'n' or less than 'n' entries
    */
   public Map<K, V> getMostUsedItems(int n) {
-    Map<K, V> result = new LinkedHashMap<K, V>();
+    Map<K, V> result = new LinkedHashMap<>();
     if (n <= 0)
       return result;
-    TreeSet<CacheEntry> tree = new TreeSet<CacheEntry>();
+    TreeSet<CacheEntry> tree = new TreeSet<>();
     // we need to grab the lock since we are changing the copy variables
     markAndSweepLock.lock();
     try {
@@ -427,7 +427,7 @@ public class ConcurrentLFUCache<K, V> {
     private boolean stop = false;
 
     public CleanupThread(ConcurrentLFUCache c) {
-      cache = new WeakReference<ConcurrentLFUCache>(c);
+      cache = new WeakReference<>(c);
     }
 
     @Override

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/ConcurrentLRUCache.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/ConcurrentLRUCache.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/ConcurrentLRUCache.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/ConcurrentLRUCache.java Sun Mar 16 19:39:10 2014
@@ -64,7 +64,7 @@ public class ConcurrentLRUCache<K,V> {
     if (upperWaterMark < 1) throw new IllegalArgumentException("upperWaterMark must be > 0");
     if (lowerWaterMark >= upperWaterMark)
       throw new IllegalArgumentException("lowerWaterMark must be  < upperWaterMark");
-    map = new ConcurrentHashMap<Object, CacheEntry<K,V>>(initialSize);
+    map = new ConcurrentHashMap<>(initialSize);
     newThreadForCleanup = runNewThreadForCleanup;
     this.upperWaterMark = upperWaterMark;
     this.lowerWaterMark = lowerWaterMark;
@@ -106,7 +106,7 @@ public class ConcurrentLRUCache<K,V> {
 
   public V put(K key, V val) {
     if (val == null) return null;
-    CacheEntry<K,V> e = new CacheEntry<K,V>(key, val, stats.accessCounter.incrementAndGet());
+    CacheEntry<K,V> e = new CacheEntry<>(key, val, stats.accessCounter.incrementAndGet());
     CacheEntry<K,V> oldCacheEntry = map.put(key, e);
     int currentSize;
     if (oldCacheEntry == null) {
@@ -284,7 +284,7 @@ public class ConcurrentLRUCache<K,V> {
         wantToKeep = lowerWaterMark - numKept;
         wantToRemove = sz - lowerWaterMark - numRemoved;
 
-        PQueue<K,V> queue = new PQueue<K,V>(wantToRemove);
+        PQueue<K,V> queue = new PQueue<>(wantToRemove);
 
         for (int i=eSize-1; i>=0; i--) {
           CacheEntry<K,V> ce = eset[i];
@@ -408,10 +408,10 @@ public class ConcurrentLRUCache<K,V> {
    * @return a LinkedHashMap containing 'n' or less than 'n' entries
    */
   public Map<K, V> getOldestAccessedItems(int n) {
-    Map<K, V> result = new LinkedHashMap<K, V>();
+    Map<K, V> result = new LinkedHashMap<>();
     if (n <= 0)
       return result;
-    TreeSet<CacheEntry<K,V>> tree = new TreeSet<CacheEntry<K,V>>();
+    TreeSet<CacheEntry<K,V>> tree = new TreeSet<>();
     markAndSweepLock.lock();
     try {
       for (Map.Entry<Object, CacheEntry<K,V>> entry : map.entrySet()) {
@@ -436,10 +436,10 @@ public class ConcurrentLRUCache<K,V> {
   }
 
   public Map<K,V> getLatestAccessedItems(int n) {
-    Map<K,V> result = new LinkedHashMap<K,V>();
+    Map<K,V> result = new LinkedHashMap<>();
     if (n <= 0)
       return result;
-    TreeSet<CacheEntry<K,V>> tree = new TreeSet<CacheEntry<K,V>>();
+    TreeSet<CacheEntry<K,V>> tree = new TreeSet<>();
     // we need to grab the lock since we are changing lastAccessedCopy
     markAndSweepLock.lock();
     try {
@@ -587,7 +587,7 @@ public class ConcurrentLRUCache<K,V> {
     private boolean stop = false;
 
     public CleanupThread(ConcurrentLRUCache c) {
-      cache = new WeakReference<ConcurrentLRUCache>(c);
+      cache = new WeakReference<>(c);
     }
 
     @Override

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/DOMUtil.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/DOMUtil.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/DOMUtil.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/DOMUtil.java Sun Mar 16 19:39:10 2014
@@ -38,7 +38,7 @@ public class DOMUtil {
   }
 
   public static Map<String,String> toMapExcept(NamedNodeMap attrs, String... exclusions) {
-    Map<String,String> args = new HashMap<String,String>();
+    Map<String,String> args = new HashMap<>();
     outer: for (int j=0; j<attrs.getLength(); j++) {
       Node attr = attrs.item(j);
 
@@ -101,7 +101,7 @@ public class DOMUtil {
   }
 
   public static NamedList<Object> nodesToNamedList(NodeList nlst) {
-    NamedList<Object> clst = new NamedList<Object>();
+    NamedList<Object> clst = new NamedList<>();
     for (int i=0; i<nlst.getLength(); i++) {
       addToNamedList(nlst.item(i), clst, null);
     }
@@ -307,8 +307,8 @@ public class DOMUtil {
       return value;
     }
 
-    List<String> fragments = new ArrayList<String>();
-    List<String> propertyRefs = new ArrayList<String>();
+    List<String> fragments = new ArrayList<>();
+    List<String> propertyRefs = new ArrayList<>();
     parsePropertyString(value, fragments, propertyRefs);
 
     StringBuilder sb = new StringBuilder();

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/DateMathParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/DateMathParser.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/DateMathParser.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/DateMathParser.java Sun Mar 16 19:39:10 2014
@@ -128,7 +128,7 @@ public class DateMathParser  {
     // we probably need to change "Locale loc" to default to something 
     // from a param via SolrRequestInfo as well.
     
-    Map<String,Integer> units = new HashMap<String,Integer>(13);
+    Map<String,Integer> units = new HashMap<>(13);
     units.put("YEAR",        Calendar.YEAR);
     units.put("YEARS",       Calendar.YEAR);
     units.put("MONTH",       Calendar.MONTH);

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/MapListener.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/MapListener.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/MapListener.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/MapListener.java Sun Mar 16 19:39:10 2014
@@ -33,7 +33,7 @@ public class MapListener<K, V> extends F
 
   public MapListener(Map<K, V> target) {
     this.target = target;
-    seenKeys = new HashSet<K>(target.size());
+    seenKeys = new HashSet<>(target.size());
   }
 
   public Set<K> getSeenKeys() {

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/PropertiesUtil.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/PropertiesUtil.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/PropertiesUtil.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/PropertiesUtil.java Sun Mar 16 19:39:10 2014
@@ -38,8 +38,8 @@ public class PropertiesUtil {
       return value;
     }
 
-    List<String> fragments = new ArrayList<String>();
-    List<String> propertyRefs = new ArrayList<String>();
+    List<String> fragments = new ArrayList<>();
+    List<String> propertyRefs = new ArrayList<>();
     parsePropertyString(value, fragments, propertyRefs);
 
     StringBuilder sb = new StringBuilder();

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/RTimer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/RTimer.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/RTimer.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/RTimer.java Sun Mar 16 19:39:10 2014
@@ -47,7 +47,7 @@ public class RTimer {
   public RTimer() {
     time = 0;
     culmTime = 0;
-    children = new SimpleOrderedMap<RTimer>();
+    children = new SimpleOrderedMap<>();
     startTime = now();
     state = STARTED;
   }
@@ -116,7 +116,7 @@ public class RTimer {
   }
 
   public NamedList asNamedList() {
-    NamedList<Object> m = new SimpleOrderedMap<Object>();
+    NamedList<Object> m = new SimpleOrderedMap<>();
     m.add( "time", time );
     if( children.size() > 0 ) {
       for( Map.Entry<String, RTimer> entry : children ) {

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/SimplePostTool.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/SimplePostTool.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/SimplePostTool.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/SimplePostTool.java Sun Mar 16 19:39:10 2014
@@ -108,10 +108,10 @@ public class SimplePostTool {
   static HashMap<String,String> mimeMap;
   GlobFileFilter globFileFilter;
   // Backlog for crawling
-  List<LinkedHashSet<URL>> backlog = new ArrayList<LinkedHashSet<URL>>();
-  Set<URL> visited = new HashSet<URL>();
+  List<LinkedHashSet<URL>> backlog = new ArrayList<>();
+  Set<URL> visited = new HashSet<>();
   
-  static final Set<String> DATA_MODES = new HashSet<String>();
+  static final Set<String> DATA_MODES = new HashSet<>();
   static final String USAGE_STRING_SHORT =
       "Usage: java [SystemProperties] -jar post.jar [-h|-] [<file|folder|url|arg> [<file|folder|url|arg>...]]";
 
@@ -125,7 +125,7 @@ public class SimplePostTool {
     DATA_MODES.add(DATA_MODE_STDIN);
     DATA_MODES.add(DATA_MODE_WEB);
     
-    mimeMap = new HashMap<String,String>();
+    mimeMap = new HashMap<>();
     mimeMap.put("xml", "text/xml");
     mimeMap.put("csv", "text/csv");
     mimeMap.put("json", "application/json");
@@ -344,8 +344,8 @@ public class SimplePostTool {
   private void reset() {
     fileTypes = DEFAULT_FILE_TYPES;
     globFileFilter = this.getFileFilterFromFileTypes(fileTypes);
-    backlog = new ArrayList<LinkedHashSet<URL>>();
-    visited = new HashSet<URL>();
+    backlog = new ArrayList<>();
+    visited = new HashSet<>();
   }
 
 
@@ -512,7 +512,7 @@ public class SimplePostTool {
    */
   public int postWebPages(String[] args, int startIndexInArgs, OutputStream out) {
     reset();
-    LinkedHashSet<URL> s = new LinkedHashSet<URL>();
+    LinkedHashSet<URL> s = new LinkedHashSet<>();
     for (int j = startIndexInArgs; j < args.length; j++) {
       try {
         URL u = new URL(normalizeUrlEnding(args[j]));
@@ -558,7 +558,7 @@ public class SimplePostTool {
     int rawStackSize = stack.size();
     stack.removeAll(visited);
     int stackSize = stack.size();
-    LinkedHashSet<URL> subStack = new LinkedHashSet<URL>();
+    LinkedHashSet<URL> subStack = new LinkedHashSet<>();
     info("Entering crawl at level "+level+" ("+rawStackSize+" links total, "+stackSize+" new)");
     for(URL u : stack) {
       try {
@@ -1016,7 +1016,7 @@ public class SimplePostTool {
     final String DISALLOW = "Disallow:";
     
     public PageFetcher() {
-      robotsCache = new HashMap<String,List<String>>();
+      robotsCache = new HashMap<>();
     }
     
     public PageFetcherResult readPageFromUrl(URL u) {
@@ -1074,7 +1074,7 @@ public class SimplePostTool {
       String strRobot = url.getProtocol() + "://" + host + "/robots.txt";
       List<String> disallows = robotsCache.get(host);
       if(disallows == null) {
-        disallows = new ArrayList<String>();
+        disallows = new ArrayList<>();
         URL urlRobot;
         try { 
           urlRobot = new URL(strRobot);
@@ -1104,7 +1104,7 @@ public class SimplePostTool {
      * @throws IOException if problems reading the stream
      */
     protected List<String> parseRobotsTxt(InputStream is) throws IOException {
-      List<String> disallows = new ArrayList<String>();
+      List<String> disallows = new ArrayList<>();
       BufferedReader r = new BufferedReader(new InputStreamReader(is, "UTF-8"));
       String l;
       while((l = r.readLine()) != null) {
@@ -1130,7 +1130,7 @@ public class SimplePostTool {
      * @return a set of URLs parsed from the page
      */
     protected Set<URL> getLinksFromWebPage(URL u, InputStream is, String type, URL postUrl) {
-      Set<URL> l = new HashSet<URL>();
+      Set<URL> l = new HashSet<>();
       URL url = null;
       try {
         ByteArrayOutputStream os = new ByteArrayOutputStream();

Modified: lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/SolrLogLayout.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/SolrLogLayout.java?rev=1578144&r1=1578143&r2=1578144&view=diff
==============================================================================
--- lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/SolrLogLayout.java (original)
+++ lucene/dev/branches/lucene5376_2/solr/core/src/java/org/apache/solr/util/SolrLogLayout.java Sun Mar 16 19:39:10 2014
@@ -44,7 +44,7 @@ public class SolrLogLayout extends Layou
   
   long startTime = System.currentTimeMillis();
   long lastTime = startTime;
-  Map<Method,String> methodAlias = new HashMap<Method,String>();
+  Map<Method,String> methodAlias = new HashMap<>();
   
   public static class Method {
     public String className;
@@ -81,9 +81,9 @@ public class SolrLogLayout extends Layou
     Map<String,Object> coreProps;
   }
   
-  Map<Integer,CoreInfo> coreInfoMap = new WeakHashMap<Integer,CoreInfo>();
+  Map<Integer,CoreInfo> coreInfoMap = new WeakHashMap<>();
   
-  public Map<String,String> classAliases = new HashMap<String,String>();
+  public Map<String,String> classAliases = new HashMap<>();
   
   public void appendThread(StringBuilder sb, LoggingEvent event) {
     Thread th = Thread.currentThread();