Fork me on GitHub

PMD Results

The following document contains the results of PMD 6.38.0.

Violations By Priority

Priority 1

org/apache/fulcrum/pool/BoundedBuffer.java

Rule Violation Line
FieldNamingConventions The final field name 'array_' doesn't match '[a-z][a-zA-Z0-9]*' 40
VariableNamingConventions Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), 'takePtr_' is not final. 42
FieldNamingConventions The field name 'takePtr_' doesn't match '[a-z][a-zA-Z0-9]*' 42
FieldNamingConventions The field name 'putPtr_' doesn't match '[a-z][a-zA-Z0-9]*' 43
VariableNamingConventions Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), 'putPtr_' is not final. 43
VariableNamingConventions Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), 'usedSlots_' is not final. 45
FieldNamingConventions The field name 'usedSlots_' doesn't match '[a-z][a-zA-Z0-9]*' 45
VariableNamingConventions Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), 'emptySlots_' is not final. 46
FieldNamingConventions The field name 'emptySlots_' doesn't match '[a-z][a-zA-Z0-9]*' 46

org/apache/fulcrum/pool/DefaultPoolService.java

Rule Violation Line
AvoidThrowingRawExceptionTypes Avoid throwing raw exception types. 435

Priority 2

org/apache/fulcrum/pool/DefaultPoolService.java

Rule Violation Line
SingleMethodSingleton Class contains multiple getInstance methods. Please review. 53451
SingletonClassReturningNewInstance getInstance method always creates a new object and hence does not comply to Singleton Design Pattern behaviour. Please review 8192
SingletonClassReturningNewInstance getInstance method always creates a new object and hence does not comply to Singleton Design Pattern behaviour. Please review 104115
SingletonClassReturningNewInstance getInstance method always creates a new object and hence does not comply to Singleton Design Pattern behaviour. Please review 129140
SingletonClassReturningNewInstance getInstance method always creates a new object and hence does not comply to Singleton Design Pattern behaviour. Please review 156168
SingletonClassReturningNewInstance getInstance method always creates a new object and hence does not comply to Singleton Design Pattern behaviour. Please review 192203
SingletonClassReturningNewInstance getInstance method always creates a new object and hence does not comply to Singleton Design Pattern behaviour. Please review 215230

org/apache/fulcrum/pool/PoolService.java

Rule Violation Line
SingleMethodSingleton Class contains multiple getInstance methods. Please review. 39120

Priority 3

org/apache/fulcrum/pool/ArrayCtorRecyclable.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'recycle': the method is declared in an interface type 41

org/apache/fulcrum/pool/BoundedBuffer.java

Rule Violation Line
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 40
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 42
RedundantFieldInitializer Avoid using redundant field initializer for 'takePtr_' 42
RedundantFieldInitializer Avoid using redundant field initializer for 'putPtr_' 43
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 43
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 45
RedundantFieldInitializer Avoid using redundant field initializer for 'usedSlots_' 45
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 46
MethodArgumentCouldBeFinal Parameter 'capacity' is not assigned and could be declared final 54
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 55
IfStmtsMustUseBraces Avoid using if statements without curly braces 5758
ControlStatementBraces This statement should have braces 58
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 7982
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 99105
IfElseStmtsMustUseBraces Avoid using if...else statements without curly braces 102
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 102
ControlStatementBraces This statement should have braces 102
ControlStatementBraces This statement should have braces 104
IfElseStmtsMustUseBraces Avoid using if...else statements without curly braces 104
MethodArgumentCouldBeFinal Parameter 'x' is not assigned and could be declared final 113
ShortVariable Avoid variables with short names like x 113
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 113129
IfStmtsMustUseBraces Avoid using if statements without curly braces 115116
ControlStatementBraces This statement should have braces 116
IfStmtsMustUseBraces Avoid using if statements without curly braces 122123
AssignmentInOperand Avoid assignments in operands 122
ControlStatementBraces This statement should have braces 123
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 125
IfElseStmtsMustUseBraces Avoid using if...else statements without curly braces 128
ControlStatementBraces This statement should have braces 128
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 136151
LocalVariableCouldBeFinal Local variable 'old' could be declared final 142
AssignmentInOperand Avoid assignments in operands 144
IfStmtsMustUseBraces Avoid using if statements without curly braces 144145
ControlStatementBraces This statement should have braces 145
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 147
IfElseStmtsMustUseBraces Avoid using if...else statements without curly braces 150
ControlStatementBraces This statement should have braces 150

