You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@avro.apache.org by ni...@apache.org on 2017/12/29 17:10:16 UTC

[06/19] avro git commit: AVRO-2117: Cleanup Java - Explicit types replaced with <>

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/mapred/src/test/java/org/apache/avro/mapreduce/TestKeyValueWordCount.java
----------------------------------------------------------------------
diff --git a/lang/java/mapred/src/test/java/org/apache/avro/mapreduce/TestKeyValueWordCount.java b/lang/java/mapred/src/test/java/org/apache/avro/mapreduce/TestKeyValueWordCount.java
index c684196..b2c251b 100644
--- a/lang/java/mapred/src/test/java/org/apache/avro/mapreduce/TestKeyValueWordCount.java
+++ b/lang/java/mapred/src/test/java/org/apache/avro/mapreduce/TestKeyValueWordCount.java
@@ -103,28 +103,28 @@ public class TestKeyValueWordCount {
 
     // Verify that the Avro container file generated had the right KeyValuePair generic records.
     File avroFile = new File(outputPath.toString(), "part-r-00000.avro");
-    DatumReader<GenericRecord> datumReader = new SpecificDatumReader<GenericRecord>(
+    DatumReader<GenericRecord> datumReader = new SpecificDatumReader<>(
         AvroKeyValue.getSchema(Schema.create(Schema.Type.STRING), Schema.create(Schema.Type.INT)));
     DataFileReader<GenericRecord> avroFileReader
-        = new DataFileReader<GenericRecord>(avroFile, datumReader);
+        = new DataFileReader<>(avroFile, datumReader);
 
     assertTrue(avroFileReader.hasNext());
     AvroKeyValue<CharSequence, Integer> appleRecord
-        = new AvroKeyValue<CharSequence, Integer>(avroFileReader.next());
+        = new AvroKeyValue<>(avroFileReader.next());
     assertNotNull(appleRecord.get());
     assertEquals("apple", appleRecord.getKey().toString());
     assertEquals(3, appleRecord.getValue().intValue());
 
     assertTrue(avroFileReader.hasNext());
     AvroKeyValue<CharSequence, Integer> bananaRecord
-        = new AvroKeyValue<CharSequence, Integer>(avroFileReader.next());
+        = new AvroKeyValue<>(avroFileReader.next());
     assertNotNull(bananaRecord.get());
     assertEquals("banana", bananaRecord.getKey().toString());
     assertEquals(2, bananaRecord.getValue().intValue());
 
     assertTrue(avroFileReader.hasNext());
     AvroKeyValue<CharSequence, Integer> carrotRecord
-        = new AvroKeyValue<CharSequence, Integer>(avroFileReader.next());
+        = new AvroKeyValue<>(avroFileReader.next());
     assertEquals("carrot", carrotRecord.getKey().toString());
     assertEquals(1, carrotRecord.getValue().intValue());
 

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/mapred/src/test/java/org/apache/avro/mapreduce/TestWordCount.java
----------------------------------------------------------------------
diff --git a/lang/java/mapred/src/test/java/org/apache/avro/mapreduce/TestWordCount.java b/lang/java/mapred/src/test/java/org/apache/avro/mapreduce/TestWordCount.java
index e0f190f..0398a98 100644
--- a/lang/java/mapred/src/test/java/org/apache/avro/mapreduce/TestWordCount.java
+++ b/lang/java/mapred/src/test/java/org/apache/avro/mapreduce/TestWordCount.java
@@ -140,7 +140,7 @@ public class TestWordCount {
       for (IntWritable count : counts) {
         sum += count.get();
       }
-      context.write(new AvroKey<CharSequence>(key.toString()), new AvroValue<Integer>(sum));
+      context.write(new AvroKey<>(key.toString()), new AvroValue<>(sum));
     }
   }
 
@@ -150,7 +150,7 @@ public class TestWordCount {
 
     @Override
     protected void setup(Context context) {
-      mStats = new AvroKey<GenericData.Record>(null);
+      mStats = new AvroKey<>(null);
     }
 
     @Override
@@ -174,7 +174,7 @@ public class TestWordCount {
 
     @Override
     protected void setup(Context context) {
-      mStats = new AvroKey<TextStats>(null);
+      mStats = new AvroKey<>(null);
     }
 
     @Override
@@ -197,7 +197,7 @@ public class TestWordCount {
 
     @Override
     protected void setup(Context context) {
-      mStats = new AvroKey<ReflectStats>(null);
+      mStats = new AvroKey<>(null);
     }
 
     @Override
@@ -258,10 +258,10 @@ public class TestWordCount {
     FileSystem fileSystem = FileSystem.get(job.getConfiguration());
     FileStatus[] outputFiles = fileSystem.globStatus(outputPath.suffix("/part-*"));
     Assert.assertEquals(1, outputFiles.length);
-    DataFileReader<GenericData.Record> reader = new DataFileReader<GenericData.Record>(
+    DataFileReader<GenericData.Record> reader = new DataFileReader<>(
         new FsInput(outputFiles[0].getPath(), job.getConfiguration()),
-        new GenericDatumReader<GenericData.Record>(STATS_SCHEMA));
-    Map<String, Integer> counts = new HashMap<String, Integer>();
+        new GenericDatumReader<>(STATS_SCHEMA));
+    Map<String, Integer> counts = new HashMap<>();
     for (GenericData.Record record : reader) {
       counts.put(((Utf8) record.get("name")).toString(), (Integer) record.get("count"));
     }
@@ -298,10 +298,10 @@ public class TestWordCount {
     FileSystem fileSystem = FileSystem.get(job.getConfiguration());
     FileStatus[] outputFiles = fileSystem.globStatus(outputPath.suffix("/part-*"));
     Assert.assertEquals(1, outputFiles.length);
-    DataFileReader<TextStats> reader = new DataFileReader<TextStats>(
+    DataFileReader<TextStats> reader = new DataFileReader<>(
         new FsInput(outputFiles[0].getPath(), job.getConfiguration()),
-        new SpecificDatumReader<TextStats>());
-    Map<String, Integer> counts = new HashMap<String, Integer>();
+        new SpecificDatumReader<>());
+    Map<String, Integer> counts = new HashMap<>();
     for (TextStats record : reader) {
       counts.put(record.name.toString(), record.count);
     }
@@ -338,10 +338,10 @@ public class TestWordCount {
     FileSystem fileSystem = FileSystem.get(job.getConfiguration());
     FileStatus[] outputFiles = fileSystem.globStatus(outputPath.suffix("/part-*"));
     Assert.assertEquals(1, outputFiles.length);
-    DataFileReader<ReflectStats> reader = new DataFileReader<ReflectStats>(
+    DataFileReader<ReflectStats> reader = new DataFileReader<>(
         new FsInput(outputFiles[0].getPath(), job.getConfiguration()),
-        new ReflectDatumReader<ReflectStats>());
-    Map<String, Integer> counts = new HashMap<String, Integer>();
+        new ReflectDatumReader<>());
+    Map<String, Integer> counts = new HashMap<>();
     for (ReflectStats record : reader) {
       counts.put(record.name.toString(), record.count);
     }
@@ -379,10 +379,10 @@ public class TestWordCount {
     FileSystem fileSystem = FileSystem.get(job.getConfiguration());
     FileStatus[] outputFiles = fileSystem.globStatus(outputPath.suffix("/part-*"));
     Assert.assertEquals(1, outputFiles.length);
-    DataFileReader<TextStats> reader = new DataFileReader<TextStats>(
+    DataFileReader<TextStats> reader = new DataFileReader<>(
         new FsInput(outputFiles[0].getPath(), job.getConfiguration()),
-        new SpecificDatumReader<TextStats>());
-    Map<String, Integer> counts = new HashMap<String, Integer>();
+        new SpecificDatumReader<>());
+    Map<String, Integer> counts = new HashMap<>();
     for (TextStats record : reader) {
       counts.put(record.name.toString(), record.count);
     }
@@ -419,10 +419,10 @@ public class TestWordCount {
     FileSystem fileSystem = FileSystem.get(job.getConfiguration());
     FileStatus[] outputFiles = fileSystem.globStatus(outputPath.suffix("/part-*"));
     Assert.assertEquals(1, outputFiles.length);
-    DataFileReader<ReflectStats> reader = new DataFileReader<ReflectStats>(
+    DataFileReader<ReflectStats> reader = new DataFileReader<>(
         new FsInput(outputFiles[0].getPath(), job.getConfiguration()),
-        new ReflectDatumReader<ReflectStats>());
-    Map<String, Integer> counts = new HashMap<String, Integer>();
+        new ReflectDatumReader<>());
+    Map<String, Integer> counts = new HashMap<>();
     for (ReflectStats record : reader) {
       counts.put(record.name.toString(), record.count);
     }
@@ -460,10 +460,10 @@ public class TestWordCount {
     FileSystem fileSystem = FileSystem.get(job.getConfiguration());
     FileStatus[] outputFiles = fileSystem.globStatus(outputPath.suffix("/part-*"));
     Assert.assertEquals(1, outputFiles.length);
-    DataFileReader<TextStats> reader = new DataFileReader<TextStats>(
+    DataFileReader<TextStats> reader = new DataFileReader<>(
         new FsInput(outputFiles[0].getPath(), job.getConfiguration()),
-        new SpecificDatumReader<TextStats>());
-    Map<String, Integer> counts = new HashMap<String, Integer>();
+        new SpecificDatumReader<>());
+    Map<String, Integer> counts = new HashMap<>();
     for (TextStats record : reader) {
       counts.put(record.name.toString(), record.count);
     }

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/maven-plugin/src/main/java/org/apache/avro/mojo/IDLProtocolMojo.java
----------------------------------------------------------------------
diff --git a/lang/java/maven-plugin/src/main/java/org/apache/avro/mojo/IDLProtocolMojo.java b/lang/java/maven-plugin/src/main/java/org/apache/avro/mojo/IDLProtocolMojo.java
index 3f61ac2..28f4fbd 100644
--- a/lang/java/maven-plugin/src/main/java/org/apache/avro/mojo/IDLProtocolMojo.java
+++ b/lang/java/maven-plugin/src/main/java/org/apache/avro/mojo/IDLProtocolMojo.java
@@ -67,7 +67,7 @@ public class IDLProtocolMojo extends AbstractAvroMojo {
       List runtimeClasspathElements = project.getRuntimeClasspathElements();
       Idl parser;
 
-      List<URL> runtimeUrls = new ArrayList<URL>();
+      List<URL> runtimeUrls = new ArrayList<>();
 
       // Add the source directory of avro files to the classpath so that
       // imports can refer to other idl files as classpath resources

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/protobuf/src/main/java/org/apache/avro/protobuf/ProtobufData.java
----------------------------------------------------------------------
diff --git a/lang/java/protobuf/src/main/java/org/apache/avro/protobuf/ProtobufData.java b/lang/java/protobuf/src/main/java/org/apache/avro/protobuf/ProtobufData.java
index fa8239b..159d9ea 100644
--- a/lang/java/protobuf/src/main/java/org/apache/avro/protobuf/ProtobufData.java
+++ b/lang/java/protobuf/src/main/java/org/apache/avro/protobuf/ProtobufData.java
@@ -111,7 +111,7 @@ public class ProtobufData extends GenericData {
   }
 
   private final Map<Descriptor,FieldDescriptor[]> fieldCache =
-    new ConcurrentHashMap<Descriptor,FieldDescriptor[]>();
+    new ConcurrentHashMap<>();
 
   @Override
   protected Object getRecordState(Object r, Schema s) {
@@ -162,7 +162,7 @@ public class ProtobufData extends GenericData {
   }
 
   private final Map<Class,Schema> schemaCache
-    = new ConcurrentHashMap<Class,Schema>();
+    = new ConcurrentHashMap<>();
 
   /** Return a record schema given a protobuf message class. */
   public Schema getSchema(Class c) {
@@ -186,7 +186,7 @@ public class ProtobufData extends GenericData {
   private static final ThreadLocal<Map<Descriptor,Schema>> SEEN
     = new ThreadLocal<Map<Descriptor,Schema>>() {
     protected Map<Descriptor,Schema> initialValue() {
-      return new IdentityHashMap<Descriptor,Schema>();
+      return new IdentityHashMap<>();
     }
   };
 
@@ -204,7 +204,7 @@ public class ProtobufData extends GenericData {
 
       seen.put(descriptor, result);
 
-      List<Field> fields = new ArrayList<Field>();
+      List<Field> fields = new ArrayList<>();
       for (FieldDescriptor f : descriptor.getFields())
         fields.add(new Field(f.getName(), getSchema(f), null, getDefault(f)));
       result.setFields(fields);
@@ -293,7 +293,7 @@ public class ProtobufData extends GenericData {
   }
 
   private Schema getSchema(EnumDescriptor d) {
-    List<String> symbols = new ArrayList<String>();
+    List<String> symbols = new ArrayList<>();
     for (EnumValueDescriptor e : d.getValues()) {
       symbols.add(e.getName());
     }

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/protobuf/src/test/java/org/apache/avro/protobuf/TestProtobuf.java
----------------------------------------------------------------------
diff --git a/lang/java/protobuf/src/test/java/org/apache/avro/protobuf/TestProtobuf.java b/lang/java/protobuf/src/test/java/org/apache/avro/protobuf/TestProtobuf.java
index f7d5436..07efeed 100644
--- a/lang/java/protobuf/src/test/java/org/apache/avro/protobuf/TestProtobuf.java
+++ b/lang/java/protobuf/src/test/java/org/apache/avro/protobuf/TestProtobuf.java
@@ -71,12 +71,12 @@ public class TestProtobuf {
     System.out.println(foo);
 
     ByteArrayOutputStream bao = new ByteArrayOutputStream();
-    ProtobufDatumWriter<Foo> w = new ProtobufDatumWriter<Foo>(Foo.class);
+    ProtobufDatumWriter<Foo> w = new ProtobufDatumWriter<>(Foo.class);
     Encoder e = EncoderFactory.get().binaryEncoder(bao, null);
     w.write(foo, e);
     e.flush();
 
-    Object o = new ProtobufDatumReader<Foo>(Foo.class).read
+    Object o = new ProtobufDatumReader<>(Foo.class).read
       (null,
        DecoderFactory.get().createBinaryDecoder
        (new ByteArrayInputStream(bao.toByteArray()), null));

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/thrift/src/main/java/org/apache/avro/thrift/ThriftData.java
----------------------------------------------------------------------
diff --git a/lang/java/thrift/src/main/java/org/apache/avro/thrift/ThriftData.java b/lang/java/thrift/src/main/java/org/apache/avro/thrift/ThriftData.java
index 16047ac..57a8162 100644
--- a/lang/java/thrift/src/main/java/org/apache/avro/thrift/ThriftData.java
+++ b/lang/java/thrift/src/main/java/org/apache/avro/thrift/ThriftData.java
@@ -95,7 +95,7 @@ public class ThriftData extends GenericData {
   }
 
   private final Map<Schema,TFieldIdEnum[]> fieldCache =
-    new ConcurrentHashMap<Schema,TFieldIdEnum[]>();
+    new ConcurrentHashMap<>();
 
   @Override
   @SuppressWarnings("unchecked")
@@ -170,7 +170,7 @@ public class ThriftData extends GenericData {
   }
 
   private final Map<Class,Schema> schemaCache
-    = new ConcurrentHashMap<Class,Schema>();
+    = new ConcurrentHashMap<>();
 
   /** Return a record schema given a thrift generated class. */
   @SuppressWarnings("unchecked")
@@ -180,14 +180,14 @@ public class ThriftData extends GenericData {
     if (schema == null) {                         // cache miss
       try {
         if (TEnum.class.isAssignableFrom(c)) {    // enum
-          List<String> symbols = new ArrayList<String>();
+          List<String> symbols = new ArrayList<>();
           for (Enum e : ((Class<? extends Enum>)c).getEnumConstants())
             symbols.add(e.name());
           schema = Schema.createEnum(c.getName(), null, null, symbols);
         } else if (TBase.class.isAssignableFrom(c)) { // struct
           schema = Schema.createRecord(c.getName(), null, null,
                                        Throwable.class.isAssignableFrom(c));
-          List<Field> fields = new ArrayList<Field>();
+          List<Field> fields = new ArrayList<>();
           for (FieldMetaData f :
                  FieldMetaData.getStructMetaDataMap((Class<? extends TBase>) c).values()) {
             Schema s = getSchema(f.valueMetaData);

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/thrift/src/test/java/org/apache/avro/thrift/TestThrift.java
----------------------------------------------------------------------
diff --git a/lang/java/thrift/src/test/java/org/apache/avro/thrift/TestThrift.java b/lang/java/thrift/src/test/java/org/apache/avro/thrift/TestThrift.java
index e7e618d..bfc91c9 100644
--- a/lang/java/thrift/src/test/java/org/apache/avro/thrift/TestThrift.java
+++ b/lang/java/thrift/src/test/java/org/apache/avro/thrift/TestThrift.java
@@ -80,12 +80,12 @@ public class TestThrift {
   private void check(Test test) throws Exception {
 
     ByteArrayOutputStream bao = new ByteArrayOutputStream();
-    ThriftDatumWriter<Test> w = new ThriftDatumWriter<Test>(Test.class);
+    ThriftDatumWriter<Test> w = new ThriftDatumWriter<>(Test.class);
     Encoder e = EncoderFactory.get().binaryEncoder(bao, null);
     w.write(test, e);
     e.flush();
 
-    Object o = new ThriftDatumReader<Test>(Test.class).read
+    Object o = new ThriftDatumReader<>(Test.class).read
       (null,
        DecoderFactory.get().createBinaryDecoder
        (new ByteArrayInputStream(bao.toByteArray()), null));

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/thrift/src/test/java/org/apache/avro/thrift/test/Error.java
----------------------------------------------------------------------
diff --git a/lang/java/thrift/src/test/java/org/apache/avro/thrift/test/Error.java b/lang/java/thrift/src/test/java/org/apache/avro/thrift/test/Error.java
index 1a23f0c..a832605 100644
--- a/lang/java/thrift/src/test/java/org/apache/avro/thrift/test/Error.java
+++ b/lang/java/thrift/src/test/java/org/apache/avro/thrift/test/Error.java
@@ -37,7 +37,7 @@ public class Error extends TException implements org.apache.thrift.TBase<Error,
 
   private static final org.apache.thrift.protocol.TField MESSAGE_FIELD_DESC = new org.apache.thrift.protocol.TField("message", org.apache.thrift.protocol.TType.STRING, (short)1);
 
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<>();
   static {
     schemes.put(StandardScheme.class, new ErrorStandardSchemeFactory());
     schemes.put(TupleScheme.class, new ErrorTupleSchemeFactory());
@@ -49,7 +49,7 @@ public class Error extends TException implements org.apache.thrift.TBase<Error,
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
     MESSAGE((short)1, "message");
 
-    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+    private static final Map<String, _Fields> byName = new HashMap<>();
 
     static {
       for (_Fields field : EnumSet.allOf(_Fields.class)) {
@@ -106,7 +106,7 @@ public class Error extends TException implements org.apache.thrift.TBase<Error,
   // isset id assignments
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
-    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<>(_Fields.class);
     tmpMap.put(_Fields.MESSAGE, new org.apache.thrift.meta_data.FieldMetaData("message", org.apache.thrift.TFieldRequirementType.DEFAULT,
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/thrift/src/test/java/org/apache/avro/thrift/test/Foo.java
----------------------------------------------------------------------
diff --git a/lang/java/thrift/src/test/java/org/apache/avro/thrift/test/Foo.java b/lang/java/thrift/src/test/java/org/apache/avro/thrift/test/Foo.java
index 68adeb5..281d7f4 100644
--- a/lang/java/thrift/src/test/java/org/apache/avro/thrift/test/Foo.java
+++ b/lang/java/thrift/src/test/java/org/apache/avro/thrift/test/Foo.java
@@ -243,7 +243,7 @@ public class Foo {
   public static class Processor<I extends Iface> extends org.apache.thrift.TBaseProcessor<I> implements org.apache.thrift.TProcessor {
     private static final Logger LOGGER = LoggerFactory.getLogger(Processor.class.getName());
     public Processor(I iface) {
-      super(iface, getProcessMap(new HashMap<String, org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>>()));
+      super(iface, getProcessMap(new HashMap<>()));
     }
 
     protected Processor(I iface, Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
@@ -322,7 +322,7 @@ public class Foo {
   public static class AsyncProcessor<I extends AsyncIface> extends org.apache.thrift.TBaseAsyncProcessor<I> {
     private static final Logger LOGGER = LoggerFactory.getLogger(AsyncProcessor.class.getName());
     public AsyncProcessor(I iface) {
-      super(iface, getProcessMap(new HashMap<String, org.apache.thrift.AsyncProcessFunction<I, ? extends org.apache.thrift.TBase, ?>>()));
+      super(iface, getProcessMap(new HashMap<>()));
     }
 
     protected AsyncProcessor(I iface, Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
@@ -472,7 +472,7 @@ public class Foo {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ping_args");
 
 
-    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<>();
     static {
       schemes.put(StandardScheme.class, new ping_argsStandardSchemeFactory());
       schemes.put(TupleScheme.class, new ping_argsTupleSchemeFactory());
@@ -483,7 +483,7 @@ public class Foo {
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
 ;
 
-      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+      private static final Map<String, _Fields> byName = new HashMap<>();
 
       static {
         for (_Fields field : EnumSet.allOf(_Fields.class)) {
@@ -536,7 +536,7 @@ public class Foo {
     }
     public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
-      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<>(_Fields.class);
       metaDataMap = Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ping_args.class, metaDataMap);
     }
@@ -716,7 +716,7 @@ public class Foo {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ping_result");
 
 
-    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<>();
     static {
       schemes.put(StandardScheme.class, new ping_resultStandardSchemeFactory());
       schemes.put(TupleScheme.class, new ping_resultTupleSchemeFactory());
@@ -727,7 +727,7 @@ public class Foo {
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
 ;
 
-      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+      private static final Map<String, _Fields> byName = new HashMap<>();
 
       static {
         for (_Fields field : EnumSet.allOf(_Fields.class)) {
@@ -780,7 +780,7 @@ public class Foo {
     }
     public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
-      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<>(_Fields.class);
       metaDataMap = Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ping_result.class, metaDataMap);
     }
@@ -962,7 +962,7 @@ public class Foo {
     private static final org.apache.thrift.protocol.TField NUM1_FIELD_DESC = new org.apache.thrift.protocol.TField("num1", org.apache.thrift.protocol.TType.I32, (short)1);
     private static final org.apache.thrift.protocol.TField NUM2_FIELD_DESC = new org.apache.thrift.protocol.TField("num2", org.apache.thrift.protocol.TType.I32, (short)2);
 
-    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<>();
     static {
       schemes.put(StandardScheme.class, new add_argsStandardSchemeFactory());
       schemes.put(TupleScheme.class, new add_argsTupleSchemeFactory());
@@ -976,7 +976,7 @@ public class Foo {
       NUM1((short)1, "num1"),
       NUM2((short)2, "num2");
 
-      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+      private static final Map<String, _Fields> byName = new HashMap<>();
 
       static {
         for (_Fields field : EnumSet.allOf(_Fields.class)) {
@@ -1038,7 +1038,7 @@ public class Foo {
     private byte __isset_bitfield = 0;
     public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
-      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<>(_Fields.class);
       tmpMap.put(_Fields.NUM1, new org.apache.thrift.meta_data.FieldMetaData("num1", org.apache.thrift.TFieldRequirementType.DEFAULT,
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
       tmpMap.put(_Fields.NUM2, new org.apache.thrift.meta_data.FieldMetaData("num2", org.apache.thrift.TFieldRequirementType.DEFAULT,
@@ -1403,7 +1403,7 @@ public class Foo {
 
     private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.I32, (short)0);
 
-    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<>();
     static {
       schemes.put(StandardScheme.class, new add_resultStandardSchemeFactory());
       schemes.put(TupleScheme.class, new add_resultTupleSchemeFactory());
@@ -1415,7 +1415,7 @@ public class Foo {
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       SUCCESS((short)0, "success");
 
-      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+      private static final Map<String, _Fields> byName = new HashMap<>();
 
       static {
         for (_Fields field : EnumSet.allOf(_Fields.class)) {
@@ -1474,7 +1474,7 @@ public class Foo {
     private byte __isset_bitfield = 0;
     public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
-      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<>(_Fields.class);
       tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT,
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
@@ -1753,7 +1753,7 @@ public class Foo {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("zip_args");
 
 
-    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<>();
     static {
       schemes.put(StandardScheme.class, new zip_argsStandardSchemeFactory());
       schemes.put(TupleScheme.class, new zip_argsTupleSchemeFactory());
@@ -1764,7 +1764,7 @@ public class Foo {
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
 ;
 
-      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+      private static final Map<String, _Fields> byName = new HashMap<>();
 
       static {
         for (_Fields field : EnumSet.allOf(_Fields.class)) {
@@ -1817,7 +1817,7 @@ public class Foo {
     }
     public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
-      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<>(_Fields.class);
       metaDataMap = Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(zip_args.class, metaDataMap);
     }

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/thrift/src/test/java/org/apache/avro/thrift/test/FooOrBar.java
----------------------------------------------------------------------
diff --git a/lang/java/thrift/src/test/java/org/apache/avro/thrift/test/FooOrBar.java b/lang/java/thrift/src/test/java/org/apache/avro/thrift/test/FooOrBar.java
index 7c56e6f..f326eb5 100644
--- a/lang/java/thrift/src/test/java/org/apache/avro/thrift/test/FooOrBar.java
+++ b/lang/java/thrift/src/test/java/org/apache/avro/thrift/test/FooOrBar.java
@@ -42,7 +42,7 @@ public class FooOrBar extends org.apache.thrift.TUnion<FooOrBar, FooOrBar._Field
     FOO((short)1, "foo"),
     BAR((short)2, "bar");
 
-    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+    private static final Map<String, _Fields> byName = new HashMap<>();
 
     static {
       for (_Fields field : EnumSet.allOf(_Fields.class)) {
@@ -100,7 +100,7 @@ public class FooOrBar extends org.apache.thrift.TUnion<FooOrBar, FooOrBar._Field
 
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
-    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<>(_Fields.class);
     tmpMap.put(_Fields.FOO, new org.apache.thrift.meta_data.FieldMetaData("foo", org.apache.thrift.TFieldRequirementType.DEFAULT,
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.BAR, new org.apache.thrift.meta_data.FieldMetaData("bar", org.apache.thrift.TFieldRequirementType.DEFAULT,

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/thrift/src/test/java/org/apache/avro/thrift/test/Nested.java
----------------------------------------------------------------------
diff --git a/lang/java/thrift/src/test/java/org/apache/avro/thrift/test/Nested.java b/lang/java/thrift/src/test/java/org/apache/avro/thrift/test/Nested.java
index fc10893..f2a2426 100644
--- a/lang/java/thrift/src/test/java/org/apache/avro/thrift/test/Nested.java
+++ b/lang/java/thrift/src/test/java/org/apache/avro/thrift/test/Nested.java
@@ -37,7 +37,7 @@ public class Nested implements org.apache.thrift.TBase<Nested, Nested._Fields>,
 
   private static final org.apache.thrift.protocol.TField X_FIELD_DESC = new org.apache.thrift.protocol.TField("x", org.apache.thrift.protocol.TType.I32, (short)1);
 
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<>();
   static {
     schemes.put(StandardScheme.class, new NestedStandardSchemeFactory());
     schemes.put(TupleScheme.class, new NestedTupleSchemeFactory());
@@ -49,7 +49,7 @@ public class Nested implements org.apache.thrift.TBase<Nested, Nested._Fields>,
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
     X((short)1, "x");
 
-    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+    private static final Map<String, _Fields> byName = new HashMap<>();
 
     static {
       for (_Fields field : EnumSet.allOf(_Fields.class)) {
@@ -108,7 +108,7 @@ public class Nested implements org.apache.thrift.TBase<Nested, Nested._Fields>,
   private byte __isset_bitfield = 0;
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
-    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<>(_Fields.class);
     tmpMap.put(_Fields.X, new org.apache.thrift.meta_data.FieldMetaData("x", org.apache.thrift.TFieldRequirementType.DEFAULT,
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/thrift/src/test/java/org/apache/avro/thrift/test/Test.java
----------------------------------------------------------------------
diff --git a/lang/java/thrift/src/test/java/org/apache/avro/thrift/test/Test.java b/lang/java/thrift/src/test/java/org/apache/avro/thrift/test/Test.java
index 2ee2efc..3ad2330 100644
--- a/lang/java/thrift/src/test/java/org/apache/avro/thrift/test/Test.java
+++ b/lang/java/thrift/src/test/java/org/apache/avro/thrift/test/Test.java
@@ -52,7 +52,7 @@ public class Test implements org.apache.thrift.TBase<Test, Test._Fields>, java.i
   private static final org.apache.thrift.protocol.TField STRUCT_FIELD_FIELD_DESC = new org.apache.thrift.protocol.TField("structField", org.apache.thrift.protocol.TType.STRUCT, (short)13);
   private static final org.apache.thrift.protocol.TField FOO_OR_BAR_FIELD_DESC = new org.apache.thrift.protocol.TField("fooOrBar", org.apache.thrift.protocol.TType.STRUCT, (short)14);
 
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<>();
   static {
     schemes.put(StandardScheme.class, new TestStandardSchemeFactory());
     schemes.put(TupleScheme.class, new TestTupleSchemeFactory());
@@ -98,7 +98,7 @@ public class Test implements org.apache.thrift.TBase<Test, Test._Fields>, java.i
     STRUCT_FIELD((short)13, "structField"),
     FOO_OR_BAR((short)14, "fooOrBar");
 
-    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+    private static final Map<String, _Fields> byName = new HashMap<>();
 
     static {
       for (_Fields field : EnumSet.allOf(_Fields.class)) {
@@ -195,7 +195,7 @@ public class Test implements org.apache.thrift.TBase<Test, Test._Fields>, java.i
   private _Fields optionals[] = {_Fields.BYTE_OPTIONAL_FIELD,_Fields.I16_OPTIONAL_FIELD,_Fields.I32_FIELD,_Fields.BINARY_FIELD};
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
-    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<>(_Fields.class);
     tmpMap.put(_Fields.BOOL_FIELD, new org.apache.thrift.meta_data.FieldMetaData("boolField", org.apache.thrift.TFieldRequirementType.DEFAULT,
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
     tmpMap.put(_Fields.BYTE_FIELD, new org.apache.thrift.meta_data.FieldMetaData("byteField", org.apache.thrift.TFieldRequirementType.DEFAULT,
@@ -294,15 +294,15 @@ public class Test implements org.apache.thrift.TBase<Test, Test._Fields>, java.i
 ;
     }
     if (other.isSetMapField()) {
-      Map<String,Integer> __this__mapField = new HashMap<String,Integer>(other.mapField);
+      Map<String,Integer> __this__mapField = new HashMap<>(other.mapField);
       this.mapField = __this__mapField;
     }
     if (other.isSetListField()) {
-      List<Integer> __this__listField = new ArrayList<Integer>(other.listField);
+      List<Integer> __this__listField = new ArrayList<>(other.listField);
       this.listField = __this__listField;
     }
     if (other.isSetSetField()) {
-      Set<Integer> __this__setField = new HashSet<Integer>(other.setField);
+      Set<Integer> __this__setField = new HashSet<>(other.setField);
       this.setField = __this__setField;
     }
     if (other.isSetEnumField()) {
@@ -585,7 +585,7 @@ public class Test implements org.apache.thrift.TBase<Test, Test._Fields>, java.i
 
   public void putToMapField(String key, int val) {
     if (this.mapField == null) {
-      this.mapField = new HashMap<String,Integer>();
+      this.mapField = new HashMap<>();
     }
     this.mapField.put(key, val);
   }
@@ -623,7 +623,7 @@ public class Test implements org.apache.thrift.TBase<Test, Test._Fields>, java.i
 
   public void addToListField(int elem) {
     if (this.listField == null) {
-      this.listField = new ArrayList<Integer>();
+      this.listField = new ArrayList<>();
     }
     this.listField.add(elem);
   }
@@ -661,7 +661,7 @@ public class Test implements org.apache.thrift.TBase<Test, Test._Fields>, java.i
 
   public void addToSetField(int elem) {
     if (this.setField == null) {
-      this.setField = new HashSet<Integer>();
+      this.setField = new HashSet<>();
     }
     this.setField.add(elem);
   }
@@ -1584,7 +1584,7 @@ public class Test implements org.apache.thrift.TBase<Test, Test._Fields>, java.i
             if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
               {
                 org.apache.thrift.protocol.TMap _map0 = iprot.readMapBegin();
-                struct.mapField = new HashMap<String,Integer>(2*_map0.size);
+                struct.mapField = new HashMap<>(2 * _map0.size);
                 for (int _i1 = 0; _i1 < _map0.size; ++_i1)
                 {
                   String _key2;
@@ -1604,7 +1604,7 @@ public class Test implements org.apache.thrift.TBase<Test, Test._Fields>, java.i
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
                 org.apache.thrift.protocol.TList _list4 = iprot.readListBegin();
-                struct.listField = new ArrayList<Integer>(_list4.size);
+                struct.listField = new ArrayList<>(_list4.size);
                 for (int _i5 = 0; _i5 < _list4.size; ++_i5)
                 {
                   int _elem6;
@@ -1622,7 +1622,7 @@ public class Test implements org.apache.thrift.TBase<Test, Test._Fields>, java.i
             if (schemeField.type == org.apache.thrift.protocol.TType.SET) {
               {
                 org.apache.thrift.protocol.TSet _set7 = iprot.readSetBegin();
-                struct.setField = new HashSet<Integer>(2*_set7.size);
+                struct.setField = new HashSet<>(2 * _set7.size);
                 for (int _i8 = 0; _i8 < _set7.size; ++_i8)
                 {
                   int _elem9;
@@ -1952,7 +1952,7 @@ public class Test implements org.apache.thrift.TBase<Test, Test._Fields>, java.i
       if (incoming.get(10)) {
         {
           org.apache.thrift.protocol.TMap _map16 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, iprot.readI32());
-          struct.mapField = new HashMap<String,Integer>(2*_map16.size);
+          struct.mapField = new HashMap<>(2 * _map16.size);
           for (int _i17 = 0; _i17 < _map16.size; ++_i17)
           {
             String _key18;
@@ -1967,7 +1967,7 @@ public class Test implements org.apache.thrift.TBase<Test, Test._Fields>, java.i
       if (incoming.get(11)) {
         {
           org.apache.thrift.protocol.TList _list20 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I32, iprot.readI32());
-          struct.listField = new ArrayList<Integer>(_list20.size);
+          struct.listField = new ArrayList<>(_list20.size);
           for (int _i21 = 0; _i21 < _list20.size; ++_i21)
           {
             int _elem22;
@@ -1980,7 +1980,7 @@ public class Test implements org.apache.thrift.TBase<Test, Test._Fields>, java.i
       if (incoming.get(12)) {
         {
           org.apache.thrift.protocol.TSet _set23 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.I32, iprot.readI32());
-          struct.setField = new HashSet<Integer>(2*_set23.size);
+          struct.setField = new HashSet<>(2 * _set23.size);
           for (int _i24 = 0; _i24 < _set23.size; ++_i24)
           {
             int _elem25;

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/tools/src/main/java/org/apache/avro/tool/BinaryFragmentToJsonTool.java
----------------------------------------------------------------------
diff --git a/lang/java/tools/src/main/java/org/apache/avro/tool/BinaryFragmentToJsonTool.java b/lang/java/tools/src/main/java/org/apache/avro/tool/BinaryFragmentToJsonTool.java
index 32e7999..4a0b4a1 100644
--- a/lang/java/tools/src/main/java/org/apache/avro/tool/BinaryFragmentToJsonTool.java
+++ b/lang/java/tools/src/main/java/org/apache/avro/tool/BinaryFragmentToJsonTool.java
@@ -72,10 +72,10 @@ public class BinaryFragmentToJsonTool implements Tool {
     InputStream input = Util.fileOrStdin(inputFile, stdin);
 
     try {
-      DatumReader<Object> reader = new GenericDatumReader<Object>(schema);
+      DatumReader<Object> reader = new GenericDatumReader<>(schema);
       BinaryDecoder binaryDecoder =
         DecoderFactory.get().binaryDecoder(input, null);
-      DatumWriter<Object> writer = new GenericDatumWriter<Object>(schema);
+      DatumWriter<Object> writer = new GenericDatumWriter<>(schema);
       JsonEncoder jsonEncoder = EncoderFactory.get().jsonEncoder(schema, out, !noPretty);
       Object datum = null;
       while (!binaryDecoder.isEnd()){

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/tools/src/main/java/org/apache/avro/tool/CatTool.java
----------------------------------------------------------------------
diff --git a/lang/java/tools/src/main/java/org/apache/avro/tool/CatTool.java b/lang/java/tools/src/main/java/org/apache/avro/tool/CatTool.java
index 162a6de..d194588 100644
--- a/lang/java/tools/src/main/java/org/apache/avro/tool/CatTool.java
+++ b/lang/java/tools/src/main/java/org/apache/avro/tool/CatTool.java
@@ -92,8 +92,8 @@ public class CatTool implements Tool {
     if (nargs.size() > 1 && !lastArg.equals("-")) {
       output = Util.createFromFS(lastArg);
     }
-    writer = new DataFileWriter<GenericRecord>(
-        new GenericDatumWriter<GenericRecord>());
+    writer = new DataFileWriter<>(
+        new GenericDatumWriter<>());
 
     String codecName = reader.getMetaString(DataFileConstants.CODEC);
     CodecFactory codec = (codecName == null)
@@ -144,7 +144,7 @@ public class CatTool implements Tool {
     currentInput++;
     Path path = inFiles.get(currentInput);
     FSDataInputStream input = new FSDataInputStream(Util.openFromFS(path));
-    reader = new DataFileStream<GenericRecord>(input, new GenericDatumReader<GenericRecord>());
+    reader = new DataFileStream<>(input, new GenericDatumReader<>());
     if (schema == null) {                            // if this is the first file, the schema gets saved
       schema = reader.getSchema();
     }

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/tools/src/main/java/org/apache/avro/tool/ConcatTool.java
----------------------------------------------------------------------
diff --git a/lang/java/tools/src/main/java/org/apache/avro/tool/ConcatTool.java b/lang/java/tools/src/main/java/org/apache/avro/tool/ConcatTool.java
index e782321..0c26199 100644
--- a/lang/java/tools/src/main/java/org/apache/avro/tool/ConcatTool.java
+++ b/lang/java/tools/src/main/java/org/apache/avro/tool/ConcatTool.java
@@ -62,16 +62,16 @@ public class ConcatTool implements Tool {
       args = args.subList(0, args.size() - 1);
     }
 
-    DataFileWriter<GenericRecord> writer = new DataFileWriter<GenericRecord>(
-      new GenericDatumWriter<GenericRecord>());
+    DataFileWriter<GenericRecord> writer = new DataFileWriter<>(
+      new GenericDatumWriter<>());
     Schema schema = null;
-    Map<String, byte[]> metadata = new TreeMap<String, byte[]>();
+    Map<String, byte[]> metadata = new TreeMap<>();
     String inputCodec = null;
 
     for (String inFile : expandsInputFiles(args)) {
       InputStream input = Util.fileOrStdin(inFile, in);
-      DataFileStream<GenericRecord> reader = new DataFileStream<GenericRecord>(
-        input, new GenericDatumReader<GenericRecord>());
+      DataFileStream<GenericRecord> reader = new DataFileStream<>(
+        input, new GenericDatumReader<>());
 
       if (schema == null) {
         // this is the first file - set up the writer, and store the
@@ -129,7 +129,7 @@ public class ConcatTool implements Tool {
 
   /** Processes a list of input files to expand directories if needed. */
   private static List<String> expandsInputFiles(List<String> args) throws IOException {
-    List<String> files = new ArrayList<String>();
+    List<String> files = new ArrayList<>();
 
     for (String arg : args) {
       if (arg.equals("-")) {

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/tools/src/main/java/org/apache/avro/tool/CreateRandomFileTool.java
----------------------------------------------------------------------
diff --git a/lang/java/tools/src/main/java/org/apache/avro/tool/CreateRandomFileTool.java b/lang/java/tools/src/main/java/org/apache/avro/tool/CreateRandomFileTool.java
index f9025cb..56ca746 100644
--- a/lang/java/tools/src/main/java/org/apache/avro/tool/CreateRandomFileTool.java
+++ b/lang/java/tools/src/main/java/org/apache/avro/tool/CreateRandomFileTool.java
@@ -82,7 +82,7 @@ public class CreateRandomFileTool implements Tool {
         : new Schema.Parser().parse(schemastr);
 
     DataFileWriter<Object> writer =
-      new DataFileWriter<Object>(new GenericDatumWriter<Object>());
+      new DataFileWriter<>(new GenericDatumWriter<>());
     writer.setCodec(Util.codecFactory(opts, codec, level));
     writer.create(schema, Util.fileOrStdout(args.get(0), out));
 

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/tools/src/main/java/org/apache/avro/tool/DataFileGetMetaTool.java
----------------------------------------------------------------------
diff --git a/lang/java/tools/src/main/java/org/apache/avro/tool/DataFileGetMetaTool.java b/lang/java/tools/src/main/java/org/apache/avro/tool/DataFileGetMetaTool.java
index 4711d8f..5bf7788 100644
--- a/lang/java/tools/src/main/java/org/apache/avro/tool/DataFileGetMetaTool.java
+++ b/lang/java/tools/src/main/java/org/apache/avro/tool/DataFileGetMetaTool.java
@@ -62,7 +62,7 @@ public class DataFileGetMetaTool implements Tool {
     }
     FsInput in = Util.openSeekableFromFS(args.get(0));
     DataFileReader<Void> reader =
-      new DataFileReader<Void>(in, new GenericDatumReader<Void>());
+      new DataFileReader<>(in, new GenericDatumReader<>());
     if (keyName != null) {
       byte[] value = reader.getMeta(keyName);
       if (value != null) {

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/tools/src/main/java/org/apache/avro/tool/DataFileGetSchemaTool.java
----------------------------------------------------------------------
diff --git a/lang/java/tools/src/main/java/org/apache/avro/tool/DataFileGetSchemaTool.java b/lang/java/tools/src/main/java/org/apache/avro/tool/DataFileGetSchemaTool.java
index 16ae67f..44b968a 100644
--- a/lang/java/tools/src/main/java/org/apache/avro/tool/DataFileGetSchemaTool.java
+++ b/lang/java/tools/src/main/java/org/apache/avro/tool/DataFileGetSchemaTool.java
@@ -45,8 +45,8 @@ public class DataFileGetSchemaTool implements Tool {
       return 1;
     }
     DataFileReader<Void> reader =
-      new DataFileReader<Void>(Util.openSeekableFromFS(args.get(0)),
-                               new GenericDatumReader<Void>());
+        new DataFileReader<>(Util.openSeekableFromFS(args.get(0)),
+                             new GenericDatumReader<>());
     out.println(reader.getSchema().toString(true));
     return 0;
   }

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/tools/src/main/java/org/apache/avro/tool/DataFileReadTool.java
----------------------------------------------------------------------
diff --git a/lang/java/tools/src/main/java/org/apache/avro/tool/DataFileReadTool.java b/lang/java/tools/src/main/java/org/apache/avro/tool/DataFileReadTool.java
index fcc89ca..e00c26f 100644
--- a/lang/java/tools/src/main/java/org/apache/avro/tool/DataFileReadTool.java
+++ b/lang/java/tools/src/main/java/org/apache/avro/tool/DataFileReadTool.java
@@ -67,11 +67,11 @@ public class DataFileReadTool implements Tool {
 
     BufferedInputStream inStream = Util.fileOrStdin(nargs.get(0), stdin);
 
-    GenericDatumReader<Object> reader = new GenericDatumReader<Object>();
-    DataFileStream<Object> streamReader = new DataFileStream<Object>(inStream, reader);
+    GenericDatumReader<Object> reader = new GenericDatumReader<>();
+    DataFileStream<Object> streamReader = new DataFileStream<>(inStream, reader);
     try {
       Schema schema = streamReader.getSchema();
-      DatumWriter<Object> writer = new GenericDatumWriter<Object>(schema);
+      DatumWriter<Object> writer = new GenericDatumWriter<>(schema);
       JsonEncoder encoder = EncoderFactory.get().jsonEncoder(schema, out, pretty);
       for (Object datum : streamReader)
         writer.write(datum, encoder);

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/tools/src/main/java/org/apache/avro/tool/DataFileRepairTool.java
----------------------------------------------------------------------
diff --git a/lang/java/tools/src/main/java/org/apache/avro/tool/DataFileRepairTool.java b/lang/java/tools/src/main/java/org/apache/avro/tool/DataFileRepairTool.java
index c3d31bc..887d4d4 100644
--- a/lang/java/tools/src/main/java/org/apache/avro/tool/DataFileRepairTool.java
+++ b/lang/java/tools/src/main/java/org/apache/avro/tool/DataFileRepairTool.java
@@ -66,7 +66,7 @@ public class DataFileRepairTool implements Tool {
         + "   using the report option.");
   }
 
-  private static final Set<String> OPTIONS = new HashSet<String>();
+  private static final Set<String> OPTIONS = new HashSet<>();
   private static final String ALL = "all";
   private static final String PRIOR = "prior";
   private static final String AFTER = "after";
@@ -125,8 +125,8 @@ public class DataFileRepairTool implements Tool {
       return 1;
     }
     out.println("Recovering file: " + input);
-    GenericDatumReader<Object> reader = new GenericDatumReader<Object>();
-    DataFileReader<Object> fileReader = new DataFileReader<Object>(infile,
+    GenericDatumReader<Object> reader = new GenericDatumReader<>();
+    DataFileReader<Object> fileReader = new DataFileReader<>(infile,
         reader);
     try {
       Schema schema = fileReader.getSchema();
@@ -134,8 +134,8 @@ public class DataFileRepairTool implements Tool {
       CodecFactory codecFactory = CodecFactory.fromString("" + codecStr);
       List<String> metas = fileReader.getMetaKeys();
       if (recoverPrior || recoverAfter) {
-        GenericDatumWriter<Object> writer = new GenericDatumWriter<Object>();
-        DataFileWriter<Object> fileWriter = new DataFileWriter<Object>(writer);
+        GenericDatumWriter<Object> writer = new GenericDatumWriter<>();
+        DataFileWriter<Object> fileWriter = new DataFileWriter<>(writer);
         try {
           File outfile = new File(output);
           for (String key : metas) {

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/tools/src/main/java/org/apache/avro/tool/DataFileWriteTool.java
----------------------------------------------------------------------
diff --git a/lang/java/tools/src/main/java/org/apache/avro/tool/DataFileWriteTool.java b/lang/java/tools/src/main/java/org/apache/avro/tool/DataFileWriteTool.java
index bce948e..cd1bff8 100644
--- a/lang/java/tools/src/main/java/org/apache/avro/tool/DataFileWriteTool.java
+++ b/lang/java/tools/src/main/java/org/apache/avro/tool/DataFileWriteTool.java
@@ -83,13 +83,13 @@ public class DataFileWriteTool implements Tool {
         ? Util.parseSchemaFromFS(schemafile)
         : new Schema.Parser().parse(schemastr);
 
-    DatumReader<Object> reader = new GenericDatumReader<Object>(schema);
+    DatumReader<Object> reader = new GenericDatumReader<>(schema);
 
     InputStream input = Util.fileOrStdin(nargs.get(0), stdin);
     try {
       DataInputStream din = new DataInputStream(input);
       DataFileWriter<Object> writer =
-        new DataFileWriter<Object>(new GenericDatumWriter<Object>());
+        new DataFileWriter<>(new GenericDatumWriter<>());
       writer.setCodec(Util.codecFactory(opts, codec, level, DataFileConstants.NULL_CODEC));
       writer.create(schema, out);
       Decoder decoder = DecoderFactory.get().jsonDecoder(schema, din);

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/tools/src/main/java/org/apache/avro/tool/FromTextTool.java
----------------------------------------------------------------------
diff --git a/lang/java/tools/src/main/java/org/apache/avro/tool/FromTextTool.java b/lang/java/tools/src/main/java/org/apache/avro/tool/FromTextTool.java
index 0026a24..bda04e7 100644
--- a/lang/java/tools/src/main/java/org/apache/avro/tool/FromTextTool.java
+++ b/lang/java/tools/src/main/java/org/apache/avro/tool/FromTextTool.java
@@ -75,7 +75,7 @@ public class FromTextTool implements Tool {
     BufferedOutputStream outStream = Util.fileOrStdout(nargs.get(1), out);
 
     DataFileWriter<ByteBuffer> writer =
-        new DataFileWriter<ByteBuffer>(new GenericDatumWriter<ByteBuffer>());
+        new DataFileWriter<>(new GenericDatumWriter<>());
     writer.setCodec(codecFactory);
     writer.create(Schema.parse(TEXT_FILE_SCHEMA), outStream);
 

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/tools/src/main/java/org/apache/avro/tool/JsonToBinaryFragmentTool.java
----------------------------------------------------------------------
diff --git a/lang/java/tools/src/main/java/org/apache/avro/tool/JsonToBinaryFragmentTool.java b/lang/java/tools/src/main/java/org/apache/avro/tool/JsonToBinaryFragmentTool.java
index 1232d2a..660c59d 100644
--- a/lang/java/tools/src/main/java/org/apache/avro/tool/JsonToBinaryFragmentTool.java
+++ b/lang/java/tools/src/main/java/org/apache/avro/tool/JsonToBinaryFragmentTool.java
@@ -69,12 +69,12 @@ public class JsonToBinaryFragmentTool implements Tool {
 
     try {
       GenericDatumReader<Object> reader =
-          new GenericDatumReader<Object>(schema);
+          new GenericDatumReader<>(schema);
 
       JsonDecoder jsonDecoder =
       DecoderFactory.get().jsonDecoder(schema, input);
       GenericDatumWriter<Object> writer =
-          new GenericDatumWriter<Object>(schema);
+          new GenericDatumWriter<>(schema);
       Encoder e = EncoderFactory.get().binaryEncoder(out, null);
       Object datum = null;
       while(true) {

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/tools/src/main/java/org/apache/avro/tool/Main.java
----------------------------------------------------------------------
diff --git a/lang/java/tools/src/main/java/org/apache/avro/tool/Main.java b/lang/java/tools/src/main/java/org/apache/avro/tool/Main.java
index aa689ec..9521ea5 100644
--- a/lang/java/tools/src/main/java/org/apache/avro/tool/Main.java
+++ b/lang/java/tools/src/main/java/org/apache/avro/tool/Main.java
@@ -35,7 +35,7 @@ public class Main {
   int maxLen = 0;
 
   Main() {
-    tools = new TreeMap<String, Tool>();
+    tools = new TreeMap<>();
     for (Tool tool : new Tool[] {
         new CatTool(),
         new SpecificCompilerTool(),

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/tools/src/main/java/org/apache/avro/tool/RecodecTool.java
----------------------------------------------------------------------
diff --git a/lang/java/tools/src/main/java/org/apache/avro/tool/RecodecTool.java b/lang/java/tools/src/main/java/org/apache/avro/tool/RecodecTool.java
index 13c38a3..177994b 100644
--- a/lang/java/tools/src/main/java/org/apache/avro/tool/RecodecTool.java
+++ b/lang/java/tools/src/main/java/org/apache/avro/tool/RecodecTool.java
@@ -65,11 +65,11 @@ public class RecodecTool implements Tool {
       outputNeedsClosing = true;
     }
 
-    DataFileStream<GenericRecord> reader = new DataFileStream<GenericRecord>(
-        input, new GenericDatumReader<GenericRecord>());
+    DataFileStream<GenericRecord> reader = new DataFileStream<>(
+        input, new GenericDatumReader<>());
     Schema schema = reader.getSchema();
-    DataFileWriter<GenericRecord> writer = new DataFileWriter<GenericRecord>(
-        new GenericDatumWriter<GenericRecord>());
+    DataFileWriter<GenericRecord> writer = new DataFileWriter<>(
+        new GenericDatumWriter<>());
     // unlike the other Avro tools, we default to a null codec, not deflate
     CodecFactory codec = Util.codecFactory(opts, codecOpt, levelOpt, DataFileConstants.NULL_CODEC);
     writer.setCodec(codec);

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/tools/src/main/java/org/apache/avro/tool/RpcProtocolTool.java
----------------------------------------------------------------------
diff --git a/lang/java/tools/src/main/java/org/apache/avro/tool/RpcProtocolTool.java b/lang/java/tools/src/main/java/org/apache/avro/tool/RpcProtocolTool.java
index 29d2a27..dbb97fa 100644
--- a/lang/java/tools/src/main/java/org/apache/avro/tool/RpcProtocolTool.java
+++ b/lang/java/tools/src/main/java/org/apache/avro/tool/RpcProtocolTool.java
@@ -74,10 +74,10 @@ public class RpcProtocolTool implements Tool {
           .setClientHash(new MD5(new byte[16]))
           .setServerHash(new MD5(new byte[16]))
           .setClientProtocol(null)
-          .setMeta(new LinkedHashMap<String, ByteBuffer>())
+          .setMeta(new LinkedHashMap<>())
           .build();
 
-      DatumWriter<HandshakeRequest> handshakeWriter = new SpecificDatumWriter<HandshakeRequest>(HandshakeRequest.class);
+      DatumWriter<HandshakeRequest> handshakeWriter = new SpecificDatumWriter<>(HandshakeRequest.class);
 
       ByteBufferOutputStream byteBufferOutputStream = new ByteBufferOutputStream();
 
@@ -93,7 +93,7 @@ public class RpcProtocolTool implements Tool {
       // parse the response
       ByteBufferInputStream byteBufferInputStream = new ByteBufferInputStream(response);
 
-      DatumReader<HandshakeResponse> handshakeReader = new SpecificDatumReader<HandshakeResponse>(HandshakeResponse.class);
+      DatumReader<HandshakeResponse> handshakeReader = new SpecificDatumReader<>(HandshakeResponse.class);
 
       HandshakeResponse handshakeResponse = handshakeReader.read(null, DecoderFactory.get().binaryDecoder(byteBufferInputStream, null));
 

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/tools/src/main/java/org/apache/avro/tool/RpcReceiveTool.java
----------------------------------------------------------------------
diff --git a/lang/java/tools/src/main/java/org/apache/avro/tool/RpcReceiveTool.java b/lang/java/tools/src/main/java/org/apache/avro/tool/RpcReceiveTool.java
index aebca55..86316e5 100644
--- a/lang/java/tools/src/main/java/org/apache/avro/tool/RpcReceiveTool.java
+++ b/lang/java/tools/src/main/java/org/apache/avro/tool/RpcReceiveTool.java
@@ -81,7 +81,7 @@ public class RpcReceiveTool implements Tool {
       try {
         JsonEncoder jsonEncoder = EncoderFactory.get().jsonEncoder(message.getRequest(),
             out);
-        GenericDatumWriter<Object> writer = new GenericDatumWriter<Object>(
+        GenericDatumWriter<Object> writer = new GenericDatumWriter<>(
             message.getRequest());
         writer.write(request, jsonEncoder);
         jsonEncoder.flush();

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/tools/src/main/java/org/apache/avro/tool/RpcSendTool.java
----------------------------------------------------------------------
diff --git a/lang/java/tools/src/main/java/org/apache/avro/tool/RpcSendTool.java b/lang/java/tools/src/main/java/org/apache/avro/tool/RpcSendTool.java
index 20a6801..a2c1300 100644
--- a/lang/java/tools/src/main/java/org/apache/avro/tool/RpcSendTool.java
+++ b/lang/java/tools/src/main/java/org/apache/avro/tool/RpcSendTool.java
@@ -105,7 +105,7 @@ public class RpcSendTool implements Tool {
 
   private void dumpJson(PrintStream out, Schema schema, Object datum)
   throws IOException {
-    DatumWriter<Object> writer = new GenericDatumWriter<Object>(schema);
+    DatumWriter<Object> writer = new GenericDatumWriter<>(schema);
     JsonGenerator g =
       new JsonFactory().createJsonGenerator(out, JsonEncoding.UTF8);
     g.useDefaultPrettyPrinter();

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/tools/src/main/java/org/apache/avro/tool/SpecificCompilerTool.java
----------------------------------------------------------------------
diff --git a/lang/java/tools/src/main/java/org/apache/avro/tool/SpecificCompilerTool.java b/lang/java/tools/src/main/java/org/apache/avro/tool/SpecificCompilerTool.java
index 2ba6616..94d4fef 100644
--- a/lang/java/tools/src/main/java/org/apache/avro/tool/SpecificCompilerTool.java
+++ b/lang/java/tools/src/main/java/org/apache/avro/tool/SpecificCompilerTool.java
@@ -79,7 +79,7 @@ public class SpecificCompilerTool implements Tool {
     }
 
     String method = args.get(arg);
-    List<File> inputs = new ArrayList<File>();
+    List<File> inputs = new ArrayList<>();
     File output = new File(args.get(args.size() - 1));
 
     for (int i = arg+1; i < args.size() - 1; i++) {
@@ -139,7 +139,7 @@ public class SpecificCompilerTool implements Tool {
    * @return Unique array of files
    */
   private static File[] determineInputs(List<File> inputs, FilenameFilter filter) {
-    Set<File> fileSet = new LinkedHashSet<File>(); // preserve order and uniqueness
+    Set<File> fileSet = new LinkedHashSet<>(); // preserve order and uniqueness
 
     for (File file : inputs) {
       // if directory, look at contents to see what files match extension

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/tools/src/main/java/org/apache/avro/tool/TetherTool.java
----------------------------------------------------------------------
diff --git a/lang/java/tools/src/main/java/org/apache/avro/tool/TetherTool.java b/lang/java/tools/src/main/java/org/apache/avro/tool/TetherTool.java
index 875bd47..1441604 100644
--- a/lang/java/tools/src/main/java/org/apache/avro/tool/TetherTool.java
+++ b/lang/java/tools/src/main/java/org/apache/avro/tool/TetherTool.java
@@ -142,7 +142,7 @@ public class TetherTool implements Tool {
 
       if (line.hasOption("exec_args")) {
         String[] splitargs = line.getOptionValue("exec_args").split(" ");
-        exargs = new ArrayList<String>();
+        exargs = new ArrayList<>();
         for (String item: splitargs){
           exargs.add(item);
         }

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/tools/src/main/java/org/apache/avro/tool/ToTextTool.java
----------------------------------------------------------------------
diff --git a/lang/java/tools/src/main/java/org/apache/avro/tool/ToTextTool.java b/lang/java/tools/src/main/java/org/apache/avro/tool/ToTextTool.java
index a36d54c..fa12da0 100644
--- a/lang/java/tools/src/main/java/org/apache/avro/tool/ToTextTool.java
+++ b/lang/java/tools/src/main/java/org/apache/avro/tool/ToTextTool.java
@@ -63,9 +63,9 @@ public class ToTextTool implements Tool {
     BufferedInputStream inStream = Util.fileOrStdin(args.get(0), stdin);
     BufferedOutputStream outStream = Util.fileOrStdout(args.get(1), out);
 
-    GenericDatumReader<Object> reader = new GenericDatumReader<Object>();
+    GenericDatumReader<Object> reader = new GenericDatumReader<>();
     DataFileStream<Object> fileReader =
-        new DataFileStream<Object>(inStream, reader);
+        new DataFileStream<>(inStream, reader);
 
     if (!fileReader.getSchema().equals(new Schema.Parser().parse(TEXT_FILE_SCHEMA))) {
       err.println("Avro file is not generic text schema");

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/tools/src/main/java/org/apache/avro/tool/ToTrevniTool.java
----------------------------------------------------------------------
diff --git a/lang/java/tools/src/main/java/org/apache/avro/tool/ToTrevniTool.java b/lang/java/tools/src/main/java/org/apache/avro/tool/ToTrevniTool.java
index ebd629c..699aa7f 100644
--- a/lang/java/tools/src/main/java/org/apache/avro/tool/ToTrevniTool.java
+++ b/lang/java/tools/src/main/java/org/apache/avro/tool/ToTrevniTool.java
@@ -65,12 +65,12 @@ public class ToTrevniTool implements Tool {
     args = (List<String>)opts.nonOptionArguments();
 
     DataFileStream<Object> reader =
-      new DataFileStream(Util.fileOrStdin(args.get(0), stdin),
-                         new GenericDatumReader<Object>());
+        new DataFileStream(Util.fileOrStdin(args.get(0), stdin),
+                           new GenericDatumReader<>());
     OutputStream outs = Util.fileOrStdout(args.get(1), out);
     AvroColumnWriter<Object> writer =
-      new AvroColumnWriter<Object>(reader.getSchema(),
-                                   new ColumnFileMetaData()
+        new AvroColumnWriter<>(reader.getSchema(),
+                               new ColumnFileMetaData()
                                    .setCodec(codec.value(opts)));
     for (Object datum : reader)
       writer.write(datum);

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/tools/src/main/java/org/apache/avro/tool/TrevniCreateRandomTool.java
----------------------------------------------------------------------
diff --git a/lang/java/tools/src/main/java/org/apache/avro/tool/TrevniCreateRandomTool.java b/lang/java/tools/src/main/java/org/apache/avro/tool/TrevniCreateRandomTool.java
index 961701c..fe5456c 100644
--- a/lang/java/tools/src/main/java/org/apache/avro/tool/TrevniCreateRandomTool.java
+++ b/lang/java/tools/src/main/java/org/apache/avro/tool/TrevniCreateRandomTool.java
@@ -55,7 +55,7 @@ public class TrevniCreateRandomTool implements Tool {
     Schema schema = Schema.parse(schemaFile);
 
     AvroColumnWriter<Object> writer =
-      new AvroColumnWriter<Object>(schema, new ColumnFileMetaData());
+      new AvroColumnWriter<>(schema, new ColumnFileMetaData());
 
     for (Object datum : new RandomData(schema, count))
       writer.write(datum);

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/tools/src/main/java/org/apache/avro/tool/Util.java
----------------------------------------------------------------------
diff --git a/lang/java/tools/src/main/java/org/apache/avro/tool/Util.java b/lang/java/tools/src/main/java/org/apache/avro/tool/Util.java
index 9f1cae1..53a9f56 100644
--- a/lang/java/tools/src/main/java/org/apache/avro/tool/Util.java
+++ b/lang/java/tools/src/main/java/org/apache/avro/tool/Util.java
@@ -182,7 +182,7 @@ class Util {
    * @throws IOException
    */
   static List<Path> getFiles(String fileOrDirName) throws IOException {
-    List<Path> pathList = new ArrayList<Path>();
+    List<Path> pathList = new ArrayList<>();
     Path path = new Path(fileOrDirName);
     FileSystem fs = path.getFileSystem(new Configuration());
 
@@ -219,7 +219,7 @@ class Util {
    */
   static List<Path> getFiles(List<String> fileOrDirNames)
       throws IOException {
-    ArrayList<Path> pathList = new ArrayList<Path>();
+    ArrayList<Path> pathList = new ArrayList<>();
     for(String name : fileOrDirNames) {
       pathList.addAll(getFiles(name));
     }
@@ -235,7 +235,7 @@ class Util {
    */
   static Object jsonToGenericDatum(Schema schema, String jsonData)
       throws IOException {
-    GenericDatumReader<Object> reader = new GenericDatumReader<Object>(schema);
+    GenericDatumReader<Object> reader = new GenericDatumReader<>(schema);
     Object datum = reader.read(null,
         DecoderFactory.get().jsonDecoder(schema, jsonData));
     return datum;
@@ -244,8 +244,8 @@ class Util {
   /** Reads and returns the first datum in a data file. */
   static Object datumFromFile(Schema schema, String file) throws IOException {
     DataFileReader<Object> in =
-      new DataFileReader<Object>(new File(file),
-                                 new GenericDatumReader<Object>(schema));
+        new DataFileReader<>(new File(file),
+                             new GenericDatumReader<>(schema));
     try {
       return in.next();
     } finally {

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/tools/src/test/java/org/apache/avro/tool/TestCatTool.java
----------------------------------------------------------------------
diff --git a/lang/java/tools/src/test/java/org/apache/avro/tool/TestCatTool.java b/lang/java/tools/src/test/java/org/apache/avro/tool/TestCatTool.java
index 39e45de..a33eb7d 100644
--- a/lang/java/tools/src/test/java/org/apache/avro/tool/TestCatTool.java
+++ b/lang/java/tools/src/test/java/org/apache/avro/tool/TestCatTool.java
@@ -96,8 +96,8 @@ public class TestCatTool {
       schema = STRINGSCHEMA;
     }
 
-    DataFileWriter<Object> writer = new DataFileWriter<Object>(
-              new GenericDatumWriter<Object>(schema));
+    DataFileWriter<Object> writer = new DataFileWriter<>(
+        new GenericDatumWriter<>(schema));
     for(Entry<String, String> metadatum : metadata.entrySet()) {
         writer.setMeta(metadatum.getKey(), metadatum.getValue());
     }
@@ -114,8 +114,8 @@ public class TestCatTool {
 
 
   private int getFirstIntDatum(File file) throws Exception {
-    DataFileStream<GenericRecord> reader = new DataFileStream<GenericRecord>( new FileInputStream(file) ,
-      new GenericDatumReader<GenericRecord>());
+    DataFileStream<GenericRecord> reader = new DataFileStream<>(new FileInputStream(file),
+      new GenericDatumReader<>());
 
     int result = (Integer) reader.next().get(0);
     System.out.println(result);
@@ -124,9 +124,9 @@ public class TestCatTool {
   }
 
   private int numRowsInFile(File output) throws Exception {
-    DataFileStream<GenericRecord> reader = new DataFileStream<GenericRecord>(
+    DataFileStream<GenericRecord> reader = new DataFileStream<>(
       new FileInputStream(output),
-      new GenericDatumReader<GenericRecord>());
+      new GenericDatumReader<>());
     Iterator<GenericRecord> rows = reader.iterator();
     int rowcount = 0;
     while(rows.hasNext()) {
@@ -139,7 +139,7 @@ public class TestCatTool {
 
   @Test
   public void testCat() throws Exception {
-    Map<String, String> metadata = new HashMap<String, String>();
+    Map<String, String> metadata = new HashMap<>();
     metadata.put("myMetaKey", "myMetaValue");
 
     File input1 = generateData("input1.avro", Type.INT, metadata, DEFLATE);
@@ -199,7 +199,7 @@ public class TestCatTool {
 
   @Test
   public void testLimitOutOfBounds() throws Exception {
-    Map<String, String> metadata = new HashMap<String, String>();
+    Map<String, String> metadata = new HashMap<>();
     metadata.put("myMetaKey", "myMetaValue");
 
     File input1 = generateData("input1.avro", Type.INT, metadata, DEFLATE);
@@ -222,7 +222,7 @@ public class TestCatTool {
 
   @Test
   public void testSamplerateAccuracy() throws Exception {
-    Map<String, String> metadata = new HashMap<String, String>();
+    Map<String, String> metadata = new HashMap<>();
     metadata.put("myMetaKey", "myMetaValue");
 
     File input1 = generateData("input1.avro", Type.INT, metadata, DEFLATE);
@@ -248,7 +248,7 @@ public class TestCatTool {
 
   @Test
   public void testOffSetAccuracy() throws Exception {
-    Map<String, String> metadata = new HashMap<String, String>();
+    Map<String, String> metadata = new HashMap<>();
     metadata.put("myMetaKey", "myMetaValue");
 
     File input1 = generateData("input1.avro", Type.INT, metadata, DEFLATE);
@@ -273,7 +273,7 @@ public class TestCatTool {
 
   @Test
   public void testOffsetBiggerThanInput() throws Exception{
-    Map<String, String> metadata = new HashMap<String, String>();
+    Map<String, String> metadata = new HashMap<>();
     metadata.put("myMetaKey", "myMetaValue");
 
     File input1 = generateData("input1.avro", Type.INT, metadata, DEFLATE);
@@ -296,7 +296,7 @@ public class TestCatTool {
 
   @Test
   public void testSamplerateSmallerThanInput() throws Exception{
-    Map<String, String> metadata = new HashMap<String, String>();
+    Map<String, String> metadata = new HashMap<>();
     metadata.put("myMetaKey", "myMetaValue");
 
     File input1 = generateData("input1.avro", Type.INT, metadata, DEFLATE);
@@ -322,7 +322,7 @@ public class TestCatTool {
 
   @Test(expected = IOException.class)
   public void testDifferentSchemasFail() throws Exception {
-    Map<String, String> metadata = new HashMap<String, String>();
+    Map<String, String> metadata = new HashMap<>();
     metadata.put("myMetaKey", "myMetaValue");
 
     File input1 = generateData("input1.avro", Type.STRING, metadata, DEFLATE);

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/tools/src/test/java/org/apache/avro/tool/TestConcatTool.java
----------------------------------------------------------------------
diff --git a/lang/java/tools/src/test/java/org/apache/avro/tool/TestConcatTool.java b/lang/java/tools/src/test/java/org/apache/avro/tool/TestConcatTool.java
index 6fdbddf..e51b51b 100644
--- a/lang/java/tools/src/test/java/org/apache/avro/tool/TestConcatTool.java
+++ b/lang/java/tools/src/test/java/org/apache/avro/tool/TestConcatTool.java
@@ -67,8 +67,8 @@ public class TestConcatTool {
     inputFile.deleteOnExit();
 
     Schema schema = Schema.create(type);
-    DataFileWriter<Object> writer = new DataFileWriter<Object>(
-              new GenericDatumWriter<Object>(schema));
+    DataFileWriter<Object> writer = new DataFileWriter<>(
+        new GenericDatumWriter<>(schema));
     for(Entry<String, String> metadatum : metadata.entrySet()) {
         writer.setMeta(metadatum.getKey(), metadatum.getValue());
     }
@@ -84,9 +84,9 @@ public class TestConcatTool {
   }
 
   private CodecFactory getCodec(File output) throws Exception {
-      DataFileStream<GenericRecord> reader = new DataFileStream<GenericRecord>(
+      DataFileStream<GenericRecord> reader = new DataFileStream<>(
         new FileInputStream(output),
-        new GenericDatumReader<GenericRecord>());
+        new GenericDatumReader<>());
       String codec = reader.getMetaString(DataFileConstants.CODEC);
       try {
         return codec == null ? CodecFactory.nullCodec() : CodecFactory.fromString(codec);
@@ -96,9 +96,9 @@ public class TestConcatTool {
   }
 
   private int numRowsInFile(File output) throws Exception {
-    DataFileStream<GenericRecord> reader = new DataFileStream<GenericRecord>(
+    DataFileStream<GenericRecord> reader = new DataFileStream<>(
       new FileInputStream(output),
-      new GenericDatumReader<GenericRecord>());
+      new GenericDatumReader<>());
     Iterator<GenericRecord> rows = reader.iterator();
     int rowcount = 0;
     while(rows.hasNext()) {
@@ -111,7 +111,7 @@ public class TestConcatTool {
 
   @Test
   public void testDirConcat() throws Exception {
-    Map<String, String> metadata = new HashMap<String, String>();
+    Map<String, String> metadata = new HashMap<>();
 
     File dir = AvroTestUtil.tempDirectory(getClass(), "input");
 
@@ -140,7 +140,7 @@ public class TestConcatTool {
 
   @Test
   public void testGlobPatternConcat() throws Exception {
-    Map<String, String> metadata = new HashMap<String, String>();
+    Map<String, String> metadata = new HashMap<>();
 
     File dir = AvroTestUtil.tempDirectory(getClass(), "input");
 
@@ -169,7 +169,7 @@ public class TestConcatTool {
 
   @Test(expected = FileNotFoundException.class)
   public void testFileDoesNotExist() throws Exception {
-    Map<String, String> metadata = new HashMap<String, String>();
+    Map<String, String> metadata = new HashMap<>();
 
     File dir = AvroTestUtil.tempDirectory(getClass(), "input");
 
@@ -188,7 +188,7 @@ public class TestConcatTool {
 
   @Test
   public void testConcat() throws Exception {
-    Map<String, String> metadata = new HashMap<String, String>();
+    Map<String, String> metadata = new HashMap<>();
     metadata.put("myMetaKey", "myMetaValue");
 
     File input1 = generateData("input1.avro", Type.STRING, metadata, DEFLATE);
@@ -216,7 +216,7 @@ public class TestConcatTool {
 
   @Test
   public void testDifferentSchemasFail() throws Exception {
-    Map<String, String> metadata = new HashMap<String, String>();
+    Map<String, String> metadata = new HashMap<>();
     metadata.put("myMetaKey", "myMetaValue");
 
     File input1 = generateData("input1.avro", Type.STRING, metadata, DEFLATE);
@@ -239,9 +239,9 @@ public class TestConcatTool {
 
   @Test
   public void testDifferentMetadataFail() throws Exception {
-    Map<String, String> metadata1 = new HashMap<String, String>();
+    Map<String, String> metadata1 = new HashMap<>();
     metadata1.put("myMetaKey", "myMetaValue");
-    Map<String, String> metadata2 = new HashMap<String, String>();
+    Map<String, String> metadata2 = new HashMap<>();
     metadata2.put("myOtherMetaKey", "myOtherMetaValue");
 
     File input1 = generateData("input1.avro", Type.STRING, metadata1, DEFLATE);
@@ -264,7 +264,7 @@ public class TestConcatTool {
 
   @Test
   public void testDifferentCodecFail() throws Exception {
-    Map<String, String> metadata = new HashMap<String, String>();
+    Map<String, String> metadata = new HashMap<>();
     metadata.put("myMetaKey", "myMetaValue");
 
     File input1 = generateData("input1.avro", Type.STRING, metadata, DEFLATE);

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/tools/src/test/java/org/apache/avro/tool/TestCreateRandomFileTool.java
----------------------------------------------------------------------
diff --git a/lang/java/tools/src/test/java/org/apache/avro/tool/TestCreateRandomFileTool.java b/lang/java/tools/src/test/java/org/apache/avro/tool/TestCreateRandomFileTool.java
index bb6f9e5..18b2944 100644
--- a/lang/java/tools/src/test/java/org/apache/avro/tool/TestCreateRandomFileTool.java
+++ b/lang/java/tools/src/test/java/org/apache/avro/tool/TestCreateRandomFileTool.java
@@ -80,7 +80,7 @@ public class TestCreateRandomFileTool {
   }
 
   private void check(String... extraArgs) throws Exception {
-    ArrayList<String> args = new ArrayList<String>();
+    ArrayList<String> args = new ArrayList<>();
     args.addAll(Arrays.asList(new String[] {
         OUT_FILE.toString(),
         "--count", COUNT,
@@ -90,7 +90,7 @@ public class TestCreateRandomFileTool {
     run(args);
 
     DataFileReader<Object> reader =
-      new DataFileReader(OUT_FILE, new GenericDatumReader<Object>());
+      new DataFileReader(OUT_FILE, new GenericDatumReader<>());
 
     Iterator<Object> found = reader.iterator();
     for (Object expected :
@@ -101,7 +101,7 @@ public class TestCreateRandomFileTool {
   }
 
   private void checkMissingCount(String... extraArgs) throws Exception {
-    ArrayList<String> args = new ArrayList<String>();
+    ArrayList<String> args = new ArrayList<>();
     args.addAll(Arrays.asList(new String[] {
             OUT_FILE.toString(),
             "--schema-file", SCHEMA_FILE.toString()
@@ -135,8 +135,8 @@ public class TestCreateRandomFileTool {
     byte[] file = out.toByteArray();
 
     DataFileStream<Object> reader =
-      new DataFileStream(new ByteArrayInputStream(file),
-                         new GenericDatumReader<Object>());
+        new DataFileStream(new ByteArrayInputStream(file),
+                           new GenericDatumReader<>());
 
     Iterator<Object> found = reader.iterator();
     for (Object expected :

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/tools/src/test/java/org/apache/avro/tool/TestDataFileRepairTool.java
----------------------------------------------------------------------
diff --git a/lang/java/tools/src/test/java/org/apache/avro/tool/TestDataFileRepairTool.java b/lang/java/tools/src/test/java/org/apache/avro/tool/TestDataFileRepairTool.java
index 70c3667..80de296 100644
--- a/lang/java/tools/src/test/java/org/apache/avro/tool/TestDataFileRepairTool.java
+++ b/lang/java/tools/src/test/java/org/apache/avro/tool/TestDataFileRepairTool.java
@@ -54,7 +54,7 @@ public class TestDataFileRepairTool {
   @BeforeClass
   public static void writeCorruptFile() throws IOException {
     // Write a data file
-    DataFileWriter<Utf8> w = new DataFileWriter<Utf8>(new GenericDatumWriter<Utf8>(SCHEMA));
+    DataFileWriter<Utf8> w = new DataFileWriter<>(new GenericDatumWriter<>(SCHEMA));
     ByteArrayOutputStream baos = new ByteArrayOutputStream();
     w.create(SCHEMA, baos);
     w.append(new Utf8("apple"));
@@ -196,8 +196,8 @@ public class TestDataFileRepairTool {
   }
 
   private void checkFileContains(File repairedFile, String... lines) throws IOException {
-    DataFileReader r = new DataFileReader<Utf8>(repairedFile,
-        new GenericDatumReader<Utf8>(SCHEMA));
+    DataFileReader r = new DataFileReader<>(repairedFile,
+        new GenericDatumReader<>(SCHEMA));
     for (String line : lines) {
       assertEquals(line, r.next().toString());
     }

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/tools/src/test/java/org/apache/avro/tool/TestDataFileTools.java
----------------------------------------------------------------------
diff --git a/lang/java/tools/src/test/java/org/apache/avro/tool/TestDataFileTools.java b/lang/java/tools/src/test/java/org/apache/avro/tool/TestDataFileTools.java
index 7232e9c..1c48692 100644
--- a/lang/java/tools/src/test/java/org/apache/avro/tool/TestDataFileTools.java
+++ b/lang/java/tools/src/test/java/org/apache/avro/tool/TestDataFileTools.java
@@ -67,7 +67,7 @@ public class TestDataFileTools {
     fw.close();
 
     DataFileWriter<Object> writer
-      = new DataFileWriter<Object>(new GenericDatumWriter<Object>(schema))
+      = new DataFileWriter<>(new GenericDatumWriter<>(schema))
       .setMeta(KEY_NEEDING_ESCAPES, "")
       .create(schema, sampleFile);
     StringBuilder builder = new StringBuilder();
@@ -158,7 +158,7 @@ public class TestDataFileTools {
         TestDataFileTools.class + ".testWrite." + name + ".avro");
     FileOutputStream fout = new FileOutputStream(outFile);
     PrintStream out = new PrintStream(fout);
-    List<String> args = new ArrayList<String>();
+    List<String> args = new ArrayList<>();
     for (String arg : extraArgs) {
         args.add(arg);
     }
@@ -173,8 +173,8 @@ public class TestDataFileTools {
     fout.close();
 
     // Read it back, and make sure it's valid.
-    GenericDatumReader<Object> reader = new GenericDatumReader<Object>();
-    DataFileReader<Object> fileReader = new DataFileReader<Object>(outFile,reader);
+    GenericDatumReader<Object> reader = new GenericDatumReader<>();
+    DataFileReader<Object> fileReader = new DataFileReader<>(outFile, reader);
     int i = 0;
     for (Object datum : fileReader) {
       assertEquals(i, datum);
@@ -216,9 +216,9 @@ public class TestDataFileTools {
   }
 
   private int countRecords(File outFile) throws IOException {
-    GenericDatumReader<Object> reader = new GenericDatumReader<Object>();
+    GenericDatumReader<Object> reader = new GenericDatumReader<>();
     DataFileReader<Object> fileReader =
-      new DataFileReader<Object>(outFile,reader);
+      new DataFileReader<>(outFile, reader);
     int i = 0;
     for (@SuppressWarnings("unused") Object datum : fileReader) {
       i++;

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/tools/src/test/java/org/apache/avro/tool/TestJsonToFromBinaryFragmentTools.java
----------------------------------------------------------------------
diff --git a/lang/java/tools/src/test/java/org/apache/avro/tool/TestJsonToFromBinaryFragmentTools.java b/lang/java/tools/src/test/java/org/apache/avro/tool/TestJsonToFromBinaryFragmentTools.java
index c5e3c97..5b5580f 100644
--- a/lang/java/tools/src/test/java/org/apache/avro/tool/TestJsonToFromBinaryFragmentTools.java
+++ b/lang/java/tools/src/test/java/org/apache/avro/tool/TestJsonToFromBinaryFragmentTools.java
@@ -92,7 +92,7 @@ public class TestJsonToFromBinaryFragmentTools {
     ByteArrayOutputStream baos = new ByteArrayOutputStream();
     PrintStream p = new PrintStream(new BufferedOutputStream(baos));
 
-    List<String> args = new ArrayList<String>();
+    List<String> args = new ArrayList<>();
     args.addAll(Arrays.asList(options));
     args.add("-");
     new BinaryFragmentToJsonTool().run(
@@ -108,7 +108,7 @@ public class TestJsonToFromBinaryFragmentTools {
     ByteArrayOutputStream baos = new ByteArrayOutputStream();
     PrintStream p = new PrintStream(new BufferedOutputStream(baos));
 
-    List<String> args = new ArrayList<String>();
+    List<String> args = new ArrayList<>();
     args.addAll(Arrays.asList(options));
     args.add("-");
     new JsonToBinaryFragmentTool().run(