http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/test/java/org/apache/avro/reflect/TestNonStringMapKeys.java
----------------------------------------------------------------------
diff --git 
a/lang/java/avro/src/test/java/org/apache/avro/reflect/TestNonStringMapKeys.java
 
b/lang/java/avro/src/test/java/org/apache/avro/reflect/TestNonStringMapKeys.java
index 3a1d3d4..5792efb 100644
--- 
a/lang/java/avro/src/test/java/org/apache/avro/reflect/TestNonStringMapKeys.java
+++ 
b/lang/java/avro/src/test/java/org/apache/avro/reflect/TestNonStringMapKeys.java
@@ -250,7 +250,7 @@ public class TestNonStringMapKeys {
 
     ReflectDatumWriter<T> datumWriter =
       new ReflectDatumWriter (entityObj1.getClass(), rdata);
-    DataFileWriter<T> fileWriter = new DataFileWriter<T> (datumWriter);
+    DataFileWriter<T> fileWriter = new DataFileWriter<>(datumWriter);
     ByteArrayOutputStream baos = new ByteArrayOutputStream();
     fileWriter.create(schema, baos);
     for (T entityObj : entityObjs) {
@@ -270,15 +270,15 @@ public class TestNonStringMapKeys {
     (String testType, byte[] bytes, T ... entityObjs) throws IOException {
 
     GenericDatumReader<GenericRecord> datumReader =
-      new GenericDatumReader<GenericRecord> ();
+      new GenericDatumReader<>();
     SeekableByteArrayInput avroInputStream = new SeekableByteArrayInput(bytes);
     DataFileReader<GenericRecord> fileReader =
-      new DataFileReader<GenericRecord>(avroInputStream, datumReader);
+      new DataFileReader<>(avroInputStream, datumReader);
 
     Schema schema = fileReader.getSchema();
     assertNotNull("Unable to get schema for " + testType, schema);
     GenericRecord record = null;
-    List<GenericRecord> records = new ArrayList<GenericRecord> ();
+    List<GenericRecord> records = new ArrayList<>();
     while (fileReader.hasNext()) {
       records.add (fileReader.next(record));
     }
@@ -293,13 +293,13 @@ public class TestNonStringMapKeys {
   private <T> List<T> testReflectDatumRead
     (String testType, byte[] bytes, T ... entityObjs) throws IOException {
 
-    ReflectDatumReader<T> datumReader = new ReflectDatumReader<T> ();
+    ReflectDatumReader<T> datumReader = new ReflectDatumReader<>();
     SeekableByteArrayInput avroInputStream = new SeekableByteArrayInput(bytes);
-    DataFileReader<T> fileReader = new DataFileReader<T>(avroInputStream, 
datumReader);
+    DataFileReader<T> fileReader = new DataFileReader<>(avroInputStream, 
datumReader);
 
     Schema schema = fileReader.getSchema();
     T record = null;
-    List<T> records = new ArrayList<T> ();
+    List<T> records = new ArrayList<>();
     while (fileReader.hasNext()) {
       records.add (fileReader.next(record));
     }
@@ -314,7 +314,7 @@ public class TestNonStringMapKeys {
     Schema schema = rdata.getSchema(entityObj.getClass());
     ByteArrayOutputStream os = new ByteArrayOutputStream();
     Encoder encoder = EncoderFactory.get().jsonEncoder(schema, os);
-    ReflectDatumWriter<T> datumWriter = new ReflectDatumWriter<T>(schema, 
rdata);
+    ReflectDatumWriter<T> datumWriter = new ReflectDatumWriter<>(schema, 
rdata);
     datumWriter.write(entityObj, encoder);
     encoder.flush();
 
@@ -330,7 +330,7 @@ public class TestNonStringMapKeys {
 
     Schema schema = rdata.getSchema(entityObj.getClass());
     GenericDatumReader<GenericRecord> datumReader =
-      new GenericDatumReader<GenericRecord>(schema);
+      new GenericDatumReader<>(schema);
 
     Decoder decoder = DecoderFactory.get().jsonDecoder(schema, new 
String(bytes));
     GenericRecord r = datumReader.read(null, decoder);
@@ -342,7 +342,7 @@ public class TestNonStringMapKeys {
    */
   private Company buildCompany () {
     Company co = new Company ();
-    HashMap<EmployeeId, EmployeeInfo> employees = new HashMap<EmployeeId, 
EmployeeInfo>();
+    HashMap<EmployeeId, EmployeeInfo> employees = new HashMap<>();
     co.setEmployees(employees);
     employees.put(new EmployeeId(1), new EmployeeInfo("Foo"));
     employees.put(new EmployeeId(2), new EmployeeInfo("Bar"));
@@ -355,12 +355,12 @@ public class TestNonStringMapKeys {
    */
   private Company2 buildCompany2 () {
     Company2 co = new Company2 ();
-    HashMap<Integer, EmployeeInfo2> employees = new HashMap<Integer, 
EmployeeInfo2>();
+    HashMap<Integer, EmployeeInfo2> employees = new HashMap<>();
     co.setEmployees(employees);
 
     EmployeeId2 empId = new EmployeeId2(1);
     EmployeeInfo2 empInfo = new EmployeeInfo2("Foo");
-    HashMap<Integer, String> companyMap = new HashMap<Integer, String>();
+    HashMap<Integer, String> companyMap = new HashMap<>();
     empInfo.setCompanyMap(companyMap);
     companyMap.put(14, "CompanyFoo");
 
@@ -371,13 +371,13 @@ public class TestNonStringMapKeys {
 
   private SameMapSignature buildSameMapSignature () {
     SameMapSignature obj = new SameMapSignature();
-    obj.setMap1(new HashMap<Integer, String>());
+    obj.setMap1(new HashMap<>());
     obj.getMap1().put(1, "Foo");
-    obj.setMap2(new ConcurrentHashMap<Integer, String>());
+    obj.setMap2(new ConcurrentHashMap<>());
     obj.getMap2().put(1, "Foo");
-    obj.setMap3(new LinkedHashMap<Integer, String>());
+    obj.setMap3(new LinkedHashMap<>());
     obj.getMap3().put(1, "Foo");
-    obj.setMap4(new TreeMap<Integer, String>());
+    obj.setMap4(new TreeMap<>());
     obj.getMap4().put(1, "Foo");
     return obj;
   }

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/test/java/org/apache/avro/reflect/TestReflect.java
----------------------------------------------------------------------
diff --git 
a/lang/java/avro/src/test/java/org/apache/avro/reflect/TestReflect.java 
b/lang/java/avro/src/test/java/org/apache/avro/reflect/TestReflect.java
index 51ce7c2..5d0b419 100644
--- a/lang/java/avro/src/test/java/org/apache/avro/reflect/TestReflect.java
+++ b/lang/java/avro/src/test/java/org/apache/avro/reflect/TestReflect.java
@@ -147,9 +147,9 @@ public class TestReflect {
 
   // test map, array and list type inference
   public static class R1 {
-    private Map<String,String> mapField = new HashMap<String,String>();
+    private Map<String,String> mapField = new HashMap<>();
     private String[] arrayField = new String[] { "foo" };
-    private List<String> listField = new ArrayList<String>();
+    private List<String> listField = new ArrayList<>();
 
     {
       mapField.put("foo", "bar");
@@ -202,7 +202,7 @@ public class TestReflect {
   @Test public void testR2() throws Exception {
     R2 r2 = new R2();
     r2.arrayField = new String[] {"foo"};
-    r2.collectionField = new ArrayList<String>();
+    r2.collectionField = new ArrayList<>();
     r2.collectionField.add("foo");
     checkReadWrite(r2);
   }
@@ -502,10 +502,10 @@ public class TestReflect {
     checkReadWrite(object, ReflectData.get().getSchema(object.getClass()));
   }
   void checkReadWrite(Object object, Schema s) throws Exception {
-    ReflectDatumWriter<Object> writer = new ReflectDatumWriter<Object>(s);
+    ReflectDatumWriter<Object> writer = new ReflectDatumWriter<>(s);
     ByteArrayOutputStream out = new ByteArrayOutputStream();
     writer.write(object, factory.directBinaryEncoder(out, null));
-    ReflectDatumReader<Object> reader = new ReflectDatumReader<Object>(s);
+    ReflectDatumReader<Object> reader = new ReflectDatumReader<>(s);
     Object after =
       reader.read(null, DecoderFactory.get().binaryDecoder(
           out.toByteArray(), null));
@@ -587,14 +587,14 @@ public class TestReflect {
   public void testRecordIO() throws IOException {
     Schema schm = ReflectData.get().getSchema(SampleRecord.class);
     ReflectDatumWriter<SampleRecord> writer =
-      new ReflectDatumWriter<SampleRecord>(schm);
+      new ReflectDatumWriter<>(schm);
     ByteArrayOutputStream out = new ByteArrayOutputStream();
     SampleRecord record = new SampleRecord();
     record.x = 5;
     record.y = 10;
     writer.write(record, factory.directBinaryEncoder(out, null));
     ReflectDatumReader<SampleRecord> reader =
-      new ReflectDatumReader<SampleRecord>(schm);
+      new ReflectDatumReader<>(schm);
     SampleRecord decoded =
       reader.read(null, DecoderFactory.get().binaryDecoder(
           out.toByteArray(), null));
@@ -664,7 +664,7 @@ public class TestReflect {
   public void testMultipleAnnotations() throws IOException {
     Schema schm = ReflectData.get().getSchema(multipleAnnotationRecord.class);
     ReflectDatumWriter<multipleAnnotationRecord> writer =
-      new ReflectDatumWriter<multipleAnnotationRecord>(schm);
+      new ReflectDatumWriter<>(schm);
     ByteArrayOutputStream out = new ByteArrayOutputStream();
     multipleAnnotationRecord record = new multipleAnnotationRecord();
     record.i1 = 1;
@@ -681,7 +681,7 @@ public class TestReflect {
 
     writer.write(record, factory.directBinaryEncoder(out, null));
     ReflectDatumReader<multipleAnnotationRecord> reader =
-      new ReflectDatumReader<multipleAnnotationRecord>(schm);
+      new ReflectDatumReader<>(schm);
       multipleAnnotationRecord decoded =
       reader.read(new multipleAnnotationRecord(), 
DecoderFactory.get().binaryDecoder(
           out.toByteArray(), null));
@@ -711,13 +711,13 @@ public class TestReflect {
   public void testAvroEncodeIO() throws IOException {
     Schema schm = ReflectData.get().getSchema(AvroEncRecord.class);
     ReflectDatumWriter<AvroEncRecord> writer =
-      new ReflectDatumWriter<AvroEncRecord>(schm);
+      new ReflectDatumWriter<>(schm);
     ByteArrayOutputStream out = new ByteArrayOutputStream();
     AvroEncRecord record = new AvroEncRecord();
     record.date = new java.util.Date(948833323L);
     writer.write(record, factory.directBinaryEncoder(out, null));
     ReflectDatumReader<AvroEncRecord> reader =
-      new ReflectDatumReader<AvroEncRecord>(schm);
+      new ReflectDatumReader<>(schm);
     AvroEncRecord decoded =
       reader.read(new AvroEncRecord(), DecoderFactory.get().binaryDecoder(
           out.toByteArray(), null));
@@ -729,7 +729,7 @@ public class TestReflect {
     ReflectData reflectData = ReflectData.AllowNull.get();
     Schema schm = reflectData.getSchema(AnotherSampleRecord.class);
     ReflectDatumWriter<AnotherSampleRecord> writer =
-      new ReflectDatumWriter<AnotherSampleRecord>(schm);
+      new ReflectDatumWriter<>(schm);
     ByteArrayOutputStream out = new ByteArrayOutputStream();
     // keep record.a null and see if that works
     Encoder e = factory.directBinaryEncoder(out, null);
@@ -739,7 +739,7 @@ public class TestReflect {
     writer.write(b, e);
     e.flush();
     ReflectDatumReader<AnotherSampleRecord> reader =
-      new ReflectDatumReader<AnotherSampleRecord>(schm);
+      new ReflectDatumReader<>(schm);
     ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
     Decoder d = DecoderFactory.get().binaryDecoder(in, null);
     AnotherSampleRecord decoded = reader.read(null, d);
@@ -876,7 +876,7 @@ public class TestReflect {
     ReflectData data = ReflectData.get();
     // define a record with a field that's a specific Y
     Schema schema = Schema.createRecord("Foo", "", "x.y.z", false);
-    List<Schema.Field> fields = new ArrayList<Schema.Field>();
+    List<Schema.Field> fields = new ArrayList<>();
     fields.add(new Schema.Field("f", data.getSchema(Y.class), "", null));
     schema.setFields(fields);
 
@@ -980,16 +980,16 @@ public class TestReflect {
   /** Test Map with stringable key classes. */
   @Test public void testStringableMapKeys() throws Exception {
     M1 record = new M1();
-    record.integerKeyMap = new HashMap<Integer, String>(1);
+    record.integerKeyMap = new HashMap<>(1);
     record.integerKeyMap.put(10, "foo");
 
-    record.bigIntegerKeyMap = new HashMap<java.math.BigInteger, String>(1);
+    record.bigIntegerKeyMap = new HashMap<>(1);
     record.bigIntegerKeyMap.put(java.math.BigInteger.TEN, "bar");
 
-    record.bigDecimalKeyMap = new HashMap<java.math.BigDecimal, String>(1);
+    record.bigDecimalKeyMap = new HashMap<>(1);
     record.bigDecimalKeyMap.put(java.math.BigDecimal.ONE, "bigDecimal");
 
-    record.fileKeyMap = new HashMap<java.io.File, String>(1);
+    record.fileKeyMap = new HashMap<>(1);
     record.fileKeyMap.put(new java.io.File("foo.bar"), "file");
 
     ReflectData data = new ReflectData().addStringable(Integer.class);
@@ -1016,7 +1016,7 @@ public class TestReflect {
 
   private static void checkBinary(ReflectData reflectData, Schema schema,
       Object datum, boolean equals, boolean blocking) throws IOException {
-    ReflectDatumWriter<Object> writer = new ReflectDatumWriter<Object>(schema);
+    ReflectDatumWriter<Object> writer = new ReflectDatumWriter<>(schema);
     ByteArrayOutputStream out = new ByteArrayOutputStream();
     if (!blocking) {
       writer.write(datum, EncoderFactory.get().directBinaryEncoder(out, null));
@@ -1027,7 +1027,7 @@ public class TestReflect {
     writer.write(datum, EncoderFactory.get().directBinaryEncoder(out, null));
     byte[] data = out.toByteArray();
 
-    ReflectDatumReader<Object> reader = new ReflectDatumReader<Object>(schema);
+    ReflectDatumReader<Object> reader = new ReflectDatumReader<>(schema);
     Object decoded = reader.read(null,
         DecoderFactory.get().binaryDecoder(data, null));
 

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/test/java/org/apache/avro/reflect/TestReflectDatumReader.java
----------------------------------------------------------------------
diff --git 
a/lang/java/avro/src/test/java/org/apache/avro/reflect/TestReflectDatumReader.java
 
b/lang/java/avro/src/test/java/org/apache/avro/reflect/TestReflectDatumReader.java
index 0554aa6..dcbaf78 100644
--- 
a/lang/java/avro/src/test/java/org/apache/avro/reflect/TestReflectDatumReader.java
+++ 
b/lang/java/avro/src/test/java/org/apache/avro/reflect/TestReflectDatumReader.java
@@ -35,7 +35,7 @@ public class TestReflectDatumReader {
 
   private static <T> byte[] serializeWithReflectDatumWriter(T toSerialize, 
Class<T> toSerializeClass)
       throws IOException {
-    ReflectDatumWriter<T> datumWriter = new 
ReflectDatumWriter<T>(toSerializeClass);
+    ReflectDatumWriter<T> datumWriter = new 
ReflectDatumWriter<>(toSerializeClass);
     ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
     Encoder encoder = 
EncoderFactory.get().binaryEncoder(byteArrayOutputStream, null);
     datumWriter.write(toSerialize, encoder);
@@ -52,7 +52,7 @@ public class TestReflectDatumReader {
     byte[] serializedBytes = serializeWithReflectDatumWriter(pojoWithList, 
PojoWithList.class);
 
     Decoder decoder = DecoderFactory.get().binaryDecoder(serializedBytes, 
null);
-    ReflectDatumReader<PojoWithList> reflectDatumReader = new 
ReflectDatumReader<PojoWithList>(
+    ReflectDatumReader<PojoWithList> reflectDatumReader = new 
ReflectDatumReader<>(
         PojoWithList.class);
 
     PojoWithList deserialized = new PojoWithList();
@@ -71,7 +71,7 @@ public class TestReflectDatumReader {
     byte[] serializedBytes = serializeWithReflectDatumWriter(pojoWithArray, 
PojoWithArray.class);
 
     Decoder decoder = DecoderFactory.get().binaryDecoder(serializedBytes, 
null);
-    ReflectDatumReader<PojoWithArray> reflectDatumReader = new 
ReflectDatumReader<PojoWithArray>(
+    ReflectDatumReader<PojoWithArray> reflectDatumReader = new 
ReflectDatumReader<>(
         PojoWithArray.class);
 
     PojoWithArray deserialized = new PojoWithArray();

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/test/java/org/apache/avro/reflect/TestReflectLogicalTypes.java
----------------------------------------------------------------------
diff --git 
a/lang/java/avro/src/test/java/org/apache/avro/reflect/TestReflectLogicalTypes.java
 
b/lang/java/avro/src/test/java/org/apache/avro/reflect/TestReflectLogicalTypes.java
index 06bbaaf..e44bc65 100644
--- 
a/lang/java/avro/src/test/java/org/apache/avro/reflect/TestReflectLogicalTypes.java
+++ 
b/lang/java/avro/src/test/java/org/apache/avro/reflect/TestReflectLogicalTypes.java
@@ -242,7 +242,7 @@ public class TestReflectLogicalTypes {
     }
 
     public static <X, Y> Pair<X, Y> of(X first, Y second) {
-      return new Pair<X, Y>(first, second);
+      return new Pair<>(first, second);
     }
   }
 
@@ -309,7 +309,7 @@ public class TestReflectLogicalTypes {
 
     PairRecord record = new PairRecord();
     record.pair = Pair.of(34L, 35L);
-    List<PairRecord> expected = new ArrayList<PairRecord>();
+    List<PairRecord> expected = new ArrayList<>();
     expected.add(record);
 
     File test = write(model, schema, record);
@@ -627,7 +627,7 @@ public class TestReflectLogicalTypes {
     UUID u2 = UUID.randomUUID();
 
     GenericRecord expected = new GenericData.Record(stringArraySchema);
-    List<String> uuids = new ArrayList<String>();
+    List<String> uuids = new ArrayList<>();
     uuids.add(u1.toString());
     uuids.add(u2.toString());
     expected.put("uuids", uuids);
@@ -703,11 +703,11 @@ public class TestReflectLogicalTypes {
   }
 
   private static <D> List<D> read(DatumReader<D> reader, File file) throws 
IOException {
-    List<D> data = new ArrayList<D>();
+    List<D> data = new ArrayList<>();
     FileReader<D> fileReader = null;
 
     try {
-      fileReader = new DataFileReader<D>(file, reader);
+      fileReader = new DataFileReader<>(file, reader);
       for (D datum : fileReader) {
         data.add(datum);
       }
@@ -728,7 +728,7 @@ public class TestReflectLogicalTypes {
   private <D> File write(GenericData model, Schema schema, D... data) throws 
IOException {
     File file = temp.newFile();
     DatumWriter<D> writer = model.createDatumWriter(schema);
-    DataFileWriter<D> fileWriter = new DataFileWriter<D>(writer);
+    DataFileWriter<D> fileWriter = new DataFileWriter<>(writer);
 
     try {
       fileWriter.create(schema, file);

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/test/java/org/apache/avro/specific/TestSpecificData.java
----------------------------------------------------------------------
diff --git 
a/lang/java/avro/src/test/java/org/apache/avro/specific/TestSpecificData.java 
b/lang/java/avro/src/test/java/org/apache/avro/specific/TestSpecificData.java
index daa5dc6..0a143dd 100644
--- 
a/lang/java/avro/src/test/java/org/apache/avro/specific/TestSpecificData.java
+++ 
b/lang/java/avro/src/test/java/org/apache/avro/specific/TestSpecificData.java
@@ -95,7 +95,7 @@ public class TestSpecificData {
   public static class TestRecord extends SpecificRecordBase {
     private static final Schema SCHEMA = Schema.createRecord("TestRecord", 
null, null, false);
     static {
-      List<Field> fields = new ArrayList<Field>();
+      List<Field> fields = new ArrayList<>();
       fields.add(new Field("x", Schema.create(Type.INT), null, null));
       Schema stringSchema = Schema.create(Type.STRING);
       GenericData.setStringType(stringSchema, GenericData.StringType.String);
@@ -161,7 +161,7 @@ public class TestSpecificData {
     final Schema string = Schema.create(Type.STRING);
     final ByteArrayOutputStream baos = new ByteArrayOutputStream();
     final Encoder encoder = EncoderFactory.get().directBinaryEncoder(baos, 
null);
-    final DatumWriter<Object> writer = new SpecificDatumWriter<Object>(string);
+    final DatumWriter<Object> writer = new SpecificDatumWriter<>(string);
     try {
       writer.write(new Object(), encoder);
       fail("Non stringable object should be rejected.");

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/test/java/org/apache/avro/specific/TestSpecificLogicalTypes.java
----------------------------------------------------------------------
diff --git 
a/lang/java/avro/src/test/java/org/apache/avro/specific/TestSpecificLogicalTypes.java
 
b/lang/java/avro/src/test/java/org/apache/avro/specific/TestSpecificLogicalTypes.java
index 64d45cb..61df5d6 100644
--- 
a/lang/java/avro/src/test/java/org/apache/avro/specific/TestSpecificLogicalTypes.java
+++ 
b/lang/java/avro/src/test/java/org/apache/avro/specific/TestSpecificLogicalTypes.java
@@ -197,11 +197,11 @@ public class TestSpecificLogicalTypes {
   private <D> List<D> read(Schema schema, File file)
       throws IOException {
     DatumReader<D> reader = newReader(schema);
-    List<D> data = new ArrayList<D>();
+    List<D> data = new ArrayList<>();
     FileReader<D> fileReader = null;
 
     try {
-      fileReader = new DataFileReader<D>(file, reader);
+      fileReader = new DataFileReader<>(file, reader);
       for (D datum : fileReader) {
         data.add(datum);
       }
@@ -224,7 +224,7 @@ public class TestSpecificLogicalTypes {
       throws IOException {
     File file = temp.newFile();
     DatumWriter<D> writer = SpecificData.get().createDatumWriter(schema);
-    DataFileWriter<D> fileWriter = new DataFileWriter<D>(writer);
+    DataFileWriter<D> fileWriter = new DataFileWriter<>(writer);
 
     try {
       fileWriter.create(schema, file);

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/test/java/org/apache/avro/util/TestCaseFinder.java
----------------------------------------------------------------------
diff --git 
a/lang/java/avro/src/test/java/org/apache/avro/util/TestCaseFinder.java 
b/lang/java/avro/src/test/java/org/apache/avro/util/TestCaseFinder.java
index 73701df..6349e88 100644
--- a/lang/java/avro/src/test/java/org/apache/avro/util/TestCaseFinder.java
+++ b/lang/java/avro/src/test/java/org/apache/avro/util/TestCaseFinder.java
@@ -47,7 +47,7 @@ public class TestCaseFinder {
 
     @Parameters
     public static List<Object[]> cases() {
-      List<Object[]> result = new ArrayList<Object[]>();
+      List<Object[]> result = new ArrayList<>();
       result.add(new Object[] { "", "foo", new Object[][] { } });
       result.add(new Object[] { "<<INPUT a\n<<OUTPUT b", "OUTPUT",
                                 new Object[][] { {"a","b"} } });
@@ -84,7 +84,7 @@ public class TestCaseFinder {
     }
 
     @Test public void testOutput() throws Exception {
-      List<Object[]> result = new ArrayList<Object[]>();
+      List<Object[]> result = new ArrayList<>();
       CaseFinder.find(mk(input), label, result);
       assertTrue(pr(result), eq(result, expectedOutput));
     }
@@ -93,24 +93,24 @@ public class TestCaseFinder {
   public static class NonParameterized {
     @Test (expected=java.lang.IllegalArgumentException.class)
     public void testBadDocLabel1() throws Exception {
-      List<Object[]> result = new ArrayList<Object[]>();
+      List<Object[]> result = new ArrayList<>();
       CaseFinder.find(mk("<<INPUT blah"), "", result);
     }
 
     public void testBadDocLabel2() throws Exception {
-      List<Object[]> result = new ArrayList<Object[]>();
+      List<Object[]> result = new ArrayList<>();
       CaseFinder.find(mk("<<INPUT blah"), "kill-er", result);
     }
 
     @Test (expected=java.io.IOException.class)
     public void testBadSingleLineHeredoc() throws Exception {
-      List<Object[]> result = new ArrayList<Object[]>();
+      List<Object[]> result = new ArrayList<>();
       CaseFinder.find(mk("<<INPUTblah"), "foo", result);
     }
 
     @Test (expected=java.io.IOException.class)
     public void testUnterminatedHeredoc() throws Exception {
-      List<Object[]> result = new ArrayList<Object[]>();
+      List<Object[]> result = new ArrayList<>();
       CaseFinder.find(mk("<<INPUT"), "foo", result);
     }
   }

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/compiler/src/main/java/org/apache/avro/compiler/idl/ResolvingVisitor.java
----------------------------------------------------------------------
diff --git 
a/lang/java/compiler/src/main/java/org/apache/avro/compiler/idl/ResolvingVisitor.java
 
b/lang/java/compiler/src/main/java/org/apache/avro/compiler/idl/ResolvingVisitor.java
index e279e6a..cb24b1c 100644
--- 
a/lang/java/compiler/src/main/java/org/apache/avro/compiler/idl/ResolvingVisitor.java
+++ 
b/lang/java/compiler/src/main/java/org/apache/avro/compiler/idl/ResolvingVisitor.java
@@ -113,7 +113,7 @@ public final class ResolvingVisitor implements 
SchemaVisitor<Schema> {
           Schema replacement = replace.get(resSchema);
           if (replacement == null) {
             replace.put(nt, Schemas.visit(resSchema, new 
ResolvingVisitor(resSchema,
-                    new IdentityHashMap<Schema, Schema>(), symbolTable)));
+                    new IdentityHashMap<>(), symbolTable)));
           } else {
             replace.put(nt, replacement);
           }
@@ -136,7 +136,7 @@ public final class ResolvingVisitor implements 
SchemaVisitor<Schema> {
          if (!SchemaResolver.isUnresolvedSchema(nt)) {
             newSchema = replace.get(nt);
             List<Schema.Field> fields = nt.getFields();
-            List<Schema.Field> newFields = new 
ArrayList<Schema.Field>(fields.size());
+            List<Schema.Field> newFields = new ArrayList<>(fields.size());
             for (Schema.Field field : fields) {
              Schema.Field newField = new Schema.Field(field.name(), 
replace.get(field.schema()),
                      field.doc(), field.defaultVal(), field.order());
@@ -148,7 +148,7 @@ public final class ResolvingVisitor implements 
SchemaVisitor<Schema> {
          return SchemaVisitorAction.CONTINUE;
        case UNION:
           List<Schema> types = nt.getTypes();
-          List<Schema> newTypes = new ArrayList<Schema>(types.size());
+          List<Schema> newTypes = new ArrayList<>(types.size());
           for (Schema sch : types) {
             newTypes.add(replace.get(sch));
           }

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/compiler/src/main/java/org/apache/avro/compiler/idl/SchemaResolver.java
----------------------------------------------------------------------
diff --git 
a/lang/java/compiler/src/main/java/org/apache/avro/compiler/idl/SchemaResolver.java
 
b/lang/java/compiler/src/main/java/org/apache/avro/compiler/idl/SchemaResolver.java
index ba6dcb3..92a7692 100644
--- 
a/lang/java/compiler/src/main/java/org/apache/avro/compiler/idl/SchemaResolver.java
+++ 
b/lang/java/compiler/src/main/java/org/apache/avro/compiler/idl/SchemaResolver.java
@@ -94,7 +94,7 @@ final class SchemaResolver {
     final Collection<Schema> types = protocol.getTypes();
     // replace unresolved schemas.
     List<Schema> newSchemas = new ArrayList(types.size());
-    IdentityHashMap<Schema, Schema> replacements = new IdentityHashMap<Schema, 
Schema>();
+    IdentityHashMap<Schema, Schema> replacements = new IdentityHashMap<>();
     for (Schema schema : types) {
       newSchemas.add(Schemas.visit(schema, new ResolvingVisitor(schema, 
replacements, new SymbolTable(protocol))));
     }

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/compiler/src/main/java/org/apache/avro/compiler/schema/CloningVisitor.java
----------------------------------------------------------------------
diff --git 
a/lang/java/compiler/src/main/java/org/apache/avro/compiler/schema/CloningVisitor.java
 
b/lang/java/compiler/src/main/java/org/apache/avro/compiler/schema/CloningVisitor.java
index 6da8d23..97c2729 100644
--- 
a/lang/java/compiler/src/main/java/org/apache/avro/compiler/schema/CloningVisitor.java
+++ 
b/lang/java/compiler/src/main/java/org/apache/avro/compiler/schema/CloningVisitor.java
@@ -31,7 +31,7 @@ import static org.apache.avro.Schema.Type.RECORD;
  */
 public final class CloningVisitor implements SchemaVisitor<Schema> {
 
-  private final IdentityHashMap<Schema, Schema> replace = new 
IdentityHashMap<Schema, Schema>();
+  private final IdentityHashMap<Schema, Schema> replace = new 
IdentityHashMap<>();
 
   private final Schema root;
 
@@ -130,7 +130,7 @@ public final class CloningVisitor implements 
SchemaVisitor<Schema> {
       case RECORD:
         newSchema = replace.get(nt);
         List<Schema.Field> fields = nt.getFields();
-        List<Schema.Field> newFields = new 
ArrayList<Schema.Field>(fields.size());
+        List<Schema.Field> newFields = new ArrayList<>(fields.size());
         for (Schema.Field field : fields) {
           Schema.Field newField = new Schema.Field(field.name(), 
replace.get(field.schema()),
               copyDocs ? field.doc() : null, field.defaultVal(), 
field.order());
@@ -141,7 +141,7 @@ public final class CloningVisitor implements 
SchemaVisitor<Schema> {
         return SchemaVisitorAction.CONTINUE;
       case UNION:
         List<Schema> types = nt.getTypes();
-        List<Schema> newTypes = new ArrayList<Schema>(types.size());
+        List<Schema> newTypes = new ArrayList<>(types.size());
         for (Schema sch : types) {
           newTypes.add(replace.get(sch));
         }

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/compiler/src/main/java/org/apache/avro/compiler/schema/Schemas.java
----------------------------------------------------------------------
diff --git 
a/lang/java/compiler/src/main/java/org/apache/avro/compiler/schema/Schemas.java 
b/lang/java/compiler/src/main/java/org/apache/avro/compiler/schema/Schemas.java
index dae4b91..7d4bd6a 100644
--- 
a/lang/java/compiler/src/main/java/org/apache/avro/compiler/schema/Schemas.java
+++ 
b/lang/java/compiler/src/main/java/org/apache/avro/compiler/schema/Schemas.java
@@ -104,11 +104,11 @@ public final class Schemas {
    */
   public static <T> T visit(final Schema start, final SchemaVisitor<T> 
visitor) {
     // Set of Visited Schemas
-    IdentityHashMap<Schema, Schema> visited = new IdentityHashMap<Schema, 
Schema>();
+    IdentityHashMap<Schema, Schema> visited = new IdentityHashMap<>();
     // Stack that contains the Schams to process and afterVisitNonTerminal 
functions.
     // Deque<Either<Schema, Supplier<SchemaVisitorAction>>>
     // Using either has a cost which we want to avoid...
-    Deque<Object> dq = new ArrayDeque<Object>();
+    Deque<Object> dq = new ArrayDeque<>();
     dq.addLast(start);
     Object current;
     while ((current = dq.pollLast()) != null) {

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/compiler/src/main/java/org/apache/avro/compiler/specific/ProtocolTask.java
----------------------------------------------------------------------
diff --git 
a/lang/java/compiler/src/main/java/org/apache/avro/compiler/specific/ProtocolTask.java
 
b/lang/java/compiler/src/main/java/org/apache/avro/compiler/specific/ProtocolTask.java
index 36bf67b..38f2612 100644
--- 
a/lang/java/compiler/src/main/java/org/apache/avro/compiler/specific/ProtocolTask.java
+++ 
b/lang/java/compiler/src/main/java/org/apache/avro/compiler/specific/ProtocolTask.java
@@ -37,7 +37,7 @@ public class ProtocolTask extends Task {
   private File dest = new File(".");
   private StringType stringType = StringType.CharSequence;
 
-  private final ArrayList<FileSet> filesets = new ArrayList<FileSet>();
+  private final ArrayList<FileSet> filesets = new ArrayList<>();
 
   /** Set the schema file. */
   public void setFile(File file) { this.src = file; }

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/compiler/src/main/java/org/apache/avro/compiler/specific/SpecificCompiler.java
----------------------------------------------------------------------
diff --git 
a/lang/java/compiler/src/main/java/org/apache/avro/compiler/specific/SpecificCompiler.java
 
b/lang/java/compiler/src/main/java/org/apache/avro/compiler/specific/SpecificCompiler.java
index 7a6f5f1..ec7a67a 100644
--- 
a/lang/java/compiler/src/main/java/org/apache/avro/compiler/specific/SpecificCompiler.java
+++ 
b/lang/java/compiler/src/main/java/org/apache/avro/compiler/specific/SpecificCompiler.java
@@ -100,7 +100,7 @@ public class SpecificCompiler {
     SPECIFIC.addLogicalTypeConversion(new Conversions.DecimalConversion());
   }
 
-  private final Set<Schema> queue = new HashSet<Schema>();
+  private final Set<Schema> queue = new HashSet<>();
   private Protocol protocol;
   private VelocityEngine velocityEngine;
   private String templateDir;
@@ -120,7 +120,7 @@ public class SpecificCompiler {
 
   /* Reserved words for accessor/mutator methods */
   private static final Set<String> ACCESSOR_MUTATOR_RESERVED_WORDS =
-      new HashSet<String>(Arrays.asList(new String[] {
+      new HashSet<>(Arrays.asList(new String[]{
             "class", "schema", "classSchema"
           }));
   static {
@@ -129,8 +129,8 @@ public class SpecificCompiler {
   }
 
   /* Reserved words for error types */
-  private static final Set<String> ERROR_RESERVED_WORDS = new HashSet<String>(
-      Arrays.asList(new String[] { "message", "cause" }));
+  private static final Set<String> ERROR_RESERVED_WORDS = new HashSet<>(
+      Arrays.asList(new String[]{"message", "cause"}));
   static {
     // Add accessor/mutator reserved words to error reserved words
     ERROR_RESERVED_WORDS.addAll(ACCESSOR_MUTATOR_RESERVED_WORDS);
@@ -363,7 +363,7 @@ public class SpecificCompiler {
 
   /** Generate java classes for enqueued schemas. */
   Collection<OutputFile> compile() {
-    List<OutputFile> out = new ArrayList<OutputFile>();
+    List<OutputFile> out = new ArrayList<>();
     for (Schema schema : queue) {
       out.add(compile(schema));
     }
@@ -491,14 +491,14 @@ public class SpecificCompiler {
       return p;
 
     Protocol newP = new Protocol(p.getName(), p.getDoc(), p.getNamespace());
-    Map<Schema,Schema> types = new LinkedHashMap<Schema,Schema>();
+    Map<Schema,Schema> types = new LinkedHashMap<>();
 
     // Copy properties
     for (Map.Entry<String,JsonNode> prop : p.getJsonProps().entrySet())
       newP.addProp(prop.getKey(), prop.getValue());   // copy props
 
     // annotate types
-    Collection<Schema> namedTypes = new LinkedHashSet<Schema>();
+    Collection<Schema> namedTypes = new LinkedHashSet<>();
     for (Schema s : p.getTypes())
       namedTypes.add(addStringType(s, types));
     newP.setTypes(namedTypes);
@@ -519,7 +519,7 @@ public class SpecificCompiler {
   private Schema addStringType(Schema s) {
     if (stringType != StringType.String)
       return s;
-    return addStringType(s, new LinkedHashMap<Schema,Schema>());
+    return addStringType(s, new LinkedHashMap<>());
   }
 
   // annotate map and string schemas with string type
@@ -537,7 +537,7 @@ public class SpecificCompiler {
       for (String alias : s.getAliases())
         result.addAlias(alias, null);             // copy aliases
       seen.put(s, result);
-      List<Field> newFields = new ArrayList<Field>();
+      List<Field> newFields = new ArrayList<>();
       for (Field f : s.getFields()) {
         Schema fSchema = addStringType(f.schema(), seen);
         Field newF =
@@ -560,7 +560,7 @@ public class SpecificCompiler {
       GenericData.setStringType(result, stringType);
       break;
     case UNION:
-      List<Schema> types = new ArrayList<Schema>();
+      List<Schema> types = new ArrayList<>();
       for (Schema branch : s.getTypes())
         types.add(addStringType(branch, seen));
       result = Schema.createUnion(types);

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/compiler/src/test/java/org/apache/avro/compiler/idl/TestCycle.java
----------------------------------------------------------------------
diff --git 
a/lang/java/compiler/src/test/java/org/apache/avro/compiler/idl/TestCycle.java 
b/lang/java/compiler/src/test/java/org/apache/avro/compiler/idl/TestCycle.java
index 89a04d6..278aa2a 100644
--- 
a/lang/java/compiler/src/test/java/org/apache/avro/compiler/idl/TestCycle.java
+++ 
b/lang/java/compiler/src/test/java/org/apache/avro/compiler/idl/TestCycle.java
@@ -57,7 +57,7 @@ public class TestCycle {
     File output = new File("./target");
     compiler.compileToDestination(null, output);
 
-    Map<String, Schema> schemas = new HashMap<String, Schema>();
+    Map<String, Schema> schemas = new HashMap<>();
     for (Schema schema : protocol.getTypes()) {
       final String name = schema.getName();
       schemas.put(name, schema);

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/compiler/src/test/java/org/apache/avro/compiler/idl/TestIdl.java
----------------------------------------------------------------------
diff --git 
a/lang/java/compiler/src/test/java/org/apache/avro/compiler/idl/TestIdl.java 
b/lang/java/compiler/src/test/java/org/apache/avro/compiler/idl/TestIdl.java
index 233769e..cb04141 100644
--- a/lang/java/compiler/src/test/java/org/apache/avro/compiler/idl/TestIdl.java
+++ b/lang/java/compiler/src/test/java/org/apache/avro/compiler/idl/TestIdl.java
@@ -72,7 +72,7 @@ public class TestIdl {
     assertTrue(TEST_INPUT_DIR.exists());
     assertTrue(TEST_OUTPUT_DIR.exists());
 
-    tests = new ArrayList<GenTest>();
+    tests = new ArrayList<>();
     for (File inF : TEST_INPUT_DIR.listFiles()) {
       if (!inF.getName().endsWith(".avdl")) continue;
       if (inF.getName().startsWith(".")) continue;

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/compiler/src/test/java/org/apache/avro/compiler/specific/TestSpecificCompiler.java
----------------------------------------------------------------------
diff --git 
a/lang/java/compiler/src/test/java/org/apache/avro/compiler/specific/TestSpecificCompiler.java
 
b/lang/java/compiler/src/test/java/org/apache/avro/compiler/specific/TestSpecificCompiler.java
index ae24847..d79f90e 100644
--- 
a/lang/java/compiler/src/test/java/org/apache/avro/compiler/specific/TestSpecificCompiler.java
+++ 
b/lang/java/compiler/src/test/java/org/apache/avro/compiler/specific/TestSpecificCompiler.java
@@ -96,12 +96,12 @@ public class TestSpecificCompiler {
             compiler.getStandardFileManager(null, null, null);
 
     File dstDir = AvroTestUtil.tempFile(TestSpecificCompiler.class, 
"realCompiler");
-    List<File> javaFiles = new ArrayList<File>();
+    List<File> javaFiles = new ArrayList<>();
     for (SpecificCompiler.OutputFile o : outputs) {
       javaFiles.add(o.writeToDestination(null, dstDir));
     }
 
-    final List<Diagnostic<?>> warnings = new ArrayList<Diagnostic<?>>();
+    final List<Diagnostic<?>> warnings = new ArrayList<>();
     DiagnosticListener<JavaFileObject> diagnosticListener = new 
DiagnosticListener<JavaFileObject>() {
       @Override
       public void report(Diagnostic<? extends JavaFileObject> diagnostic) {

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/ipc/src/main/java/org/apache/avro/ipc/DatagramTransceiver.java
----------------------------------------------------------------------
diff --git 
a/lang/java/ipc/src/main/java/org/apache/avro/ipc/DatagramTransceiver.java 
b/lang/java/ipc/src/main/java/org/apache/avro/ipc/DatagramTransceiver.java
index db4c1f0..9ff30f7 100644
--- a/lang/java/ipc/src/main/java/org/apache/avro/ipc/DatagramTransceiver.java
+++ b/lang/java/ipc/src/main/java/org/apache/avro/ipc/DatagramTransceiver.java
@@ -56,7 +56,7 @@ public class DatagramTransceiver extends Transceiver {
     remote = channel.receive(buffer);
     LOG.info("received from "+remote);
     buffer.flip();
-    List<ByteBuffer> buffers = new ArrayList<ByteBuffer>();
+    List<ByteBuffer> buffers = new ArrayList<>();
     while (true) {
       int length = buffer.getInt();
       if (length == 0) {                          // end of buffers

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/ipc/src/main/java/org/apache/avro/ipc/HttpTransceiver.java
----------------------------------------------------------------------
diff --git 
a/lang/java/ipc/src/main/java/org/apache/avro/ipc/HttpTransceiver.java 
b/lang/java/ipc/src/main/java/org/apache/avro/ipc/HttpTransceiver.java
index 11c9ebb..18a4eff 100644
--- a/lang/java/ipc/src/main/java/org/apache/avro/ipc/HttpTransceiver.java
+++ b/lang/java/ipc/src/main/java/org/apache/avro/ipc/HttpTransceiver.java
@@ -94,7 +94,7 @@ public class HttpTransceiver extends Transceiver {
 
   static List<ByteBuffer> readBuffers(InputStream in)
     throws IOException {
-    List<ByteBuffer> buffers = new ArrayList<ByteBuffer>();
+    List<ByteBuffer> buffers = new ArrayList<>();
     while (true) {
       int length = (in.read()<<24)+(in.read()<<16)+(in.read()<<8)+in.read();
       if (length == 0) {                       // end of buffers

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/ipc/src/main/java/org/apache/avro/ipc/NettyTransceiver.java
----------------------------------------------------------------------
diff --git 
a/lang/java/ipc/src/main/java/org/apache/avro/ipc/NettyTransceiver.java 
b/lang/java/ipc/src/main/java/org/apache/avro/ipc/NettyTransceiver.java
index 0d7dfb7..ec2b718 100644
--- a/lang/java/ipc/src/main/java/org/apache/avro/ipc/NettyTransceiver.java
+++ b/lang/java/ipc/src/main/java/org/apache/avro/ipc/NettyTransceiver.java
@@ -72,7 +72,7 @@ public class NettyTransceiver extends Transceiver {
 
   private final AtomicInteger serialGenerator = new AtomicInteger(0);
   private final Map<Integer, Callback<List<ByteBuffer>>> requests =
-    new ConcurrentHashMap<Integer, Callback<List<ByteBuffer>>>();
+    new ConcurrentHashMap<>();
 
   private final ChannelFactory channelFactory;
   private final long connectTimeoutMillis;
@@ -238,7 +238,7 @@ public class NettyTransceiver extends Transceiver {
    */
   protected static Map<String, Object> buildDefaultBootstrapOptions(
       Long connectTimeoutMillis) {
-    Map<String, Object> options = new HashMap<String, Object>(3);
+    Map<String, Object> options = new HashMap<>(3);
     options.put(NETTY_TCP_NODELAY_OPTION, DEFAULT_TCP_NODELAY_VALUE);
     options.put(NETTY_KEEPALIVE_OPTION, true);
     options.put(NETTY_CONNECT_TIMEOUT_OPTION,
@@ -357,7 +357,7 @@ public class NettyTransceiver extends Transceiver {
           // Remove all pending requests (will be canceled after relinquishing
           // write lock).
           requestsToCancel =
-            new ConcurrentHashMap<Integer, 
Callback<List<ByteBuffer>>>(requests);
+            new ConcurrentHashMap<>(requests);
           requests.clear();
         }
       }
@@ -453,7 +453,7 @@ public class NettyTransceiver extends Transceiver {
   public List<ByteBuffer> transceive(List<ByteBuffer> request)
     throws IOException {
     try {
-      CallFuture<List<ByteBuffer>> transceiverFuture = new 
CallFuture<List<ByteBuffer>>();
+      CallFuture<List<ByteBuffer>> transceiverFuture = new CallFuture<>();
       transceive(request, transceiverFuture);
       return transceiverFuture.get();
     } catch (InterruptedException e) {

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/ipc/src/main/java/org/apache/avro/ipc/NettyTransportCodec.java
----------------------------------------------------------------------
diff --git 
a/lang/java/ipc/src/main/java/org/apache/avro/ipc/NettyTransportCodec.java 
b/lang/java/ipc/src/main/java/org/apache/avro/ipc/NettyTransportCodec.java
index 9a96a37..8d487ba 100644
--- a/lang/java/ipc/src/main/java/org/apache/avro/ipc/NettyTransportCodec.java
+++ b/lang/java/ipc/src/main/java/org/apache/avro/ipc/NettyTransportCodec.java
@@ -84,7 +84,7 @@ public class NettyTransportCodec {
         throws Exception {
       NettyDataPack dataPack = (NettyDataPack)msg;
       List<ByteBuffer> origs = dataPack.getDatas();
-      List<ByteBuffer> bbs = new ArrayList<ByteBuffer>(origs.size() * 2 + 1);
+      List<ByteBuffer> bbs = new ArrayList<>(origs.size() * 2 + 1);
       bbs.add(getPackHeader(dataPack)); // prepend a pack header including 
serial number and list size
       for (ByteBuffer b : origs) {
         bbs.add(getLengthHeader(b)); // for each buffer prepend length field
@@ -169,7 +169,7 @@ public class NettyTransportCodec {
       }
 
       this.listSize = listSize;
-      dataPack = new NettyDataPack(serial, new 
ArrayList<ByteBuffer>(listSize));
+      dataPack = new NettyDataPack(serial, new ArrayList<>(listSize));
 
       return true;
     }

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/ipc/src/main/java/org/apache/avro/ipc/RPCContext.java
----------------------------------------------------------------------
diff --git a/lang/java/ipc/src/main/java/org/apache/avro/ipc/RPCContext.java 
b/lang/java/ipc/src/main/java/org/apache/avro/ipc/RPCContext.java
index f56279f..1188300 100644
--- a/lang/java/ipc/src/main/java/org/apache/avro/ipc/RPCContext.java
+++ b/lang/java/ipc/src/main/java/org/apache/avro/ipc/RPCContext.java
@@ -74,7 +74,7 @@ public class RPCContext {
    */
   public Map<String,ByteBuffer> requestHandshakeMeta() {
     if (handshakeRequest.meta == null)
-      handshakeRequest.meta = new HashMap<String,ByteBuffer>();
+      handshakeRequest.meta = new HashMap<>();
     return handshakeRequest.meta;
   }
 
@@ -90,7 +90,7 @@ public class RPCContext {
    */
   public Map<String,ByteBuffer> responseHandshakeMeta() {
     if (handshakeResponse.meta == null)
-      handshakeResponse.meta = new HashMap<String,ByteBuffer>();
+      handshakeResponse.meta = new HashMap<>();
     return handshakeResponse.meta;
   }
 
@@ -106,7 +106,7 @@ public class RPCContext {
    */
   public Map<String,ByteBuffer> requestCallMeta() {
     if (requestCallMeta == null) {
-      requestCallMeta = new HashMap<String,ByteBuffer>();
+      requestCallMeta = new HashMap<>();
     }
     return requestCallMeta;
   }
@@ -123,7 +123,7 @@ public class RPCContext {
    */
   public Map<String,ByteBuffer> responseCallMeta() {
     if (responseCallMeta == null) {
-      responseCallMeta = new HashMap<String,ByteBuffer>();
+      responseCallMeta = new HashMap<>();
     }
     return responseCallMeta;
   }

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/ipc/src/main/java/org/apache/avro/ipc/Requestor.java
----------------------------------------------------------------------
diff --git a/lang/java/ipc/src/main/java/org/apache/avro/ipc/Requestor.java 
b/lang/java/ipc/src/main/java/org/apache/avro/ipc/Requestor.java
index 4dfeb7c..c1a2526 100644
--- a/lang/java/ipc/src/main/java/org/apache/avro/ipc/Requestor.java
+++ b/lang/java/ipc/src/main/java/org/apache/avro/ipc/Requestor.java
@@ -55,9 +55,9 @@ public abstract class Requestor {
   private static final Schema META =
     Schema.createMap(Schema.create(Schema.Type.BYTES));
   private static final GenericDatumReader<Map<String,ByteBuffer>>
-    META_READER = new GenericDatumReader<Map<String,ByteBuffer>>(META);
+    META_READER = new GenericDatumReader<>(META);
   private static final GenericDatumWriter<Map<String,ByteBuffer>>
-    META_WRITER = new GenericDatumWriter<Map<String,ByteBuffer>>(META);
+    META_WRITER = new GenericDatumWriter<>(META);
 
   private final Protocol local;
   private volatile Protocol remote;
@@ -75,7 +75,7 @@ public abstract class Requestor {
     this.local = local;
     this.transceiver = transceiver;
     this.rpcMetaPlugins =
-      new CopyOnWriteArrayList<RPCPlugin>();
+      new CopyOnWriteArrayList<>();
   }
 
   /**
@@ -95,7 +95,7 @@ public abstract class Requestor {
     // Initialize request
     Request rpcRequest = new Request(messageName, request, new RPCContext());
     CallFuture<Object> future = /* only need a Future for two-way messages */
-      rpcRequest.getMessage().isOneWay() ? null : new CallFuture<Object>();
+      rpcRequest.getMessage().isOneWay() ? null : new CallFuture<>();
 
     // Send request
     request(rpcRequest, future);
@@ -143,9 +143,9 @@ public abstract class Requestor {
           // the write lock
           handshakeLock.unlock();
         } else {
-          CallFuture<T> callFuture = new CallFuture<T>(callback);
+          CallFuture<T> callFuture = new CallFuture<>(callback);
           t.transceive(request.getBytes(),
-                       new TransceiverCallback<T>(request, callFuture));
+                       new TransceiverCallback<>(request, callFuture));
           // Block until handshake complete
           callFuture.await();
           if (request.getMessage().isOneWay()) {
@@ -179,21 +179,21 @@ public abstract class Requestor {
       }
     } else {
       t.transceive(request.getBytes(),
-                   new TransceiverCallback<T>(request, callback));
+                   new TransceiverCallback<>(request, callback));
     }
 
   }
 
   private static final ConcurrentMap<String,MD5> REMOTE_HASHES =
-    new ConcurrentHashMap<String,MD5>();
+    new ConcurrentHashMap<>();
   private static final ConcurrentMap<MD5,Protocol> REMOTE_PROTOCOLS =
-    new ConcurrentHashMap<MD5,Protocol>();
+    new ConcurrentHashMap<>();
 
   private static final SpecificDatumWriter<HandshakeRequest> HANDSHAKE_WRITER =
-    new SpecificDatumWriter<HandshakeRequest>(HandshakeRequest.class);
+    new SpecificDatumWriter<>(HandshakeRequest.class);
 
   private static final SpecificDatumReader<HandshakeResponse> HANDSHAKE_READER 
=
-    new SpecificDatumReader<HandshakeResponse>(HandshakeResponse.class);
+    new SpecificDatumReader<>(HandshakeResponse.class);
 
   private void writeHandshake(Encoder out) throws IOException {
     if (getTransceiver().isConnected()) return;
@@ -344,7 +344,7 @@ public abstract class Requestor {
           Request handshake = new Request(request);
           getTransceiver().transceive
             (handshake.getBytes(),
-             new TransceiverCallback<T>(handshake, callback));
+             new TransceiverCallback<>(handshake, callback));
           return;
         }
       } catch (Exception e) {

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/ipc/src/main/java/org/apache/avro/ipc/Responder.java
----------------------------------------------------------------------
diff --git a/lang/java/ipc/src/main/java/org/apache/avro/ipc/Responder.java 
b/lang/java/ipc/src/main/java/org/apache/avro/ipc/Responder.java
index 4f6ae2a..05444b6 100644
--- a/lang/java/ipc/src/main/java/org/apache/avro/ipc/Responder.java
+++ b/lang/java/ipc/src/main/java/org/apache/avro/ipc/Responder.java
@@ -54,15 +54,15 @@ public abstract class Responder {
   private static final Schema META =
     Schema.createMap(Schema.create(Schema.Type.BYTES));
   private static final GenericDatumReader<Map<String,ByteBuffer>>
-    META_READER = new GenericDatumReader<Map<String,ByteBuffer>>(META);
+    META_READER = new GenericDatumReader<>(META);
   private static final GenericDatumWriter<Map<String,ByteBuffer>>
-    META_WRITER = new GenericDatumWriter<Map<String,ByteBuffer>>(META);
+    META_WRITER = new GenericDatumWriter<>(META);
 
   private static final ThreadLocal<Protocol> REMOTE =
-    new ThreadLocal<Protocol>();
+    new ThreadLocal<>();
 
   private final Map<MD5,Protocol> protocols
-    = new ConcurrentHashMap<MD5,Protocol>();
+    = new ConcurrentHashMap<>();
 
   private final Protocol local;
   private final MD5 localHash;
@@ -74,7 +74,7 @@ public abstract class Responder {
     localHash.bytes(local.getMD5());
     protocols.put(localHash, local);
     this.rpcMetaPlugins =
-      new CopyOnWriteArrayList<RPCPlugin>();
+      new CopyOnWriteArrayList<>();
   }
 
   /** Return the remote protocol.  Accesses a {@link ThreadLocal} that's set
@@ -199,9 +199,9 @@ public abstract class Responder {
   }
 
   private SpecificDatumWriter<HandshakeResponse> handshakeWriter =
-    new SpecificDatumWriter<HandshakeResponse>(HandshakeResponse.class);
+    new SpecificDatumWriter<>(HandshakeResponse.class);
   private SpecificDatumReader<HandshakeRequest> handshakeReader =
-    new SpecificDatumReader<HandshakeRequest>(HandshakeRequest.class);
+    new SpecificDatumReader<>(HandshakeRequest.class);
 
   private Protocol handshake(Decoder in, Encoder out, Transceiver connection)
     throws IOException {

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/ipc/src/main/java/org/apache/avro/ipc/SaslSocketTransceiver.java
----------------------------------------------------------------------
diff --git 
a/lang/java/ipc/src/main/java/org/apache/avro/ipc/SaslSocketTransceiver.java 
b/lang/java/ipc/src/main/java/org/apache/avro/ipc/SaslSocketTransceiver.java
index aba720c..b934fd1 100644
--- a/lang/java/ipc/src/main/java/org/apache/avro/ipc/SaslSocketTransceiver.java
+++ b/lang/java/ipc/src/main/java/org/apache/avro/ipc/SaslSocketTransceiver.java
@@ -179,7 +179,7 @@ public class SaslSocketTransceiver extends Transceiver {
 
   @Override public synchronized List<ByteBuffer> readBuffers()
     throws IOException {
-    List<ByteBuffer> buffers = new ArrayList<ByteBuffer>();
+    List<ByteBuffer> buffers = new ArrayList<>();
     while (true) {
       ByteBuffer buffer = readFrameAndUnwrap();
       if (buffer.remaining() == 0)
@@ -225,7 +225,7 @@ public class SaslSocketTransceiver extends Transceiver {
   @Override public synchronized void writeBuffers(List<ByteBuffer> buffers)
     throws IOException {
     if (buffers == null) return;                  // no data to write
-    List<ByteBuffer> writes = new ArrayList<ByteBuffer>(buffers.size()*2+1);
+    List<ByteBuffer> writes = new ArrayList<>(buffers.size() * 2 + 1);
     int currentLength = 0;
     ByteBuffer currentHeader = writeHeader;
     for (ByteBuffer buffer : buffers) {           // gather writes

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/ipc/src/main/java/org/apache/avro/ipc/SocketTransceiver.java
----------------------------------------------------------------------
diff --git 
a/lang/java/ipc/src/main/java/org/apache/avro/ipc/SocketTransceiver.java 
b/lang/java/ipc/src/main/java/org/apache/avro/ipc/SocketTransceiver.java
index 50bc5be..6e692cf 100644
--- a/lang/java/ipc/src/main/java/org/apache/avro/ipc/SocketTransceiver.java
+++ b/lang/java/ipc/src/main/java/org/apache/avro/ipc/SocketTransceiver.java
@@ -59,7 +59,7 @@ public class SocketTransceiver extends Transceiver {
   }
 
   public synchronized List<ByteBuffer> readBuffers() throws IOException {
-    List<ByteBuffer> buffers = new ArrayList<ByteBuffer>();
+    List<ByteBuffer> buffers = new ArrayList<>();
     while (true) {
       header.clear();
       while (header.hasRemaining()) {

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/ipc/src/main/java/org/apache/avro/ipc/generic/GenericRequestor.java
----------------------------------------------------------------------
diff --git 
a/lang/java/ipc/src/main/java/org/apache/avro/ipc/generic/GenericRequestor.java 
b/lang/java/ipc/src/main/java/org/apache/avro/ipc/generic/GenericRequestor.java
index bce7168..0e91b87 100644
--- 
a/lang/java/ipc/src/main/java/org/apache/avro/ipc/generic/GenericRequestor.java
+++ 
b/lang/java/ipc/src/main/java/org/apache/avro/ipc/generic/GenericRequestor.java
@@ -82,19 +82,19 @@ public class GenericRequestor extends Requestor {
   @Override
   public void writeRequest(Schema schema, Object request, Encoder out)
     throws IOException {
-    new GenericDatumWriter<Object>(schema, data).write(request, out);
+    new GenericDatumWriter<>(schema, data).write(request, out);
   }
 
   @Override
   public Object readResponse(Schema writer, Schema reader, Decoder in)
     throws IOException {
-    return new GenericDatumReader<Object>(writer, reader, data).read(null, in);
+    return new GenericDatumReader<>(writer, reader, data).read(null, in);
   }
 
   @Override
   public Exception readError(Schema writer, Schema reader, Decoder in)
     throws IOException {
-    Object error = new GenericDatumReader<Object>(writer, reader, data)
+    Object error = new GenericDatumReader<>(writer, reader, data)
       .read(null,in);
     if (error instanceof CharSequence)
       return new AvroRuntimeException(error.toString()); // system error

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/ipc/src/main/java/org/apache/avro/ipc/generic/GenericResponder.java
----------------------------------------------------------------------
diff --git 
a/lang/java/ipc/src/main/java/org/apache/avro/ipc/generic/GenericResponder.java 
b/lang/java/ipc/src/main/java/org/apache/avro/ipc/generic/GenericResponder.java
index 1ed6bc7..e82d813 100644
--- 
a/lang/java/ipc/src/main/java/org/apache/avro/ipc/generic/GenericResponder.java
+++ 
b/lang/java/ipc/src/main/java/org/apache/avro/ipc/generic/GenericResponder.java
@@ -49,11 +49,11 @@ public abstract class GenericResponder extends Responder {
   public GenericData getGenericData() { return data; }
 
   protected DatumWriter<Object> getDatumWriter(Schema schema) {
-    return new GenericDatumWriter<Object>(schema, data);
+    return new GenericDatumWriter<>(schema, data);
   }
 
   protected DatumReader<Object> getDatumReader(Schema actual, Schema expected) 
{
-    return new GenericDatumReader<Object>(actual, expected, data);
+    return new GenericDatumReader<>(actual, expected, data);
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/ipc/src/main/java/org/apache/avro/ipc/reflect/ReflectRequestor.java
----------------------------------------------------------------------
diff --git 
a/lang/java/ipc/src/main/java/org/apache/avro/ipc/reflect/ReflectRequestor.java 
b/lang/java/ipc/src/main/java/org/apache/avro/ipc/reflect/ReflectRequestor.java
index 8ac26ca..b6673d2 100644
--- 
a/lang/java/ipc/src/main/java/org/apache/avro/ipc/reflect/ReflectRequestor.java
+++ 
b/lang/java/ipc/src/main/java/org/apache/avro/ipc/reflect/ReflectRequestor.java
@@ -60,12 +60,12 @@ public class ReflectRequestor extends SpecificRequestor {
 
   @Override
   protected DatumWriter<Object> getDatumWriter(Schema schema) {
-    return new ReflectDatumWriter<Object>(schema, getReflectData());
+    return new ReflectDatumWriter<>(schema, getReflectData());
   }
 
   @Override
   protected DatumReader<Object> getDatumReader(Schema writer, Schema reader) {
-    return new ReflectDatumReader<Object>(writer, reader, getReflectData());
+    return new ReflectDatumReader<>(writer, reader, getReflectData());
   }
 
   /** Create a proxy instance whose methods invoke RPCs. */

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/ipc/src/main/java/org/apache/avro/ipc/reflect/ReflectResponder.java
----------------------------------------------------------------------
diff --git 
a/lang/java/ipc/src/main/java/org/apache/avro/ipc/reflect/ReflectResponder.java 
b/lang/java/ipc/src/main/java/org/apache/avro/ipc/reflect/ReflectResponder.java
index b9d8eff..c97e7b5 100644
--- 
a/lang/java/ipc/src/main/java/org/apache/avro/ipc/reflect/ReflectResponder.java
+++ 
b/lang/java/ipc/src/main/java/org/apache/avro/ipc/reflect/ReflectResponder.java
@@ -52,12 +52,12 @@ public class ReflectResponder extends SpecificResponder {
 
   @Override
   protected DatumWriter<Object> getDatumWriter(Schema schema) {
-    return new ReflectDatumWriter<Object>(schema, getReflectData());
+    return new ReflectDatumWriter<>(schema, getReflectData());
   }
 
   @Override
   protected DatumReader<Object> getDatumReader(Schema actual, Schema expected) 
{
-    return new ReflectDatumReader<Object>(actual, expected, getReflectData());
+    return new ReflectDatumReader<>(actual, expected, getReflectData());
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/ipc/src/main/java/org/apache/avro/ipc/specific/SpecificRequestor.java
----------------------------------------------------------------------
diff --git 
a/lang/java/ipc/src/main/java/org/apache/avro/ipc/specific/SpecificRequestor.java
 
b/lang/java/ipc/src/main/java/org/apache/avro/ipc/specific/SpecificRequestor.java
index 421d9bc..6619902 100644
--- 
a/lang/java/ipc/src/main/java/org/apache/avro/ipc/specific/SpecificRequestor.java
+++ 
b/lang/java/ipc/src/main/java/org/apache/avro/ipc/specific/SpecificRequestor.java
@@ -137,7 +137,7 @@ public class SpecificRequestor extends Requestor implements 
InvocationHandler {
   }
 
   protected DatumWriter<Object> getDatumWriter(Schema schema) {
-    return new SpecificDatumWriter<Object>(schema, data);
+    return new SpecificDatumWriter<>(schema, data);
   }
 
   @Deprecated                                     // for compatibility in 1.5
@@ -146,7 +146,7 @@ public class SpecificRequestor extends Requestor implements 
InvocationHandler {
   }
 
   protected DatumReader<Object> getDatumReader(Schema writer, Schema reader) {
-    return new SpecificDatumReader<Object>(writer, reader, data);
+    return new SpecificDatumReader<>(writer, reader, data);
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/ipc/src/main/java/org/apache/avro/ipc/specific/SpecificResponder.java
----------------------------------------------------------------------
diff --git 
a/lang/java/ipc/src/main/java/org/apache/avro/ipc/specific/SpecificResponder.java
 
b/lang/java/ipc/src/main/java/org/apache/avro/ipc/specific/SpecificResponder.java
index 5e84d14..73d3ce3 100644
--- 
a/lang/java/ipc/src/main/java/org/apache/avro/ipc/specific/SpecificResponder.java
+++ 
b/lang/java/ipc/src/main/java/org/apache/avro/ipc/specific/SpecificResponder.java
@@ -60,12 +60,12 @@ public class SpecificResponder extends GenericResponder {
 
   @Override
   protected DatumWriter<Object> getDatumWriter(Schema schema) {
-    return new SpecificDatumWriter<Object>(schema, getSpecificData());
+    return new SpecificDatumWriter<>(schema, getSpecificData());
   }
 
   @Override
   protected DatumReader<Object> getDatumReader(Schema actual, Schema expected) 
{
-    return new SpecificDatumReader<Object>(actual, expected, 
getSpecificData());
+    return new SpecificDatumReader<>(actual, expected, getSpecificData());
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/ipc/src/main/java/org/apache/avro/ipc/stats/Histogram.java
----------------------------------------------------------------------
diff --git 
a/lang/java/ipc/src/main/java/org/apache/avro/ipc/stats/Histogram.java 
b/lang/java/ipc/src/main/java/org/apache/avro/ipc/stats/Histogram.java
index 6fef833..20b9e13 100644
--- a/lang/java/ipc/src/main/java/org/apache/avro/ipc/stats/Histogram.java
+++ b/lang/java/ipc/src/main/java/org/apache/avro/ipc/stats/Histogram.java
@@ -88,7 +88,7 @@ class Histogram<B, T> {
 
   public static class TreeMapSegmenter<T extends Comparable<T>>
       implements Segmenter<String, T> {
-    private TreeMap<T, Integer> index = new TreeMap<T, Integer>();
+    private TreeMap<T, Integer> index = new TreeMap<>();
     public TreeMapSegmenter(SortedSet<T> leftEndpoints) {
       if (leftEndpoints.isEmpty()) {
         throw new IllegalArgumentException(
@@ -119,7 +119,7 @@ class Histogram<B, T> {
 
     @Override
     public ArrayList<String> getBoundaryLabels() {
-      ArrayList<String> outArray = new 
ArrayList<String>(index.keySet().size());
+      ArrayList<String> outArray = new ArrayList<>(index.keySet().size());
       for (T obj: index.keySet()) {
         outArray.add(obj.toString());
       }
@@ -128,7 +128,7 @@ class Histogram<B, T> {
 
     @Override
     public ArrayList<String> getBucketLabels() {
-      ArrayList<String> outArray = new 
ArrayList<String>(index.keySet().size());
+      ArrayList<String> outArray = new ArrayList<>(index.keySet().size());
       Iterator<String> bucketsIt = this.getBuckets();
       while (bucketsIt.hasNext()) {
         outArray.add(bucketsIt.next());
@@ -170,7 +170,7 @@ class Histogram<B, T> {
   public Histogram(Segmenter<B, T> segmenter) {
     this.segmenter = segmenter;
     this.counts = new int[segmenter.size()];
-    this.recentAdditions = new LinkedList<T>();
+    this.recentAdditions = new LinkedList<>();
   }
 
   /** Tallies a value in the histogram. */
@@ -251,7 +251,7 @@ class Histogram<B, T> {
 
     @Override
     public Entry<B> next() {
-      return new Entry<B>(bucketNameIterator.next(), counts[i++]);
+      return new Entry<>(bucketNameIterator.next(), counts[i++]);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/ipc/src/main/java/org/apache/avro/ipc/stats/StatsPlugin.java
----------------------------------------------------------------------
diff --git 
a/lang/java/ipc/src/main/java/org/apache/avro/ipc/stats/StatsPlugin.java 
b/lang/java/ipc/src/main/java/org/apache/avro/ipc/stats/StatsPlugin.java
index 6301bbe..42d3320 100644
--- a/lang/java/ipc/src/main/java/org/apache/avro/ipc/stats/StatsPlugin.java
+++ b/lang/java/ipc/src/main/java/org/apache/avro/ipc/stats/StatsPlugin.java
@@ -44,7 +44,7 @@ import org.apache.avro.ipc.stats.Stopwatch.Ticks;
 public class StatsPlugin extends RPCPlugin {
   /** Static declaration of histogram buckets. */
   static final Segmenter<String, Float> LATENCY_SEGMENTER =
-    new Histogram.TreeMapSegmenter<Float>(new TreeSet<Float>(Arrays.asList(
+      new Histogram.TreeMapSegmenter<>(new TreeSet<>(Arrays.asList(
             0f,
            25f,
            50f,
@@ -62,7 +62,7 @@ public class StatsPlugin extends RPCPlugin {
        600000f)));
 
   static final Segmenter<String, Integer> PAYLOAD_SEGMENTER =
-    new Histogram.TreeMapSegmenter<Integer>(new TreeSet<Integer>(Arrays.asList(
+      new Histogram.TreeMapSegmenter<>(new TreeSet<>(Arrays.asList(
             0,
            25,
            50,
@@ -82,17 +82,17 @@ public class StatsPlugin extends RPCPlugin {
   /** Per-method histograms.
    * Must be accessed while holding a lock. */
   Map<Message, FloatHistogram<?>> methodTimings =
-    new HashMap<Message, FloatHistogram<?>>();
+    new HashMap<>();
 
   Map<Message, IntegerHistogram<?>> sendPayloads =
-    new HashMap<Message, IntegerHistogram<?>>();
+    new HashMap<>();
 
   Map<Message, IntegerHistogram<?>> receivePayloads =
-    new HashMap<Message, IntegerHistogram<?>>();
+    new HashMap<>();
 
   /** RPCs in flight. */
   ConcurrentMap<RPCContext, Stopwatch> activeRpcs =
-    new ConcurrentHashMap<RPCContext, Stopwatch>();
+    new ConcurrentHashMap<>();
   private Ticks ticks;
 
   /** How long I've been alive */

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/ipc/src/main/java/org/apache/avro/ipc/stats/StatsServlet.java
----------------------------------------------------------------------
diff --git 
a/lang/java/ipc/src/main/java/org/apache/avro/ipc/stats/StatsServlet.java 
b/lang/java/ipc/src/main/java/org/apache/avro/ipc/stats/StatsServlet.java
index 075bff2..5b29076 100644
--- a/lang/java/ipc/src/main/java/org/apache/avro/ipc/stats/StatsServlet.java
+++ b/lang/java/ipc/src/main/java/org/apache/avro/ipc/stats/StatsServlet.java
@@ -81,7 +81,7 @@ public class StatsServlet extends HttpServlet {
 
     public RenderableMessage(String name) {
       this.name = name;
-      this.charts = new ArrayList<HashMap<String, String>>();
+      this.charts = new ArrayList<>();
     }
 
     public ArrayList<HashMap<String, String>> getCharts() {
@@ -129,10 +129,10 @@ public class StatsServlet extends HttpServlet {
     VelocityContext context = new VelocityContext();
     context.put("title", "Avro RPC Stats");
 
-    ArrayList<String> rpcs = new ArrayList<String>();  // in flight rpcs
+    ArrayList<String> rpcs = new ArrayList<>();  // in flight rpcs
 
     ArrayList<RenderableMessage> messages =
-      new ArrayList<RenderableMessage>();
+      new ArrayList<>();
 
     for (Entry<RPCContext, Stopwatch> rpc :
          this.statsPlugin.activeRpcs.entrySet()) {
@@ -185,7 +185,7 @@ public class StatsServlet extends HttpServlet {
       FloatHistogram<?> hist = this.statsPlugin.methodTimings.get(message);
       out.numCalls = hist.getCount();
 
-      HashMap<String, String> latencyBar = new HashMap<String, String>();
+      HashMap<String, String> latencyBar = new HashMap<>();
       // Fill in chart attributes for velocity
       latencyBar.put("type", "bar");
       latencyBar.put("title", "All-Time Latency");
@@ -201,7 +201,7 @@ public class StatsServlet extends HttpServlet {
       latencyBar.put("dataStr", Arrays.toString(hist.getHistogram()));
       out.charts.add(latencyBar);
 
-      HashMap<String, String> latencyDot = new HashMap<String, String>();
+      HashMap<String, String> latencyDot = new HashMap<>();
       latencyDot.put("title", "Latency");
       latencyDot.put("type", "dot");
       latencyDot.put("dataStr",
@@ -211,7 +211,7 @@ public class StatsServlet extends HttpServlet {
 
     synchronized(this.statsPlugin.sendPayloads) {
       IntegerHistogram<?> hist = this.statsPlugin.sendPayloads.get(message);
-      HashMap<String, String> latencyBar = new HashMap<String, String>();
+      HashMap<String, String> latencyBar = new HashMap<>();
       // Fill in chart attributes for velocity
       latencyBar.put("type", "bar");
       latencyBar.put("title", "All-Time Send Payload");
@@ -227,7 +227,7 @@ public class StatsServlet extends HttpServlet {
       latencyBar.put("dataStr", Arrays.toString(hist.getHistogram()));
       out.charts.add(latencyBar);
 
-      HashMap<String, String> latencyDot = new HashMap<String, String>();
+      HashMap<String, String> latencyDot = new HashMap<>();
       latencyDot.put("title", "Send Payload");
       latencyDot.put("type", "dot");
       latencyDot.put("dataStr",
@@ -237,7 +237,7 @@ public class StatsServlet extends HttpServlet {
 
     synchronized(this.statsPlugin.receivePayloads) {
       IntegerHistogram<?> hist = this.statsPlugin.receivePayloads.get(message);
-      HashMap<String, String> latencyBar = new HashMap<String, String>();
+      HashMap<String, String> latencyBar = new HashMap<>();
       // Fill in chart attributes for velocity
       latencyBar.put("type", "bar");
       latencyBar.put("title", "All-Time Receive Payload");
@@ -253,7 +253,7 @@ public class StatsServlet extends HttpServlet {
       latencyBar.put("dataStr", Arrays.toString(hist.getHistogram()));
       out.charts.add(latencyBar);
 
-      HashMap<String, String> latencyDot = new HashMap<String, String>();
+      HashMap<String, String> latencyDot = new HashMap<>();
       latencyDot.put("title", "Recv Payload");
       latencyDot.put("type", "dot");
       latencyDot.put("dataStr",

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/ipc/src/test/java/org/apache/avro/DataFileInteropTest.java
----------------------------------------------------------------------
diff --git 
a/lang/java/ipc/src/test/java/org/apache/avro/DataFileInteropTest.java 
b/lang/java/ipc/src/test/java/org/apache/avro/DataFileInteropTest.java
index e9582d6..a278eab 100644
--- a/lang/java/ipc/src/test/java/org/apache/avro/DataFileInteropTest.java
+++ b/lang/java/ipc/src/test/java/org/apache/avro/DataFileInteropTest.java
@@ -46,7 +46,7 @@ public class DataFileInteropTest {
     System.out.println("Reading with generic:");
     DatumReaderProvider<Object> provider = new DatumReaderProvider<Object>() {
       @Override public DatumReader<Object> get() {
-        return new GenericDatumReader<Object>();
+        return new GenericDatumReader<>();
         }
       };
     readFiles(provider);
@@ -57,7 +57,7 @@ public class DataFileInteropTest {
     System.out.println("Reading with specific:");
     DatumReaderProvider<Interop> provider = new DatumReaderProvider<Interop>() 
{
       @Override public DatumReader<Interop> get() {
-        return new SpecificDatumReader<Interop>();
+        return new SpecificDatumReader<>();
         }
       };
     readFiles(provider);

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/ipc/src/test/java/org/apache/avro/RandomData.java
----------------------------------------------------------------------
diff --git a/lang/java/ipc/src/test/java/org/apache/avro/RandomData.java 
b/lang/java/ipc/src/test/java/org/apache/avro/RandomData.java
index 85da034..0e4f1fe 100644
--- a/lang/java/ipc/src/test/java/org/apache/avro/RandomData.java
+++ b/lang/java/ipc/src/test/java/org/apache/avro/RandomData.java
@@ -82,7 +82,7 @@ public class RandomData implements Iterable<Object> {
       return array;
     case MAP:
       length = (random.nextInt(5)+2)-d;
-      Map<Object,Object> map = new HashMap<Object,Object>(length<=0?0:length);
+      Map<Object,Object> map = new HashMap<>(length <= 0 ? 0 : length);
       for (int i = 0; i < length; i++) {
         map.put(randomUtf8(random, 40),
                 generate(schema.getValueType(), random, d+1));
@@ -129,7 +129,7 @@ public class RandomData implements Iterable<Object> {
     }
     Schema sch = Schema.parse(new File(args[0]));
     DataFileWriter<Object> writer =
-      new DataFileWriter<Object>(new GenericDatumWriter<Object>())
+      new DataFileWriter<>(new GenericDatumWriter<>())
       .create(sch, new File(args[1]));
     try {
       for (Object datum : new RandomData(sch, Integer.parseInt(args[2]))) {

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/ipc/src/test/java/org/apache/avro/TestCompare.java
----------------------------------------------------------------------
diff --git a/lang/java/ipc/src/test/java/org/apache/avro/TestCompare.java 
b/lang/java/ipc/src/test/java/org/apache/avro/TestCompare.java
index 20efe17..6c589b0 100644
--- a/lang/java/ipc/src/test/java/org/apache/avro/TestCompare.java
+++ b/lang/java/ipc/src/test/java/org/apache/avro/TestCompare.java
@@ -44,7 +44,7 @@ public class TestCompare {
   @Test
   public void testNull() throws Exception {
     Schema schema = Schema.parse("\"null\"");
-    byte[] b = render(null, schema, new GenericDatumWriter<Object>());
+    byte[] b = render(null, schema, new GenericDatumWriter<>());
     assertEquals(0, BinaryData.compare(b, 0, b, 0, schema));
   }
 
@@ -102,9 +102,9 @@ public class TestCompare {
   public void testArray() throws Exception {
     String json = "{\"type\":\"array\", \"items\": \"long\"}";
     Schema schema = Schema.parse(json);
-    GenericArray<Long> a1 = new GenericData.Array<Long>(1, schema);
+    GenericArray<Long> a1 = new GenericData.Array<>(1, schema);
     a1.add(1L);
-    GenericArray<Long> a2 = new GenericData.Array<Long>(1, schema);
+    GenericArray<Long> a2 = new GenericData.Array<>(1, schema);
     a2.add(1L);
     a2.add(0L);
     check(json, a1, a2);
@@ -179,10 +179,10 @@ public class TestCompare {
     s2.setHash(new MD5(new byte[] {0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,6}));
     Schema schema = SpecificData.get().getSchema(TestRecord.class);
 
-    check(schema, s1, s2, true, new SpecificDatumWriter<TestRecord>(schema),
+    check(schema, s1, s2, true, new SpecificDatumWriter<>(schema),
           SpecificData.get());
     s2.setKind(Kind.BAZ);
-    check(schema, s1, s2, true, new SpecificDatumWriter<TestRecord>(schema),
+    check(schema, s1, s2, true, new SpecificDatumWriter<>(schema),
           SpecificData.get());
   }
 
@@ -195,7 +195,7 @@ public class TestCompare {
                             boolean comparable)
     throws Exception {
     check(Schema.parse(schemaJson), o1, o2, comparable,
-          new GenericDatumWriter<T>(), GenericData.get());
+          new GenericDatumWriter<>(), GenericData.get());
   }
 
   private static <T> void check(Schema schema, T o1, T o2,

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/ipc/src/test/java/org/apache/avro/TestDataFileSpecific.java
----------------------------------------------------------------------
diff --git 
a/lang/java/ipc/src/test/java/org/apache/avro/TestDataFileSpecific.java 
b/lang/java/ipc/src/test/java/org/apache/avro/TestDataFileSpecific.java
index 9f73b86..a090031 100644
--- a/lang/java/ipc/src/test/java/org/apache/avro/TestDataFileSpecific.java
+++ b/lang/java/ipc/src/test/java/org/apache/avro/TestDataFileSpecific.java
@@ -53,7 +53,7 @@ public class TestDataFileSpecific {
 
     // write a file using generic objects
     DataFileWriter<Record> writer
-      = new DataFileWriter<Record>(new GenericDatumWriter<Record>(s1))
+      = new DataFileWriter<>(new GenericDatumWriter<Record>(s1))
       .create(s1, FILE);
     for (int i = 0; i < 10; i++) {
       Record r = new Record(s1);
@@ -66,7 +66,7 @@ public class TestDataFileSpecific {
     // read using a 'new SpecificDatumReader<T>()' to force inference of
     // reader's schema from runtime
     DataFileReader<Foo> reader =
-      new DataFileReader<Foo>(FILE, new SpecificDatumReader<Foo>());
+      new DataFileReader<>(FILE, new SpecificDatumReader<>());
     int i = 0;
     for (Foo f : reader)
       Assert.assertEquals(""+(i++), f.getLabel().toString());

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolGeneric.java
----------------------------------------------------------------------
diff --git 
a/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolGeneric.java 
b/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolGeneric.java
index 2e3dad2..500f41f 100644
--- a/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolGeneric.java
+++ b/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolGeneric.java
@@ -185,7 +185,7 @@ public class TestProtocolGeneric {
       argument to check that schema is sent to parse request. */
   public void testHandshake() throws IOException {
     Protocol protocol = new Protocol("Simple", "org.apache.avro.test");
-    List<Field> fields = new ArrayList<Field>();
+    List<Field> fields = new ArrayList<>();
     fields.add(new Schema.Field("extra", Schema.create(Schema.Type.BOOLEAN),
                    null, null));
     fields.add(new Schema.Field("greeting", Schema.create(Schema.Type.STRING),
@@ -195,7 +195,7 @@ public class TestProtocolGeneric {
                              null /* doc */,
                              Schema.createRecord(fields),
                              Schema.create(Schema.Type.STRING),
-                             Schema.createUnion(new ArrayList<Schema>()));
+                             Schema.createUnion(new ArrayList<>()));
     protocol.getMessages().put("hello", message);
     Transceiver t
       = new SocketTransceiver(new InetSocketAddress(server.getPort()));
@@ -216,7 +216,7 @@ public class TestProtocolGeneric {
       field to check that correct schema is used to parse response. */
   public void testResponseChange() throws IOException {
 
-    List<Field> fields = new ArrayList<Field>();
+    List<Field> fields = new ArrayList<>();
     for (Field f : PROTOCOL.getType("TestRecord").getFields())
       fields.add(new Field(f.name(), f.schema(), null, null));
     fields.add(new Field("extra", Schema.create(Schema.Type.BOOLEAN),
@@ -226,13 +226,13 @@ public class TestProtocolGeneric {
     record.setFields(fields);
 
     Protocol protocol = new Protocol("Simple", "org.apache.avro.test");
-    List<Field> params = new ArrayList<Field>();
+    List<Field> params = new ArrayList<>();
     params.add(new Field("record", record, null, null));
 
     Protocol.Message message =
       protocol.createMessage("echo", null, Schema.createRecord(params),
                              record,
-                             Schema.createUnion(new ArrayList<Schema>()));
+                             Schema.createUnion(new ArrayList<>()));
     protocol.getMessages().put("echo", message);
     Transceiver t
       = new SocketTransceiver(new InetSocketAddress(server.getPort()));

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolHttp.java
----------------------------------------------------------------------
diff --git a/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolHttp.java 
b/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolHttp.java
index c162c09..dc78c02 100644
--- a/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolHttp.java
+++ b/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolHttp.java
@@ -74,9 +74,9 @@ public class TestProtocolHttp extends TestProtocolSpecific {
     Protocol protocol = new Protocol("Simple", "org.apache.avro.test");
     Protocol.Message message =
       protocol.createMessage("ack", null,
-                             Schema.createRecord(new ArrayList<Field>()),
+                             Schema.createRecord(new ArrayList<>()),
                              Schema.create(Schema.Type.NULL),
-                             Schema.createUnion(new ArrayList<Schema>()));
+                             Schema.createUnion(new ArrayList<>()));
     protocol.getMessages().put("ack", message);
 
     // call a server over a stateless protocol that has a one-way "ack"

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolSpecific.java
----------------------------------------------------------------------
diff --git 
a/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolSpecific.java 
b/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolSpecific.java
index 08b569a..77507d6 100644
--- a/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolSpecific.java
+++ b/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolSpecific.java
@@ -240,7 +240,7 @@ public class TestProtocolSpecific {
       argument to check that schema is sent to parse request. */
   public void testParamVariation() throws Exception {
     Protocol protocol = new Protocol("Simple", "org.apache.avro.test");
-    List<Schema.Field> fields = new ArrayList<Schema.Field>();
+    List<Schema.Field> fields = new ArrayList<>();
     fields.add(new Schema.Field("extra", Schema.create(Schema.Type.BOOLEAN),
                    null, null));
     fields.add(new Schema.Field("greeting", Schema.create(Schema.Type.STRING),
@@ -250,7 +250,7 @@ public class TestProtocolSpecific {
                              null /* doc */,
                              Schema.createRecord(fields),
                              Schema.create(Schema.Type.STRING),
-                             Schema.createUnion(new ArrayList<Schema>()));
+                             Schema.createUnion(new ArrayList<>()));
     protocol.getMessages().put("hello", message);
     Transceiver t = createTransceiver();
     try {
@@ -281,7 +281,7 @@ public class TestProtocolSpecific {
   public class HandshakeMonitor extends RPCPlugin{
 
     private int handshakes;
-    private HashSet<String> seenProtocols = new HashSet<String>();
+    private HashSet<String> seenProtocols = new HashSet<>();
 
     @Override
     public void serverConnecting(RPCContext context) {

Reply via email to