org/apache/fulcrum/pool/DefaultPoolService.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 53451
GodClass Possible God Class (WMC=57, ATFD=18, TCC=19.883%) 53451
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 63
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 68
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 68
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 69
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 70
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 71
MethodArgumentCouldBeFinal Parameter 'className' is not assigned and could be declared final 81
LocalVariableCouldBeFinal Local variable 'instance' could be declared final 85
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 86
MethodArgumentCouldBeFinal Parameter 'className' is not assigned and could be declared final 104
MethodArgumentCouldBeFinal Parameter 'loader' is not assigned and could be declared final 104
LocalVariableCouldBeFinal Local variable 'instance' could be declared final 108
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 109
MethodArgumentCouldBeFinal Parameter 'params' is not assigned and could be declared final 129
MethodArgumentCouldBeFinal Parameter 'signature' is not assigned and could be declared final 129
MethodArgumentCouldBeFinal Parameter 'className' is not assigned and could be declared final 129
LocalVariableCouldBeFinal Local variable 'instance' could be declared final 133
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 134
MethodArgumentCouldBeFinal Parameter 'className' is not assigned and could be declared final 156
MethodArgumentCouldBeFinal Parameter 'params' is not assigned and could be declared final 156
MethodArgumentCouldBeFinal Parameter 'loader' is not assigned and could be declared final 156
MethodArgumentCouldBeFinal Parameter 'signature' is not assigned and could be declared final 156
LocalVariableCouldBeFinal Local variable 'instance' could be declared final 161
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 162
MethodArgumentCouldBeFinal Parameter 'className' is not assigned and could be declared final 177
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 179
AvoidDuplicateLiterals The String literal "unchecked" appears 4 times in this file; the first occurrence is on line 191 191
MethodArgumentCouldBeFinal Parameter 'clazz' is not assigned and could be declared final 192
MissingOverride The method 'getInstance(Class)' is missing an @Override annotation. 192203
LocalVariableCouldBeFinal Local variable 'instance' could be declared final 196
MethodArgumentCouldBeFinal Parameter 'clazz' is not assigned and could be declared final 215
MissingOverride The method 'getInstance(Class, Object, String)' is missing an @Override annotation. 215230
MethodArgumentCouldBeFinal Parameter 'params' is not assigned and could be declared final 215
MethodArgumentCouldBeFinal Parameter 'signature' is not assigned and could be declared final 215
LocalVariableCouldBeFinal Local variable 'instance' could be declared final 219
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 223
MethodArgumentCouldBeFinal Parameter 'instance' is not assigned and could be declared final 241
MissingOverride The method 'putInstance(Object)' is missing an @Override annotation. 241263
ConfusingTernary Avoid if (x != y) ..; else ..; 243262
LocalVariableCouldBeFinal Local variable 'className' could be declared final 246
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 246
UnnecessaryCast Avoid unnecessary casts 247
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 247
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 251
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 252
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 259
MethodArgumentCouldBeFinal Parameter 'className' is not assigned and could be declared final 270
MissingOverride The method 'getCapacity(String)' is missing an @Override annotation. 270289
LocalVariableCouldBeFinal Local variable 'pool' could be declared final 272
UnnecessaryCast Avoid unnecessary casts 272
UnnecessaryCast Avoid unnecessary casts 279
LocalVariableCouldBeFinal Local variable 'cap' could be declared final 279
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 282
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 285
MethodArgumentCouldBeFinal Parameter 'className' is not assigned and could be declared final 299
MethodArgumentCouldBeFinal Parameter 'capacity' is not assigned and could be declared final 299
MissingOverride The method 'setCapacity(String, int)' is missing an @Override annotation. 299306
ConfusingTernary Avoid if (x != y) ..; else ..; 302303
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 303
MissingOverride The method 'getSize(String)' is missing an @Override annotation. 313317
MethodArgumentCouldBeFinal Parameter 'className' is not assigned and could be declared final 313
UnnecessaryCast Avoid unnecessary casts 315
LocalVariableCouldBeFinal Local variable 'pool' could be declared final 315
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 316
ConfusingTernary Avoid if (x != y) ..; else ..; 316
MethodArgumentCouldBeFinal Parameter 'className' is not assigned and could be declared final 325
MissingOverride The method 'clearPool(String)' is missing an @Override annotation. 325334
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 328
MissingOverride The method 'clearPool()' is missing an @Override annotation. 339342
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 341
MethodArgumentCouldBeFinal Parameter 'signature' is not assigned and could be declared final 353
MethodArgumentCouldBeFinal Parameter 'className' is not assigned and could be declared final 353
MethodArgumentCouldBeFinal Parameter 'params' is not assigned and could be declared final 353
LocalVariableCouldBeFinal Local variable 'pool' could be declared final 355
UnnecessaryCast Avoid unnecessary casts 355
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 356
ConfusingTernary Avoid if (x != y) ..; else ..; 356
CognitiveComplexity The method 'configure(Configuration)' has a cognitive complexity of 16, current threshold is 15 374407
MissingOverride The method 'configure(Configuration)' is missing an @Override annotation. 374407
MethodArgumentCouldBeFinal Parameter 'conf' is not assigned and could be declared final 374
LocalVariableCouldBeFinal Local variable 'defaultConf' could be declared final 379
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 380
LocalVariableCouldBeFinal Local variable 'nameVal' could be declared final 386
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 387405
LocalVariableCouldBeFinal Local variable 'key' could be declared final 389
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 390
AvoidInstantiatingObjectsInLoops Avoid instantiating new objects inside loops 400
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 400
MethodArgumentCouldBeFinal Parameter 'manager' is not assigned and could be declared final 416
MissingOverride The method 'service(ServiceManager)' is missing an @Override annotation. 416419
MissingOverride The method 'initialize()' is missing an @Override annotation. 427437
SignatureDeclareThrowsException A method/constructor should not explicitly throw java.lang.Exception 427
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 433
MissingOverride The method 'dispose()' is missing an @Override annotation. 442450
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 448
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 449

