PMD Results

The following document contains the results of PMD 6.55.0.

Violations By Priority

Priority 3

gov/nist/secauto/metaschema/databind/codegen/impl/NameConverter.java

Rule Violation Line
ControlStatementBraces This statement should have braces 263264

gov/nist/secauto/metaschema/databind/model/info/ClassDataTypeHandler.java

Rule Violation Line
CloseResource Ensure that resources like this JsonGenerator object are closed after use 274

gov/nist/secauto/metaschema/databind/model/info/ListPropertyInfo.java

Rule Violation Line
CloseResource Ensure that resources like this JsonParser object are closed after use 138

Files

gov/nist/secauto/metaschema/databind/codegen/impl/NameConverter.java

Rule Violation Priority Line
ControlStatementBraces This statement should have braces 3 263264

gov/nist/secauto/metaschema/databind/model/info/ClassDataTypeHandler.java

Rule Violation Priority Line
CloseResource Ensure that resources like this JsonGenerator object are closed after use 3 274

gov/nist/secauto/metaschema/databind/model/info/ListPropertyInfo.java

Rule Violation Priority Line
CloseResource Ensure that resources like this JsonParser object are closed after use 3 138

Suppressed Violations

Filename Rule message Suppression type Reason
gov/nist/secauto/metaschema/databind/AbstractModuleLoaderStrategy.java If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation nopmd - intentional
gov/nist/secauto/metaschema/databind/AbstractModuleLoaderStrategy.java If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation nopmd - intentional
gov/nist/secauto/metaschema/databind/codegen/AnnotationGenerator.java Assigning an Object to null is a code smell. Consider refactoring. nopmd readability
gov/nist/secauto/metaschema/databind/codegen/AnnotationGenerator.java Logger calls should be surrounded by log level guards. annotation -
gov/nist/secauto/metaschema/databind/codegen/AnnotationGenerator.java Logger calls should be surrounded by log level guards. annotation -
gov/nist/secauto/metaschema/databind/codegen/AnnotationGenerator.java Logger calls should be surrounded by log level guards. annotation -
gov/nist/secauto/metaschema/databind/codegen/AnnotationGenerator.java Logger calls should be surrounded by log level guards. annotation -
gov/nist/secauto/metaschema/databind/codegen/AnnotationGenerator.java Logger calls should be surrounded by log level guards. annotation -
gov/nist/secauto/metaschema/databind/codegen/AnnotationGenerator.java Possible God Class (WMC=68, ATFD=113, TCC=0.833%) annotation -
gov/nist/secauto/metaschema/databind/codegen/DefaultMetaschemaClassFactory.java Avoid using implementation types like 'LinkedHashMap'; use the interface instead annotation -
gov/nist/secauto/metaschema/databind/codegen/DefaultMetaschemaClassFactory.java Avoid using implementation types like 'LinkedList'; use the interface instead annotation -
gov/nist/secauto/metaschema/databind/codegen/DefaultMetaschemaClassFactory.java Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block nopmd - intended
gov/nist/secauto/metaschema/databind/codegen/DefaultMetaschemaClassFactory.java If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation annotation -
gov/nist/secauto/metaschema/databind/codegen/DefaultMetaschemaClassFactory.java High amount of different objects as members denotes a high coupling annotation -
gov/nist/secauto/metaschema/databind/codegen/DefaultMetaschemaClassFactory.java The method 'buildFieldForModelInstance(IModelInstanceTypeInfo, FieldSpec.Builder)' has a cognitive complexity of 21, current threshold is 15 annotation -
gov/nist/secauto/metaschema/databind/codegen/DefaultMetaschemaClassFactory.java The method 'buildFieldForFlag(IFlagInstanceTypeInfo, FieldSpec.Builder)' has a cyclomatic complexity of 10. annotation -
gov/nist/secauto/metaschema/databind/codegen/DefaultMetaschemaClassFactory.java The method 'generateBindingAnnotation(IModelInstanceTypeInfo)' has a cyclomatic complexity of 13. annotation -
gov/nist/secauto/metaschema/databind/codegen/DefaultMetaschemaClassFactory.java The method 'buildFieldForModelInstance(IModelInstanceTypeInfo, FieldSpec.Builder)' has a cyclomatic complexity of 13. annotation -
gov/nist/secauto/metaschema/databind/codegen/DefaultMetaschemaClassFactory.java The class 'DefaultMetaschemaClassFactory' has a total cyclomatic complexity of 95 (highest 13). annotation -
gov/nist/secauto/metaschema/databind/codegen/DefaultMetaschemaClassFactory.java Possible God Class (WMC=95, ATFD=220, TCC=7.895%) annotation -
gov/nist/secauto/metaschema/databind/codegen/DefaultMetaschemaClassFactory.java The method 'generateBindingAnnotation(IModelInstanceTypeInfo)' has an NPath complexity of 864, current threshold is 200 annotation -
gov/nist/secauto/metaschema/databind/codegen/IProduction.java Avoid using short method names nopmd - intentional
gov/nist/secauto/metaschema/databind/codegen/IProduction.java If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation nopmd - no concurrency
gov/nist/secauto/metaschema/databind/codegen/IProduction.java Avoid instantiating new objects inside loops nopmd - intentional
gov/nist/secauto/metaschema/databind/codegen/ModuleCompilerHelper.java The method 'compile(JavaCompiler, JavaFileManager, DiagnosticCollector, List, Path)' has a cognitive complexity of 20, current threshold is 15 annotation -
gov/nist/secauto/metaschema/databind/codegen/ModuleCompilerHelper.java The method 'compile(JavaCompiler, JavaFileManager, DiagnosticCollector, List, Path)' has a cyclomatic complexity of 12. annotation -
gov/nist/secauto/metaschema/databind/codegen/ProductionImpl.java If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation nopmd - immutable
gov/nist/secauto/metaschema/databind/codegen/ProductionImpl.java If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation nopmd - immutable
gov/nist/secauto/metaschema/databind/codegen/impl/NameConverter.java A method should have only one exit point, and that should be the last statement in the method annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameConverter.java Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameConverter.java The method 'toPackageName(String)' has a cyclomatic complexity of 12. annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameConverter.java The method 'toPackageName(String)' has an NPath complexity of 576, current threshold is 200 annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java Avoid reassigning the loop control variable 'i' annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java Avoid reassigning the loop control variable 'i' annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java Switch statements should be exhaustive, add a default case (or missing enum branches) annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java The constant name 'actionTable' doesn't match '[A-Z][A-Z_0-9]*' annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java A method should have only one exit point, and that should be the last statement in the method annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java A method should have only one exit point, and that should be the last statement in the method annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java A method should have only one exit point, and that should be the last statement in the method annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java A method should have only one exit point, and that should be the last statement in the method annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java A method should have only one exit point, and that should be the last statement in the method annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java A method should have only one exit point, and that should be the last statement in the method annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java A method should have only one exit point, and that should be the last statement in the method annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java A method should have only one exit point, and that should be the last statement in the method annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java A method should have only one exit point, and that should be the last statement in the method annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java A method should have only one exit point, and that should be the last statement in the method annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java A method should have only one exit point, and that should be the last statement in the method annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java A method should have only one exit point, and that should be the last statement in the method annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java A method should have only one exit point, and that should be the last statement in the method annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java A method should have only one exit point, and that should be the last statement in the method annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java A method should have only one exit point, and that should be the last statement in the method annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java Avoid instantiating new objects inside loops annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java The method 'decideAction(int, int)' has a cyclomatic complexity of 10. annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java Possible God Class (WMC=58, ATFD=29, TCC=3.030%) annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java The method 'decideAction(int, int)' has an NPath complexity of 216, current threshold is 200 annotation -
gov/nist/secauto/metaschema/databind/codegen/impl/NameUtil.java StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. annotation -
gov/nist/secauto/metaschema/databind/codegen/typeinfo/AbstractDefinitionTypeInfo.java If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation annotation -
gov/nist/secauto/metaschema/databind/codegen/typeinfo/AbstractDefinitionTypeInfo.java If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation annotation -
gov/nist/secauto/metaschema/databind/io/AbstractDeserializer.java Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block nopmd - this is intentional
gov/nist/secauto/metaschema/databind/io/DefaultBoundLoader.java Assigning an Object to null is a code smell. Consider refactoring. annotation -
gov/nist/secauto/metaschema/databind/io/json/DefaultJsonSerializer.java Assigning an Object to null is a code smell. Consider refactoring. annotation -
gov/nist/secauto/metaschema/databind/io/json/MetaschemaJsonReader.java Assigning an Object to null is a code smell. Consider refactoring. nopmd used as boolean check to avoid value key check
gov/nist/secauto/metaschema/databind/io/json/MetaschemaJsonReader.java If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation nopmd not concurrent
gov/nist/secauto/metaschema/databind/io/json/MetaschemaJsonReader.java The method 'readDefinitionValue(IClassBinding, Object, Map)' has a cognitive complexity of 19, current threshold is 15 annotation -
gov/nist/secauto/metaschema/databind/io/json/MetaschemaJsonReader.java The method 'read(IAssemblyClassBinding)' has a cyclomatic complexity of 14. annotation -
gov/nist/secauto/metaschema/databind/io/json/MetaschemaJsonReader.java The method 'readDefinitionValue(IClassBinding, Object, Map)' has a cyclomatic complexity of 11. annotation -
gov/nist/secauto/metaschema/databind/io/json/MetaschemaJsonReader.java The method 'read(IAssemblyClassBinding)' has an NPath complexity of 320, current threshold is 200 annotation -
gov/nist/secauto/metaschema/databind/io/xml/DefaultXmlSerializer.java A throw statement in a finally block makes the control flow hard to understand. nopmd - exception handling is needed
gov/nist/secauto/metaschema/databind/io/xml/MetaschemaXmlReader.java A method should have only one exit point, and that should be the last statement in the method annotation -
gov/nist/secauto/metaschema/databind/io/xml/MetaschemaXmlReader.java A method should have only one exit point, and that should be the last statement in the method annotation -
gov/nist/secauto/metaschema/databind/io/xml/MetaschemaXmlReader.java A method should have only one exit point, and that should be the last statement in the method annotation -
gov/nist/secauto/metaschema/databind/io/xml/MetaschemaXmlReader.java A method should have only one exit point, and that should be the last statement in the method annotation -
gov/nist/secauto/metaschema/databind/io/xml/MetaschemaXmlReader.java The method 'readDefinitionValue(IClassBinding, Object, StartElement)' has a cyclomatic complexity of 10. annotation -
gov/nist/secauto/metaschema/databind/io/xml/MetaschemaXmlWriter.java A method should have only one exit point, and that should be the last statement in the method nopmd - intentional
gov/nist/secauto/metaschema/databind/model/ClassBindingFieldProperty.java Avoid if (x != y) ..; else ..; nopmd efficiency
gov/nist/secauto/metaschema/databind/model/ConstraintFactory.java Avoid instantiating new objects inside loops annotation -
gov/nist/secauto/metaschema/databind/model/ConstraintFactory.java Avoid instantiating new objects inside loops annotation -
gov/nist/secauto/metaschema/databind/model/ConstraintFactory.java Avoid instantiating new objects inside loops nopmd - intentional
gov/nist/secauto/metaschema/databind/model/ConstraintFactory.java Avoid instantiating new objects inside loops annotation -
gov/nist/secauto/metaschema/databind/model/DefaultAssemblyClassBinding.java Overridable method 'getName' called during object construction nopmd -
gov/nist/secauto/metaschema/databind/model/DefaultFieldValueProperty.java Overridable method 'getName' called during object construction annotation -
gov/nist/secauto/metaschema/databind/model/DefaultFlagProperty.java Assigning an Object to null is a code smell. Consider refactoring. nopmd readability
gov/nist/secauto/metaschema/databind/model/IBoundNamedInstance.java You should not modify visibility of constructors, methods or fields using setAccessible() nopmd - intentional
gov/nist/secauto/metaschema/databind/model/IBoundNamedInstance.java You should not modify visibility of constructors, methods or fields using setAccessible() nopmd - intentional
gov/nist/secauto/metaschema/databind/model/IBoundNamedInstance.java You should not modify visibility of constructors, methods or fields using setAccessible() nopmd - intentional
gov/nist/secauto/metaschema/databind/model/IBoundNamedInstance.java You should not modify visibility of constructors, methods or fields using setAccessible() nopmd - intentional
gov/nist/secauto/metaschema/databind/model/ModelUtil.java Assigning an Object to null is a code smell. Consider refactoring. nopmd - intentional
gov/nist/secauto/metaschema/databind/model/ModelUtil.java Assigning an Object to null is a code smell. Consider refactoring. nopmd - intentional
gov/nist/secauto/metaschema/databind/model/SimpleFieldProperty.java Assigning an Object to null is a code smell. Consider refactoring. nopmd readability
gov/nist/secauto/metaschema/databind/model/info/ClassDataTypeHandler.java The method 'readItem(Object, IJsonParsingContext)' has a cyclomatic complexity of 12. annotation -
gov/nist/secauto/metaschema/databind/model/info/ClassDataTypeHandler.java The method 'readItem(Object, IJsonParsingContext)' has an NPath complexity of 256, current threshold is 200 annotation -
gov/nist/secauto/metaschema/databind/model/info/ClassDataTypeHandler.java Ensure that resources like this JsonParser object are closed after use nopmd - intentional
gov/nist/secauto/metaschema/databind/model/info/ClassDataTypeHandler.java Ensure that resources like this JsonParser object are closed after use nopmd - intentional
gov/nist/secauto/metaschema/databind/model/info/ListPropertyInfo.java A switch statement does not contain a break annotation -
gov/nist/secauto/metaschema/databind/model/info/ListPropertyInfo.java Ensure that resources like this JsonGenerator object are closed after use nopmd - intentional
gov/nist/secauto/metaschema/databind/model/info/MapPropertyInfo.java If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation nopmd - single threaded
gov/nist/secauto/metaschema/databind/model/info/MapPropertyInfo.java Ensure that resources like this JsonParser object are closed after use nopmd - intentional