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:21 UTC

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

AVRO-2117: Cleanup Java - Explicit types replaced with <>


Project: http://git-wip-us.apache.org/repos/asf/avro/repo
Commit: http://git-wip-us.apache.org/repos/asf/avro/commit/8bc49510
Tree: http://git-wip-us.apache.org/repos/asf/avro/tree/8bc49510
Diff: http://git-wip-us.apache.org/repos/asf/avro/diff/8bc49510

Branch: refs/heads/master
Commit: 8bc495109e8be07dc4fb502131414059cbf7e3ca
Parents: 42afa62
Author: Niels Basjes <nb...@bol.com>
Authored: Wed Dec 13 15:48:24 2017 +0100
Committer: Niels Basjes <nb...@bol.com>
Committed: Fri Dec 29 17:39:18 2017 +0100

----------------------------------------------------------------------
 .../java/org/apache/avro/JsonProperties.java    |   8 +-
 .../main/java/org/apache/avro/LogicalTypes.java |   2 +-
 .../src/main/java/org/apache/avro/Protocol.java |  18 +-
 .../src/main/java/org/apache/avro/Schema.java   |  46 ++--
 .../java/org/apache/avro/SchemaBuilder.java     | 132 +++++------
 .../org/apache/avro/SchemaCompatibility.java    |  12 +-
 .../org/apache/avro/SchemaNormalization.java    |   2 +-
 .../java/org/apache/avro/file/CodecFactory.java |   2 +-
 .../org/apache/avro/file/DataFileReader.java    |   6 +-
 .../org/apache/avro/file/DataFileReader12.java  |   2 +-
 .../org/apache/avro/file/DataFileStream.java    |   4 +-
 .../org/apache/avro/file/DataFileWriter.java    |   4 +-
 .../org/apache/avro/generic/GenericData.java    |  12 +-
 .../apache/avro/generic/GenericDatumReader.java |  10 +-
 .../java/org/apache/avro/io/JsonDecoder.java    |   6 +-
 .../avro/io/parsing/JsonGrammarGenerator.java   |   2 +-
 .../io/parsing/ResolvingGrammarGenerator.java   |   2 +-
 .../java/org/apache/avro/io/parsing/Symbol.java |   6 +-
 .../io/parsing/ValidatingGrammarGenerator.java  |   2 +-
 .../avro/message/BinaryMessageDecoder.java      |   2 +-
 .../avro/message/BinaryMessageEncoder.java      |   2 +-
 .../apache/avro/message/RawMessageDecoder.java  |   2 +-
 .../apache/avro/message/RawMessageEncoder.java  |   2 +-
 .../org/apache/avro/reflect/ReflectData.java    |  28 +--
 .../apache/avro/reflect/ReflectDatumReader.java |   4 +-
 .../apache/avro/reflect/ReflectDatumWriter.java |   2 +-
 .../org/apache/avro/specific/SpecificData.java  |  10 +-
 .../avro/util/ByteBufferOutputStream.java       |   2 +-
 .../apache/avro/util/WeakIdentityHashMap.java   |   8 +-
 .../org/apache/avro/GenerateBlockingData.java   |   2 +-
 .../test/java/org/apache/avro/RandomData.java   |   4 +-
 .../org/apache/avro/TestCircularReferences.java |  18 +-
 .../test/java/org/apache/avro/TestDataFile.java |  36 +--
 .../org/apache/avro/TestDataFileConcat.java     |  14 +-
 .../org/apache/avro/TestDataFileCorruption.java |   6 +-
 .../org/apache/avro/TestDataFileCustomSync.java |   2 +-
 .../org/apache/avro/TestDataFileDeflate.java    |   6 +-
 .../java/org/apache/avro/TestDataFileMeta.java  |  10 +-
 .../org/apache/avro/TestDataFileReflect.java    |  26 +--
 .../test/java/org/apache/avro/TestSchema.java   |   6 +-
 .../java/org/apache/avro/TestSchemaBuilder.java |  14 +-
 .../apache/avro/TestSchemaCompatibility.java    |   6 +-
 ...estSchemaCompatibilityFixedSizeMismatch.java |   2 +-
 ...stSchemaCompatibilityMissingEnumSymbols.java |   2 +-
 ...stSchemaCompatibilityMissingUnionBranch.java |   2 +-
 .../TestSchemaCompatibilityNameMismatch.java    |   2 +-
 ...atibilityReaderFieldMissingDefaultValue.java |   2 +-
 .../TestSchemaCompatibilityTypeMismatch.java    |   2 +-
 .../apache/avro/TestSchemaNormalization.java    |   6 +-
 .../org/apache/avro/TestSchemaValidation.java   |   4 +-
 .../test/java/org/apache/avro/TestSchemas.java  |   4 +-
 .../apache/avro/data/RecordBuilderBaseTest.java |   4 +-
 .../avro/file/TestSeekableByteArrayInput.java   |   8 +-
 .../apache/avro/generic/TestGenericData.java    |  56 ++---
 .../avro/generic/TestGenericDatumWriter.java    |  16 +-
 .../avro/generic/TestGenericLogicalTypes.java   |   8 +-
 .../avro/generic/TestGenericRecordBuilder.java  |   2 +-
 .../org/apache/avro/io/TestBinaryDecoder.java   |   6 +-
 .../java/org/apache/avro/io/TestBlockingIO.java |   4 +-
 .../java/org/apache/avro/io/TestEncoders.java   |  12 +-
 .../org/apache/avro/io/TestJsonDecoder.java     |   2 +-
 .../org/apache/avro/io/TestValidatingIO.java    |   4 +-
 .../org/apache/avro/io/parsing/SymbolTest.java  |   4 +-
 .../parsing/TestResolvingGrammarGenerator.java  |   8 +-
 .../avro/message/TestBinaryMessageEncoding.java |  50 ++---
 .../org/apache/avro/reflect/TestByteBuffer.java |   6 +-
 .../avro/reflect/TestNonStringMapKeys.java      |  32 +--
 .../org/apache/avro/reflect/TestReflect.java    |  40 ++--
 .../avro/reflect/TestReflectDatumReader.java    |   6 +-
 .../avro/reflect/TestReflectLogicalTypes.java   |  12 +-
 .../apache/avro/specific/TestSpecificData.java  |   4 +-
 .../avro/specific/TestSpecificLogicalTypes.java |   6 +-
 .../org/apache/avro/util/TestCaseFinder.java    |  12 +-
 .../avro/compiler/idl/ResolvingVisitor.java     |   6 +-
 .../avro/compiler/idl/SchemaResolver.java       |   2 +-
 .../avro/compiler/schema/CloningVisitor.java    |   6 +-
 .../apache/avro/compiler/schema/Schemas.java    |   4 +-
 .../avro/compiler/specific/ProtocolTask.java    |   2 +-
 .../compiler/specific/SpecificCompiler.java     |  20 +-
 .../org/apache/avro/compiler/idl/TestCycle.java |   2 +-
 .../org/apache/avro/compiler/idl/TestIdl.java   |   2 +-
 .../compiler/specific/TestSpecificCompiler.java |   4 +-
 .../apache/avro/ipc/DatagramTransceiver.java    |   2 +-
 .../org/apache/avro/ipc/HttpTransceiver.java    |   2 +-
 .../org/apache/avro/ipc/NettyTransceiver.java   |   8 +-
 .../apache/avro/ipc/NettyTransportCodec.java    |   4 +-
 .../java/org/apache/avro/ipc/RPCContext.java    |   8 +-
 .../java/org/apache/avro/ipc/Requestor.java     |  24 +-
 .../java/org/apache/avro/ipc/Responder.java     |  14 +-
 .../apache/avro/ipc/SaslSocketTransceiver.java  |   4 +-
 .../org/apache/avro/ipc/SocketTransceiver.java  |   2 +-
 .../avro/ipc/generic/GenericRequestor.java      |   6 +-
 .../avro/ipc/generic/GenericResponder.java      |   4 +-
 .../avro/ipc/reflect/ReflectRequestor.java      |   4 +-
 .../avro/ipc/reflect/ReflectResponder.java      |   4 +-
 .../avro/ipc/specific/SpecificRequestor.java    |   4 +-
 .../avro/ipc/specific/SpecificResponder.java    |   4 +-
 .../org/apache/avro/ipc/stats/Histogram.java    |  10 +-
 .../org/apache/avro/ipc/stats/StatsPlugin.java  |  12 +-
 .../org/apache/avro/ipc/stats/StatsServlet.java |  18 +-
 .../org/apache/avro/DataFileInteropTest.java    |   4 +-
 .../test/java/org/apache/avro/RandomData.java   |   4 +-
 .../test/java/org/apache/avro/TestCompare.java  |  12 +-
 .../org/apache/avro/TestDataFileSpecific.java   |   4 +-
 .../org/apache/avro/TestProtocolGeneric.java    |  10 +-
 .../java/org/apache/avro/TestProtocolHttp.java  |   4 +-
 .../org/apache/avro/TestProtocolSpecific.java   |   6 +-
 .../test/java/org/apache/avro/TestSchema.java   |  54 ++---
 .../compiler/specific/TestSpecificCompiler.java |   2 +-
 .../org/apache/avro/generic/TestDeepCopy.java   |   4 +-
 .../src/test/java/org/apache/avro/io/Perf.java  |  34 +--
 .../avro/ipc/TestNettyServerWithCallbacks.java  |  28 +--
 .../TestNettyTransceiverWhenServerStops.java    |   2 +-
 .../org/apache/avro/ipc/TestSaslDigestMd5.java  |   2 +-
 .../apache/avro/ipc/stats/TestHistogram.java    |  16 +-
 .../avro/specific/TestSpecificBuilderTree.java  |   2 +-
 .../apache/avro/specific/TestSpecificData.java  |  16 +-
 .../avro/specific/TestSpecificDatumReader.java  |  12 +-
 .../avro/specific/TestSpecificDatumWriter.java  |   2 +-
 .../specific/TestSpecificRecordBuilder.java     |   8 +-
 .../avro/hadoop/file/HadoopCodecFactory.java    |   2 +-
 .../avro/hadoop/file/SortedKeyValueFile.java    |  24 +-
 .../apache/avro/hadoop/io/AvroDeserializer.java |   4 +-
 .../avro/hadoop/io/AvroKeyDeserializer.java     |   2 +-
 .../org/apache/avro/hadoop/io/AvroKeyValue.java |   2 +-
 .../avro/hadoop/io/AvroSerialization.java       |   6 +-
 .../apache/avro/hadoop/io/AvroSerializer.java   |   2 +-
 .../avro/hadoop/io/AvroValueDeserializer.java   |   2 +-
 .../hadoop/util/AvroCharSequenceComparator.java |   2 +-
 .../avro/mapred/AvroAsTextInputFormat.java      |   2 +-
 .../avro/mapred/AvroAsTextRecordReader.java     |   2 +-
 .../org/apache/avro/mapred/AvroInputFormat.java |   4 +-
 .../apache/avro/mapred/AvroMultipleInputs.java  |   4 +-
 .../apache/avro/mapred/AvroMultipleOutputs.java |   6 +-
 .../apache/avro/mapred/AvroRecordReader.java    |   2 +-
 .../org/apache/avro/mapred/AvroReducer.java     |   2 +-
 .../apache/avro/mapred/AvroSerialization.java   |   2 +-
 .../avro/mapred/AvroTextOutputFormat.java       |   2 +-
 .../apache/avro/mapred/AvroUtf8InputFormat.java |   2 +-
 .../avro/mapred/DelegatingInputFormat.java      |  10 +-
 .../org/apache/avro/mapred/HadoopCombiner.java  |   4 +-
 .../org/apache/avro/mapred/HadoopMapper.java    |   2 +-
 .../org/apache/avro/mapred/HadoopReducer.java   |   2 +-
 .../org/apache/avro/mapred/MapCollector.java    |   6 +-
 .../main/java/org/apache/avro/mapred/Pair.java  |   6 +-
 .../avro/mapred/SequenceFileInputFormat.java    |   2 +-
 .../apache/avro/mapred/SequenceFileReader.java  |   6 +-
 .../avro/mapred/SequenceFileRecordReader.java   |   2 +-
 .../avro/mapred/tether/TetherInputFormat.java   |   2 +-
 .../apache/avro/mapred/tether/TetherJob.java    |   2 +-
 .../avro/mapred/tether/TetherPartitioner.java   |   2 +-
 .../avro/mapred/tether/TetherRecordReader.java  |   2 +-
 .../avro/mapred/tether/TetheredProcess.java     |   4 +-
 .../avro/mapreduce/AvroKeyInputFormat.java      |   2 +-
 .../avro/mapreduce/AvroKeyOutputFormat.java     |   2 +-
 .../avro/mapreduce/AvroKeyRecordReader.java     |   2 +-
 .../avro/mapreduce/AvroKeyValueInputFormat.java |   2 +-
 .../mapreduce/AvroKeyValueOutputFormat.java     |   2 +-
 .../mapreduce/AvroKeyValueRecordReader.java     |   6 +-
 .../mapreduce/AvroKeyValueRecordWriter.java     |   2 +-
 .../avro/mapreduce/AvroMultipleOutputs.java     |   8 +-
 .../avro/mapreduce/AvroRecordReaderBase.java    |   2 +-
 .../hadoop/file/TestSortedKeyValueFile.java     |  40 ++--
 .../io/TestAvroDatumConverterFactory.java       |   4 +-
 .../avro/hadoop/io/TestAvroKeyDeserializer.java |   7 +-
 .../avro/hadoop/io/TestAvroSequenceFile.java    |  16 +-
 .../avro/hadoop/io/TestAvroSerialization.java   |   4 +-
 .../avro/hadoop/io/TestAvroSerializer.java      |   8 +-
 .../hadoop/io/TestAvroValueDeserializer.java    |   7 +-
 .../util/TestAvroCharSequenceComparator.java    |   2 +-
 .../apache/avro/mapred/TestAvroInputFormat.java |   2 +-
 .../avro/mapred/TestAvroMultipleInputs.java     |  20 +-
 .../avro/mapred/TestAvroMultipleOutputs.java    |  26 +--
 .../avro/mapred/TestAvroTextOutputFormat.java   |  10 +-
 .../org/apache/avro/mapred/TestAvroWrapper.java |   2 +-
 .../org/apache/avro/mapred/TestGenericJob.java  |  14 +-
 .../org/apache/avro/mapred/TestReflectJob.java  |  12 +-
 .../avro/mapred/TestSequenceFileReader.java     |  30 +--
 .../org/apache/avro/mapred/TestWeather.java     |  22 +-
 .../org/apache/avro/mapred/TestWordCount.java   |   8 +-
 .../org/apache/avro/mapred/WordCountUtil.java   |  20 +-
 .../avro/mapred/tether/TestWordCountTether.java |   6 +-
 .../apache/avro/mapred/tether/TetherTask.java   |  10 +-
 .../avro/mapred/tether/WordCountTask.java       |   2 +-
 .../org/apache/avro/mapreduce/AvroFiles.java    |   4 +-
 .../avro/mapreduce/TestAvroKeyOutputFormat.java |   4 +-
 .../avro/mapreduce/TestAvroKeyRecordWriter.java |  20 +-
 .../mapreduce/TestAvroKeyValueRecordReader.java |   4 +-
 .../mapreduce/TestAvroKeyValueRecordWriter.java |  42 ++--
 .../avro/mapreduce/TestAvroMultipleOutputs.java |  52 ++---
 .../TestAvroMultipleOutputsSyncable.java        |  52 ++---
 .../avro/mapreduce/TestKeyValueInput.java       |  30 +--
 .../avro/mapreduce/TestKeyValueWordCount.java   |  10 +-
 .../apache/avro/mapreduce/TestWordCount.java    |  44 ++--
 .../org/apache/avro/mojo/IDLProtocolMojo.java   |   2 +-
 .../org/apache/avro/protobuf/ProtobufData.java  |  10 +-
 .../org/apache/avro/protobuf/TestProtobuf.java  |   4 +-
 .../java/org/apache/avro/thrift/ThriftData.java |   8 +-
 .../java/org/apache/avro/thrift/TestThrift.java |   4 +-
 .../java/org/apache/avro/thrift/test/Error.java |   6 +-
 .../java/org/apache/avro/thrift/test/Foo.java   |  34 +--
 .../org/apache/avro/thrift/test/FooOrBar.java   |   4 +-
 .../org/apache/avro/thrift/test/Nested.java     |   6 +-
 .../java/org/apache/avro/thrift/test/Test.java  |  30 +--
 .../avro/tool/BinaryFragmentToJsonTool.java     |   4 +-
 .../main/java/org/apache/avro/tool/CatTool.java |   6 +-
 .../java/org/apache/avro/tool/ConcatTool.java   |  12 +-
 .../apache/avro/tool/CreateRandomFileTool.java  |   2 +-
 .../apache/avro/tool/DataFileGetMetaTool.java   |   2 +-
 .../apache/avro/tool/DataFileGetSchemaTool.java |   4 +-
 .../org/apache/avro/tool/DataFileReadTool.java  |   6 +-
 .../apache/avro/tool/DataFileRepairTool.java    |  10 +-
 .../org/apache/avro/tool/DataFileWriteTool.java |   4 +-
 .../java/org/apache/avro/tool/FromTextTool.java |   2 +-
 .../avro/tool/JsonToBinaryFragmentTool.java     |   4 +-
 .../main/java/org/apache/avro/tool/Main.java    |   2 +-
 .../java/org/apache/avro/tool/RecodecTool.java  |   8 +-
 .../org/apache/avro/tool/RpcProtocolTool.java   |   6 +-
 .../org/apache/avro/tool/RpcReceiveTool.java    |   2 +-
 .../java/org/apache/avro/tool/RpcSendTool.java  |   2 +-
 .../apache/avro/tool/SpecificCompilerTool.java  |   4 +-
 .../java/org/apache/avro/tool/TetherTool.java   |   2 +-
 .../java/org/apache/avro/tool/ToTextTool.java   |   4 +-
 .../java/org/apache/avro/tool/ToTrevniTool.java |   8 +-
 .../avro/tool/TrevniCreateRandomTool.java       |   2 +-
 .../main/java/org/apache/avro/tool/Util.java    |  10 +-
 .../java/org/apache/avro/tool/TestCatTool.java  |  26 +--
 .../org/apache/avro/tool/TestConcatTool.java    |  28 +--
 .../avro/tool/TestCreateRandomFileTool.java     |  10 +-
 .../avro/tool/TestDataFileRepairTool.java       |   6 +-
 .../org/apache/avro/tool/TestDataFileTools.java |  12 +-
 .../tool/TestJsonToFromBinaryFragmentTools.java |   4 +-
 .../org/apache/avro/tool/TestRecodecTool.java   | 218 +++++++++----------
 .../org/apache/avro/tool/TestTetherTool.java    |   6 +-
 .../org/apache/avro/tool/TestTextFileTools.java |   8 +-
 .../org/apache/avro/tool/TestToTrevniTool.java  |   4 +-
 .../apache/trevni/avro/AvroColumnReader.java    |   6 +-
 .../org/apache/trevni/avro/AvroColumnator.java  |   6 +-
 .../trevni/avro/AvroTrevniInputFormat.java      |   6 +-
 .../trevni/avro/AvroTrevniOutputFormat.java     |   4 +-
 .../mapreduce/AvroTrevniKeyInputFormat.java     |   2 +-
 .../mapreduce/AvroTrevniKeyOutputFormat.java    |   2 +-
 .../mapreduce/AvroTrevniKeyRecordReader.java    |   2 +-
 .../AvroTrevniKeyValueInputFormat.java          |   2 +-
 .../AvroTrevniKeyValueOutputFormat.java         |   2 +-
 .../AvroTrevniKeyValueRecordReader.java         |   6 +-
 .../AvroTrevniKeyValueRecordWriter.java         |   2 +-
 .../mapreduce/AvroTrevniRecordReaderBase.java   |   2 +-
 .../mapreduce/AvroTrevniRecordWriterBase.java   |   4 +-
 .../java/org/apache/trevni/avro/RandomData.java |   4 +-
 .../java/org/apache/trevni/avro/TestCases.java  |   6 +-
 .../apache/trevni/avro/TestEvolvedSchema.java   |  12 +-
 .../org/apache/trevni/avro/TestShredder.java    |   4 +-
 .../org/apache/trevni/avro/TestWordCount.java   |   4 +-
 .../org/apache/trevni/avro/WordCountUtil.java   |  14 +-
 .../avro/mapreduce/TestKeyValueWordCount.java   |   4 +-
 .../trevni/avro/mapreduce/TestKeyWordCount.java |   2 +-
 .../org/apache/trevni/ColumnFileReader.java     |   8 +-
 .../org/apache/trevni/ColumnFileWriter.java     |   2 +-
 .../java/org/apache/trevni/ColumnMetaData.java  |   2 +-
 .../org/apache/trevni/ColumnOutputBuffer.java   |   6 +-
 .../java/org/apache/trevni/TestColumnFile.java  |   4 +-
 262 files changed, 1282 insertions(+), 1286 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/main/java/org/apache/avro/JsonProperties.java