org/apache/fulcrum/pool/InitableRecyclable.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'init': the method is declared in an interface type 42

org/apache/fulcrum/pool/ObjectInputStreamForContext.java

Rule Violation Line
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 40
CallSuperInConstructor It is a good practice to call super() in a constructor 4246
ShortVariable Avoid variables with short names like in 55
MethodArgumentCouldBeFinal Parameter 'in' is not assigned and could be declared final 55
MethodArgumentCouldBeFinal Parameter 'loader' is not assigned and could be declared final 56
ShortVariable Avoid variables with short names like v 63
MethodArgumentCouldBeFinal Parameter 'v' is not assigned and could be declared final 63
MissingOverride The method 'resolveClass(ObjectStreamClass)' is missing an @Override annotation. 6369

org/apache/fulcrum/pool/PoolBuffer.java

Rule Violation Line
ImmutableField Private field 'pool' could be made final; it is only initialized in the declaration or constructor. 36
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 36
LongVariable Avoid excessively long variable names like arrayCtorRecyclable 41
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 41
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 46
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 46
MethodArgumentCouldBeFinal Parameter 'capacity' is not assigned and could be declared final 53
MethodArgumentCouldBeFinal Parameter 'isArrayCtor' is not assigned and could be declared final 64
MethodArgumentCouldBeFinal Parameter 'signature' is not assigned and could be declared final 79
MethodArgumentCouldBeFinal Parameter 'factoryService' is not assigned and could be declared final 79
CognitiveComplexity The method 'poll(Object, String, FactoryService)' has a cognitive complexity of 27, current threshold is 15 79126
CyclomaticComplexity The method 'poll(Object, String, FactoryService)' has a cyclomatic complexity of 11. 79126
MethodArgumentCouldBeFinal Parameter 'params' is not assigned and could be declared final 79
LocalVariableCouldBeFinal Local variable 'instance' could be declared final 81
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 94113
LocalVariableCouldBeFinal Local variable 'clazz' could be declared final 101
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 102103
LocalVariableCouldBeFinal Local variable 'cache' could be declared final 106108
ConfusingTernary Avoid if (x != y) ..; else ..; 106108
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 108
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 114
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 119
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 121
MethodArgumentCouldBeFinal Parameter 'instance' is not assigned and could be declared final 134
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 142
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 144
MethodArgumentCouldBeFinal Parameter 'signature' is not assigned and could be declared final 176
LocalVariableCouldBeFinal Local variable 'cache' could be declared final 178
LocalVariableCouldBeFinal Local variable 'recycler' could be declared final 182
IfStmtsMustUseBraces Avoid using if statements without curly braces 185186
ControlStatementBraces This statement should have braces 186
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 186

