[MINOR] Cleanup various issues raised by static code analysis, part 1

Project: http://git-wip-us.apache.org/repos/asf/systemml/repo
Commit: http://git-wip-us.apache.org/repos/asf/systemml/commit/40dd894e
Tree: http://git-wip-us.apache.org/repos/asf/systemml/tree/40dd894e
Diff: http://git-wip-us.apache.org/repos/asf/systemml/diff/40dd894e

Branch: refs/heads/master
Commit: 40dd894ed09173b498b9dda3009f852d3cf962e9
Parents: b3d09d5
Author: Matthias Boehm <[email protected]>
Authored: Tue Oct 10 22:53:14 2017 -0700
Committer: Matthias Boehm <[email protected]>
Committed: Tue Oct 10 22:53:14 2017 -0700

----------------------------------------------------------------------
 .../java/org/apache/sysml/api/DMLScript.java    |   2 +-
 .../org/apache/sysml/api/jmlc/JMLCProxy.java    |   2 +-
 .../org/apache/sysml/api/jmlc/JMLCUtils.java    |   8 +-
 .../apache/sysml/api/jmlc/PreparedScript.java   |   6 +-
 .../apache/sysml/api/jmlc/ResultVariables.java  |   2 +-
 .../apache/sysml/api/mlcontext/FrameSchema.java |   2 +-
 .../apache/sysml/api/mlcontext/MLContext.java   |   2 +-
 .../api/mlcontext/MLContextConversionUtil.java  |  10 +-
 .../sysml/api/mlcontext/MLContextUtil.java      |   4 +-
 .../apache/sysml/api/mlcontext/MLResults.java   |  44 ++++----
 .../apache/sysml/api/mlcontext/ProjectInfo.java |   2 +-
 .../org/apache/sysml/api/mlcontext/Script.java  |  14 +--
 .../org/apache/sysml/conf/CompilerConfig.java   |   4 +-
 .../apache/sysml/conf/ConfigurationManager.java |  14 +--
 .../java/org/apache/sysml/conf/DMLConfig.java   |   4 +-
 .../sysml/debug/DMLBreakpointManager.java       |   2 +-
 .../sysml/debug/DMLDebuggerProgramInfo.java     |   4 +-
 .../java/org/apache/sysml/debug/DebugState.java |   2 +-
 .../java/org/apache/sysml/hops/AggBinaryOp.java |   2 +-
 .../java/org/apache/sysml/hops/BinaryOp.java    |   4 +-
 .../org/apache/sysml/hops/ConvolutionOp.java    |   4 +-
 .../java/org/apache/sysml/hops/DataGenOp.java   |   4 +-
 src/main/java/org/apache/sysml/hops/DataOp.java |   4 +-
 .../java/org/apache/sysml/hops/FunctionOp.java  |   2 +-
 src/main/java/org/apache/sysml/hops/Hop.java    |  70 ++++++------
 .../java/org/apache/sysml/hops/IndexingOp.java  |   2 +-
 .../java/org/apache/sysml/hops/MemoTable.java   |   2 +-
 .../org/apache/sysml/hops/OptimizerUtils.java   |  10 +-
 .../sysml/hops/ParameterizedBuiltinOp.java      |   8 +-
 .../java/org/apache/sysml/hops/ReorgOp.java     |   4 +-
 .../java/org/apache/sysml/hops/UnaryOp.java     |   4 +-
 .../sysml/hops/codegen/SpoofCompiler.java       |  15 ++-
 .../apache/sysml/hops/codegen/SpoofFusedOp.java |   2 +-
 .../apache/sysml/hops/codegen/cplan/CNode.java  |   2 +-
 .../sysml/hops/codegen/cplan/CNodeTpl.java      |   6 +-
 .../sysml/hops/codegen/opt/PlanAnalyzer.java    |  14 +--
 .../sysml/hops/codegen/opt/PlanSelection.java   |   7 +-
 .../codegen/opt/PlanSelectionFuseCostBased.java |  28 ++---
 .../opt/PlanSelectionFuseCostBasedV2.java       |  28 ++---
 .../opt/PlanSelectionFuseNoRedundancy.java      |   4 +-
 .../hops/codegen/opt/ReachabilityGraph.java     |   9 ++
 .../hops/codegen/template/CPlanCSERewriter.java |   2 +-
 .../hops/codegen/template/CPlanMemoTable.java   |  14 +--
 .../hops/codegen/template/TemplateCell.java     |   8 +-
 .../hops/codegen/template/TemplateMultiAgg.java |  14 +--
 .../codegen/template/TemplateOuterProduct.java  |  13 +--
 .../hops/codegen/template/TemplateRow.java      |  10 +-
 .../sysml/hops/cost/CostEstimationWrapper.java  |   6 +-
 .../apache/sysml/hops/cost/CostEstimator.java   |   2 +-
 .../hops/cost/CostEstimatorStaticRuntime.java   |   6 +-
 .../sysml/hops/globalopt/GDFEnumOptimizer.java  |  14 +--
 .../sysml/hops/globalopt/MemoStructure.java     |   4 +-
 .../org/apache/sysml/hops/globalopt/Plan.java   |   6 +-
 .../apache/sysml/hops/globalopt/PlanSet.java    |  12 +-
 .../globalopt/gdfgraph/GDFCrossBlockNode.java   |   4 +-
 .../hops/globalopt/gdfgraph/GDFLoopNode.java    |   2 +-
 .../hops/globalopt/gdfgraph/GraphBuilder.java   |  18 +--
 .../sysml/hops/ipa/FunctionCallGraph.java       |  22 ++--
 .../sysml/hops/ipa/FunctionCallSizeInfo.java    |  23 +++-
 .../ipa/IPAPassRemoveConstantBinaryOps.java     |   4 +-
 .../IPAPassRemoveUnnecessaryCheckpoints.java    |  16 +--
 .../sysml/hops/ipa/InterProceduralAnalysis.java |   6 +-
 .../hops/recompile/LiteralReplacement.java      |   2 +-
 .../sysml/hops/recompile/RecompileStatus.java   |   2 +-
 .../apache/sysml/hops/recompile/Recompiler.java |  32 +++---
 .../sysml/hops/rewrite/HopRewriteUtils.java     |  14 +--
 .../sysml/hops/rewrite/ProgramRewriter.java     |  24 ++--
 .../RewriteAlgebraicSimplificationDynamic.java  |   6 +-
 .../RewriteAlgebraicSimplificationStatic.java   |  14 +--
 .../RewriteCommonSubexpressionElimination.java  |   8 +-
 .../hops/rewrite/RewriteConstantFolding.java    |   2 +-
 .../rewrite/RewriteIndexingVectorization.java   |   8 +-
 .../RewriteInjectSparkLoopCheckpointing.java    |   4 +-
 .../RewriteMarkLoopVariablesUpdateInPlace.java  |   2 +-
 .../RewriteMatrixMultChainOptimization.java     |   4 +-
 .../hops/rewrite/RewriteMergeBlockSequence.java |   2 +-
 .../RewriteRemovePersistentReadWrite.java       |   6 +-
 .../rewrite/RewriteRemoveReadAfterWrite.java    |   4 +-
 .../RewriteRemoveUnnecessaryBranches.java       |   2 +-
 .../RewriteSplitDagDataDependentOperators.java  |  24 ++--
 .../rewrite/RewriteSplitDagUnknownCSVRead.java  |  10 +-
 src/main/java/org/apache/sysml/lops/Binary.java |   3 +-
 .../org/apache/sysml/lops/CombineBinary.java    |   4 +-
 .../org/apache/sysml/lops/CombineTernary.java   |   4 +-
 .../org/apache/sysml/lops/CombineUnary.java     |   2 +-
 .../apache/sysml/lops/ConvolutionTransform.java |   2 +-
 src/main/java/org/apache/sysml/lops/Data.java   |   2 +-
 .../org/apache/sysml/lops/FunctionCallCP.java   |   2 +-
 src/main/java/org/apache/sysml/lops/Group.java  |   2 +-
 src/main/java/org/apache/sysml/lops/Lop.java    |   8 +-
 .../org/apache/sysml/lops/LopProperties.java    |   4 +-
 .../java/org/apache/sysml/lops/MultipleCP.java  |   2 +-
 .../org/apache/sysml/lops/OutputParameters.java |   3 +-
 .../apache/sysml/lops/ParameterizedBuiltin.java |   2 +-
 .../org/apache/sysml/lops/PartialAggregate.java |   2 +-
 .../java/org/apache/sysml/lops/PickByCount.java |   2 +-
 .../java/org/apache/sysml/lops/SortKeys.java    |   4 +-
 .../java/org/apache/sysml/lops/Ternary.java     |   4 +-
 .../java/org/apache/sysml/lops/Transform.java   |   2 +-
 src/main/java/org/apache/sysml/lops/Unary.java  |   2 +-
 .../java/org/apache/sysml/lops/UnaryCP.java     |   2 +-
 .../java/org/apache/sysml/lops/compile/Dag.java | 112 +++++++++----------
 .../sysml/parser/AssignmentStatement.java       |   4 +-
 .../sysml/parser/BuiltinFunctionExpression.java |  10 +-
 .../org/apache/sysml/parser/DMLProgram.java     |   8 +-
 .../org/apache/sysml/parser/DMLTranslator.java  |  74 ++++++------
 .../org/apache/sysml/parser/DataExpression.java |   2 +-
 .../org/apache/sysml/parser/Expression.java     |  20 ++--
 .../org/apache/sysml/parser/ForStatement.java   |   8 +-
 .../sysml/parser/FunctionCallIdentifier.java    |   2 +-
 .../apache/sysml/parser/FunctionStatement.java  |   6 +-
 .../org/apache/sysml/parser/IfStatement.java    |   4 +-
 .../apache/sysml/parser/IfStatementBlock.java   |   6 +-
 .../sysml/parser/MultiAssignmentStatement.java  |   3 +-
 .../apache/sysml/parser/OutputStatement.java    |   2 +-
 .../sysml/parser/ParForStatementBlock.java      |  56 +++++-----
 .../ParameterizedBuiltinFunctionExpression.java |  18 ++-
 .../org/apache/sysml/parser/PrintStatement.java |   6 +-
 .../org/apache/sysml/parser/StatementBlock.java |  24 ++--
 .../org/apache/sysml/parser/VariableSet.java    |   4 +-
 .../org/apache/sysml/parser/WhileStatement.java |  12 +-
 .../parser/common/CommonSyntacticValidator.java |  14 +--
 .../parser/common/CustomErrorListener.java      |   2 +-
 .../sysml/parser/dml/DmlPreprocessor.java       |   2 +-
 .../sysml/parser/dml/DmlSyntacticValidator.java |  30 ++---
 .../sysml/parser/pydml/PydmlPreprocessor.java   |   2 +-
 .../parser/pydml/PydmlSyntacticValidator.java   |  40 +++----
 .../sysml/runtime/codegen/CodegenUtils.java     |   6 +-
 .../sysml/runtime/codegen/SpoofCellwise.java    |   4 +-
 .../runtime/codegen/SpoofMultiAggregate.java    |   4 +-
 .../runtime/codegen/SpoofOuterProduct.java      |   4 +-
 .../sysml/runtime/codegen/SpoofRowwise.java     |   4 +-
 .../sysml/runtime/compress/BitmapEncoder.java   |   2 +-
 .../sysml/runtime/compress/ColGroupOffset.java  |   3 +-
 .../sysml/runtime/compress/ColGroupRLE.java     |   3 +-
 .../sysml/runtime/compress/ColGroupValue.java   |   4 +-
 .../runtime/compress/CompressedMatrixBlock.java |  46 ++++----
 .../compress/ReaderColumnSelectionDense.java    |   2 +-
 .../ReaderColumnSelectionDenseSample.java       |   2 +-
 .../compress/ReaderColumnSelectionSparse.java   |   2 +-
 .../ColumnGroupPartitionerBinPacking.java       |   6 +-
 .../cocode/ColumnGroupPartitionerStatic.java    |   4 +-
 .../compress/cocode/PlanningCoCoder.java        |  16 +--
 .../compress/cocode/PlanningMemoTable.java      |   2 +-
 .../estim/CompressedSizeEstimatorSample.java    |   4 +-
 .../runtime/compress/utils/ConverterUtils.java  |   2 +-
 .../compress/utils/DblArrayIntListHashMap.java  |   2 +-
 .../compress/utils/DoubleIntListHashMap.java    |   2 +-
 .../ExternalFunctionProgramBlock.java           |  71 ++++++------
 .../controlprogram/FunctionProgramBlock.java    |   6 +-
 .../controlprogram/ParForProgramBlock.java      |   4 +
 .../controlprogram/caching/CacheableData.java   |   2 +-
 .../controlprogram/caching/PageCache.java       |  10 +-
 .../context/SparkExecutionContext.java          |   2 +-
 .../parfor/DataPartitionerLocal.java            |  10 +-
 .../parfor/RemoteParForSparkWorker.java         |   3 +-
 .../parfor/ResultMergeLocalFile.java            |   8 +-
 .../parfor/ResultMergeRemoteGrouping.java       |  10 +-
 .../parfor/ResultMergeRemoteSorting.java        |  16 +--
 .../parfor/opt/OptTreeConverter.java            |   6 +-
 .../parfor/util/StagingFileUtils.java           |   2 +-
 .../sysml/runtime/functionobjects/Builtin.java  |   2 +-
 .../functionobjects/ParameterizedBuiltin.java   |   4 +-
 .../sysml/runtime/instructions/Instruction.java |   2 +-
 .../runtime/instructions/MRJobInstruction.java  |   8 +-
 .../instructions/cp/BreakPointInstruction.java  |   2 +-
 .../runtime/instructions/cp/CPInstruction.java  |   2 +-
 .../cp/ConvolutionCPInstruction.java            |  28 ++---
 .../cp/FunctionCallCPInstruction.java           |  10 +-
 .../cp/MultiReturnBuiltinCPInstruction.java     |   2 +-
 ...ReturnParameterizedBuiltinCPInstruction.java |   2 +-
 .../instructions/cp/SpoofCPInstruction.java     |   6 +-
 .../instructions/cp/VariableCPInstruction.java  |   2 +-
 .../ParameterizedBuiltinCPFileInstruction.java  |  28 ++---
 .../gpu/ConvolutionGPUInstruction.java          |  28 ++---
 .../instructions/gpu/GPUInstruction.java        |   2 +-
 .../runtime/instructions/mr/MRInstruction.java  |   2 +-
 .../spark/ConvolutionSPInstruction.java         |  33 +++---
 ...ReturnParameterizedBuiltinSPInstruction.java |  20 ++--
 .../instructions/spark/SPInstruction.java       |   2 +-
 .../instructions/spark/SpoofSPInstruction.java  |  24 ++--
 .../spark/data/BlockPartitioner.java            |   8 ++
 .../sysml/runtime/io/IOUtilFunctions.java       |   2 +-
 .../apache/sysml/runtime/matrix/CombineMR.java  |   4 +-
 .../org/apache/sysml/runtime/matrix/GMR.java    |   6 +-
 .../apache/sysml/runtime/matrix/WriteCSVMR.java |   2 +-
 .../matrix/data/AddDummyWeightConverter.java    |   8 +-
 .../matrix/data/FileFormatProperties.java       |   3 +-
 .../runtime/matrix/data/LibMatrixDNNHelper.java |  14 +--
 .../runtime/matrix/data/LibMatrixOuterAgg.java  |   2 +-
 .../sysml/runtime/matrix/data/OutputInfo.java   |  13 ++-
 .../matrix/data/TaggedFirstSecondIndexes.java   |   5 +-
 .../data/hadoopfix/DelegatingInputFormat.java   |   8 +-
 .../runtime/matrix/mapred/CMCOVMRMapper.java    |   6 +-
 .../runtime/matrix/mapred/CMCOVMRReducer.java   |  10 +-
 .../matrix/mapred/CSVAssignRowIDReducer.java    |   2 +-
 .../runtime/matrix/mapred/CSVWriteMapper.java   |  10 +-
 .../runtime/matrix/mapred/CSVWriteReducer.java  |   4 +-
 .../runtime/matrix/mapred/CachedValueMap.java   |   6 +-
 .../mapred/CollectMultipleConvertedOutputs.java |  11 +-
 .../runtime/matrix/mapred/GMRCtableBuffer.java  |   4 +-
 .../sysml/runtime/matrix/mapred/GMRMapper.java  |   2 +-
 .../matrix/mapred/GroupedAggMRCombiner.java     |   4 +-
 .../matrix/mapred/GroupedAggMRMapper.java       |   2 +-
 .../matrix/mapred/GroupedAggMRReducer.java      |   6 +-
 .../runtime/matrix/mapred/MMRJMRMapper.java     |   6 +-
 .../mapred/MRBaseForCommonInstructions.java     |   4 +-
 .../matrix/mapred/MRJobConfiguration.java       |  26 ++---
 .../sysml/runtime/matrix/mapred/MapperBase.java |  24 ++--
 .../runtime/matrix/mapred/ReblockMapper.java    |   8 +-
 .../runtime/matrix/mapred/ReblockReducer.java   |   2 +-
 .../sysml/runtime/matrix/mapred/ReduceBase.java |  16 ++-
 .../runtime/matrix/operators/CMOperator.java    |   2 +-
 .../runtime/matrix/sort/ValueSortMapper.java    |  11 +-
 .../transform/decode/DecoderFactory.java        |   2 -
 .../transform/encode/EncoderFactory.java        |   3 +-
 .../transform/encode/EncoderMVImpute.java       |   2 +-
 .../runtime/transform/meta/TfMetaUtils.java     |   1 -
 .../sysml/runtime/util/DataConverter.java       |   2 +-
 .../sysml/runtime/util/UtilFunctions.java       |   2 +-
 src/main/java/org/apache/sysml/udf/Matrix.java  |   2 +-
 .../org/apache/sysml/udf/PackageFunction.java   |   2 +-
 src/main/java/org/apache/sysml/udf/Scalar.java  |   4 +-
 .../apache/sysml/udf/lib/RemoveEmptyRows.java   |   2 +-
 .../org/apache/sysml/udf/lib/RowClassMeet.java  |   2 +-
 .../java/org/apache/sysml/utils/Explain.java    |   8 +-
 .../org/apache/sysml/utils/GPUStatistics.java   |  10 +-
 .../utils/GenerateClassesForMLContext.java      |   2 +-
 .../org/apache/sysml/utils/NativeHelper.java    |   2 +-
 .../java/org/apache/sysml/utils/Statistics.java |   5 +-
 .../org/apache/sysml/utils/lite/BuildLite.java  |  26 ++---
 .../sysml/utils/lite/BuildLiteExecution.java    |  11 +-
 .../apache/sysml/yarn/DMLAppMasterUtils.java    |  11 +-
 .../org/apache/sysml/yarn/DMLYarnClient.java    |   4 +-
 .../sysml/yarn/ropt/GridEnumerationEqui.java    |   6 +-
 .../sysml/yarn/ropt/GridEnumerationExp.java     |   6 +-
 .../sysml/yarn/ropt/GridEnumerationHybrid.java  |   5 +-
 .../sysml/yarn/ropt/GridEnumerationMemory.java  |  10 +-
 .../apache/sysml/yarn/ropt/ResourceConfig.java  |   4 +-
 .../sysml/yarn/ropt/ResourceOptimizer.java      |  12 +-
 .../sysml/yarn/ropt/YarnClusterAnalyzer.java    |  11 +-
 .../test/integration/AutomatedTestBase.java     |   2 +-
 .../descriptivestats/UnivariateStatsBase.java   |   6 +-
 .../integration/functions/data/SampleTest.java  |   2 +-
 .../functions/data/SequenceTest.java            |   2 +-
 .../functions/frame/FrameConverterTest.java     |   2 -
 .../functions/unary/matrix/IQMTest.java         |   2 +-
 .../functions/unary/matrix/RoundTest.java       |   2 +-
 .../unary/scalar/FullDistributionTest.java      |   2 +-
 .../mlcontext/MLContextFrameTest.java           |   4 +-
 250 files changed, 1061 insertions(+), 1112 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/api/DMLScript.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/api/DMLScript.java 