----------------------------------------------------------------------
diff --git a/lang/java/avro/src/main/java/org/apache/avro/JsonProperties.java b/lang/java/avro/src/main/java/org/apache/avro/JsonProperties.java
index c1d754f..910f437 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/JsonProperties.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/JsonProperties.java
@@ -114,7 +114,7 @@ public abstract class JsonProperties {
   /** A value representing a JSON <code>null</code>. */
   public static final Null NULL_VALUE = new Null();
 
-  Map<String,JsonNode> props = new LinkedHashMap<String,JsonNode>(1);
+  Map<String,JsonNode> props = new LinkedHashMap<>(1);
 
   private Set<String> reserved;
 
@@ -193,7 +193,7 @@ public abstract class JsonProperties {
 
   /** Return the defined properties that have string values. */
   @Deprecated public Map<String,String> getProps() {
-    Map<String,String> result = new LinkedHashMap<String,String>();
+    Map<String,String> result = new LinkedHashMap<>();
     for (Map.Entry<String,JsonNode> e : props.entrySet())
       if (e.getValue().isTextual())
         result.put(e.getKey(), e.getValue().getTextValue());
@@ -202,7 +202,7 @@ public abstract class JsonProperties {
 
   /** Convert a map of string-valued properties to Json properties. */
   Map<String,JsonNode> jsonProps(Map<String,String> stringProps) {
-    Map<String,JsonNode> result = new LinkedHashMap<String,JsonNode>();
+    Map<String,JsonNode> result = new LinkedHashMap<>();
     for (Map.Entry<String,String> e : stringProps.entrySet())
       result.put(e.getKey(), TextNode.valueOf(e.getValue()));
     return result;
@@ -219,7 +219,7 @@ public abstract class JsonProperties {
 
   /** Return the defined properties as an unmodifiable Map. */
   public Map<String,Object> getObjectProps() {
-    Map<String,Object> result = new LinkedHashMap<String,Object>();
+    Map<String,Object> result = new LinkedHashMap<>();
     for (Map.Entry<String,JsonNode> e : props.entrySet())
       result.put(e.getKey(), JacksonUtils.toObject(e.getValue()));
     return result;

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/main/java/org/apache/avro/LogicalTypes.java
----------------------------------------------------------------------
diff --git a/lang/java/avro/src/main/java/org/apache/avro/LogicalTypes.java b/lang/java/avro/src/main/java/org/apache/avro/LogicalTypes.java
index 2f75594..0f7d4e2 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/LogicalTypes.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/LogicalTypes.java
@@ -33,7 +33,7 @@ public class LogicalTypes {
   }
 
   private static final Map<String, LogicalTypeFactory> REGISTERED_TYPES =
-      new ConcurrentHashMap<String, LogicalTypeFactory>();
+      new ConcurrentHashMap<>();
 
   public static void register(String logicalTypeName, LogicalTypeFactory factory) {
     if (logicalTypeName == null) {

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/main/java/org/apache/avro/Protocol.java
----------------------------------------------------------------------
diff --git a/lang/java/avro/src/main/java/org/apache/avro/Protocol.java b/lang/java/avro/src/main/java/org/apache/avro/Protocol.java
index 73e235c..e91af71 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/Protocol.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/Protocol.java
@@ -64,13 +64,13 @@ public class Protocol extends JsonProperties {
   public static final long VERSION = 1;
 
   // Support properties for both Protocol and Message objects
-  private static final Set<String> MESSAGE_RESERVED = new HashSet<String>();
+  private static final Set<String> MESSAGE_RESERVED = new HashSet<>();
   static {
     Collections.addAll(MESSAGE_RESERVED,
                        "doc", "response","request", "errors", "one-way");
   }
 
-  private static final Set<String> FIELD_RESERVED = new HashSet<String>();
+  private static final Set<String> FIELD_RESERVED = new HashSet<>();
   static {
     Collections.addAll(FIELD_RESERVED,
                        "name", "type", "doc", "default", "aliases");
@@ -108,7 +108,7 @@ public class Protocol extends JsonProperties {
     public Schema getResponse() { return Schema.create(Schema.Type.NULL); }
     /** Errors that might be thrown. */
     public Schema getErrors() {
-      return Schema.createUnion(new ArrayList<Schema>());
+      return Schema.createUnion(new ArrayList<>());
     }
 
     /** Returns true if this is a one-way message, with no response or errors.*/
@@ -205,7 +205,7 @@ public class Protocol extends JsonProperties {
   private String doc;
 
   private Schema.Names types = new Schema.Names();
-  private Map<String,Message> messages = new LinkedHashMap<String,Message>();
+  private Map<String,Message> messages = new LinkedHashMap<>();
   private byte[] md5;
 
   /** An error that can be thrown by any message. */
@@ -214,12 +214,12 @@ public class Protocol extends JsonProperties {
   /** Union type for generating system errors. */
   public static final Schema SYSTEM_ERRORS;
   static {
-    List<Schema> errors = new ArrayList<Schema>();
+    List<Schema> errors = new ArrayList<>();
     errors.add(SYSTEM_ERROR);
     SYSTEM_ERRORS = Schema.createUnion(errors);
   }
 
-  private static final Set<String> PROTOCOL_RESERVED = new HashSet<String>();
+  private static final Set<String> PROTOCOL_RESERVED = new HashSet<>();
   static {
     Collections.addAll(PROTOCOL_RESERVED,
        "namespace", "protocol", "doc",
@@ -465,7 +465,7 @@ public class Protocol extends JsonProperties {
   private Message parseMessage(String messageName, JsonNode json) {
     String doc = parseDocNode(json);
 
-    Map<String,JsonNode> mProps = new LinkedHashMap<String,JsonNode>();
+    Map<String,JsonNode> mProps = new LinkedHashMap<>();
     for (Iterator<String> i = json.getFieldNames(); i.hasNext();) {
       String p = i.next();                        // add non-reserved as props
       if (!MESSAGE_RESERVED.contains(p))
@@ -475,7 +475,7 @@ public class Protocol extends JsonProperties {
     JsonNode requestNode = json.get("request");
     if (requestNode == null || !requestNode.isArray())
       throw new SchemaParseException("No request specified: "+json);
-    List<Field> fields = new ArrayList<Field>();
+    List<Field> fields = new ArrayList<>();
     for (JsonNode field : requestNode) {
       JsonNode fieldNameNode = field.get("name");
       if (fieldNameNode == null)
@@ -531,7 +531,7 @@ public class Protocol extends JsonProperties {
 
     Schema response = Schema.parse(responseNode, types);
 
-    List<Schema> errs = new ArrayList<Schema>();
+    List<Schema> errs = new ArrayList<>();
     errs.add(SYSTEM_ERROR);                       // every method can throw
     if (decls != null) {
       if (!decls.isArray())

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/main/java/org/apache/avro/Schema.java
----------------------------------------------------------------------
diff --git a/lang/java/avro/src/main/java/org/apache/avro/Schema.java b/lang/java/avro/src/main/java/org/apache/avro/Schema.java
index 474a69c..c147abe 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/Schema.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/Schema.java
@@ -121,7 +121,7 @@ public abstract class Schema extends JsonProperties {
     }
   }
 
-  private static final Set<String> SCHEMA_RESERVED = new HashSet<String>();
+  private static final Set<String> SCHEMA_RESERVED = new HashSet<>();
   static {
     Collections.addAll(SCHEMA_RESERVED,
                        "doc", "fields", "items", "name", "namespace",
@@ -171,7 +171,7 @@ public abstract class Schema extends JsonProperties {
   public static Schema createEnum(String name, String doc, String namespace,
                                   List<String> values) {
     return new EnumSchema(new Name(name, namespace), doc,
-        new LockableArrayList<String>(values));
+        new LockableArrayList<>(values));
   }
 
   /** Create an array schema. */
@@ -186,12 +186,12 @@ public abstract class Schema extends JsonProperties {
 
   /** Create a union schema. */
   public static Schema createUnion(List<Schema> types) {
-    return new UnionSchema(new LockableArrayList<Schema>(types));
+    return new UnionSchema(new LockableArrayList<>(types));
   }
 
   /** Create a union schema. */
   public static Schema createUnion(Schema... types) {
-    return createUnion(new LockableArrayList<Schema>(types));
+    return createUnion(new LockableArrayList<>(types));
   }
 
   /** Create a union schema. */
@@ -365,7 +365,7 @@ public abstract class Schema extends JsonProperties {
            || (other.hashCode == NO_HASHCODE);
   }
 
-  private static final Set<String> FIELD_RESERVED = new HashSet<String>();
+  private static final Set<String> FIELD_RESERVED = new HashSet<>();
   static {
     Collections.addAll(FIELD_RESERVED,
                        "default","doc","name","order","type","aliases");
@@ -440,7 +440,7 @@ public abstract class Schema extends JsonProperties {
     @Deprecated public Map<String,String> props() { return getProps(); }
     public void addAlias(String alias) {
       if (aliases == null)
-        this.aliases = new LinkedHashSet<String>();
+        this.aliases = new LinkedHashSet<>();
       aliases.add(alias);
     }
     /** Return the defined aliases as an unmodifiable Set. */
@@ -543,13 +543,13 @@ public abstract class Schema extends JsonProperties {
     }
     public void addAlias(String name, String space) {
       if (aliases == null)
-        this.aliases = new LinkedHashSet<Name>();
+        this.aliases = new LinkedHashSet<>();
       if (space == null)
         space = this.name.space;
       aliases.add(new Name(name, space));
     }
     public Set<String> getAliases() {
-      Set<String> result = new LinkedHashSet<String>();
+      Set<String> result = new LinkedHashSet<>();
       if (aliases != null)
         for (Name alias : aliases)
           result.add(alias.full);
@@ -643,7 +643,7 @@ public abstract class Schema extends JsonProperties {
         throw new AvroRuntimeException("Fields are already set");
       }
       int i = 0;
-      fieldMap = new HashMap<String, Field>();
+      fieldMap = new HashMap<>();
       LockableArrayList ff = new LockableArrayList();
       for (Field f : fields) {
         if (f.position != -1)
@@ -746,7 +746,7 @@ public abstract class Schema extends JsonProperties {
         LockableArrayList<String> symbols) {
       super(Type.ENUM, name, doc);
       this.symbols = symbols.lock();
-      this.ordinals = new HashMap<String,Integer>();
+      this.ordinals = new HashMap<>();
       int i = 0;
       for (String symbol : symbols)
         if (ordinals.put(validateName(symbol), i++) != null)
@@ -842,7 +842,7 @@ public abstract class Schema extends JsonProperties {
   private static class UnionSchema extends Schema {
     private final List<Schema> types;
     private final Map<String,Integer> indexByName
-      = new HashMap<String,Integer>();
+      = new HashMap<>();
     public UnionSchema(LockableArrayList<Schema> types) {
       super(Type.UNION);
       this.types = types.lock();
@@ -970,7 +970,7 @@ public abstract class Schema extends JsonProperties {
 
     /** Returns the set of defined, named types known to this parser. */
     public Map<String,Schema> getTypes() {
-      Map<String,Schema> result = new LinkedHashMap<String,Schema>();
+      Map<String,Schema> result = new LinkedHashMap<>();
       for (Schema s : names.values())
         result.put(s.getFullName(), s);
       return result;
@@ -1084,7 +1084,7 @@ public abstract class Schema extends JsonProperties {
     return new Parser().setValidate(validate).parse(jsonSchema);
   }
 
-  static final Map<String,Type> PRIMITIVES = new HashMap<String,Type>();
+  static final Map<String,Type> PRIMITIVES = new HashMap<>();
   static {
     PRIMITIVES.put("string",  Type.STRING);
     PRIMITIVES.put("bytes",   Type.BYTES);
@@ -1251,7 +1251,7 @@ public abstract class Schema extends JsonProperties {
       if (PRIMITIVES.containsKey(type)) {         // primitive
         result = create(PRIMITIVES.get(type));
       } else if (type.equals("record") || type.equals("error")) { // record
-        List<Field> fields = new ArrayList<Field>();
+        List<Field> fields = new ArrayList<>();
         result = new RecordSchema(name, doc, type.equals("error"));
         if (name != null) names.add(result);
         JsonNode fieldsNode = schema.get("fields");
@@ -1297,7 +1297,7 @@ public abstract class Schema extends JsonProperties {
         JsonNode symbolsNode = schema.get("symbols");
         if (symbolsNode == null || !symbolsNode.isArray())
           throw new SchemaParseException("Enum has no symbols: "+schema);
-        LockableArrayList<String> symbols = new LockableArrayList<String>(symbolsNode.size());
+        LockableArrayList<String> symbols = new LockableArrayList<>(symbolsNode.size());
         for (JsonNode n : symbolsNode)
           symbols.add(n.getTextValue());
         result = new EnumSchema(name, doc, symbols);
@@ -1338,7 +1338,7 @@ public abstract class Schema extends JsonProperties {
       return result;
     } else if (schema.isArray()) {                // union
       LockableArrayList<Schema> types =
-        new LockableArrayList<Schema>(schema.size());
+        new LockableArrayList<>(schema.size());
       for (JsonNode typeNode : schema)
         types.add(parse(typeNode, names));
       return new UnionSchema(types);
@@ -1353,7 +1353,7 @@ public abstract class Schema extends JsonProperties {
       return null;
     if (!aliasesNode.isArray())
       throw new SchemaParseException("aliases not an array: "+node);
-    Set<String> aliases = new LinkedHashSet<String>();
+    Set<String> aliases = new LinkedHashSet<>();
     for (JsonNode aliasNode : aliasesNode) {
       if (!aliasNode.isTextual())
         throw new SchemaParseException("alias not a string: "+aliasNode);
@@ -1408,10 +1408,10 @@ public abstract class Schema extends JsonProperties {
     if (writer == reader) return writer;          // same schema
 
     // create indexes of names
-    Map<Schema,Schema> seen = new IdentityHashMap<Schema,Schema>(1);
-    Map<Name,Name> aliases = new HashMap<Name, Name>(1);
+    Map<Schema,Schema> seen = new IdentityHashMap<>(1);
+    Map<Name,Name> aliases = new HashMap<>(1);
     Map<Name,Map<String,String>> fieldAliases =
-      new HashMap<Name, Map<String,String>>(1);
+      new HashMap<>(1);
     getAliases(reader, seen, aliases, fieldAliases);
 
     if (aliases.size() == 0 && fieldAliases.size() == 0)
@@ -1434,7 +1434,7 @@ public abstract class Schema extends JsonProperties {
         name = aliases.get(name);
       result = Schema.createRecord(name.full, s.getDoc(), null, s.isError());
       seen.put(s, result);
-      List<Field> newFields = new ArrayList<Field>();
+      List<Field> newFields = new ArrayList<>();
       for (Field f : s.getFields()) {
         Schema fSchema = applyAliases(f.schema, seen, aliases, fieldAliases);
         String fName = getFieldAlias(name, f.name, fieldAliases);
@@ -1460,7 +1460,7 @@ public abstract class Schema extends JsonProperties {
         result = Schema.createMap(v);
       break;
     case UNION:
-      List<Schema> types = new ArrayList<Schema>();
+      List<Schema> types = new ArrayList<>();
       for (Schema branch : s.getTypes())
         types.add(applyAliases(branch, seen, aliases, fieldAliases));
       result = Schema.createUnion(types);
@@ -1498,7 +1498,7 @@ public abstract class Schema extends JsonProperties {
             Map<String,String> recordAliases = fieldAliases.get(record.name);
             if (recordAliases == null)
               fieldAliases.put(record.name,
-                               recordAliases = new HashMap<String,String>());
+                               recordAliases = new HashMap<>());
             recordAliases.put(fieldAlias, field.name);
           }
         getAliases(field.schema, seen, aliases, fieldAliases);

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/main/java/org/apache/avro/SchemaBuilder.java
----------------------------------------------------------------------
diff --git a/lang/java/avro/src/main/java/org/apache/avro/SchemaBuilder.java b/lang/java/avro/src/main/java/org/apache/avro/SchemaBuilder.java
index 00293ea..1856d86 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/SchemaBuilder.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/SchemaBuilder.java
@@ -223,7 +223,7 @@ public class SchemaBuilder {
    * Create a builder for Avro schemas.
    */
   public static TypeBuilder<Schema> builder() {
-    return new TypeBuilder<Schema>(new SchemaCompletion(), new NameContext());
+    return new TypeBuilder<>(new SchemaCompletion(), new NameContext());
   }
 
   /**
@@ -231,7 +231,7 @@ public class SchemaBuilder {
    * without namespaces will inherit the namespace provided.
    */
   public static TypeBuilder<Schema> builder(String namespace) {
-    return new TypeBuilder<Schema>(new SchemaCompletion(),
+    return new TypeBuilder<>(new SchemaCompletion(),
         new NameContext().namespace(namespace));
   }
 
@@ -342,7 +342,7 @@ public class SchemaBuilder {
     // for internal use by the Parser
     final S prop(String name, JsonNode val) {
       if(!hasProps()) {
-        props = new HashMap<String, JsonNode>();
+        props = new HashMap<>();
       }
       props.put(name, val);
       return self();
@@ -512,7 +512,7 @@ public class SchemaBuilder {
 
     private static <R> BooleanBuilder<R> create(Completion<R> context,
         NameContext names) {
-      return new BooleanBuilder<R>(context, names);
+      return new BooleanBuilder<>(context, names);
     }
 
     @Override
@@ -538,7 +538,7 @@ public class SchemaBuilder {
 
     private static <R> IntBuilder<R> create(Completion<R> context,
         NameContext names) {
-      return new IntBuilder<R>(context, names);
+      return new IntBuilder<>(context, names);
     }
 
     @Override
@@ -564,7 +564,7 @@ public class SchemaBuilder {
 
     private static <R> LongBuilder<R> create(Completion<R> context,
         NameContext names) {
-      return new LongBuilder<R>(context, names);
+      return new LongBuilder<>(context, names);
     }
 
     @Override
@@ -590,7 +590,7 @@ public class SchemaBuilder {
 
     private static <R> FloatBuilder<R> create(Completion<R> context,
         NameContext names) {
-      return new FloatBuilder<R>(context, names);
+      return new FloatBuilder<>(context, names);
     }
 
     @Override
@@ -616,7 +616,7 @@ public class SchemaBuilder {
 
     private static <R> DoubleBuilder<R> create(Completion<R> context,
         NameContext names) {
-      return new DoubleBuilder<R>(context, names);
+      return new DoubleBuilder<>(context, names);
     }
 
     @Override
@@ -642,7 +642,7 @@ public class SchemaBuilder {
 
     private static <R> StringBldr<R> create(Completion<R> context,
         NameContext names) {
-      return new StringBldr<R>(context, names);
+      return new StringBldr<>(context, names);
     }
 
     @Override
@@ -668,7 +668,7 @@ public class SchemaBuilder {
 
     private static <R> BytesBuilder<R> create(Completion<R> context,
         NameContext names) {
-      return new BytesBuilder<R>(context, names);
+      return new BytesBuilder<>(context, names);
     }
 
     @Override
@@ -694,7 +694,7 @@ public class SchemaBuilder {
 
     private static <R> NullBuilder<R> create(Completion<R> context,
         NameContext names) {
-      return new NullBuilder<R>(context, names);
+      return new NullBuilder<>(context, names);
     }
 
     @Override
@@ -727,7 +727,7 @@ public class SchemaBuilder {
 
     private static <R> FixedBuilder<R> create(Completion<R> context,
         NameContext names, String name) {
-      return new FixedBuilder<R>(context, names, name);
+      return new FixedBuilder<>(context, names, name);
     }
 
     @Override
@@ -762,7 +762,7 @@ public class SchemaBuilder {
 
     private static <R> EnumBuilder<R> create(Completion<R> context,
         NameContext names, String name) {
-      return new EnumBuilder<R>(context, names, name);
+      return new EnumBuilder<>(context, names, name);
     }
 
     @Override
@@ -799,7 +799,7 @@ public class SchemaBuilder {
 
     private static <R> MapBuilder<R> create(Completion<R> context,
         NameContext names) {
-      return new MapBuilder<R>(context, names);
+      return new MapBuilder<>(context, names);
     }
 
     @Override
@@ -813,7 +813,7 @@ public class SchemaBuilder {
      * complete.
      **/
     public TypeBuilder<R> values() {
-      return new TypeBuilder<R>(new MapCompletion<R>(this, context), names);
+      return new TypeBuilder<>(new MapCompletion<>(this, context), names);
     }
 
     /**
@@ -821,7 +821,7 @@ public class SchemaBuilder {
      * to the schema provided. Returns control to the enclosing context.
      **/
     public R values(Schema valueSchema) {
-      return new MapCompletion<R>(this, context).complete(valueSchema);
+      return new MapCompletion<>(this, context).complete(valueSchema);
     }
   }
 
@@ -845,7 +845,7 @@ public class SchemaBuilder {
 
     private static <R> ArrayBuilder<R> create(Completion<R> context,
         NameContext names) {
-      return new ArrayBuilder<R>(context, names);
+      return new ArrayBuilder<>(context, names);
     }
 
     @Override
@@ -859,7 +859,7 @@ public class SchemaBuilder {
      * complete.
      **/
     public TypeBuilder<R> items() {
-      return new TypeBuilder<R>(new ArrayCompletion<R>(this, context), names);
+      return new TypeBuilder<>(new ArrayCompletion<>(this, context), names);
     }
 
     /**
@@ -867,7 +867,7 @@ public class SchemaBuilder {
      * items to the schema provided. Returns control to the enclosing context.
      **/
     public R items(Schema itemsSchema) {
-      return new ArrayCompletion<R>(this, context).complete(itemsSchema);
+      return new ArrayCompletion<>(this, context).complete(itemsSchema);
     }
   }
 
@@ -882,7 +882,7 @@ public class SchemaBuilder {
    * to be referenced by name.</li>
    **/
   private static class NameContext {
-    private static final Set<String> PRIMITIVES = new HashSet<String>();
+    private static final Set<String> PRIMITIVES = new HashSet<>();
     {
       PRIMITIVES.add("null");
       PRIMITIVES.add("boolean");
@@ -897,7 +897,7 @@ public class SchemaBuilder {
     private final String namespace;
 
     private NameContext() {
-      this.schemas = new HashMap<String, Schema>();
+      this.schemas = new HashMap<>();
       this.namespace = null;
       schemas.put("null", Schema.create(Schema.Type.NULL));
       schemas.put("boolean", Schema.create(Schema.Type.BOOLEAN));
@@ -1243,7 +1243,7 @@ public class SchemaBuilder {
      * <pre>unionOf().booleanType().and().nullType().endUnion()</pre>
      **/
     protected BaseTypeBuilder<R> nullable() {
-      return new BaseTypeBuilder<R>(new NullableCompletion<R>(context), names);
+      return new BaseTypeBuilder<>(new NullableCompletion<>(context), names);
     }
 
   }
@@ -1270,15 +1270,15 @@ public class SchemaBuilder {
   private static final class UnionBuilder<R> extends
       BaseTypeBuilder<UnionAccumulator<R>> {
     private UnionBuilder(Completion<R> context, NameContext names) {
-      this(context, names, new ArrayList<Schema>());
+      this(context, names, new ArrayList<>());
     }
 
     private static <R> UnionBuilder<R> create(Completion<R> context, NameContext names) {
-      return new UnionBuilder<R>(context, names);
+      return new UnionBuilder<>(context, names);
     }
 
     private UnionBuilder(Completion<R> context, NameContext names, List<Schema> schemas) {
-      super(new UnionCompletion<R>(context, names, schemas), names);
+      super(new UnionCompletion<>(context, names, schemas), names);
     }
   }
 
@@ -1326,7 +1326,7 @@ public class SchemaBuilder {
      * are not needed it is simpler to use {@link #booleanType()}.
      */
     public final BooleanBuilder<BooleanDefault<R>> booleanBuilder() {
-      return BooleanBuilder.create(wrap(new BooleanDefault<R>(bldr)), names);
+      return BooleanBuilder.create(wrap(new BooleanDefault<>(bldr)), names);
     }
 
     /**
@@ -1344,7 +1344,7 @@ public class SchemaBuilder {
      * are not needed it is simpler to use {@link #intType()}.
      */
     public final IntBuilder<IntDefault<R>> intBuilder() {
-      return IntBuilder.create(wrap(new IntDefault<R>(bldr)), names);
+      return IntBuilder.create(wrap(new IntDefault<>(bldr)), names);
     }
 
     /**
@@ -1362,7 +1362,7 @@ public class SchemaBuilder {
      * are not needed it is simpler to use {@link #longType()}.
      */
     public final LongBuilder<LongDefault<R>> longBuilder() {
-      return LongBuilder.create(wrap(new LongDefault<R>(bldr)), names);
+      return LongBuilder.create(wrap(new LongDefault<>(bldr)), names);
     }
 
     /**
@@ -1380,7 +1380,7 @@ public class SchemaBuilder {
      * are not needed it is simpler to use {@link #floatType()}.
      */
     public final FloatBuilder<FloatDefault<R>> floatBuilder() {
-      return FloatBuilder.create(wrap(new FloatDefault<R>(bldr)), names);
+      return FloatBuilder.create(wrap(new FloatDefault<>(bldr)), names);
     }
 
     /**
@@ -1398,7 +1398,7 @@ public class SchemaBuilder {
      * are not needed it is simpler to use {@link #doubleType()}.
      */
     public final DoubleBuilder<DoubleDefault<R>> doubleBuilder() {
-      return DoubleBuilder.create(wrap(new DoubleDefault<R>(bldr)), names);
+      return DoubleBuilder.create(wrap(new DoubleDefault<>(bldr)), names);
     }
 
     /**
@@ -1416,7 +1416,7 @@ public class SchemaBuilder {
      * are not needed it is simpler to use {@link #stringType()}.
      */
     public final StringBldr<StringDefault<R>> stringBuilder() {
-      return StringBldr.create(wrap(new StringDefault<R>(bldr)), names);
+      return StringBldr.create(wrap(new StringDefault<>(bldr)), names);
     }
 
     /**
@@ -1434,7 +1434,7 @@ public class SchemaBuilder {
      * are not needed it is simpler to use {@link #bytesType()}.
      */
     public final BytesBuilder<BytesDefault<R>> bytesBuilder() {
-      return BytesBuilder.create(wrap(new BytesDefault<R>(bldr)), names);
+      return BytesBuilder.create(wrap(new BytesDefault<>(bldr)), names);
     }
 
     /**
@@ -1452,32 +1452,32 @@ public class SchemaBuilder {
      * are not needed it is simpler to use {@link #nullType()}.
      */
     public final NullBuilder<NullDefault<R>> nullBuilder() {
-      return NullBuilder.create(wrap(new NullDefault<R>(bldr)), names);
+      return NullBuilder.create(wrap(new NullDefault<>(bldr)), names);
     }
 
     /** Build an Avro map type **/
     public final MapBuilder<MapDefault<R>> map() {
-      return MapBuilder.create(wrap(new MapDefault<R>(bldr)), names);
+      return MapBuilder.create(wrap(new MapDefault<>(bldr)), names);
     }
 
     /** Build an Avro array type **/
     public final ArrayBuilder<ArrayDefault<R>> array() {
-      return ArrayBuilder.create(wrap(new ArrayDefault<R>(bldr)), names);
+      return ArrayBuilder.create(wrap(new ArrayDefault<>(bldr)), names);
     }
 
     /** Build an Avro fixed type. **/
     public final FixedBuilder<FixedDefault<R>> fixed(String name) {
-      return FixedBuilder.create(wrap(new FixedDefault<R>(bldr)), names, name);
+      return FixedBuilder.create(wrap(new FixedDefault<>(bldr)), names, name);
     }
 
     /** Build an Avro enum type. **/
     public final EnumBuilder<EnumDefault<R>> enumeration(String name) {
-      return EnumBuilder.create(wrap(new EnumDefault<R>(bldr)), names, name);
+      return EnumBuilder.create(wrap(new EnumDefault<>(bldr)), names, name);
     }
 
     /** Build an Avro record type. **/
     public final RecordBuilder<RecordDefault<R>> record(String name) {
-      return RecordBuilder.create(wrap(new RecordDefault<R>(bldr)), names, name);
+      return RecordBuilder.create(wrap(new RecordDefault<>(bldr)), names, name);
     }
 
     private <C> Completion<C> wrap(
@@ -1498,7 +1498,7 @@ public class SchemaBuilder {
 
     /** Build an Avro union schema type. **/
     public UnionFieldTypeBuilder<R> unionOf() {
-      return new UnionFieldTypeBuilder<R>(bldr);
+      return new UnionFieldTypeBuilder<>(bldr);
     }
 
     /**
@@ -1510,7 +1510,7 @@ public class SchemaBuilder {
      * <pre>unionOf().booleanType().and().nullType().endUnion().booleanDefault(true)</pre>
      **/
     public BaseFieldTypeBuilder<R> nullable() {
-      return new BaseFieldTypeBuilder<R>(bldr, new NullableCompletionWrapper());
+      return new BaseFieldTypeBuilder<>(bldr, new NullableCompletionWrapper());
     }
 
     /**
@@ -1521,8 +1521,8 @@ public class SchemaBuilder {
      * <pre>unionOf().nullType().and().booleanType().endUnion().nullDefault()</pre>
      */
     public BaseTypeBuilder<FieldAssembler<R>> optional() {
-      return new BaseTypeBuilder<FieldAssembler<R>>(
-          new OptionalCompletion<R>(bldr), names);
+      return new BaseTypeBuilder<>(
+          new OptionalCompletion<>(bldr), names);
     }
   }
 
@@ -1553,7 +1553,7 @@ public class SchemaBuilder {
      * are not needed it is simpler to use {@link #booleanType()}.
      */
     public BooleanBuilder<UnionAccumulator<BooleanDefault<R>>> booleanBuilder() {
-      return BooleanBuilder.create(completion(new BooleanDefault<R>(bldr)), names);
+      return BooleanBuilder.create(completion(new BooleanDefault<>(bldr)), names);
     }
 
     /**
@@ -1571,7 +1571,7 @@ public class SchemaBuilder {
      * are not needed it is simpler to use {@link #intType()}.
      */
     public IntBuilder<UnionAccumulator<IntDefault<R>>> intBuilder() {
-      return IntBuilder.create(completion(new IntDefault<R>(bldr)), names);
+      return IntBuilder.create(completion(new IntDefault<>(bldr)), names);
     }
 
     /**
@@ -1589,7 +1589,7 @@ public class SchemaBuilder {
      * are not needed it is simpler to use {@link #longType()}.
      */
     public LongBuilder<UnionAccumulator<LongDefault<R>>> longBuilder() {
-      return LongBuilder.create(completion(new LongDefault<R>(bldr)), names);
+      return LongBuilder.create(completion(new LongDefault<>(bldr)), names);
     }
 
     /**
@@ -1607,7 +1607,7 @@ public class SchemaBuilder {
      * are not needed it is simpler to use {@link #floatType()}.
      */
     public FloatBuilder<UnionAccumulator<FloatDefault<R>>> floatBuilder() {
-      return FloatBuilder.create(completion(new FloatDefault<R>(bldr)), names);
+      return FloatBuilder.create(completion(new FloatDefault<>(bldr)), names);
     }
 
     /**
@@ -1625,7 +1625,7 @@ public class SchemaBuilder {
      * are not needed it is simpler to use {@link #doubleType()}.
      */
     public DoubleBuilder<UnionAccumulator<DoubleDefault<R>>> doubleBuilder() {
-      return DoubleBuilder.create(completion(new DoubleDefault<R>(bldr)), names);
+      return DoubleBuilder.create(completion(new DoubleDefault<>(bldr)), names);
     }
 
     /**
@@ -1643,7 +1643,7 @@ public class SchemaBuilder {
      * are not needed it is simpler to use {@link #stringType()}.
      */
     public StringBldr<UnionAccumulator<StringDefault<R>>> stringBuilder() {
-      return StringBldr.create(completion(new StringDefault<R>(bldr)), names);
+      return StringBldr.create(completion(new StringDefault<>(bldr)), names);
     }
 
     /**
@@ -1661,7 +1661,7 @@ public class SchemaBuilder {
      * are not needed it is simpler to use {@link #bytesType()}.
      */
     public BytesBuilder<UnionAccumulator<BytesDefault<R>>> bytesBuilder() {
-      return BytesBuilder.create(completion(new BytesDefault<R>(bldr)), names);
+      return BytesBuilder.create(completion(new BytesDefault<>(bldr)), names);
     }
 
     /**
@@ -1679,36 +1679,36 @@ public class SchemaBuilder {
      * are not needed it is simpler to use {@link #nullType()}.
      */
     public NullBuilder<UnionAccumulator<NullDefault<R>>> nullBuilder() {
-      return NullBuilder.create(completion(new NullDefault<R>(bldr)), names);
+      return NullBuilder.create(completion(new NullDefault<>(bldr)), names);
     }
 
     /** Build an Avro map type **/
     public MapBuilder<UnionAccumulator<MapDefault<R>>> map() {
-      return MapBuilder.create(completion(new MapDefault<R>(bldr)), names);
+      return MapBuilder.create(completion(new MapDefault<>(bldr)), names);
     }
 
     /** Build an Avro array type **/
     public ArrayBuilder<UnionAccumulator<ArrayDefault<R>>> array() {
-      return ArrayBuilder.create(completion(new ArrayDefault<R>(bldr)), names);
+      return ArrayBuilder.create(completion(new ArrayDefault<>(bldr)), names);
     }
 
     /** Build an Avro fixed type. **/
     public FixedBuilder<UnionAccumulator<FixedDefault<R>>> fixed(String name) {
-      return FixedBuilder.create(completion(new FixedDefault<R>(bldr)), names, name);
+      return FixedBuilder.create(completion(new FixedDefault<>(bldr)), names, name);
     }
 
     /** Build an Avro enum type. **/
     public EnumBuilder<UnionAccumulator<EnumDefault<R>>> enumeration(String name) {
-      return EnumBuilder.create(completion(new EnumDefault<R>(bldr)), names, name);
+      return EnumBuilder.create(completion(new EnumDefault<>(bldr)), names, name);
     }
 
     /** Build an Avro record type. **/
     public RecordBuilder<UnionAccumulator<RecordDefault<R>>> record(String name) {
-      return RecordBuilder.create(completion(new RecordDefault<R>(bldr)), names, name);
+      return RecordBuilder.create(completion(new RecordDefault<>(bldr)), names, name);
     }
 
     private <C> UnionCompletion<C> completion(Completion<C> context) {
-      return new UnionCompletion<C>(context, names, new ArrayList<Schema>());
+      return new UnionCompletion<>(context, names, new ArrayList<>());
     }
   }
 
@@ -1720,7 +1720,7 @@ public class SchemaBuilder {
 
     private static <R> RecordBuilder<R> create(Completion<R> context,
         NameContext names, String name) {
-      return new RecordBuilder<R>(context, names, name);
+      return new RecordBuilder<>(context, names, name);
     }
 
     @Override
@@ -1732,13 +1732,13 @@ public class SchemaBuilder {
       Schema record = Schema.createRecord(name(), doc(), space(), false);
       // place the record in the name context, fields yet to be set.
       completeSchema(record);
-      return new FieldAssembler<R>(
+      return new FieldAssembler<>(
           context(), names().namespace(record.getNamespace()), record);
     }
   }
 
   public final static class FieldAssembler<R> {
-    private final List<Field> fields = new ArrayList<Field>();
+    private final List<Field> fields = new ArrayList<>();
     private final Completion<R> context;
     private final NameContext names;
     private final Schema record;
@@ -1754,7 +1754,7 @@ public class SchemaBuilder {
      * @return A {@link FieldBuilder} for the given name.
      */
     public FieldBuilder<R> name(String fieldName) {
-      return new FieldBuilder<R>(this, names, fieldName);
+      return new FieldBuilder<>(this, names, fieldName);
     }
 
     /**
@@ -2065,7 +2065,7 @@ public class SchemaBuilder {
      * @return A builder for the field's type and default value.
      */
     public FieldTypeBuilder<R> type() {
-      return new FieldTypeBuilder<R>(this);
+      return new FieldTypeBuilder<>(this);
     }
 
     /**
@@ -2074,7 +2074,7 @@ public class SchemaBuilder {
      * {@link GenericDefault}.
      */
     public GenericDefault<R> type(Schema type) {
-      return new GenericDefault<R>(this, type);
+      return new GenericDefault<>(this, type);
     }
 
     /**
@@ -2475,7 +2475,7 @@ public class SchemaBuilder {
   private static final class NullableCompletionWrapper extends CompletionWrapper {
     @Override
     <R> Completion<R> wrap(Completion<R> completion) {
-      return new NullableCompletion<R>(completion);
+      return new NullableCompletion<>(completion);
     }
   }
 
@@ -2534,9 +2534,9 @@ public class SchemaBuilder {
 
     @Override
     protected UnionAccumulator<R> complete(Schema schema) {
-      List<Schema> updated = new ArrayList<Schema>(this.schemas);
+      List<Schema> updated = new ArrayList<>(this.schemas);
       updated.add(schema);
-      return new UnionAccumulator<R>(context, names, updated);
+      return new UnionAccumulator<>(context, names, updated);
     }
   }
 
@@ -2556,7 +2556,7 @@ public class SchemaBuilder {
 
     /** Add an additional type to this union **/
     public BaseTypeBuilder<UnionAccumulator<R>> and() {
-      return new UnionBuilder<R>(context, names, schemas);
+      return new UnionBuilder<>(context, names, schemas);
     }
 
     /** Complete this union **/

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/main/java/org/apache/avro/SchemaCompatibility.java
----------------------------------------------------------------------
diff --git a/lang/java/avro/src/main/java/org/apache/avro/SchemaCompatibility.java b/lang/java/avro/src/main/java/org/apache/avro/SchemaCompatibility.java
index 8453579..972dccb 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/SchemaCompatibility.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/SchemaCompatibility.java
@@ -122,7 +122,7 @@ public class SchemaCompatibility {
    */
   public static Field lookupWriterField(final Schema writerSchema, final Field readerField) {
     assert (writerSchema.getType() == Type.RECORD);
-    final List<Field> writerFields = new ArrayList<Field>();
+    final List<Field> writerFields = new ArrayList<>();
     final Field direct = writerSchema.getField(readerField.name());
     if (direct != null) {
       writerFields.add(direct);
@@ -197,7 +197,7 @@ public class SchemaCompatibility {
   private static final class ReaderWriterCompatibilityChecker {
     private static final String ROOT_REFERENCE_TOKEN = "";
     private final Map<ReaderWriter, SchemaCompatibilityResult> mMemoizeMap =
-        new HashMap<ReaderWriter, SchemaCompatibilityResult>();
+        new HashMap<>();
 
     /**
      * Reports the compatibility of a reader/writer schema pair.
@@ -212,7 +212,7 @@ public class SchemaCompatibility {
         final Schema reader,
         final Schema writer
     ) {
-      Deque<String> location = new ArrayDeque<String>();
+      Deque<String> location = new ArrayDeque<>();
       return getCompatibility(ROOT_REFERENCE_TOKEN, reader, writer, location);
     }
 
@@ -440,7 +440,7 @@ public class SchemaCompatibility {
         final Schema reader, final Schema writer, final Deque<String> location) {
       SchemaCompatibilityResult result = SchemaCompatibilityResult.compatible();
       location.addFirst("symbols");
-      final Set<String> symbols = new TreeSet<String>(writer.getEnumSymbols());
+      final Set<String> symbols = new TreeSet<>(writer.getEnumSymbols());
       symbols.removeAll(reader.getEnumSymbols());
       if (!symbols.isEmpty()) {
         result = SchemaCompatibilityResult.incompatible(
@@ -523,7 +523,7 @@ public class SchemaCompatibility {
      * @return A {@code SchemaCompatibilityResult} that combines the state of the current and supplied instances.
      */
     public SchemaCompatibilityResult mergedWith(SchemaCompatibilityResult toMerge) {
-      List<Incompatibility> mergedIncompatibilities = new ArrayList<Incompatibility>(mIncompatibilities);
+      List<Incompatibility> mergedIncompatibilities = new ArrayList<>(mIncompatibilities);
       mergedIncompatibilities.addAll(toMerge.getIncompatibilities());
       SchemaCompatibilityType compatibilityType = mCompatibilityType == SchemaCompatibilityType.COMPATIBLE
           ?  toMerge.mCompatibilityType
@@ -899,7 +899,7 @@ public class SchemaCompatibility {
   }
 
   private static List<String> asList(Deque<String> deque) {
-    List<String> list = new ArrayList<String>(deque);
+    List<String> list = new ArrayList<>(deque);
     Collections.reverse(list);
     return Collections.unmodifiableList(list);
   }

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/main/java/org/apache/avro/SchemaNormalization.java
----------------------------------------------------------------------
diff --git a/lang/java/avro/src/main/java/org/apache/avro/SchemaNormalization.java b/lang/java/avro/src/main/java/org/apache/avro/SchemaNormalization.java
index 58c642d..a38b205 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/SchemaNormalization.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/SchemaNormalization.java
@@ -36,7 +36,7 @@ public class SchemaNormalization {
     * spec. */
   public static String toParsingForm(Schema s) {
     try {
-      Map<String,String> env = new HashMap<String,String>();
+      Map<String,String> env = new HashMap<>();
       return build(env, s, new StringBuilder()).toString();
     } catch (IOException e) {
       // Shouldn't happen, b/c StringBuilder can't throw IOException

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/main/java/org/apache/avro/file/CodecFactory.java
----------------------------------------------------------------------
diff --git a/lang/java/avro/src/main/java/org/apache/avro/file/CodecFactory.java b/lang/java/avro/src/main/java/org/apache/avro/file/CodecFactory.java
index d178e13..d144b6d 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/file/CodecFactory.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/file/CodecFactory.java
@@ -72,7 +72,7 @@ public abstract class CodecFactory {
    * Note that currently options (like compression level)
    * are not recoverable. */
   private static final Map<String, CodecFactory> REGISTERED =
-    new HashMap<String, CodecFactory>();
+    new HashMap<>();
 
   public static final int DEFAULT_DEFLATE_LEVEL = Deflater.DEFAULT_COMPRESSION;
   public static final int DEFAULT_XZ_LEVEL = LZMA2Options.PRESET_DEFAULT;

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/main/java/org/apache/avro/file/DataFileReader.java
----------------------------------------------------------------------
diff --git a/lang/java/avro/src/main/java/org/apache/avro/file/DataFileReader.java b/lang/java/avro/src/main/java/org/apache/avro/file/DataFileReader.java
index 0d5e5c1..3ccb513 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/file/DataFileReader.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/file/DataFileReader.java
@@ -56,9 +56,9 @@ public class DataFileReader<D>
     in.seek(0);
 
     if (Arrays.equals(MAGIC, magic))              // current format
-      return new DataFileReader<D>(in, reader);
+      return new DataFileReader<>(in, reader);
     if (Arrays.equals(DataFileReader12.MAGIC, magic)) // 1.2 format
-      return new DataFileReader12<D>(in, reader);
+      return new DataFileReader12<>(in, reader);
 
     throw new IOException("Not an Avro data file");
   }
@@ -75,7 +75,7 @@ public class DataFileReader<D>
                                                  Header header,
                                                  boolean sync)
       throws IOException {
-    DataFileReader<D> dreader = new DataFileReader<D>(in, reader, header);
+    DataFileReader<D> dreader = new DataFileReader<>(in, reader, header);
     // seek/sync to an (assumed) valid position
     if (sync)
       dreader.sync(in.tell());

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/main/java/org/apache/avro/file/DataFileReader12.java
----------------------------------------------------------------------
diff --git a/lang/java/avro/src/main/java/org/apache/avro/file/DataFileReader12.java b/lang/java/avro/src/main/java/org/apache/avro/file/DataFileReader12.java
index 54176df..a23f35e 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/file/DataFileReader12.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/file/DataFileReader12.java
@@ -52,7 +52,7 @@ public class DataFileReader12<D> implements FileReader<D>, Closeable {
   private DataFileReader.SeekableInputStream in;
   private BinaryDecoder vin;
 
-  private Map<String,byte[]> meta = new HashMap<String,byte[]>();
+  private Map<String,byte[]> meta = new HashMap<>();
 
   private long count;                           // # entries in file
   private long blockCount;                      // # entries in block

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/main/java/org/apache/avro/file/DataFileStream.java
----------------------------------------------------------------------
diff --git a/lang/java/avro/src/main/java/org/apache/avro/file/DataFileStream.java b/lang/java/avro/src/main/java/org/apache/avro/file/DataFileStream.java
index e546adf..e9b44a7 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/file/DataFileStream.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/file/DataFileStream.java
@@ -51,8 +51,8 @@ public class DataFileStream<D> implements Iterator<D>, Iterable<D>, Closeable {
    */
   public static final class Header {
     Schema schema;
-    Map<String,byte[]> meta = new HashMap<String,byte[]>();
-    private transient List<String> metaKeyList = new ArrayList<String>();
+    Map<String,byte[]> meta = new HashMap<>();
+    private transient List<String> metaKeyList = new ArrayList<>();
     byte[] sync = new byte[DataFileConstants.SYNC_SIZE];
     private Header() {}
   }

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/main/java/org/apache/avro/file/DataFileWriter.java
----------------------------------------------------------------------
diff --git a/lang/java/avro/src/main/java/org/apache/avro/file/DataFileWriter.java b/lang/java/avro/src/main/java/org/apache/avro/file/DataFileWriter.java
index d70d4a4..19d94a1 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/file/DataFileWriter.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/file/DataFileWriter.java
@@ -58,7 +58,7 @@ public class DataFileWriter<D> implements Closeable, Flushable {
   private BufferedFileOutputStream out;
   private BinaryEncoder vout;
 
-  private final Map<String,byte[]> meta = new HashMap<String,byte[]>();
+  private final Map<String,byte[]> meta = new HashMap<>();
 
   private long blockCount;                       // # entries in current block
 
@@ -211,7 +211,7 @@ public class DataFileWriter<D> implements Closeable, Flushable {
     throws IOException {
     assertNotOpen();
     DataFileReader<D> reader =
-      new DataFileReader<D>(in, new GenericDatumReader<D>());
+      new DataFileReader<>(in, new GenericDatumReader<>());
     this.schema = reader.getSchema();
     this.sync = reader.getHeader().sync;
     this.meta.putAll(reader.getHeader().meta);

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/main/java/org/apache/avro/generic/GenericData.java
----------------------------------------------------------------------
diff --git a/lang/java/avro/src/main/java/org/apache/avro/generic/GenericData.java b/lang/java/avro/src/main/java/org/apache/avro/generic/GenericData.java
index b8dfcc6..7f298fd 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/generic/GenericData.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/generic/GenericData.java
@@ -100,10 +100,10 @@ public class GenericData {
   public ClassLoader getClassLoader() { return classLoader; }
 
   private Map<String, Conversion<?>> conversions =
-      new HashMap<String, Conversion<?>>();
+      new HashMap<>();
 
   private Map<Class<?>, Map<String, Conversion<?>>> conversionsByClass =
-      new IdentityHashMap<Class<?>, Map<String, Conversion<?>>>();
+      new IdentityHashMap<>();
 
   /**
    * Registers the given conversion to be used when reading and writing with
@@ -118,7 +118,7 @@ public class GenericData {
       conversionsByClass.get(type).put(
           conversion.getLogicalTypeName(), conversion);
     } else {
-      Map<String, Conversion<?>> conversions = new LinkedHashMap<String, Conversion<?>>();
+      Map<String, Conversion<?>> conversions = new LinkedHashMap<>();
       conversions.put(conversion.getLogicalTypeName(), conversion);
       conversionsByClass.put(type, conversions);
     }
@@ -485,7 +485,7 @@ public class GenericData {
   /** Renders a Java datum as <a href="http://www.json.org/">JSON</a>. */
   public String toString(Object datum) {
     StringBuilder buffer = new StringBuilder();
-    toString(datum, buffer, new IdentityHashMap<Object, Object>(128) );
+    toString(datum, buffer, new IdentityHashMap<>(128) );
     return buffer.toString();
   }
 
@@ -1061,7 +1061,7 @@ public class GenericData {
     switch (schema.getType()) {
       case ARRAY:
         List<Object> arrayValue = (List) value;
-        List<Object> arrayCopy = new GenericData.Array<Object>(
+        List<Object> arrayCopy = new GenericData.Array<>(
             arrayValue.size(), schema);
         for (Object obj : arrayValue) {
           arrayCopy.add(deepCopy(schema.getElementType(), obj));
@@ -1092,7 +1092,7 @@ public class GenericData {
       case MAP:
         Map<CharSequence, Object> mapValue = (Map) value;
         Map<CharSequence, Object> mapCopy =
-          new HashMap<CharSequence, Object>(mapValue.size());
+          new HashMap<>(mapValue.size());
         for (Map.Entry<CharSequence, Object> entry : mapValue.entrySet()) {
           mapCopy.put((CharSequence)(deepCopy(STRINGS, entry.getKey())),
               deepCopy(schema.getValueType(), entry.getValue()));

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/main/java/org/apache/avro/generic/GenericDatumReader.java
----------------------------------------------------------------------
diff --git a/lang/java/avro/src/main/java/org/apache/avro/generic/GenericDatumReader.java b/lang/java/avro/src/main/java/org/apache/avro/generic/GenericDatumReader.java
index 7cde13f..70ef5bb 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/generic/GenericDatumReader.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/generic/GenericDatumReader.java
@@ -101,7 +101,7 @@ public class GenericDatumReader<D> implements DatumReader<D> {
     RESOLVER_CACHE =
     new ThreadLocal<Map<Schema,Map<Schema,ResolvingDecoder>>>() {
     protected Map<Schema,Map<Schema,ResolvingDecoder>> initialValue() {
-      return new WeakIdentityHashMap<Schema,Map<Schema,ResolvingDecoder>>();
+      return new WeakIdentityHashMap<>();
     }
   };
 
@@ -120,7 +120,7 @@ public class GenericDatumReader<D> implements DatumReader<D> {
 
     Map<Schema,ResolvingDecoder> cache = RESOLVER_CACHE.get().get(actual);
     if (cache == null) {
-      cache = new WeakIdentityHashMap<Schema,ResolvingDecoder>();
+      cache = new WeakIdentityHashMap<>();
       RESOLVER_CACHE.get().put(actual, cache);
     }
     resolver = cache.get(expected);
@@ -399,7 +399,7 @@ public class GenericDatumReader<D> implements DatumReader<D> {
     if (old instanceof Map) {
       ((Map) old).clear();
       return old;
-    } else return new HashMap<Object, Object>(size);
+    } else return new HashMap<>(size);
   }
 
   /** Called to read strings.  Subclasses may override to use a different
@@ -445,7 +445,7 @@ public class GenericDatumReader<D> implements DatumReader<D> {
   }
 
   private Map<Schema,Class> stringClassCache =
-    new IdentityHashMap<Schema,Class>();
+    new IdentityHashMap<>();
 
   private Class getStringClass(Schema s) {
     Class c = stringClassCache.get(s);
@@ -457,7 +457,7 @@ public class GenericDatumReader<D> implements DatumReader<D> {
   }
 
   private final Map<Class,Constructor> stringCtorCache =
-    new HashMap<Class,Constructor>();
+    new HashMap<>();
 
   @SuppressWarnings("unchecked")
   protected Object newInstanceFromString(Class c, String s) {

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/main/java/org/apache/avro/io/JsonDecoder.java
----------------------------------------------------------------------
diff --git a/lang/java/avro/src/main/java/org/apache/avro/io/JsonDecoder.java b/lang/java/avro/src/main/java/org/apache/avro/io/JsonDecoder.java
index 890cc63..04192e4 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/io/JsonDecoder.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/io/JsonDecoder.java
@@ -53,11 +53,11 @@ public class JsonDecoder extends ParsingDecoder
   implements Parser.ActionHandler {
   private JsonParser in;
   private static JsonFactory jsonFactory = new JsonFactory();
-  Stack<ReorderBuffer> reorderBuffers = new Stack<ReorderBuffer>();
+  Stack<ReorderBuffer> reorderBuffers = new Stack<>();
   ReorderBuffer currentReorderBuffer;
 
   private static class ReorderBuffer {
-    public Map<String, List<JsonElement>> savedFields = new HashMap<String, List<JsonElement>>();
+    public Map<String, List<JsonElement>> savedFields = new HashMap<>();
     public JsonParser origParser = null;
   }
 
@@ -526,7 +526,7 @@ public class JsonDecoder extends ParsingDecoder
 
   private static List<JsonElement> getValueAsTree(JsonParser in) throws IOException {
     int level = 0;
-    List<JsonElement> result = new ArrayList<JsonElement>();
+    List<JsonElement> result = new ArrayList<>();
     do {
       JsonToken t = in.getCurrentToken();
       switch (t) {

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/main/java/org/apache/avro/io/parsing/JsonGrammarGenerator.java
----------------------------------------------------------------------
diff --git a/lang/java/avro/src/main/java/org/apache/avro/io/parsing/JsonGrammarGenerator.java b/lang/java/avro/src/main/java/org/apache/avro/io/parsing/JsonGrammarGenerator.java
index 1620038..5d39667 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/io/parsing/JsonGrammarGenerator.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/io/parsing/JsonGrammarGenerator.java
@@ -34,7 +34,7 @@ public class JsonGrammarGenerator extends ValidatingGrammarGenerator {
    * for the grammar for the grammar for the given schema <tt>sc</tt>.
    */
   public Symbol generate(Schema schema) {
-    return Symbol.root(generate(schema, new HashMap<LitS, Symbol>()));
+    return Symbol.root(generate(schema, new HashMap<>()));
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/main/java/org/apache/avro/io/parsing/ResolvingGrammarGenerator.java
----------------------------------------------------------------------
diff --git a/lang/java/avro/src/main/java/org/apache/avro/io/parsing/ResolvingGrammarGenerator.java b/lang/java/avro/src/main/java/org/apache/avro/io/parsing/ResolvingGrammarGenerator.java
index 7dfe3c2..eb9ce44 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/io/parsing/ResolvingGrammarGenerator.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/io/parsing/ResolvingGrammarGenerator.java
@@ -47,7 +47,7 @@ public class ResolvingGrammarGenerator extends ValidatingGrammarGenerator {
    */
   public final Symbol generate(Schema writer, Schema reader)
     throws IOException {
-    return Symbol.root(generate(writer, reader, new HashMap<LitS, Symbol>()));
+    return Symbol.root(generate(writer, reader, new HashMap<>()));
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/main/java/org/apache/avro/io/parsing/Symbol.java
----------------------------------------------------------------------
diff --git a/lang/java/avro/src/main/java/org/apache/avro/io/parsing/Symbol.java b/lang/java/avro/src/main/java/org/apache/avro/io/parsing/Symbol.java
index a284f65..360354d 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/io/parsing/Symbol.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/io/parsing/Symbol.java
@@ -271,8 +271,8 @@ public abstract class Symbol {
     private static Symbol[] makeProduction(Symbol[] symbols) {
       Symbol[] result = new Symbol[flattenedSize(symbols, 0) + 1];
       flatten(symbols, 0, result, 1,
-          new HashMap<Sequence, Sequence>(),
-          new HashMap<Sequence, List<Fixup>>());
+          new HashMap<>(),
+          new HashMap<>());
       return result;
     }
   }
@@ -318,7 +318,7 @@ public abstract class Symbol {
       if (result == null) {
         result = new Sequence(new Symbol[flattenedSize()]);
         map.put(this, result);
-        List<Fixup> l = new ArrayList<Fixup>();
+        List<Fixup> l = new ArrayList<>();
         map2.put(result, l);
 
         flatten(production, 0,

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/main/java/org/apache/avro/io/parsing/ValidatingGrammarGenerator.java
----------------------------------------------------------------------
diff --git a/lang/java/avro/src/main/java/org/apache/avro/io/parsing/ValidatingGrammarGenerator.java b/lang/java/avro/src/main/java/org/apache/avro/io/parsing/ValidatingGrammarGenerator.java
index 962fc10..3620795 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/io/parsing/ValidatingGrammarGenerator.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/io/parsing/ValidatingGrammarGenerator.java
@@ -33,7 +33,7 @@ public class ValidatingGrammarGenerator {
    * for the grammar for the given schema <tt>sc</tt>.
    */
   public Symbol generate(Schema schema) {
-    return Symbol.root(generate(schema, new HashMap<LitS, Symbol>()));
+    return Symbol.root(generate(schema, new HashMap<>()));
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/main/java/org/apache/avro/message/BinaryMessageDecoder.java
----------------------------------------------------------------------
diff --git a/lang/java/avro/src/main/java/org/apache/avro/message/BinaryMessageDecoder.java b/lang/java/avro/src/main/java/org/apache/avro/message/BinaryMessageDecoder.java
index bcdec0f..7c3a306 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/message/BinaryMessageDecoder.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/message/BinaryMessageDecoder.java
@@ -125,7 +125,7 @@ public class BinaryMessageDecoder<D> extends MessageDecoder.BaseDecoder<D> {
   public void addSchema(Schema writeSchema) {
     long fp = SchemaNormalization.parsingFingerprint64(writeSchema);
     codecByFingerprint.put(fp,
-        new RawMessageDecoder<D>(model, writeSchema, readSchema));
+        new RawMessageDecoder<>(model, writeSchema, readSchema));
   }
 
   private RawMessageDecoder<D> getDecoder(long fp) {

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/main/java/org/apache/avro/message/BinaryMessageEncoder.java
----------------------------------------------------------------------
diff --git a/lang/java/avro/src/main/java/org/apache/avro/message/BinaryMessageEncoder.java b/lang/java/avro/src/main/java/org/apache/avro/message/BinaryMessageEncoder.java
index 3cf3d0c..e4eb43e 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/message/BinaryMessageEncoder.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/message/BinaryMessageEncoder.java
@@ -76,7 +76,7 @@ public class BinaryMessageEncoder<D> implements MessageEncoder<D> {
    */
   public BinaryMessageEncoder(GenericData model, Schema schema,
                               boolean shouldCopy) {
-    this.writeCodec = new V1MessageEncoder<D>(model, schema, shouldCopy);
+    this.writeCodec = new V1MessageEncoder<>(model, schema, shouldCopy);
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/main/java/org/apache/avro/message/RawMessageDecoder.java
----------------------------------------------------------------------
diff --git a/lang/java/avro/src/main/java/org/apache/avro/message/RawMessageDecoder.java b/lang/java/avro/src/main/java/org/apache/avro/message/RawMessageDecoder.java
index 52a7c2e..1caf715 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/message/RawMessageDecoder.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/message/RawMessageDecoder.java
@@ -44,7 +44,7 @@ import java.io.InputStream;
 public class RawMessageDecoder<D> extends MessageDecoder.BaseDecoder<D> {
 
   private static final ThreadLocal<BinaryDecoder> DECODER =
-      new ThreadLocal<BinaryDecoder>();
+      new ThreadLocal<>();
 
   private final Schema writeSchema;
   private final Schema readSchema;

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/main/java/org/apache/avro/message/RawMessageEncoder.java
----------------------------------------------------------------------
diff --git a/lang/java/avro/src/main/java/org/apache/avro/message/RawMessageEncoder.java b/lang/java/avro/src/main/java/org/apache/avro/message/RawMessageEncoder.java
index 07ed861..d85d20e 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/message/RawMessageEncoder.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/message/RawMessageEncoder.java
@@ -46,7 +46,7 @@ public class RawMessageEncoder<D> implements MessageEncoder<D> {
       };
 
   private static final ThreadLocal<BinaryEncoder> ENCODER =
-      new ThreadLocal<BinaryEncoder>();
+      new ThreadLocal<>();
 
   private final Schema writeSchema;
   private final boolean copyOutputBytes;

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectData.java
----------------------------------------------------------------------
diff --git a/lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectData.java b/lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectData.java
index 7220813..0f951a2 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectData.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectData.java
@@ -233,12 +233,12 @@ public class ReflectData extends SpecificData {
   }
 
   static final ConcurrentHashMap<Class<?>, ClassAccessorData>
-    ACCESSOR_CACHE = new ConcurrentHashMap<Class<?>, ClassAccessorData>();
+    ACCESSOR_CACHE = new ConcurrentHashMap<>();
 
   static class ClassAccessorData {
     private final Class<?> clazz;
     private final Map<String, FieldAccessor> byName =
-        new HashMap<String, FieldAccessor>();
+        new HashMap<>();
     final Map<Schema, FieldAccessor[]> bySchema = new MapMaker().weakKeys().makeMap();
 
     private ClassAccessorData(Class<?> c) {
@@ -326,7 +326,7 @@ public class ReflectData extends SpecificData {
   static final String ELEMENT_PROP = "java-element-class";
 
   private static final Map<String,Class> CLASS_CACHE =
-               new ConcurrentHashMap<String, Class>();
+               new ConcurrentHashMap<>();
 
   static Class getClassProp(Schema schema, String prop) {
     String name = schema.getProp(prop);
@@ -346,7 +346,7 @@ public class ReflectData extends SpecificData {
   private static final Class BYTES_CLASS = new byte[0].getClass();
   private static final IdentityHashMap<Class, Class> ARRAY_CLASSES;
   static {
-    ARRAY_CLASSES = new IdentityHashMap<Class, Class>();
+    ARRAY_CLASSES = new IdentityHashMap<>();
     ARRAY_CLASSES.put(byte.class, byte[].class);
     ARRAY_CLASSES.put(char.class, char[].class);
     ARRAY_CLASSES.put(short.class, short[].class);
@@ -584,7 +584,7 @@ public class ReflectData extends SpecificData {
           result.addProp(CLASS_PROP, c.getName());
           return result;
         } else if (c.isEnum()) {                             // Enum
-          List<String> symbols = new ArrayList<String>();
+          List<String> symbols = new ArrayList<>();
           Enum[] constants = (Enum[])c.getEnumConstants();
           for (int i = 0; i < constants.length; i++)
             symbols.add(constants[i].name());
@@ -597,7 +597,7 @@ public class ReflectData extends SpecificData {
         } else if (IndexedRecord.class.isAssignableFrom(c)) { // specific
           return super.createSchema(type, names);
         } else {                                             // record
-          List<Schema.Field> fields = new ArrayList<Schema.Field>();
+          List<Schema.Field> fields = new ArrayList<>();
           boolean error = Throwable.class.isAssignableFrom(c);
           schema = Schema.createRecord(name, null /* doc */, space, error);
           consumeAvroAliasAnnotation(c, schema);
@@ -672,7 +672,7 @@ public class ReflectData extends SpecificData {
 
   // construct a schema from a union annotation
   private Schema getAnnotatedUnion(Union union, Map<String,Schema> names) {
-    List<Schema> branches = new ArrayList<Schema>();
+    List<Schema> branches = new ArrayList<>();
     for (Class branch : union.value())
       branches.add(createSchema(branch, names));
     return Schema.createUnion(branches);
@@ -688,7 +688,7 @@ public class ReflectData extends SpecificData {
         }
       }
       // add null as the first type in a new union
-      List<Schema> withNull = new ArrayList<Schema>();
+      List<Schema> withNull = new ArrayList<>();
       withNull.add(Schema.create(Schema.Type.NULL));
       withNull.addAll(schema.getTypes());
       return Schema.createUnion(withNull);
@@ -700,7 +700,7 @@ public class ReflectData extends SpecificData {
   }
 
   private static final Map<Class<?>,Field[]> FIELDS_CACHE =
-    new ConcurrentHashMap<Class<?>,Field[]>();
+    new ConcurrentHashMap<>();
 
   // Return of this class and its superclasses to serialize.
   private static Field[] getCachedFields(Class<?> recordClass) {
@@ -714,7 +714,7 @@ public class ReflectData extends SpecificData {
 
   private static Field[] getFields(Class<?> recordClass, boolean excludeJava) {
     Field[] fieldsList;
-    Map<String,Field> fields = new LinkedHashMap<String,Field>();
+    Map<String,Field> fields = new LinkedHashMap<>();
     Class<?> c = recordClass;
     do {
       if (excludeJava && c.getPackage() != null
@@ -767,7 +767,7 @@ public class ReflectData extends SpecificData {
     Protocol protocol =
       new Protocol(iface.getSimpleName(),
                    iface.getPackage()==null?"":iface.getPackage().getName());
-    Map<String,Schema> names = new LinkedHashMap<String,Schema>();
+    Map<String,Schema> names = new LinkedHashMap<>();
     Map<String,Message> messages = protocol.getMessages();
     for (Method method : iface.getMethods())
       if ((method.getModifiers() & Modifier.STATIC) == 0) {
@@ -778,7 +778,7 @@ public class ReflectData extends SpecificData {
       }
 
     // reverse types, since they were defined in reference order
-    List<Schema> types = new ArrayList<Schema>();
+    List<Schema> types = new ArrayList<>();
     types.addAll(names.values());
     Collections.reverse(types);
     protocol.setTypes(types);
@@ -790,7 +790,7 @@ public class ReflectData extends SpecificData {
 
   private Message getMessage(Method method, Protocol protocol,
                              Map<String,Schema> names) {
-    List<Schema.Field> fields = new ArrayList<Schema.Field>();
+    List<Schema.Field> fields = new ArrayList<>();
     String[] paramNames = paranamer.lookupParameterNames(method);
     Type[] paramTypes = method.getGenericParameterTypes();
     Annotation[][] annotations = method.getParameterAnnotations();
@@ -824,7 +824,7 @@ public class ReflectData extends SpecificData {
     if (explicit != null)                         // explicit schema
       response = Schema.parse(explicit.value());
 
-    List<Schema> errs = new ArrayList<Schema>();
+    List<Schema> errs = new ArrayList<>();
     errs.add(Protocol.SYSTEM_ERROR);              // every method can throw
     for (Type err : method.getGenericExceptionTypes())
       if (err != AvroRemoteException.class)

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectDatumReader.java
----------------------------------------------------------------------
diff --git a/lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectDatumReader.java b/lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectDatumReader.java
index 3d5a301..75ab09f 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectDatumReader.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectDatumReader.java
@@ -96,7 +96,7 @@ public class ReflectDatumReader<T> extends SpecificDatumReader<T> {
         return old;
       }
       if (collectionClass.isAssignableFrom(ArrayList.class))
-        return new ArrayList<Object>();
+        return new ArrayList<>();
       return SpecificData.newInstance(collectionClass, schema);
     }
 
@@ -139,7 +139,7 @@ public class ReflectDatumReader<T> extends SpecificDatumReader<T> {
       // Only for non-string keys, we can use NS_MAP_* fields
       // So we check the samee explicitly here
       if (ReflectData.isNonStringMapSchema(expected)) {
-        Collection<Object> c = new ArrayList<Object> ();
+        Collection<Object> c = new ArrayList<>();
         readCollection(c, expectedType, l, in);
         Map m = (Map)array;
         for (Object ele: c) {

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectDatumWriter.java
----------------------------------------------------------------------
diff --git a/lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectDatumWriter.java b/lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectDatumWriter.java
index 682fd02..e312780 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectDatumWriter.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectDatumWriter.java
@@ -148,7 +148,7 @@ public class ReflectDatumWriter<T> extends SpecificDatumWriter<T> {
       // Schema for such maps is already changed. Here we
       // just switch the map to a similar form too.
       Set entries = ((Map)datum).entrySet();
-      List<Map.Entry> entryList = new ArrayList<Map.Entry>(entries.size());
+      List<Map.Entry> entryList = new ArrayList<>(entries.size());
       for (Object obj: ((Map)datum).entrySet()) {
           Map.Entry e = (Map.Entry)obj;
           entryList.add(new MapEntry(e.getKey(), e.getValue()));

http://git-wip-us.apache.org/repos/asf/avro/blob/8bc49510/lang/java/avro/src/main/java/org/apache/avro/specific/SpecificData.java
----------------------------------------------------------------------
diff --git a/lang/java/avro/src/main/java/org/apache/avro/specific/SpecificData.java b/lang/java/avro/src/main/java/org/apache/avro/specific/SpecificData.java
index be6bde8..08d4d3c 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/specific/SpecificData.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/specific/SpecificData.java
@@ -56,7 +56,7 @@ public class SpecificData extends GenericData {
   private static final Class<?>[] NO_ARG = new Class[]{};
   private static final Class<?>[] SCHEMA_ARG = new Class[]{Schema.class};
   private static final Map<Class,Constructor> CTOR_CACHE =
-    new ConcurrentHashMap<Class,Constructor>();
+    new ConcurrentHashMap<>();
 
   public static final String CLASS_PROP = "java-class";
   public static final String KEY_CLASS_PROP = "java-key-class";
@@ -67,7 +67,7 @@ public class SpecificData extends GenericData {
    * combined with the boolean and null literals.
    * combined with the classnames used internally in the generated avro code.
    */
-  public static final Set<String> RESERVED_WORDS = new HashSet<String>
+  public static final Set<String> RESERVED_WORDS = new HashSet<>
     (Arrays.asList(new String[] {
         "abstract", "assert", "boolean", "break", "byte", "case", "catch",
         "char", "class", "const", "continue", "default", "do", "double",
@@ -87,7 +87,7 @@ public class SpecificData extends GenericData {
    * that wouldn't be otherwise correctly readable or writable should be added
    * here, e.g., those without a no-arg constructor or those whose fields are
    * all transient. */
-  protected Set<Class> stringableClasses = new HashSet<Class>();
+  protected Set<Class> stringableClasses = new HashSet<>();
   {
     stringableClasses.add(java.math.BigDecimal.class);
     stringableClasses.add(java.math.BigInteger.class);
@@ -143,7 +143,7 @@ public class SpecificData extends GenericData {
       : super.getEnumSchema(datum);
   }
 
-  private Map<String,Class> classCache = new ConcurrentHashMap<String,Class>();
+  private Map<String,Class> classCache = new ConcurrentHashMap<>();
 
   private static final Class NO_CLASS = new Object(){}.getClass();
   private static final Schema NULL_SCHEMA = Schema.create(Schema.Type.NULL);
@@ -215,7 +215,7 @@ public class SpecificData extends GenericData {
           .build(new CacheLoader<java.lang.reflect.Type,Schema>() {
             public Schema load(java.lang.reflect.Type type)
                 throws AvroRuntimeException {
-              return createSchema(type, new LinkedHashMap<String,Schema>());
+              return createSchema(type, new LinkedHashMap<>());
             }
           });