org/apache/fulcrum/pool/PoolException.java

Rule Violation Line
MethodArgumentCouldBeFinal Parameter 'msg' is not assigned and could be declared final 36
MethodArgumentCouldBeFinal Parameter 'ex' is not assigned and could be declared final 41
ShortVariable Avoid variables with short names like ex 41
MethodArgumentCouldBeFinal Parameter 'ex' is not assigned and could be declared final 46
MethodArgumentCouldBeFinal Parameter 'msg' is not assigned and could be declared final 46
ShortVariable Avoid variables with short names like ex 46

org/apache/fulcrum/pool/PoolService.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifiers 'public static final' on field 'DEFAULT_POOL_CAPACITY': the field is declared in an interface type 47
LongVariable Avoid excessively long variable names like DEFAULT_POOL_CAPACITY 47
UnnecessaryModifier Unnecessary modifier 'public' on method 'getInstance': the method is declared in an interface type 58
UnnecessaryModifier Unnecessary modifier 'public' on method 'getInstance': the method is declared in an interface type 71
UnnecessaryModifier Unnecessary modifier 'public' on method 'putInstance': the method is declared in an interface type 81
UnnecessaryModifier Unnecessary modifier 'public' on method 'getCapacity': the method is declared in an interface type 89
UnnecessaryModifier Unnecessary modifier 'public' on method 'setCapacity': the method is declared in an interface type 98
UnnecessaryModifier Unnecessary modifier 'public' on method 'getSize': the method is declared in an interface type 106
UnnecessaryModifier Unnecessary modifier 'public' on method 'clearPool': the method is declared in an interface type 113

org/apache/fulcrum/pool/Recyclable.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'recycle': the method is declared in an interface type 40
UnnecessaryModifier Unnecessary modifier 'public' on method 'dispose': the method is declared in an interface type 46
UnnecessaryModifier Unnecessary modifier 'public' on method 'isDisposed': the method is declared in an interface type 53

org/apache/fulcrum/pool/Recycler.java

Rule Violation Line
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 33
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 38
MethodArgumentCouldBeFinal Parameter 'sign' is not assigned and could be declared final 46
MethodArgumentCouldBeFinal Parameter 'rec' is not assigned and could be declared final 46
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 49
MethodArgumentCouldBeFinal Parameter 'sign' is not assigned and could be declared final 59
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 63
ConfusingTernary Avoid if (x != y) ..; else ..; 6772
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 69

Priority 4

org/apache/fulcrum/pool/ArrayCtorRecyclable.java

Rule Violation Line
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 41

org/apache/fulcrum/pool/DefaultPoolService.java

Rule Violation Line
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 129
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 156
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 215
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 353

org/apache/fulcrum/pool/PoolBuffer.java

Rule Violation Line
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 176

org/apache/fulcrum/pool/PoolService.java

Rule Violation Line
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 71

org/apache/fulcrum/pool/Recycler.java

Rule Violation Line
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 46
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 59

Priority 5

org/apache/fulcrum/pool/DefaultPoolService.java

Rule Violation Line
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'capacity' (lines '276'-'282'). 276282

Files

org/apache/fulcrum/pool/ArrayCtorRecyclable.java