b/src/main/java/org/apache/sysml/api/DMLScript.java
index fa4b4a1..ba447cf 100644
--- a/src/main/java/org/apache/sysml/api/DMLScript.java
+++ b/src/main/java/org/apache/sysml/api/DMLScript.java
@@ -842,7 +842,7 @@ public class DMLScript
        {
                //analyze local configuration
                String userName = System.getProperty( "user.name" );
-               HashSet<String> groupNames = new HashSet<String>();
+               HashSet<String> groupNames = new HashSet<>();
                try{
                        //check existence, for backwards compatibility to < 
hadoop 0.21
                        if( 
UserGroupInformation.class.getMethod("getCurrentUser") != null ){

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/api/jmlc/JMLCProxy.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/api/jmlc/JMLCProxy.java 
b/src/main/java/org/apache/sysml/api/jmlc/JMLCProxy.java
index b17857b..400380c 100644
--- a/src/main/java/org/apache/sysml/api/jmlc/JMLCProxy.java
+++ b/src/main/java/org/apache/sysml/api/jmlc/JMLCProxy.java
@@ -40,7 +40,7 @@ public class JMLCProxy
        
        public static void setActive(String[] output) {
                if( output != null )
-                       _outputs.set(new 
HashSet<String>(Arrays.asList(output)));
+                       _outputs.set(new HashSet<>(Arrays.asList(output)));
                else
                        _outputs.remove();
        }

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/api/jmlc/JMLCUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/api/jmlc/JMLCUtils.java 
b/src/main/java/org/apache/sysml/api/jmlc/JMLCUtils.java
index c09be9b..eb888ba 100644
--- a/src/main/java/org/apache/sysml/api/jmlc/JMLCUtils.java
+++ b/src/main/java/org/apache/sysml/api/jmlc/JMLCUtils.java
@@ -51,7 +51,7 @@ public class JMLCUtils
        public static void cleanupRuntimeProgram( Program prog, String[] 
outputs)
        {
                Map<String, FunctionProgramBlock> funcMap = 
prog.getFunctionProgramBlocks();
-               HashSet<String> blacklist = new 
HashSet<String>(Arrays.asList(outputs));
+               HashSet<String> blacklist = new 
HashSet<>(Arrays.asList(outputs));
                
                if( funcMap != null && !funcMap.isEmpty() )
                {
@@ -110,7 +110,7 @@ public class JMLCUtils
         * @return list of instructions
         */
        public static ArrayList<Instruction> cleanupRuntimeInstructions( 
ArrayList<Instruction> insts, String... outputs ) {
-               return cleanupRuntimeInstructions(insts, new 
HashSet<String>(Arrays.asList(outputs)));
+               return cleanupRuntimeInstructions(insts, new 
HashSet<>(Arrays.asList(outputs)));
        }
        
        /**
@@ -123,12 +123,12 @@ public class JMLCUtils
         */
        public static ArrayList<Instruction> cleanupRuntimeInstructions( 
ArrayList<Instruction> insts, HashSet<String> outputs )
        {
-               ArrayList<Instruction> ret = new ArrayList<Instruction>();
+               ArrayList<Instruction> ret = new ArrayList<>();
                
                for( Instruction inst : insts ) {
                        if( inst instanceof VariableCPInstruction && 
((VariableCPInstruction)inst).isRemoveVariable() )
                        {
-                               ArrayList<String> currRmVar = new 
ArrayList<String>();
+                               ArrayList<String> currRmVar = new ArrayList<>();
                                for( CPOperand input : 
((VariableCPInstruction)inst).getInputs() )
                                        if( !outputs.contains(input.getName()) )
                                                currRmVar.add(input.getName());

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/api/jmlc/PreparedScript.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/api/jmlc/PreparedScript.java 
b/src/main/java/org/apache/sysml/api/jmlc/PreparedScript.java
index 71f5e1b..6cd041c 100644
--- a/src/main/java/org/apache/sysml/api/jmlc/PreparedScript.java
+++ b/src/main/java/org/apache/sysml/api/jmlc/PreparedScript.java
@@ -85,11 +85,11 @@ public class PreparedScript
                _vars = new LocalVariableMap();
                
                //populate input/output vars
-               _inVarnames = new HashSet<String>();
+               _inVarnames = new HashSet<>();
                Collections.addAll(_inVarnames, inputs);
-               _outVarnames = new HashSet<String>();
+               _outVarnames = new HashSet<>();
                Collections.addAll(_outVarnames, outputs);
-               _inVarReuse = new HashMap<String, Data>();
+               _inVarReuse = new HashMap<>();
        }
        
        /**

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/api/jmlc/ResultVariables.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/api/jmlc/ResultVariables.java 
b/src/main/java/org/apache/sysml/api/jmlc/ResultVariables.java
index 3b31c5d..289355b 100644
--- a/src/main/java/org/apache/sysml/api/jmlc/ResultVariables.java
+++ b/src/main/java/org/apache/sysml/api/jmlc/ResultVariables.java
@@ -42,7 +42,7 @@ public class ResultVariables
        private HashMap<String, Data> _out = null;
        
        public ResultVariables() {
-               _out = new HashMap<String, Data>();
+               _out = new HashMap<>();
        }
        
        /**

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/api/mlcontext/FrameSchema.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/api/mlcontext/FrameSchema.java 
b/src/main/java/org/apache/sysml/api/mlcontext/FrameSchema.java
index c1f7466..9c6137b 100644
--- a/src/main/java/org/apache/sysml/api/mlcontext/FrameSchema.java
+++ b/src/main/java/org/apache/sysml/api/mlcontext/FrameSchema.java
@@ -99,7 +99,7 @@ public class FrameSchema {
                        return null;
                }
                String[] cols = schemaString.split(",");
-               List<ValueType> list = new ArrayList<ValueType>();
+               List<ValueType> list = new ArrayList<>();
                for (String col : cols) {
                        list.add(ValueType.valueOf(col.toUpperCase()));
                }

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/api/mlcontext/MLContext.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/api/mlcontext/MLContext.java 
b/src/main/java/org/apache/sysml/api/mlcontext/MLContext.java
index b6b7eb0..762db8f 100644
--- a/src/main/java/org/apache/sysml/api/mlcontext/MLContext.java
+++ b/src/main/java/org/apache/sysml/api/mlcontext/MLContext.java
@@ -161,7 +161,7 @@ public class MLContext {
                                return ExplainType.HOPS;
                        }
                }
-       };
+       }
 
        /**
         * The different types of execution environments supported by SystemML. 
The

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/api/mlcontext/MLContextConversionUtil.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/api/mlcontext/MLContextConversionUtil.java 
b/src/main/java/org/apache/sysml/api/mlcontext/MLContextConversionUtil.java
index 2512abb..6112a8a 100644
--- a/src/main/java/org/apache/sysml/api/mlcontext/MLContextConversionUtil.java
+++ b/src/main/java/org/apache/sysml/api/mlcontext/MLContextConversionUtil.java
@@ -398,7 +398,7 @@ public class MLContextConversionUtil {
 
                        // convert data frame and obtain column names / schema
                        // TODO extend frame schema by column names (right now 
dropped)
-                       Pair<String[], ValueType[]> ret = new Pair<String[], 
ValueType[]>();
+                       Pair<String[], ValueType[]> ret = new Pair<>();
                        JavaPairRDD<Long, FrameBlock> binaryBlock = 
FrameRDDConverterUtils.dataFrameToBinaryBlock(jsc(), dataFrame,
                                        mc, containsID, ret);
                        frameMetadata.setFrameSchema(new 
FrameSchema(Arrays.asList(ret.getValue())));
@@ -1003,7 +1003,7 @@ public class MLContextConversionUtil {
 
                        int rows = mb.getNumRows();
                        int cols = mb.getNumColumns();
-                       List<String> list = new ArrayList<String>();
+                       List<String> list = new ArrayList<>();
 
                        if (mb.getNonZeros() > 0) {
                                if (mb.isInSparseFormat()) {
@@ -1068,7 +1068,7 @@ public class MLContextConversionUtil {
 
                        int rows = fb.getNumRows();
                        int cols = fb.getNumColumns();
-                       List<String> list = new ArrayList<String>();
+                       List<String> list = new ArrayList<>();
 
                        for (int i = 0; i < rows; i++) {
                                StringBuilder sb = new StringBuilder();
@@ -1103,7 +1103,7 @@ public class MLContextConversionUtil {
 
                        int rows = mb.getNumRows();
                        int cols = mb.getNumColumns();
-                       List<String> list = new ArrayList<String>();
+                       List<String> list = new ArrayList<>();
 
                        if (mb.getNonZeros() > 0) {
                                if (mb.isInSparseFormat()) {
@@ -1157,7 +1157,7 @@ public class MLContextConversionUtil {
 
                        int rows = fb.getNumRows();
                        int cols = fb.getNumColumns();
-                       List<String> list = new ArrayList<String>();
+                       List<String> list = new ArrayList<>();
 
                        StringBuilder sb = null;
                        for (int i = 0; i < rows; i++) {

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/api/mlcontext/MLContextUtil.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/api/mlcontext/MLContextUtil.java 
b/src/main/java/org/apache/sysml/api/mlcontext/MLContextUtil.java
index 03184e3..6c1788a 100644
--- a/src/main/java/org/apache/sysml/api/mlcontext/MLContextUtil.java
+++ b/src/main/java/org/apache/sysml/api/mlcontext/MLContextUtil.java
@@ -467,7 +467,7 @@ public final class MLContextUtil {
                if (scriptType == null) {
                        throw new MLContextException("ScriptType needs to be 
specified");
                }
-               Map<String, String> convertedMap = new HashMap<String, 
String>();
+               Map<String, String> convertedMap = new HashMap<>();
                for (Entry<String, Object> entry : 
basicInputParameterMap.entrySet()) {
                        String key = entry.getKey();
                        Object value = entry.getValue();
@@ -1250,7 +1250,7 @@ public final class MLContextUtil {
                        scriptExecutor.compile(script, performHOPRewrites);
                        Explain.reset();
                        // To deal with potential Py4J issues
-                       lines = lines.size() == 1 && lines.get(0) == -1 ? new 
ArrayList<Integer>() : lines;
+                       lines = lines.size() == 1 && lines.get(0) == -1 ? new 
ArrayList<>() : lines;
                        return Explain.getHopDAG(scriptExecutor.dmlProgram, 
lines, withSubgraph);
                } catch (RuntimeException e) {
                        throw new MLContextException("Exception when compiling 
script", e);

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/api/mlcontext/MLResults.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/api/mlcontext/MLResults.java 
b/src/main/java/org/apache/sysml/api/mlcontext/MLResults.java
index 6c4cfc5..1226b0d 100644
--- a/src/main/java/org/apache/sysml/api/mlcontext/MLResults.java
+++ b/src/main/java/org/apache/sysml/api/mlcontext/MLResults.java
@@ -605,7 +605,7 @@ public class MLResults {
         */
        @SuppressWarnings("unchecked")
        public <T> Tuple1<T> getTuple(String outputName1) {
-               return new Tuple1<T>((T) outputValue(outputName1));
+               return new Tuple1<>((T) outputValue(outputName1));
        }
 
        /**
@@ -623,7 +623,7 @@ public class MLResults {
         */
        @SuppressWarnings("unchecked")
        public <T1, T2> Tuple2<T1, T2> getTuple(String outputName1, String 
outputName2) {
-               return new Tuple2<T1, T2>((T1) outputValue(outputName1), (T2) 
outputValue(outputName2));
+               return new Tuple2<>((T1) outputValue(outputName1), (T2) 
outputValue(outputName2));
        }
 
        /**
@@ -645,7 +645,7 @@ public class MLResults {
         */
        @SuppressWarnings("unchecked")
        public <T1, T2, T3> Tuple3<T1, T2, T3> getTuple(String outputName1, 
String outputName2, String outputName3) {
-               return new Tuple3<T1, T2, T3>((T1) outputValue(outputName1), 
(T2) outputValue(outputName2),
+               return new Tuple3<>((T1) outputValue(outputName1), (T2) 
outputValue(outputName2),
                                (T3) outputValue(outputName3));
        }
 
@@ -673,7 +673,7 @@ public class MLResults {
        @SuppressWarnings("unchecked")
        public <T1, T2, T3, T4> Tuple4<T1, T2, T3, T4> getTuple(String 
outputName1, String outputName2, String outputName3,
                        String outputName4) {
-               return new Tuple4<T1, T2, T3, T4>((T1) 
outputValue(outputName1), (T2) outputValue(outputName2),
+               return new Tuple4<>((T1) outputValue(outputName1), (T2) 
outputValue(outputName2),
                                (T3) outputValue(outputName3), (T4) 
outputValue(outputName4));
        }
 
@@ -705,7 +705,7 @@ public class MLResults {
        @SuppressWarnings("unchecked")
        public <T1, T2, T3, T4, T5> Tuple5<T1, T2, T3, T4, T5> getTuple(String 
outputName1, String outputName2,
                        String outputName3, String outputName4, String 
outputName5) {
-               return new Tuple5<T1, T2, T3, T4, T5>((T1) 
outputValue(outputName1), (T2) outputValue(outputName2),
+               return new Tuple5<>((T1) outputValue(outputName1), (T2) 
outputValue(outputName2),
                                (T3) outputValue(outputName3), (T4) 
outputValue(outputName4), (T5) outputValue(outputName5));
        }
 
@@ -741,7 +741,7 @@ public class MLResults {
        @SuppressWarnings("unchecked")
        public <T1, T2, T3, T4, T5, T6> Tuple6<T1, T2, T3, T4, T5, T6> 
getTuple(String outputName1, String outputName2,
                        String outputName3, String outputName4, String 
outputName5, String outputName6) {
-               return new Tuple6<T1, T2, T3, T4, T5, T6>((T1) 
outputValue(outputName1), (T2) outputValue(outputName2),
+               return new Tuple6<>((T1) outputValue(outputName1), (T2) 
outputValue(outputName2),
                                (T3) outputValue(outputName3), (T4) 
outputValue(outputName4), (T5) outputValue(outputName5),
                                (T6) outputValue(outputName6));
        }
@@ -783,7 +783,7 @@ public class MLResults {
        public <T1, T2, T3, T4, T5, T6, T7> Tuple7<T1, T2, T3, T4, T5, T6, T7> 
getTuple(String outputName1,
                        String outputName2, String outputName3, String 
outputName4, String outputName5, String outputName6,
                        String outputName7) {
-               return new Tuple7<T1, T2, T3, T4, T5, T6, T7>((T1) 
outputValue(outputName1), (T2) outputValue(outputName2),
+               return new Tuple7<>((T1) outputValue(outputName1), (T2) 
outputValue(outputName2),
                                (T3) outputValue(outputName3), (T4) 
outputValue(outputName4), (T5) outputValue(outputName5),
                                (T6) outputValue(outputName6), (T7) 
outputValue(outputName7));
        }
@@ -829,7 +829,7 @@ public class MLResults {
        public <T1, T2, T3, T4, T5, T6, T7, T8> Tuple8<T1, T2, T3, T4, T5, T6, 
T7, T8> getTuple(String outputName1,
                        String outputName2, String outputName3, String 
outputName4, String outputName5, String outputName6,
                        String outputName7, String outputName8) {
-               return new Tuple8<T1, T2, T3, T4, T5, T6, T7, T8>((T1) 
outputValue(outputName1), (T2) outputValue(outputName2),
+               return new Tuple8<>((T1) outputValue(outputName1), (T2) 
outputValue(outputName2),
                                (T3) outputValue(outputName3), (T4) 
outputValue(outputName4), (T5) outputValue(outputName5),
                                (T6) outputValue(outputName6), (T7) 
outputValue(outputName7), (T8) outputValue(outputName8));
        }
@@ -879,7 +879,7 @@ public class MLResults {
        public <T1, T2, T3, T4, T5, T6, T7, T8, T9> Tuple9<T1, T2, T3, T4, T5, 
T6, T7, T8, T9> getTuple(String outputName1,
                        String outputName2, String outputName3, String 
outputName4, String outputName5, String outputName6,
                        String outputName7, String outputName8, String 
outputName9) {
-               return new Tuple9<T1, T2, T3, T4, T5, T6, T7, T8, T9>((T1) 
outputValue(outputName1),
+               return new Tuple9<>((T1) outputValue(outputName1),
                                (T2) outputValue(outputName2), (T3) 
outputValue(outputName3), (T4) outputValue(outputName4),
                                (T5) outputValue(outputName5), (T6) 
outputValue(outputName6), (T7) outputValue(outputName7),
                                (T8) outputValue(outputName8), (T9) 
outputValue(outputName9));
@@ -934,7 +934,7 @@ public class MLResults {
        public <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Tuple10<T1, T2, T3, 
T4, T5, T6, T7, T8, T9, T10> getTuple(
                        String outputName1, String outputName2, String 
outputName3, String outputName4, String outputName5,
                        String outputName6, String outputName7, String 
outputName8, String outputName9, String outputName10) {
-               return new Tuple10<T1, T2, T3, T4, T5, T6, T7, T8, T9, 
T10>((T1) outputValue(outputName1),
+               return new Tuple10<>((T1) outputValue(outputName1),
                                (T2) outputValue(outputName2), (T3) 
outputValue(outputName3), (T4) outputValue(outputName4),
                                (T5) outputValue(outputName5), (T6) 
outputValue(outputName6), (T7) outputValue(outputName7),
                                (T8) outputValue(outputName8), (T9) 
outputValue(outputName9), (T10) outputValue(outputName10));
@@ -994,7 +994,7 @@ public class MLResults {
                        String outputName1, String outputName2, String 
outputName3, String outputName4, String outputName5,
                        String outputName6, String outputName7, String 
outputName8, String outputName9, String outputName10,
                        String outputName11) {
-               return new Tuple11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, 
T11>((T1) outputValue(outputName1),
+               return new Tuple11<>((T1) outputValue(outputName1),
                                (T2) outputValue(outputName2), (T3) 
outputValue(outputName3), (T4) outputValue(outputName4),
                                (T5) outputValue(outputName5), (T6) 
outputValue(outputName6), (T7) outputValue(outputName7),
                                (T8) outputValue(outputName8), (T9) 
outputValue(outputName9), (T10) outputValue(outputName10),
@@ -1059,7 +1059,7 @@ public class MLResults {
                        String outputName1, String outputName2, String 
outputName3, String outputName4, String outputName5,
                        String outputName6, String outputName7, String 
outputName8, String outputName9, String outputName10,
                        String outputName11, String outputName12) {
-               return new Tuple12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, 
T11, T12>((T1) outputValue(outputName1),
+               return new Tuple12<>((T1) outputValue(outputName1),
                                (T2) outputValue(outputName2), (T3) 
outputValue(outputName3), (T4) outputValue(outputName4),
                                (T5) outputValue(outputName5), (T6) 
outputValue(outputName6), (T7) outputValue(outputName7),
                                (T8) outputValue(outputName8), (T9) 
outputValue(outputName9), (T10) outputValue(outputName10),
@@ -1128,7 +1128,7 @@ public class MLResults {
                        String outputName1, String outputName2, String 
outputName3, String outputName4, String outputName5,
                        String outputName6, String outputName7, String 
outputName8, String outputName9, String outputName10,
                        String outputName11, String outputName12, String 
outputName13) {
-               return new Tuple13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, 
T11, T12, T13>((T1) outputValue(outputName1),
+               return new Tuple13<>((T1) outputValue(outputName1),
                                (T2) outputValue(outputName2), (T3) 
outputValue(outputName3), (T4) outputValue(outputName4),
                                (T5) outputValue(outputName5), (T6) 
outputValue(outputName6), (T7) outputValue(outputName7),
                                (T8) outputValue(outputName8), (T9) 
outputValue(outputName9), (T10) outputValue(outputName10),
@@ -1201,7 +1201,7 @@ public class MLResults {
                        String outputName1, String outputName2, String 
outputName3, String outputName4, String outputName5,
                        String outputName6, String outputName7, String 
outputName8, String outputName9, String outputName10,
                        String outputName11, String outputName12, String 
outputName13, String outputName14) {
-               return new Tuple14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, 
T11, T12, T13, T14>((T1) outputValue(outputName1),
+               return new Tuple14<>((T1) outputValue(outputName1),
                                (T2) outputValue(outputName2), (T3) 
outputValue(outputName3), (T4) outputValue(outputName4),
                                (T5) outputValue(outputName5), (T6) 
outputValue(outputName6), (T7) outputValue(outputName7),
                                (T8) outputValue(outputName8), (T9) 
outputValue(outputName9), (T10) outputValue(outputName10),
@@ -1279,7 +1279,7 @@ public class MLResults {
                        String outputName1, String outputName2, String 
outputName3, String outputName4, String outputName5,
                        String outputName6, String outputName7, String 
outputName8, String outputName9, String outputName10,
                        String outputName11, String outputName12, String 
outputName13, String outputName14, String outputName15) {
-               return new Tuple15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, 
T11, T12, T13, T14, T15>(
+               return new Tuple15<>(
                                (T1) outputValue(outputName1), (T2) 
outputValue(outputName2), (T3) outputValue(outputName3),
                                (T4) outputValue(outputName4), (T5) 
outputValue(outputName5), (T6) outputValue(outputName6),
                                (T7) outputValue(outputName7), (T8) 
outputValue(outputName8), (T9) outputValue(outputName9),
@@ -1362,7 +1362,7 @@ public class MLResults {
                        String outputName6, String outputName7, String 
outputName8, String outputName9, String outputName10,
                        String outputName11, String outputName12, String 
outputName13, String outputName14, String outputName15,
                        String outputName16) {
-               return new Tuple16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, 
T11, T12, T13, T14, T15, T16>(
+               return new Tuple16<>(
                                (T1) outputValue(outputName1), (T2) 
outputValue(outputName2), (T3) outputValue(outputName3),
                                (T4) outputValue(outputName4), (T5) 
outputValue(outputName5), (T6) outputValue(outputName6),
                                (T7) outputValue(outputName7), (T8) 
outputValue(outputName8), (T9) outputValue(outputName9),
@@ -1450,7 +1450,7 @@ public class MLResults {
                        String outputName6, String outputName7, String 
outputName8, String outputName9, String outputName10,
                        String outputName11, String outputName12, String 
outputName13, String outputName14, String outputName15,
                        String outputName16, String outputName17) {
-               return new Tuple17<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, 
T11, T12, T13, T14, T15, T16, T17>(
+               return new Tuple17<>(
                                (T1) outputValue(outputName1), (T2) 
outputValue(outputName2), (T3) outputValue(outputName3),
                                (T4) outputValue(outputName4), (T5) 
outputValue(outputName5), (T6) outputValue(outputName6),
                                (T7) outputValue(outputName7), (T8) 
outputValue(outputName8), (T9) outputValue(outputName9),
@@ -1542,7 +1542,7 @@ public class MLResults {
                        String outputName6, String outputName7, String 
outputName8, String outputName9, String outputName10,
                        String outputName11, String outputName12, String 
outputName13, String outputName14, String outputName15,
                        String outputName16, String outputName17, String 
outputName18) {
-               return new Tuple18<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, 
T11, T12, T13, T14, T15, T16, T17, T18>(
+               return new Tuple18<>(
                                (T1) outputValue(outputName1), (T2) 
outputValue(outputName2), (T3) outputValue(outputName3),
                                (T4) outputValue(outputName4), (T5) 
outputValue(outputName5), (T6) outputValue(outputName6),
                                (T7) outputValue(outputName7), (T8) 
outputValue(outputName8), (T9) outputValue(outputName9),
@@ -1638,7 +1638,7 @@ public class MLResults {
                        String outputName6, String outputName7, String 
outputName8, String outputName9, String outputName10,
                        String outputName11, String outputName12, String 
outputName13, String outputName14, String outputName15,
                        String outputName16, String outputName17, String 
outputName18, String outputName19) {
-               return new Tuple19<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, 
T11, T12, T13, T14, T15, T16, T17, T18, T19>(
+               return new Tuple19<>(
                                (T1) outputValue(outputName1), (T2) 
outputValue(outputName2), (T3) outputValue(outputName3),
                                (T4) outputValue(outputName4), (T5) 
outputValue(outputName5), (T6) outputValue(outputName6),
                                (T7) outputValue(outputName7), (T8) 
outputValue(outputName8), (T9) outputValue(outputName9),
@@ -1739,7 +1739,7 @@ public class MLResults {
                        String outputName6, String outputName7, String 
outputName8, String outputName9, String outputName10,
                        String outputName11, String outputName12, String 
outputName13, String outputName14, String outputName15,
                        String outputName16, String outputName17, String 
outputName18, String outputName19, String outputName20) {
-               return new Tuple20<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, 
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20>(
+               return new Tuple20<>(
                                (T1) outputValue(outputName1), (T2) 
outputValue(outputName2), (T3) outputValue(outputName3),
                                (T4) outputValue(outputName4), (T5) 
outputValue(outputName5), (T6) outputValue(outputName6),
                                (T7) outputValue(outputName7), (T8) 
outputValue(outputName8), (T9) outputValue(outputName9),
@@ -1845,7 +1845,7 @@ public class MLResults {
                        String outputName11, String outputName12, String 
outputName13, String outputName14, String outputName15,
                        String outputName16, String outputName17, String 
outputName18, String outputName19, String outputName20,
                        String outputName21) {
-               return new Tuple21<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, 
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21>(
+               return new Tuple21<>(
                                (T1) outputValue(outputName1), (T2) 
outputValue(outputName2), (T3) outputValue(outputName3),
                                (T4) outputValue(outputName4), (T5) 
outputValue(outputName5), (T6) outputValue(outputName6),
                                (T7) outputValue(outputName7), (T8) 
outputValue(outputName8), (T9) outputValue(outputName9),
@@ -1955,7 +1955,7 @@ public class MLResults {
                        String outputName11, String outputName12, String 
outputName13, String outputName14, String outputName15,
                        String outputName16, String outputName17, String 
outputName18, String outputName19, String outputName20,
                        String outputName21, String outputName22) {
-               return new Tuple22<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, 
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22>(
+               return new Tuple22<>(
                                (T1) outputValue(outputName1), (T2) 
outputValue(outputName2), (T3) outputValue(outputName3),
                                (T4) outputValue(outputName4), (T5) 
outputValue(outputName5), (T6) outputValue(outputName6),
                                (T7) outputValue(outputName7), (T8) 
outputValue(outputName8), (T9) outputValue(outputName9),

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/api/mlcontext/ProjectInfo.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/api/mlcontext/ProjectInfo.java 
b/src/main/java/org/apache/sysml/api/mlcontext/ProjectInfo.java
index 9af6696..917fc7a 100644
--- a/src/main/java/org/apache/sysml/api/mlcontext/ProjectInfo.java
+++ b/src/main/java/org/apache/sysml/api/mlcontext/ProjectInfo.java
@@ -57,7 +57,7 @@ public class ProjectInfo {
                        systemMlJar = new JarFile(path);
                        Manifest manifest = systemMlJar.getManifest();
                        Attributes mainAttributes = 
manifest.getMainAttributes();
-                       properties = new TreeMap<String, String>();
+                       properties = new TreeMap<>();
                        for (Object key : mainAttributes.keySet()) {
                                String value = mainAttributes.getValue((Name) 
key);
                                properties.put(key.toString(), value);

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/api/mlcontext/Script.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/api/mlcontext/Script.java 
b/src/main/java/org/apache/sysml/api/mlcontext/Script.java
index fb7fc41..0f08cbe 100644
--- a/src/main/java/org/apache/sysml/api/mlcontext/Script.java
+++ b/src/main/java/org/apache/sysml/api/mlcontext/Script.java
@@ -57,23 +57,23 @@ public class Script {
        /**
         * All inputs (input parameters ($) and input variables).
         */
-       private Map<String, Object> inputs = new LinkedHashMap<String, 
Object>();
+       private Map<String, Object> inputs = new LinkedHashMap<>();
        /**
         * The input parameters ($).
         */
-       private Map<String, Object> inputParameters = new LinkedHashMap<String, 
Object>();
+       private Map<String, Object> inputParameters = new LinkedHashMap<>();
        /**
         * The input variables.
         */
-       private Set<String> inputVariables = new LinkedHashSet<String>();
+       private Set<String> inputVariables = new LinkedHashSet<>();
        /**
         * The input matrix or frame metadata if present.
         */
-       private Map<String, Metadata> inputMetadata = new LinkedHashMap<String, 
Metadata>();
+       private Map<String, Metadata> inputMetadata = new LinkedHashMap<>();
        /**
         * The output variables.
         */
-       private Set<String> outputVariables = new LinkedHashSet<String>();
+       private Set<String> outputVariables = new LinkedHashSet<>();
        /**
         * The symbol table containing the data associated with variables.
         */
@@ -332,14 +332,14 @@ public class Script {
 
                MLContextUtil.checkInputValueType(name, value);
                if (inputs == null) {
-                       inputs = new LinkedHashMap<String, Object>();
+                       inputs = new LinkedHashMap<>();
                }
                inputs.put(name, value);
 
                if (name.startsWith("$")) {
                        MLContextUtil.checkInputParameterType(name, value);
                        if (inputParameters == null) {
-                               inputParameters = new LinkedHashMap<String, 
Object>();
+                               inputParameters = new LinkedHashMap<>();
                        }
                        inputParameters.put(name, value);
                } else {

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/conf/CompilerConfig.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/conf/CompilerConfig.java 
b/src/main/java/org/apache/sysml/conf/CompilerConfig.java
index 4fc7765..9dba923 100644
--- a/src/main/java/org/apache/sysml/conf/CompilerConfig.java
+++ b/src/main/java/org/apache/sysml/conf/CompilerConfig.java
@@ -86,7 +86,7 @@ public class CompilerConfig
        private HashMap<ConfigType, Integer> _imap = null;
        
        public CompilerConfig() {
-               _bmap = new HashMap<ConfigType, Boolean>();
+               _bmap = new HashMap<>();
                _bmap.put(ConfigType.PARALLEL_CP_READ_TEXTFORMATS, 
FLAG_PARREADWRITE_TEXT);
                _bmap.put(ConfigType.PARALLEL_CP_WRITE_TEXTFORMATS, 
FLAG_PARREADWRITE_TEXT);
                _bmap.put(ConfigType.PARALLEL_CP_READ_BINARYFORMATS, 
FLAG_PARREADWRITE_BINARY);
@@ -103,7 +103,7 @@ public class CompilerConfig
                _bmap.put(ConfigType.MLCONTEXT, false);
                _bmap.put(ConfigType.CODEGEN_ENABLED, false);
                
-               _imap = new HashMap<CompilerConfig.ConfigType, Integer>();
+               _imap = new HashMap<>();
                _imap.put(ConfigType.BLOCK_SIZE, 
OptimizerUtils.DEFAULT_BLOCKSIZE);
                _imap.put(ConfigType.OPT_LEVEL, 
OptimizerUtils.DEFAULT_OPTLEVEL.ordinal());
        }

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/conf/ConfigurationManager.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/conf/ConfigurationManager.java 
b/src/main/java/org/apache/sysml/conf/ConfigurationManager.java
index 27ab8b4..0ddc78a 100644
--- a/src/main/java/org/apache/sysml/conf/ConfigurationManager.java
+++ b/src/main/java/org/apache/sysml/conf/ConfigurationManager.java
@@ -200,13 +200,13 @@ public class ConfigurationManager
        
        private static class ThreadLocalDMLConfig extends 
ThreadLocal<DMLConfig> {
                @Override 
-        protected DMLConfig initialValue() { 
+               protected DMLConfig initialValue() { 
                        //currently initialize by reference to avoid 
unnecessary deep copy via clone.
-               if( _dmlconf != null )
-                       return _dmlconf; 
-               return null;
-        }
-    }
+                       if( _dmlconf != null )
+                               return _dmlconf; 
+                       return null;
+               }
+       }
        
        private static class ThreadLocalCompilerConfig extends 
ThreadLocal<CompilerConfig> {
                @Override 
@@ -215,5 +215,5 @@ public class ConfigurationManager
                                return _cconf.clone();
                        return null;
                }
-    };
+       }
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/conf/DMLConfig.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/conf/DMLConfig.java 
b/src/main/java/org/apache/sysml/conf/DMLConfig.java
index 9835b4d..6eaa52e 100644
--- a/src/main/java/org/apache/sysml/conf/DMLConfig.java
+++ b/src/main/java/org/apache/sysml/conf/DMLConfig.java
@@ -111,7 +111,7 @@ public class DMLConfig
        
        static
        {
-               _defaultVals = new HashMap<String, String>();
+               _defaultVals = new HashMap<>();
                _defaultVals.put(LOCAL_TMP_DIR,          "/tmp/systemml" );
                _defaultVals.put(SCRATCH_SPACE,          "scratch_space" );
                _defaultVals.put(OPTIMIZATION_LEVEL,     
String.valueOf(OptimizerUtils.DEFAULT_OPTLEVEL.ordinal()) );
@@ -303,7 +303,7 @@ public class DMLConfig
         */
        public Map<String, String> getCustomMRConfig()
        {
-               HashMap<String, String> ret = new HashMap<String, String>();
+               HashMap<String, String> ret = new HashMap<>();
        
                //check for non-existing config xml tree
                if( _xmlRoot == null )

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/debug/DMLBreakpointManager.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/debug/DMLBreakpointManager.java 
b/src/main/java/org/apache/sysml/debug/DMLBreakpointManager.java
index 2ec3744..5f32620 100644
--- a/src/main/java/org/apache/sysml/debug/DMLBreakpointManager.java
+++ b/src/main/java/org/apache/sysml/debug/DMLBreakpointManager.java
@@ -31,7 +31,7 @@ import 
org.apache.sysml.runtime.instructions.cp.BreakPointInstruction.BPINSTRUCT
 public class DMLBreakpointManager {
        
        /** Map between DML script line numbers and breakpoint instructions */
-       private static TreeMap<Integer, BreakPointInstruction> breakpoints = 
new TreeMap<Integer, BreakPointInstruction>();
+       private static TreeMap<Integer, BreakPointInstruction> breakpoints = 
new TreeMap<>();
        
        
        /**

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/debug/DMLDebuggerProgramInfo.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/debug/DMLDebuggerProgramInfo.java 
b/src/main/java/org/apache/sysml/debug/DMLDebuggerProgramInfo.java
index 92a9495..cf9ca44 100644
--- a/src/main/java/org/apache/sysml/debug/DMLDebuggerProgramInfo.java
+++ b/src/main/java/org/apache/sysml/debug/DMLDebuggerProgramInfo.java
@@ -56,7 +56,7 @@ public class DMLDebuggerProgramInfo
         * Constructor for DMLDebuggerProgramInfo class.
         */
        public DMLDebuggerProgramInfo() {
-               disassembler = new TreeMap<Integer, ArrayList<Instruction>>();
+               disassembler = new TreeMap<>();
        }
        
        /** 
@@ -236,7 +236,7 @@ public class DMLDebuggerProgramInfo
         */
        public void setDMLInstMap() 
        {
-               disassembler = new TreeMap<Integer, ArrayList<Instruction>>();  
        
+               disassembler = new TreeMap<>();
                if (this.rtprog != null)  
                {
                        //Functions: For each function program block (if any), 
get instructions corresponding to each line number

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/debug/DebugState.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/debug/DebugState.java 
b/src/main/java/org/apache/sysml/debug/DebugState.java
index 0294d7f..ed1bea3 100644
--- a/src/main/java/org/apache/sysml/debug/DebugState.java
+++ b/src/main/java/org/apache/sysml/debug/DebugState.java
@@ -29,7 +29,7 @@ public class DebugState
 {
        
        public String [] dmlScript;
-       public Stack<DMLFrame> callStack = new Stack<DMLFrame>();
+       public Stack<DMLFrame> callStack = new Stack<>();
        public DMLProgramCounter pc = null, prevPC = null;
        public LocalVariableMap frameVariables=null;
        public String dbCommand=null;

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/hops/AggBinaryOp.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/AggBinaryOp.java 
b/src/main/java/org/apache/sysml/hops/AggBinaryOp.java
index 11a2399..cfa99a4 100644
--- a/src/main/java/org/apache/sysml/hops/AggBinaryOp.java
+++ b/src/main/java/org/apache/sysml/hops/AggBinaryOp.java
@@ -80,7 +80,7 @@ public class AggBinaryOp extends Hop implements 
MultiThreadedHop
                TSMM2,    //transpose-self matrix multiplication, 2-pass w/o 
shuffle (sp)
                ZIPMM,    //zip matrix multiplication (sp)
                MM        //in-memory matrix multiplication (cp)
-       };
+       }
        
        public enum SparkAggType{
                NONE,

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/hops/BinaryOp.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/BinaryOp.java 
b/src/main/java/org/apache/sysml/hops/BinaryOp.java
index cd1f715..97ec655 100644
--- a/src/main/java/org/apache/sysml/hops/BinaryOp.java
+++ b/src/main/java/org/apache/sysml/hops/BinaryOp.java
@@ -82,7 +82,7 @@ public class BinaryOp extends Hop
                MR_RAPPEND, //reduce-only append (output must have at most one 
column block)
                MR_GAPPEND, //map-reduce general case append (map-extend, 
aggregate)
                SP_GAlignedAppend // special case for general case in Spark 
where left.getCols() % left.getColsPerBlock() == 0
-       };
+       }
        
        private enum MMBinaryMethod {
                CP_BINARY, //(implicitly selected for CP) 
@@ -91,7 +91,7 @@ public class BinaryOp extends Hop
                MR_BINARY_OUTER_M,
                MR_BINARY_OUTER_R, //only vv 
                MR_BINARY_UAGG_CHAIN, //(mr/spark)
-       };
+       }
        
        private BinaryOp() {
                //default constructor for clone

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/hops/ConvolutionOp.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/ConvolutionOp.java 
b/src/main/java/org/apache/sysml/hops/ConvolutionOp.java
index c5cf667..849b694 100644
--- a/src/main/java/org/apache/sysml/hops/ConvolutionOp.java
+++ b/src/main/java/org/apache/sysml/hops/ConvolutionOp.java
@@ -343,8 +343,8 @@ public class ConvolutionOp extends Hop  implements 
MultiThreadedHop
        @Override
        protected double computeIntermediateMemEstimate( long ignoreDim1, long 
ignoreDim2, long ignoreNnz )
        {       
-               ArrayList<IntermediateDimensions> gpuIntermediates = new 
ArrayList<IntermediateDimensions>();
-               ArrayList<IntermediateDimensions> cpIntermediates = new 
ArrayList<IntermediateDimensions>();
+               ArrayList<IntermediateDimensions> gpuIntermediates = new 
ArrayList<>();
+               ArrayList<IntermediateDimensions> cpIntermediates = new 
ArrayList<>();
                if(getOp() == ConvOp.DIRECT_CONV2D) {
                        // Assumption: To compile a GPU conv2d operator, 
following should fit on the GPU:
                        // 1. output in dense format (i.e. 
computeOutputMemEstimate) 

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/hops/DataGenOp.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/DataGenOp.java 
b/src/main/java/org/apache/sysml/hops/DataGenOp.java
index eb04ed3..69f35ed 100644
--- a/src/main/java/org/apache/sysml/hops/DataGenOp.java
+++ b/src/main/java/org/apache/sysml/hops/DataGenOp.java
@@ -60,7 +60,7 @@ public class DataGenOp extends Hop implements MultiThreadedHop
         * i.e., getInput().get(_paramIndexMap.get(parameterName)) refers to 
the Hop
         * that is associated with parameterName.
         */
-       private HashMap<String, Integer> _paramIndexMap = new HashMap<String, 
Integer>();
+       private HashMap<String, Integer> _paramIndexMap = new HashMap<>();
                
 
        /** target identifier which will hold the random object */
@@ -160,7 +160,7 @@ public class DataGenOp extends Hop implements 
MultiThreadedHop
 
                ExecType et = optFindExecType();
                
-               HashMap<String, Lop> inputLops = new HashMap<String, Lop>();
+               HashMap<String, Lop> inputLops = new HashMap<>();
                for (Entry<String, Integer> cur : _paramIndexMap.entrySet()) {
                        if( cur.getKey().equals(DataExpression.RAND_ROWS) && 
_dim1>0 )
                                inputLops.put(cur.getKey(), new 
LiteralOp(_dim1).constructLops());

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/hops/DataOp.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/DataOp.java 
b/src/main/java/org/apache/sysml/hops/DataOp.java
index f410210..01e4878 100644
--- a/src/main/java/org/apache/sysml/hops/DataOp.java
+++ b/src/main/java/org/apache/sysml/hops/DataOp.java
@@ -58,7 +58,7 @@ public class DataOp extends Hop
         * i.e., getInput().get(_paramIndexMap.get(parameterName)) refers to 
the Hop
         * that is associated with parameterName.
         */
-       private HashMap<String, Integer> _paramIndexMap = new HashMap<String, 
Integer>();
+       private HashMap<String, Integer> _paramIndexMap = new HashMap<>();
 
        private DataOp() {
                //default constructor for clone
@@ -257,7 +257,7 @@ public class DataOp extends Hop
                Lop l = null;
                
                // construct lops for all input parameters
-               HashMap<String, Lop> inputLops = new HashMap<String, Lop>();
+               HashMap<String, Lop> inputLops = new HashMap<>();
                for (Entry<String, Integer> cur : _paramIndexMap.entrySet()) {
                        inputLops.put(cur.getKey(), 
getInput().get(cur.getValue())
                                        .constructLops());

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/hops/FunctionOp.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/FunctionOp.java 
b/src/main/java/org/apache/sysml/hops/FunctionOp.java
index 62872ea..570030f 100644
--- a/src/main/java/org/apache/sysml/hops/FunctionOp.java
+++ b/src/main/java/org/apache/sysml/hops/FunctionOp.java
@@ -236,7 +236,7 @@ public class FunctionOp extends Hop
                ExecType et = optFindExecType();
                
                //construct input lops (recursive)
-               ArrayList<Lop> tmp = new ArrayList<Lop>();
+               ArrayList<Lop> tmp = new ArrayList<>();
                for( Hop in : getInput() )
                        tmp.add( in.constructLops() );
                 

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/hops/Hop.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/Hop.java 
b/src/main/java/org/apache/sysml/hops/Hop.java
index 165a831..6547e2f 100644
--- a/src/main/java/org/apache/sysml/hops/Hop.java
+++ b/src/main/java/org/apache/sysml/hops/Hop.java
@@ -915,7 +915,7 @@ public abstract class Hop implements ParseInfo
                if( !force )
                        resetVisitStatus(hops);
                else {
-                       HashSet<Long> memo = new HashSet<Long>();
+                       HashSet<Long> memo = new HashSet<>();
                        if( hops != null )
                                for( Hop hopRoot : hops )
                                        hopRoot.resetVisitStatusForced(memo);
@@ -1075,12 +1075,12 @@ public abstract class Hop implements ParseInfo
                MINUS_NZ, //sparse-safe minus: X-(mean*ppred(X,0,!=))
                LOG_NZ, //sparse-safe log; ppred(X,0,"!=")*log(X,0.5)
                MINUS1_MULT, //1-X*Y
-       };
+       }
 
        // Operations that require 3 operands
        public enum OpOp3 {
                QUANTILE, INTERQUANTILE, CTABLE, CENTRALMOMENT, COVARIANCE, 
PLUS_MULT, MINUS_MULT
-       };
+       }
        
        // Operations that require 4 operands
        public enum OpOp4 {
@@ -1089,7 +1089,7 @@ public abstract class Hop implements ParseInfo
                WDIVMM, //weighted divide mm
                WCEMM, //weighted cross entropy mm
                WUMM //weighted unary mm
-       };
+       }
        
        // Operations that require a variable number of operands
        public enum MultiInputOp {
@@ -1098,7 +1098,7 @@ public abstract class Hop implements ParseInfo
        
        public enum AggOp {
                SUM, SUM_SQ, MIN, MAX, TRACE, PROD, MEAN, VAR, MAXINDEX, 
MININDEX
-       };
+       }
 
        public enum ReOrgOp {
                TRANSPOSE, DIAG, RESHAPE, SORT, REV
@@ -1106,39 +1106,39 @@ public abstract class Hop implements ParseInfo
                //create incorrect plans (now we try to infer it for memory 
estimates
                //and rewrites but the final choice is made during runtime)
                //DIAG_V2M, DIAG_M2V, 
-       };
+       }
        
        public enum ConvOp {
                MAX_POOLING, MAX_POOLING_BACKWARD,
                DIRECT_CONV2D, DIRECT_CONV2D_BACKWARD_FILTER, 
DIRECT_CONV2D_BACKWARD_DATA,
                BIAS_ADD, BIAS_MULTIPLY
-       };
+       }
        
        public enum DataGenMethod {
                RAND, SEQ, SINIT, SAMPLE, INVALID
-       };
+       }
 
        public enum ParamBuiltinOp {
                INVALID, CDF, INVCDF, GROUPEDAGG, RMEMPTY, REPLACE, REXPAND, 
                TRANSFORMAPPLY, TRANSFORMDECODE, TRANSFORMCOLMAP, TRANSFORMMETA,
                TOSTRING
-       };
+       }
 
        public enum FileFormatTypes {
                TEXT, BINARY, MM, CSV
-       };
+       }
 
        public enum DataOpTypes {
                PERSISTENTREAD, PERSISTENTWRITE, TRANSIENTREAD, TRANSIENTWRITE, 
FUNCTIONOUTPUT
-       };
+       }
 
        public enum Direction {
                RowCol, Row, Col
-       };
+       }
 
        protected static final HashMap<DataOpTypes, 
org.apache.sysml.lops.Data.OperationTypes> HopsData2Lops;
        static {
-               HopsData2Lops = new HashMap<Hop.DataOpTypes, 
org.apache.sysml.lops.Data.OperationTypes>();
+               HopsData2Lops = new HashMap<>();
                HopsData2Lops.put(DataOpTypes.PERSISTENTREAD, 
org.apache.sysml.lops.Data.OperationTypes.READ);
                HopsData2Lops.put(DataOpTypes.PERSISTENTWRITE, 
org.apache.sysml.lops.Data.OperationTypes.WRITE);
                HopsData2Lops.put(DataOpTypes.TRANSIENTWRITE, 
org.apache.sysml.lops.Data.OperationTypes.WRITE);
@@ -1147,7 +1147,7 @@ public abstract class Hop implements ParseInfo
 
        protected static final HashMap<Hop.AggOp, 
org.apache.sysml.lops.Aggregate.OperationTypes> HopsAgg2Lops;
        static {
-               HopsAgg2Lops = new HashMap<Hop.AggOp, 
org.apache.sysml.lops.Aggregate.OperationTypes>();
+               HopsAgg2Lops = new HashMap<>();
                HopsAgg2Lops.put(AggOp.SUM, 
org.apache.sysml.lops.Aggregate.OperationTypes.KahanSum);
                HopsAgg2Lops.put(AggOp.SUM_SQ, 
org.apache.sysml.lops.Aggregate.OperationTypes.KahanSumSq);
                HopsAgg2Lops.put(AggOp.TRACE, 
org.apache.sysml.lops.Aggregate.OperationTypes.KahanTrace);
@@ -1162,7 +1162,7 @@ public abstract class Hop implements ParseInfo
 
        protected static final HashMap<ReOrgOp, 
org.apache.sysml.lops.Transform.OperationTypes> HopsTransf2Lops;
        static {
-               HopsTransf2Lops = new HashMap<ReOrgOp, 
org.apache.sysml.lops.Transform.OperationTypes>();
+               HopsTransf2Lops = new HashMap<>();
                HopsTransf2Lops.put(ReOrgOp.TRANSPOSE, 
org.apache.sysml.lops.Transform.OperationTypes.Transpose);
                HopsTransf2Lops.put(ReOrgOp.REV, 
org.apache.sysml.lops.Transform.OperationTypes.Rev);
                HopsTransf2Lops.put(ReOrgOp.DIAG, 
org.apache.sysml.lops.Transform.OperationTypes.Diag);
@@ -1173,7 +1173,7 @@ public abstract class Hop implements ParseInfo
        
        protected static final HashMap<ConvOp, 
org.apache.sysml.lops.ConvolutionTransform.OperationTypes> HopsConv2Lops;
        static {
-               HopsConv2Lops = new HashMap<ConvOp, 
org.apache.sysml.lops.ConvolutionTransform.OperationTypes>();
+               HopsConv2Lops = new HashMap<>();
                HopsConv2Lops.put(ConvOp.MAX_POOLING, 
org.apache.sysml.lops.ConvolutionTransform.OperationTypes.MAX_POOLING);
                HopsConv2Lops.put(ConvOp.MAX_POOLING_BACKWARD, 
org.apache.sysml.lops.ConvolutionTransform.OperationTypes.MAX_POOLING_BACKWARD);
                HopsConv2Lops.put(ConvOp.DIRECT_CONV2D, 
org.apache.sysml.lops.ConvolutionTransform.OperationTypes.DIRECT_CONV2D);
@@ -1185,7 +1185,7 @@ public abstract class Hop implements ParseInfo
 
        protected static final HashMap<Hop.Direction, 
org.apache.sysml.lops.PartialAggregate.DirectionTypes> HopsDirection2Lops;
        static {
-               HopsDirection2Lops = new HashMap<Hop.Direction, 
org.apache.sysml.lops.PartialAggregate.DirectionTypes>();
+               HopsDirection2Lops = new HashMap<>();
                HopsDirection2Lops.put(Direction.RowCol, 
org.apache.sysml.lops.PartialAggregate.DirectionTypes.RowCol);
                HopsDirection2Lops.put(Direction.Col, 
org.apache.sysml.lops.PartialAggregate.DirectionTypes.Col);
                HopsDirection2Lops.put(Direction.Row, 
org.apache.sysml.lops.PartialAggregate.DirectionTypes.Row);
@@ -1194,7 +1194,7 @@ public abstract class Hop implements ParseInfo
 
        protected static final HashMap<Hop.OpOp2, Binary.OperationTypes> 
HopsOpOp2LopsB;
        static {
-               HopsOpOp2LopsB = new HashMap<Hop.OpOp2, 
Binary.OperationTypes>();
+               HopsOpOp2LopsB = new HashMap<>();
                HopsOpOp2LopsB.put(OpOp2.PLUS, Binary.OperationTypes.ADD);
                HopsOpOp2LopsB.put(OpOp2.MINUS, Binary.OperationTypes.SUBTRACT);
                HopsOpOp2LopsB.put(OpOp2.MULT, Binary.OperationTypes.MULTIPLY);
@@ -1219,8 +1219,8 @@ public abstract class Hop implements ParseInfo
 
        protected static final HashMap<Hop.OpOp2, BinaryScalar.OperationTypes> 
HopsOpOp2LopsBS;
        static {
-               HopsOpOp2LopsBS = new HashMap<Hop.OpOp2, 
BinaryScalar.OperationTypes>();
-               HopsOpOp2LopsBS.put(OpOp2.PLUS, 
BinaryScalar.OperationTypes.ADD);       
+               HopsOpOp2LopsBS = new HashMap<>();
+               HopsOpOp2LopsBS.put(OpOp2.PLUS, 
BinaryScalar.OperationTypes.ADD);
                HopsOpOp2LopsBS.put(OpOp2.MINUS, 
BinaryScalar.OperationTypes.SUBTRACT);
                HopsOpOp2LopsBS.put(OpOp2.MULT, 
BinaryScalar.OperationTypes.MULTIPLY);
                HopsOpOp2LopsBS.put(OpOp2.DIV, 
BinaryScalar.OperationTypes.DIVIDE);
@@ -1243,7 +1243,7 @@ public abstract class Hop implements ParseInfo
 
        protected static final HashMap<Hop.OpOp2, 
org.apache.sysml.lops.Unary.OperationTypes> HopsOpOp2LopsU;
        static {
-               HopsOpOp2LopsU = new HashMap<Hop.OpOp2, 
org.apache.sysml.lops.Unary.OperationTypes>();
+               HopsOpOp2LopsU = new HashMap<>();
                HopsOpOp2LopsU.put(OpOp2.PLUS, 
org.apache.sysml.lops.Unary.OperationTypes.ADD);
                HopsOpOp2LopsU.put(OpOp2.MINUS, 
org.apache.sysml.lops.Unary.OperationTypes.SUBTRACT);
                HopsOpOp2LopsU.put(OpOp2.MULT, 
org.apache.sysml.lops.Unary.OperationTypes.MULTIPLY);
@@ -1269,7 +1269,7 @@ public abstract class Hop implements ParseInfo
 
        protected static final HashMap<Hop.OpOp1, 
org.apache.sysml.lops.Unary.OperationTypes> HopsOpOp1LopsU;
        static {
-               HopsOpOp1LopsU = new HashMap<Hop.OpOp1, 
org.apache.sysml.lops.Unary.OperationTypes>();
+               HopsOpOp1LopsU = new HashMap<>();
                HopsOpOp1LopsU.put(OpOp1.NOT, 
org.apache.sysml.lops.Unary.OperationTypes.NOT);
                HopsOpOp1LopsU.put(OpOp1.ABS, 
org.apache.sysml.lops.Unary.OperationTypes.ABS);
                HopsOpOp1LopsU.put(OpOp1.SIN, 
org.apache.sysml.lops.Unary.OperationTypes.SIN);
@@ -1306,7 +1306,7 @@ public abstract class Hop implements ParseInfo
 
        protected static final HashMap<Hop.OpOp1, 
org.apache.sysml.lops.UnaryCP.OperationTypes> HopsOpOp1LopsUS;
        static {
-               HopsOpOp1LopsUS = new HashMap<Hop.OpOp1, 
org.apache.sysml.lops.UnaryCP.OperationTypes>();
+               HopsOpOp1LopsUS = new HashMap<>();
                HopsOpOp1LopsUS.put(OpOp1.NOT, 
org.apache.sysml.lops.UnaryCP.OperationTypes.NOT);
                HopsOpOp1LopsUS.put(OpOp1.ABS, 
org.apache.sysml.lops.UnaryCP.OperationTypes.ABS);
                HopsOpOp1LopsUS.put(OpOp1.SIN, 
org.apache.sysml.lops.UnaryCP.OperationTypes.SIN);
@@ -1345,13 +1345,13 @@ public abstract class Hop implements ParseInfo
         */
        protected static final HashMap<MultiInputOp, MultipleCP.OperationType> 
MultipleOperandOperationHopTypeToLopType;
        static {
-               MultipleOperandOperationHopTypeToLopType = new 
HashMap<MultiInputOp, MultipleCP.OperationType>();
+               MultipleOperandOperationHopTypeToLopType = new HashMap<>();
                
MultipleOperandOperationHopTypeToLopType.put(MultiInputOp.PRINTF, 
MultipleCP.OperationType.PRINTF);
        }
 
        protected static final HashMap<Hop.OpOp1, String> HopsOpOp12String;
        static {
-               HopsOpOp12String = new HashMap<OpOp1, String>();        
+               HopsOpOp12String = new HashMap<>();
                HopsOpOp12String.put(OpOp1.ABS, "abs");
                HopsOpOp12String.put(OpOp1.CAST_AS_SCALAR, "castAsScalar");
                HopsOpOp12String.put(OpOp1.COS, "cos");
@@ -1384,7 +1384,7 @@ public abstract class Hop implements ParseInfo
 
        protected static final HashMap<Hop.ParamBuiltinOp, 
org.apache.sysml.lops.ParameterizedBuiltin.OperationTypes> 
HopsParameterizedBuiltinLops;
        static {
-               HopsParameterizedBuiltinLops = new HashMap<Hop.ParamBuiltinOp, 
org.apache.sysml.lops.ParameterizedBuiltin.OperationTypes>();
+               HopsParameterizedBuiltinLops = new HashMap<>();
                HopsParameterizedBuiltinLops.put(ParamBuiltinOp.CDF, 
org.apache.sysml.lops.ParameterizedBuiltin.OperationTypes.CDF);
                HopsParameterizedBuiltinLops.put(ParamBuiltinOp.INVCDF, 
org.apache.sysml.lops.ParameterizedBuiltin.OperationTypes.INVCDF);
                HopsParameterizedBuiltinLops.put(ParamBuiltinOp.RMEMPTY, 
org.apache.sysml.lops.ParameterizedBuiltin.OperationTypes.RMEMPTY);
@@ -1399,7 +1399,7 @@ public abstract class Hop implements ParseInfo
 
        protected static final HashMap<Hop.OpOp2, String> HopsOpOp2String;
        static {
-               HopsOpOp2String = new HashMap<Hop.OpOp2, String>();
+               HopsOpOp2String = new HashMap<>();
                HopsOpOp2String.put(OpOp2.PLUS, "+");
                HopsOpOp2String.put(OpOp2.MINUS, "-");
                HopsOpOp2String.put(OpOp2.MINUS_NZ, "-nz");
@@ -1440,7 +1440,7 @@ public abstract class Hop implements ParseInfo
 
        protected static final HashMap<Hop.OpOp3, String> HopsOpOp3String;
        static {
-               HopsOpOp3String = new HashMap<Hop.OpOp3, String>();
+               HopsOpOp3String = new HashMap<>();
                HopsOpOp3String.put(OpOp3.QUANTILE, "quantile");
                HopsOpOp3String.put(OpOp3.INTERQUANTILE, "interquantile");
                HopsOpOp3String.put(OpOp3.CTABLE, "ctable");
@@ -1452,7 +1452,7 @@ public abstract class Hop implements ParseInfo
        
        protected static final HashMap<Hop.OpOp4, String> HopsOpOp4String;
        static {
-               HopsOpOp4String = new HashMap<Hop.OpOp4, String>();
+               HopsOpOp4String = new HashMap<>();
                HopsOpOp4String.put(OpOp4.WSLOSS,   "wsloss");
                HopsOpOp4String.put(OpOp4.WSIGMOID, "wsigmoid");
                HopsOpOp4String.put(OpOp4.WCEMM,    "wcemm");
@@ -1462,7 +1462,7 @@ public abstract class Hop implements ParseInfo
 
        protected static final HashMap<Hop.Direction, String> 
HopsDirection2String;
        static {
-               HopsDirection2String = new HashMap<Hop.Direction, String>();
+               HopsDirection2String = new HashMap<>();
                HopsDirection2String.put(Direction.RowCol, "RC");
                HopsDirection2String.put(Direction.Col, "C");
                HopsDirection2String.put(Direction.Row, "R");
@@ -1470,7 +1470,7 @@ public abstract class Hop implements ParseInfo
 
        protected static final HashMap<Hop.AggOp, String> HopsAgg2String;
        static {
-               HopsAgg2String = new HashMap<Hop.AggOp, String>();
+               HopsAgg2String = new HashMap<>();
                HopsAgg2String.put(AggOp.SUM, "+");
                HopsAgg2String.put(AggOp.SUM_SQ, "sq+");
                HopsAgg2String.put(AggOp.PROD, "*");
@@ -1485,7 +1485,7 @@ public abstract class Hop implements ParseInfo
 
        protected static final HashMap<Hop.ReOrgOp, String> HopsTransf2String;
        static {
-               HopsTransf2String = new HashMap<ReOrgOp, String>();
+               HopsTransf2String = new HashMap<>();
                HopsTransf2String.put(ReOrgOp.TRANSPOSE, "t");
                HopsTransf2String.put(ReOrgOp.DIAG, "diag");
                HopsTransf2String.put(ReOrgOp.RESHAPE, "rshape");
@@ -1494,7 +1494,7 @@ public abstract class Hop implements ParseInfo
 
        protected static final HashMap<DataOpTypes, String> HopsData2String;
        static {
-               HopsData2String = new HashMap<Hop.DataOpTypes, String>();
+               HopsData2String = new HashMap<>();
                HopsData2String.put(DataOpTypes.PERSISTENTREAD, "PRead");
                HopsData2String.put(DataOpTypes.PERSISTENTWRITE, "PWrite");
                HopsData2String.put(DataOpTypes.TRANSIENTWRITE, "TWrite");
@@ -1834,8 +1834,8 @@ public abstract class Hop implements ParseInfo
                _updateType = that._updateType;
 
                //no copy of lops (regenerated)
-               _parent = new ArrayList<Hop>();
-               _input = new ArrayList<Hop>();
+               _parent = new ArrayList<>();
+               _input = new ArrayList<>();
                _lops = null;
                
                _etype = that._etype;

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/hops/IndexingOp.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/IndexingOp.java 
b/src/main/java/org/apache/sysml/hops/IndexingOp.java
index fa67618..0aa6d03 100644
--- a/src/main/java/org/apache/sysml/hops/IndexingOp.java
+++ b/src/main/java/org/apache/sysml/hops/IndexingOp.java
@@ -45,7 +45,7 @@ public class IndexingOp extends Hop
                CP_RIX, //in-memory range index
                MR_RIX, //general case range reindex
                MR_VRIX, //vector (row/col) range index
-       };
+       }
        
        
        private IndexingOp() {

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/hops/MemoTable.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/MemoTable.java 
b/src/main/java/org/apache/sysml/hops/MemoTable.java
index 94368ee..48ecf66 100644
--- a/src/main/java/org/apache/sysml/hops/MemoTable.java
+++ b/src/main/java/org/apache/sysml/hops/MemoTable.java
@@ -38,7 +38,7 @@ public class MemoTable
        
        public MemoTable()
        {
-               _memo = new HashMap<Long, MatrixCharacteristics>();
+               _memo = new HashMap<>();
        }
 
        public void init( ArrayList<Hop> hops, RecompileStatus status)

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/hops/OptimizerUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/OptimizerUtils.java 
b/src/main/java/org/apache/sysml/hops/OptimizerUtils.java
index 0215100..e44e439 100644
--- a/src/main/java/org/apache/sysml/hops/OptimizerUtils.java
+++ b/src/main/java/org/apache/sysml/hops/OptimizerUtils.java
@@ -248,7 +248,7 @@ public class OptimizerUtils
                O3_LOCAL_RESOURCE_TIME_MEMORY,
                O4_GLOBAL_TIME_MEMORY,
                O5_DEBUG_MODE,
-       };
+       }
                
        public static OptimizationLevel getOptLevel() {
                int optlevel = 
ConfigurationManager.getCompilerConfig().getInt(ConfigType.OPT_LEVEL);
@@ -1131,7 +1131,7 @@ public class OptimizerUtils
                        return defaultValue;
                ForStatementBlock fsb = (ForStatementBlock) 
fpb.getStatementBlock();
                try {
-                       HashMap<Long,Long> memo = new HashMap<Long,Long>();
+                       HashMap<Long,Long> memo = new HashMap<>();
                        long from = 
rEvalSimpleLongExpression(fsb.getFromHops().getInput().get(0), memo);
                        long to = 
rEvalSimpleLongExpression(fsb.getToHops().getInput().get(0), memo);
                        long increment = (fsb.getIncrementHops()==null) ? (from 
< to) ? 1 : -1 : 
@@ -1148,7 +1148,7 @@ public class OptimizerUtils
                        return defaultValue;
                ForStatementBlock fsb = (ForStatementBlock) 
fpb.getStatementBlock();
                try {
-                       HashMap<Long,Long> memo = new HashMap<Long,Long>();
+                       HashMap<Long,Long> memo = new HashMap<>();
                        long from = 
rEvalSimpleLongExpression(fsb.getFromHops().getInput().get(0), memo, vars);
                        long to = 
rEvalSimpleLongExpression(fsb.getToHops().getInput().get(0), memo, vars);
                        long increment = (fsb.getIncrementHops()==null) ? (from 
< to) ? 1 : -1 : 
@@ -1177,7 +1177,7 @@ public class OptimizerUtils
                long ret = Long.MAX_VALUE;
                
                //for simplicity and robustness call double and cast.
-               HashMap<Long, Double> dvalMemo = new HashMap<Long, Double>();
+               HashMap<Long, Double> dvalMemo = new HashMap<>();
                double tmp = rEvalSimpleDoubleExpression(root, dvalMemo);
                if( tmp!=Double.MAX_VALUE )
                        ret = UtilFunctions.toLong( tmp );
@@ -1191,7 +1191,7 @@ public class OptimizerUtils
                long ret = Long.MAX_VALUE;
                
                //for simplicity and robustness call double and cast.
-               HashMap<Long, Double> dvalMemo = new HashMap<Long, Double>();
+               HashMap<Long, Double> dvalMemo = new HashMap<>();
                double tmp = rEvalSimpleDoubleExpression(root, dvalMemo, vars);
                if( tmp!=Double.MAX_VALUE )
                        ret = UtilFunctions.toLong( tmp );

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/hops/ParameterizedBuiltinOp.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/ParameterizedBuiltinOp.java 
b/src/main/java/org/apache/sysml/hops/ParameterizedBuiltinOp.java
index 2d3e256..b9b8649 100644
--- a/src/main/java/org/apache/sysml/hops/ParameterizedBuiltinOp.java
+++ b/src/main/java/org/apache/sysml/hops/ParameterizedBuiltinOp.java
@@ -74,7 +74,7 @@ public class ParameterizedBuiltinOp extends Hop implements 
MultiThreadedHop
         * i.e., getInput().get(_paramIndexMap.get(parameterName)) refers to 
the Hop
         * that is associated with parameterName.
         */
-       private HashMap<String, Integer> _paramIndexMap = new HashMap<String, 
Integer>();
+       private HashMap<String, Integer> _paramIndexMap = new HashMap<>();
 
        private ParameterizedBuiltinOp() {
                //default constructor for clone
@@ -170,7 +170,7 @@ public class ParameterizedBuiltinOp extends Hop implements 
MultiThreadedHop
                        return getLops();
                
                // construct lops for all input parameters
-               HashMap<String, Lop> inputlops = new HashMap<String, Lop>();
+               HashMap<String, Lop> inputlops = new HashMap<>();
                for (Entry<String, Integer> cur : _paramIndexMap.entrySet())
                        inputlops.put(cur.getKey(), 
getInput().get(cur.getValue()).constructLops());
 
@@ -641,7 +641,7 @@ public class ParameterizedBuiltinOp extends Hop implements 
MultiThreadedHop
                                        setLineNumbers(group2);
                                        
group2.getOutputParameters().setDimensions(rlen, clen, brlen, bclen, nnz);
                                
-                                       HashMap<String, Lop> inMap = new 
HashMap<String, Lop>();
+                                       HashMap<String, Lop> inMap = new 
HashMap<>();
                                        inMap.put("target", group1);
                                        inMap.put("offset", group2);
                                        inMap.put("maxdim", lmaxdim);
@@ -726,7 +726,7 @@ public class ParameterizedBuiltinOp extends Hop implements 
MultiThreadedHop
                        Lop loffset = offsets.constructLops();
                        Lop lmaxdim = maxDim.constructLops();
                        
-                       HashMap<String, Lop> inMap = new HashMap<String, Lop>();
+                       HashMap<String, Lop> inMap = new HashMap<>();
                        inMap.put("target", linput);
                        inMap.put("offset", loffset);
                        inMap.put("maxdim", lmaxdim);

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/hops/ReorgOp.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/ReorgOp.java 
b/src/main/java/org/apache/sysml/hops/ReorgOp.java
index f0560d3..ef83253 100644
--- a/src/main/java/org/apache/sysml/hops/ReorgOp.java
+++ b/src/main/java/org/apache/sysml/hops/ReorgOp.java
@@ -331,7 +331,7 @@ public class ReorgOp extends Hop implements MultiThreadedHop
                                        else
                                        {
                                                //small vector, use in-memory 
sort
-                                               ArrayList<Hop> sinputs = new 
ArrayList<Hop>();
+                                               ArrayList<Hop> sinputs = new 
ArrayList<>();
                                                sinputs.add(vinput);
                                                sinputs.add(new LiteralOp(1)); 
//by (always vector)
                                                sinputs.add(desc);
@@ -341,7 +341,7 @@ public class ReorgOp extends Hop implements MultiThreadedHop
                                                //explicitly construct CP lop; 
otherwise there is danger of infinite recursion if forced runtime platform.
                                                voutput.setLops( 
constructCPOrSparkSortLop(vinput, sinputs.get(1), sinputs.get(2), 
sinputs.get(3), ExecType.CP, false) );
                                                
voutput.getLops().getOutputParameters().setDimensions(vinput.getDim1(), 
vinput.getDim2(), vinput.getRowsInBlock(), vinput.getColsInBlock(), 
vinput.getNnz());
-                                               setLops( 
voutput.constructLops() );                                                      
       
+                                               setLops( 
voutput.constructLops() );
                                        }
                                        
                                        //Step 3: Data permutation (only 
required for sorting data) 

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/hops/UnaryOp.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/UnaryOp.java 
b/src/main/java/org/apache/sysml/hops/UnaryOp.java
index 46cabcc..94b33f8 100644
--- a/src/main/java/org/apache/sysml/hops/UnaryOp.java
+++ b/src/main/java/org/apache/sysml/hops/UnaryOp.java
@@ -403,7 +403,7 @@ public class UnaryOp extends Hop implements MultiThreadedHop
                
                Lop X = input.constructLops();
                Lop TEMP = X;
-               ArrayList<Lop> DATA = new ArrayList<Lop>();
+               ArrayList<Lop> DATA = new ArrayList<>();
                int level = 0;
                
                //recursive preaggregation until aggregates fit into CP memory 
budget
@@ -479,7 +479,7 @@ public class UnaryOp extends Hop implements MultiThreadedHop
                
                Lop X = input.constructLops();
                Lop TEMP = X;
-               ArrayList<Lop> DATA = new ArrayList<Lop>();
+               ArrayList<Lop> DATA = new ArrayList<>();
                int level = 0;
                
                //recursive preaggregation until aggregates fit into CP memory 
budget

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/hops/codegen/SpoofCompiler.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/codegen/SpoofCompiler.java 
b/src/main/java/org/apache/sysml/hops/codegen/SpoofCompiler.java
index a521918..0e5e194 100644
--- a/src/main/java/org/apache/sysml/hops/codegen/SpoofCompiler.java
+++ b/src/main/java/org/apache/sysml/hops/codegen/SpoofCompiler.java
@@ -331,8 +331,7 @@ public class SpoofCompiler
        public static Hop optimize( Hop root, boolean recompile ) throws 
DMLRuntimeException {
                if( root == null )
                        return root;
-               
-               return optimize(new ArrayList<Hop>(
+               return optimize(new ArrayList<>(
                        Collections.singleton(root)), recompile).get(0);
        }
        
@@ -370,7 +369,7 @@ public class SpoofCompiler
                        //note: we do not use the hop visit status due to jumps 
over fused operators which would
                        //corrupt subsequent resets, leaving partial hops dags 
in visited status
                        HashMap<Long, Pair<Hop[],CNodeTpl>> cplans = new 
LinkedHashMap<>();
-                       HashSet<Long> visited = new HashSet<Long>();
+                       HashSet<Long> visited = new HashSet<>();
                        for( Hop hop : roots )
                                rConstructCPlans(hop, memo, cplans, 
compileLiterals, visited);
                        
@@ -385,7 +384,7 @@ public class SpoofCompiler
                        }
                        
                        //source code generation for all cplans
-                       HashMap<Long, Pair<Hop[],Class<?>>> clas = new 
HashMap<Long, Pair<Hop[],Class<?>>>();
+                       HashMap<Long, Pair<Hop[],Class<?>>> clas = new 
HashMap<>();
                        for( Entry<Long, Pair<Hop[],CNodeTpl>> cplan : 
cplans.entrySet() ) 
                        {
                                Pair<Hop[],CNodeTpl> tmp = cplan.getValue();
@@ -597,7 +596,7 @@ public class SpoofCompiler
        private static ArrayList<Hop> constructModifiedHopDag(ArrayList<Hop> 
orig, 
                        HashMap<Long, Pair<Hop[],CNodeTpl>> cplans, 
HashMap<Long, Pair<Hop[],Class<?>>> cla)
        {
-               HashSet<Long> memo = new HashSet<Long>();
+               HashSet<Long> memo = new HashSet<>();
                for( int i=0; i<orig.size(); i++ ) {
                        Hop hop = orig.get(i); //w/o iterator because modified
                        rConstructModifiedHopDag(hop, cplans, cla, memo);
@@ -678,7 +677,7 @@ public class SpoofCompiler
         */
        private static HashMap<Long, Pair<Hop[],CNodeTpl>> 
cleanupCPlans(CPlanMemoTable memo, HashMap<Long, Pair<Hop[],CNodeTpl>> cplans) 
        {
-               HashMap<Long, Pair<Hop[],CNodeTpl>> cplans2 = new HashMap<Long, 
Pair<Hop[],CNodeTpl>>();
+               HashMap<Long, Pair<Hop[],CNodeTpl>> cplans2 = new HashMap<>();
                CPlanCSERewriter cse = new CPlanCSERewriter();
                
                for( Entry<Long, Pair<Hop[],CNodeTpl>> e : cplans.entrySet() ) {
@@ -693,7 +692,7 @@ public class SpoofCompiler
                        inHops = Arrays.stream(inHops)
                                .filter(p -> inputHopIDs.contains(p.getHopID()))
                                .toArray(Hop[]::new);
-                       cplans2.put(e.getKey(), new 
Pair<Hop[],CNodeTpl>(inHops, tpl));
+                       cplans2.put(e.getKey(), new Pair<>(inHops, tpl));
                        
                        //remove invalid plans with column indexing on main 
input
                        if( tpl instanceof CNodeCell || tpl instanceof CNodeRow 
) {
@@ -836,7 +835,7 @@ public class SpoofCompiler
                private final int _maxSize;
                
                public PlanCache(int maxSize) {
-                        _plans = new LinkedHashMap<CNode, Class<?>>(); 
+                        _plans = new LinkedHashMap<>();
                         _maxSize = maxSize;
                }
                

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/hops/codegen/SpoofFusedOp.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/codegen/SpoofFusedOp.java 
b/src/main/java/org/apache/sysml/hops/codegen/SpoofFusedOp.java
index 56bfb61..c6176cc 100644
--- a/src/main/java/org/apache/sysml/hops/codegen/SpoofFusedOp.java
+++ b/src/main/java/org/apache/sysml/hops/codegen/SpoofFusedOp.java
@@ -106,7 +106,7 @@ public class SpoofFusedOp extends Hop implements 
MultiThreadedHop
                
                ExecType et = optFindExecType();
                
-               ArrayList<Lop> inputs = new ArrayList<Lop>();
+               ArrayList<Lop> inputs = new ArrayList<>();
                for( Hop c : getInput() )
                        inputs.add(c.constructLops());
                

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/hops/codegen/cplan/CNode.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/codegen/cplan/CNode.java 
b/src/main/java/org/apache/sysml/hops/codegen/cplan/CNode.java
index ff9103e..b0efb42 100644
--- a/src/main/java/org/apache/sysml/hops/codegen/cplan/CNode.java
+++ b/src/main/java/org/apache/sysml/hops/codegen/cplan/CNode.java
@@ -47,7 +47,7 @@ public abstract class CNode
        
        public CNode() {
                _ID = _seqID.getNextID();
-               _inputs = new ArrayList<CNode>();
+               _inputs = new ArrayList<>();
                _generated = false;
        }
        

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/hops/codegen/cplan/CNodeTpl.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/codegen/cplan/CNodeTpl.java 
b/src/main/java/org/apache/sysml/hops/codegen/cplan/CNodeTpl.java
index db7ea31..ab5853c 100644
--- a/src/main/java/org/apache/sysml/hops/codegen/cplan/CNodeTpl.java
+++ b/src/main/java/org/apache/sysml/hops/codegen/cplan/CNodeTpl.java
@@ -56,7 +56,7 @@ public abstract class CNodeTpl extends CNode implements 
Cloneable
        }
        
        public HashSet<Long> getInputHopIDs(boolean inclLiterals) {
-               HashSet<Long> ret = new HashSet<Long>();
+               HashSet<Long> ret = new HashSet<>();
                for( CNode input : _inputs )
                        if( !input.isLiteral() || inclLiterals )
                                ret.add(((CNodeData)input).getHopID());
@@ -90,7 +90,7 @@ public abstract class CNodeTpl extends CNode implements 
Cloneable
        
        protected void renameInputs(List<CNode> outputs, ArrayList<CNode> 
inputs, int startIndex) {
                //create map of hopID to new names used for code generation
-               HashMap<Long, String> newNames = new HashMap<Long, String>();
+               HashMap<Long, String> newNames = new HashMap<>();
                for(int i=startIndex, sPos=0, mPos=0; i < inputs.size(); i++) {
                        CNode cnode = inputs.get(i);
                        if( cnode instanceof CNodeData && 
((CNodeData)cnode).isLiteral() )
@@ -114,7 +114,7 @@ public abstract class CNodeTpl extends CNode implements 
Cloneable
                        return;
                
                //create temporary name mapping
-               HashMap<Long, String> newNames = new HashMap<Long, String>();
+               HashMap<Long, String> newNames = new HashMap<>();
                newNames.put(((CNodeData)input).getHopID(), newName);
                
                //single pass to replace all names

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/hops/codegen/opt/PlanAnalyzer.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/codegen/opt/PlanAnalyzer.java 
b/src/main/java/org/apache/sysml/hops/codegen/opt/PlanAnalyzer.java
index 9ff6986..db1ee4d 100644
--- a/src/main/java/org/apache/sysml/hops/codegen/opt/PlanAnalyzer.java
+++ b/src/main/java/org/apache/sysml/hops/codegen/opt/PlanAnalyzer.java
@@ -68,7 +68,7 @@ public class PlanAnalyzer
        private static Collection<HashSet<Long>> 
getConnectedSubGraphs(CPlanMemoTable memo, ArrayList<Hop> roots) 
        {
                //build inverted index for 'referenced by' relationship 
-               HashMap<Long, HashSet<Long>> refBy = new HashMap<Long, 
HashSet<Long>>();
+               HashMap<Long, HashSet<Long>> refBy = new HashMap<>();
                for( Entry<Long, List<MemoTableEntry>> e : 
memo.getPlans().entrySet() )
                        for( MemoTableEntry me : e.getValue() ) 
                                for( int i=0; i<3; i++ )
@@ -80,8 +80,8 @@ public class PlanAnalyzer
                
                //create a single partition per root node, if reachable over 
refBy of 
                //other root node the resulting partition is empty and can be 
discarded
-               ArrayList<HashSet<Long>> parts = new ArrayList<HashSet<Long>>();
-               HashSet<Long> visited = new HashSet<Long>();
+               ArrayList<HashSet<Long>> parts = new ArrayList<>();
+               HashSet<Long> visited = new HashSet<>();
                for( Entry<Long, List<MemoTableEntry>> e : 
memo.getPlans().entrySet() )
                        if( !refBy.containsKey(e.getKey()) ) { //root node
                                HashSet<Long> part = 
rGetConnectedSubGraphs(e.getKey(), 
@@ -99,7 +99,7 @@ public class PlanAnalyzer
        private static HashSet<Long> getPartitionRootNodes(CPlanMemoTable memo, 
HashSet<Long> partition) 
        {
                //build inverted index of references entries 
-               HashSet<Long> ix = new HashSet<Long>();
+               HashSet<Long> ix = new HashSet<>();
                for( Long hopID : partition )
                        if( memo.contains(hopID) )
                                for( MemoTableEntry me : memo.get(hopID) ) {
@@ -108,7 +108,7 @@ public class PlanAnalyzer
                                        ix.add(me.input3);
                                }
                
-               HashSet<Long> roots = new HashSet<Long>();
+               HashSet<Long> roots = new HashSet<>();
                for( Long hopID : partition )
                        if( !ix.contains(hopID) )
                                roots.add(hopID);
@@ -125,8 +125,8 @@ public class PlanAnalyzer
                        HashSet<Long> partition, CPlanMemoTable memo) 
        {
                //collect materialization points bottom-up
-               ArrayList<Long> ret = new ArrayList<Long>();
-               HashSet<Long> visited = new HashSet<Long>();
+               ArrayList<Long> ret = new ArrayList<>();
+               HashSet<Long> visited = new HashSet<>();
                for( Long hopID : roots )
                        
rCollectMaterializationPoints(memo.getHopRefs().get(hopID), 
                                        visited, partition, roots, ret);

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/hops/codegen/opt/PlanSelection.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/codegen/opt/PlanSelection.java 
b/src/main/java/org/apache/sysml/hops/codegen/opt/PlanSelection.java
index 4cf56c4..369bf75 100644
--- a/src/main/java/org/apache/sysml/hops/codegen/opt/PlanSelection.java
+++ b/src/main/java/org/apache/sysml/hops/codegen/opt/PlanSelection.java
@@ -37,9 +37,8 @@ public abstract class PlanSelection
        private static final BasicPlanComparator BASE_COMPARE = new 
BasicPlanComparator();
        private final TypedPlanComparator _typedCompare = new 
TypedPlanComparator();
        
-       private final HashMap<Long, List<MemoTableEntry>> _bestPlans = 
-                       new HashMap<Long, List<MemoTableEntry>>();
-       private final HashSet<VisitMark> _visited = new HashSet<VisitMark>();
+       private final HashMap<Long, List<MemoTableEntry>> _bestPlans = new 
HashMap<>();
+       private final HashSet<VisitMark> _visited = new HashSet<>();
        
        /**
         * Given a HOP DAG G, and a set of partial fusions plans P, find the 
set of optimal, 
@@ -95,7 +94,7 @@ public abstract class PlanSelection
                
                //step 1: prune subsumed plans of same type
                if( memo.contains(current.getHopID()) ) {
-                       HashSet<MemoTableEntry> rmSet = new 
HashSet<MemoTableEntry>();
+                       HashSet<MemoTableEntry> rmSet = new HashSet<>();
                        List<MemoTableEntry> hopP = 
memo.get(current.getHopID());
                        for( MemoTableEntry e1 : hopP )
                                for( MemoTableEntry e2 : hopP )

Reply via email to