Rule Violation Priority Line
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 4 41
UnnecessaryModifier Unnecessary modifier 'public' on method 'recycle': the method is declared in an interface type 3 41

org/apache/fulcrum/pool/BoundedBuffer.java

Rule Violation Priority Line
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 40
FieldNamingConventions The final field name 'array_' doesn't match '[a-z][a-zA-Z0-9]*' 1 40
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 42
VariableNamingConventions Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), 'takePtr_' is not final. 1 42
FieldNamingConventions The field name 'takePtr_' doesn't match '[a-z][a-zA-Z0-9]*' 1 42
RedundantFieldInitializer Avoid using redundant field initializer for 'takePtr_' 3 42
FieldNamingConventions The field name 'putPtr_' doesn't match '[a-z][a-zA-Z0-9]*' 1 43
VariableNamingConventions Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), 'putPtr_' is not final. 1 43
RedundantFieldInitializer Avoid using redundant field initializer for 'putPtr_' 3 43
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 43
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 45
RedundantFieldInitializer Avoid using redundant field initializer for 'usedSlots_' 3 45
VariableNamingConventions Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), 'usedSlots_' is not final. 1 45
FieldNamingConventions The field name 'usedSlots_' doesn't match '[a-z][a-zA-Z0-9]*' 1 45
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 46
VariableNamingConventions Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), 'emptySlots_' is not final. 1 46
FieldNamingConventions The field name 'emptySlots_' doesn't match '[a-z][a-zA-Z0-9]*' 1 46
MethodArgumentCouldBeFinal Parameter 'capacity' is not assigned and could be declared final 3 54
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 3 55
IfStmtsMustUseBraces Avoid using if statements without curly braces 3 5758
ControlStatementBraces This statement should have braces 3 58
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 7982
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 99105
IfElseStmtsMustUseBraces Avoid using if...else statements without curly braces 3 102
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 102
ControlStatementBraces This statement should have braces 3 102
ControlStatementBraces This statement should have braces 3 104
IfElseStmtsMustUseBraces Avoid using if...else statements without curly braces 3 104
MethodArgumentCouldBeFinal Parameter 'x' is not assigned and could be declared final 3 113
ShortVariable Avoid variables with short names like x 3 113
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 113129
IfStmtsMustUseBraces Avoid using if statements without curly braces 3 115116
ControlStatementBraces This statement should have braces 3 116
IfStmtsMustUseBraces Avoid using if statements without curly braces 3 122123
AssignmentInOperand Avoid assignments in operands 3 122
ControlStatementBraces This statement should have braces 3 123
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 125
IfElseStmtsMustUseBraces Avoid using if...else statements without curly braces 3 128
ControlStatementBraces This statement should have braces 3 128
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 136151
LocalVariableCouldBeFinal Local variable 'old' could be declared final 3 142
AssignmentInOperand Avoid assignments in operands 3 144
IfStmtsMustUseBraces Avoid using if statements without curly braces 3 144145
ControlStatementBraces This statement should have braces 3 145
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 147
IfElseStmtsMustUseBraces Avoid using if...else statements without curly braces 3 150
ControlStatementBraces This statement should have braces 3 150

org/apache/fulcrum/pool/DefaultPoolService.java

Rule Violation Priority Line
SingleMethodSingleton Class contains multiple getInstance methods. Please review. 2 53451
AtLeastOneConstructor Each class should declare at least one constructor 3 53451
GodClass Possible God Class (WMC=57, ATFD=18, TCC=19.883%) 3 53451
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 63
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 3 68
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 68
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 69
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 70
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 71
MethodArgumentCouldBeFinal Parameter 'className' is not assigned and could be declared final 3 81
SingletonClassReturningNewInstance getInstance method always creates a new object and hence does not comply to Singleton Design Pattern behaviour. Please review 2 8192
LocalVariableCouldBeFinal Local variable 'instance' could be declared final 3 85
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 86
MethodArgumentCouldBeFinal Parameter 'className' is not assigned and could be declared final 3 104
MethodArgumentCouldBeFinal Parameter 'loader' is not assigned and could be declared final 3 104
SingletonClassReturningNewInstance getInstance method always creates a new object and hence does not comply to Singleton Design Pattern behaviour. Please review 2 104115
LocalVariableCouldBeFinal Local variable 'instance' could be declared final 3 108
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 109
MethodArgumentCouldBeFinal Parameter 'params' is not assigned and could be declared final 3 129
MethodArgumentCouldBeFinal Parameter 'signature' is not assigned and could be declared final 3 129
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 4 129
MethodArgumentCouldBeFinal Parameter 'className' is not assigned and could be declared final 3 129
SingletonClassReturningNewInstance getInstance method always creates a new object and hence does not comply to Singleton Design Pattern behaviour. Please review 2 129140
LocalVariableCouldBeFinal Local variable 'instance' could be declared final 3 133
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 134
MethodArgumentCouldBeFinal Parameter 'className' is not assigned and could be declared final 3 156
SingletonClassReturningNewInstance getInstance method always creates a new object and hence does not comply to Singleton Design Pattern behaviour. Please review 2 156168
MethodArgumentCouldBeFinal Parameter 'params' is not assigned and could be declared final 3 156
MethodArgumentCouldBeFinal Parameter 'loader' is not assigned and could be declared final 3 156
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 4 156
MethodArgumentCouldBeFinal Parameter 'signature' is not assigned and could be declared final 3 156
LocalVariableCouldBeFinal Local variable 'instance' could be declared final 3 161
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 162
MethodArgumentCouldBeFinal Parameter 'className' is not assigned and could be declared final 3 177
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 179
AvoidDuplicateLiterals The String literal "unchecked" appears 4 times in this file; the first occurrence is on line 191 3 191
SingletonClassReturningNewInstance getInstance method always creates a new object and hence does not comply to Singleton Design Pattern behaviour. Please review 2 192203
MethodArgumentCouldBeFinal Parameter 'clazz' is not assigned and could be declared final 3 192
MissingOverride The method 'getInstance(Class)' is missing an @Override annotation. 3 192203
LocalVariableCouldBeFinal Local variable 'instance' could be declared final 3 196
MethodArgumentCouldBeFinal Parameter 'clazz' is not assigned and could be declared final 3 215
MissingOverride The method 'getInstance(Class, Object, String)' is missing an @Override annotation. 3 215230
SingletonClassReturningNewInstance getInstance method always creates a new object and hence does not comply to Singleton Design Pattern behaviour. Please review 2 215230
MethodArgumentCouldBeFinal Parameter 'params' is not assigned and could be declared final 3 215
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 4 215
MethodArgumentCouldBeFinal Parameter 'signature' is not assigned and could be declared final 3 215
LocalVariableCouldBeFinal Local variable 'instance' could be declared final 3 219
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 223
MethodArgumentCouldBeFinal Parameter 'instance' is not assigned and could be declared final 3 241
MissingOverride The method 'putInstance(Object)' is missing an @Override annotation. 3 241263
ConfusingTernary Avoid if (x != y) ..; else ..; 3 243262
LocalVariableCouldBeFinal Local variable 'className' could be declared final 3 246
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 246
UnnecessaryCast Avoid unnecessary casts 3 247
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 247
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 251
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 252
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 259
MethodArgumentCouldBeFinal Parameter 'className' is not assigned and could be declared final 3 270
MissingOverride The method 'getCapacity(String)' is missing an @Override annotation. 3 270289
LocalVariableCouldBeFinal Local variable 'pool' could be declared final 3 272
UnnecessaryCast Avoid unnecessary casts 3 272
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'capacity' (lines '276'-'282'). 5 276282
UnnecessaryCast Avoid unnecessary casts 3 279
LocalVariableCouldBeFinal Local variable 'cap' could be declared final 3 279
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 282
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 285
MethodArgumentCouldBeFinal Parameter 'className' is not assigned and could be declared final 3 299
MethodArgumentCouldBeFinal Parameter 'capacity' is not assigned and could be declared final 3 299
MissingOverride The method 'setCapacity(String, int)' is missing an @Override annotation. 3 299306
ConfusingTernary Avoid if (x != y) ..; else ..; 3 302303
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 303
MissingOverride The method 'getSize(String)' is missing an @Override annotation. 3 313317
MethodArgumentCouldBeFinal Parameter 'className' is not assigned and could be declared final 3 313
UnnecessaryCast Avoid unnecessary casts 3 315
LocalVariableCouldBeFinal Local variable 'pool' could be declared final 3 315
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 316
ConfusingTernary Avoid if (x != y) ..; else ..; 3 316
MethodArgumentCouldBeFinal Parameter 'className' is not assigned and could be declared final 3 325
MissingOverride The method 'clearPool(String)' is missing an @Override annotation. 3 325334
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 328
MissingOverride The method 'clearPool()' is missing an @Override annotation. 3 339342
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 341
MethodArgumentCouldBeFinal Parameter 'signature' is not assigned and could be declared final 3 353
MethodArgumentCouldBeFinal Parameter 'className' is not assigned and could be declared final 3 353
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 4 353
MethodArgumentCouldBeFinal Parameter 'params' is not assigned and could be declared final 3 353
LocalVariableCouldBeFinal Local variable 'pool' could be declared final 3 355
UnnecessaryCast Avoid unnecessary casts 3 355
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 356
ConfusingTernary Avoid if (x != y) ..; else ..; 3 356
CognitiveComplexity The method 'configure(Configuration)' has a cognitive complexity of 16, current threshold is 15 3 374407
MissingOverride The method 'configure(Configuration)' is missing an @Override annotation. 3 374407
MethodArgumentCouldBeFinal Parameter 'conf' is not assigned and could be declared final 3 374
LocalVariableCouldBeFinal Local variable 'defaultConf' could be declared final 3 379
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 380
LocalVariableCouldBeFinal Local variable 'nameVal' could be declared final 3 386
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 3 387405
LocalVariableCouldBeFinal Local variable 'key' could be declared final 3 389
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 390
AvoidInstantiatingObjectsInLoops Avoid instantiating new objects inside loops 3 400
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 400
MethodArgumentCouldBeFinal Parameter 'manager' is not assigned and could be declared final 3 416
MissingOverride The method 'service(ServiceManager)' is missing an @Override annotation. 3 416419
MissingOverride The method 'initialize()' is missing an @Override annotation. 3 427437
SignatureDeclareThrowsException A method/constructor should not explicitly throw java.lang.Exception 3 427
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 433
AvoidThrowingRawExceptionTypes Avoid throwing raw exception types. 1 435
MissingOverride The method 'dispose()' is missing an @Override annotation. 3 442450
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 448
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 449

org/apache/fulcrum/pool/InitableRecyclable.java

Rule Violation Priority Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'init': the method is declared in an interface type 3 42

org/apache/fulcrum/pool/ObjectInputStreamForContext.java

Rule Violation Priority Line
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 40
CallSuperInConstructor It is a good practice to call super() in a constructor 3 4246
ShortVariable Avoid variables with short names like in 3 55
MethodArgumentCouldBeFinal Parameter 'in' is not assigned and could be declared final 3 55
MethodArgumentCouldBeFinal Parameter 'loader' is not assigned and could be declared final 3 56
ShortVariable Avoid variables with short names like v 3 63
MethodArgumentCouldBeFinal Parameter 'v' is not assigned and could be declared final 3 63
MissingOverride The method 'resolveClass(ObjectStreamClass)' is missing an @Override annotation. 3 6369

org/apache/fulcrum/pool/PoolBuffer.java

Rule Violation Priority Line
ImmutableField Private field 'pool' could be made final; it is only initialized in the declaration or constructor. 3 36
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 36
LongVariable Avoid excessively long variable names like arrayCtorRecyclable 3 41
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 41
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 3 46
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 46
MethodArgumentCouldBeFinal Parameter 'capacity' is not assigned and could be declared final 3 53
MethodArgumentCouldBeFinal Parameter 'isArrayCtor' is not assigned and could be declared final 3 64
MethodArgumentCouldBeFinal Parameter 'signature' is not assigned and could be declared final 3 79
MethodArgumentCouldBeFinal Parameter 'factoryService' is not assigned and could be declared final 3 79
CognitiveComplexity The method 'poll(Object, String, FactoryService)' has a cognitive complexity of 27, current threshold is 15 3 79126
CyclomaticComplexity The method 'poll(Object, String, FactoryService)' has a cyclomatic complexity of 11. 3 79126
MethodArgumentCouldBeFinal Parameter 'params' is not assigned and could be declared final 3 79
LocalVariableCouldBeFinal Local variable 'instance' could be declared final 3 81
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 3 94113
LocalVariableCouldBeFinal Local variable 'clazz' could be declared final 3 101
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 102103
LocalVariableCouldBeFinal Local variable 'cache' could be declared final 3 106108
ConfusingTernary Avoid if (x != y) ..; else ..; 3 106108
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 108
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 114
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 119
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 121
MethodArgumentCouldBeFinal Parameter 'instance' is not assigned and could be declared final 3 134
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 142
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 144
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 4 176
MethodArgumentCouldBeFinal Parameter 'signature' is not assigned and could be declared final 3 176
LocalVariableCouldBeFinal Local variable 'cache' could be declared final 3 178
LocalVariableCouldBeFinal Local variable 'recycler' could be declared final 3 182
IfStmtsMustUseBraces Avoid using if statements without curly braces 3 185186
ControlStatementBraces This statement should have braces 3 186
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 186

org/apache/fulcrum/pool/PoolException.java

Rule Violation Priority Line
MethodArgumentCouldBeFinal Parameter 'msg' is not assigned and could be declared final 3 36
MethodArgumentCouldBeFinal Parameter 'ex' is not assigned and could be declared final 3 41
ShortVariable Avoid variables with short names like ex 3 41
MethodArgumentCouldBeFinal Parameter 'ex' is not assigned and could be declared final 3 46
MethodArgumentCouldBeFinal Parameter 'msg' is not assigned and could be declared final 3 46
ShortVariable Avoid variables with short names like ex 3 46

org/apache/fulcrum/pool/PoolService.java

Rule Violation Priority Line
SingleMethodSingleton Class contains multiple getInstance methods. Please review. 2 39120
UnnecessaryModifier Unnecessary modifiers 'public static final' on field 'DEFAULT_POOL_CAPACITY': the field is declared in an interface type 3 47
LongVariable Avoid excessively long variable names like DEFAULT_POOL_CAPACITY 3 47
UnnecessaryModifier Unnecessary modifier 'public' on method 'getInstance': the method is declared in an interface type 3 58
UnnecessaryModifier Unnecessary modifier 'public' on method 'getInstance': the method is declared in an interface type 3 71
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 4 71
UnnecessaryModifier Unnecessary modifier 'public' on method 'putInstance': the method is declared in an interface type 3 81
UnnecessaryModifier Unnecessary modifier 'public' on method 'getCapacity': the method is declared in an interface type 3 89
UnnecessaryModifier Unnecessary modifier 'public' on method 'setCapacity': the method is declared in an interface type 3 98
UnnecessaryModifier Unnecessary modifier 'public' on method 'getSize': the method is declared in an interface type 3 106
UnnecessaryModifier Unnecessary modifier 'public' on method 'clearPool': the method is declared in an interface type 3 113

org/apache/fulcrum/pool/Recyclable.java

Rule Violation Priority Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'recycle': the method is declared in an interface type 3 40
UnnecessaryModifier Unnecessary modifier 'public' on method 'dispose': the method is declared in an interface type 3 46
UnnecessaryModifier Unnecessary modifier 'public' on method 'isDisposed': the method is declared in an interface type 3 53

org/apache/fulcrum/pool/Recycler.java

Rule Violation Priority Line
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 33
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 38
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 4 46
MethodArgumentCouldBeFinal Parameter 'sign' is not assigned and could be declared final 3 46
MethodArgumentCouldBeFinal Parameter 'rec' is not assigned and could be declared final 3 46
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 49
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 4 59
MethodArgumentCouldBeFinal Parameter 'sign' is not assigned and could be declared final 3 59
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 63
ConfusingTernary Avoid if (x != y) ..; else ..; 3 6772
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 69