PMD Results

The following document contains the results of PMD 4.3.

Files

com/squeakysand/sling/SlingUtils.java

ViolationLine
All methods are static. Consider using Singleton instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.34 - 86
Parameter 'descendentNode' is not assigned and could be declared final42
Parameter 'slingResourceType' is not assigned and could be declared final42
Local variable 'simpleDescendentNode' could be declared final43
Parameter 'resourcePath' is not assigned and could be declared final47
Parameter 'resourceResolver' is not assigned and could be declared final47
Parameter 'node' is not assigned and could be declared final59
Avoid using Literals in Conditional Statements61
Local variable 'simpleNode' could be declared final62
Parameter 'slingRequest' is not assigned and could be declared final69
Local variable 'requestPathInfo' could be declared final70
Local variable 'selectors' could be declared final71
Parameter 'selector' is not assigned and could be declared final78
Parameter 'slingRequest' is not assigned and could be declared final78
Local variable 'selectors' could be declared final80

com/squeakysand/sling/request/RequestPathInfoFactory.java

ViolationLine
All methods are static. Consider using Singleton instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.17 - 142
Avoid unused private fields such as 'LOG'.21
Found non-transient, non-static member. Please mark as transient or provide accessors.23
Found non-transient, non-static member. Please mark as transient or provide accessors.24
Found non-transient, non-static member. Please mark as transient or provide accessors.25
Found non-transient, non-static member. Please mark as transient or provide accessors.26
Found non-transient, non-static member. Please mark as transient or provide accessors.27
Avoid reassigning parameters such as 'urlPath'32
Avoid reassigning parameters such as 'urlPath'32
Avoid reassigning parameters such as 'urlPath'32
Avoid reassigning parameters such as 'urlPath'32
Avoid using Literals in Conditional Statements33
This call to String.startsWith can be rewritten using String.charAt(0)36
Local variable 'extPlusSuffix' could be declared final42
Assigning an Object to null is a code smell. Consider refactoring.53
Assigning an Object to null is a code smell. Consider refactoring.73
Avoid using Literals in Conditional Statements76
Assigning an Object to null is a code smell. Consider refactoring.77
Assigning an Object to null is a code smell. Consider refactoring.85
Assigning an Object to null is a code smell. Consider refactoring.87
Assigning an Object to null is a code smell. Consider refactoring.88
Returning 'selectors' may expose an internal array.113
Parameter 'resource' is not assigned and could be declared final134
Parameter 'path' is not assigned and could be declared final138

test/squeakysand/sling/RequestPathInfoFactoryTest.java

ViolationLine
Document empty method22 - 23
A method/constructor shouldn't explicitly throw java.lang.Exception22
A method/constructor shouldn't explicitly throw java.lang.Exception22
Document empty method26 - 27
A method/constructor shouldn't explicitly throw java.lang.Exception26
A method/constructor shouldn't explicitly throw java.lang.Exception26
Document empty method30 - 31
Document empty method34 - 35
Local variable 'pathInfo' could be declared final39
The String literal "/a/b" appears 8 times in this file; the first occurrence is on line 3939
JUnit assertions should include a message40
JUnit assertions should include a message41
JUnit assertions should include a message42
JUnit assertions should include a message43
JUnit assertions should include a message44
Local variable 'pathInfo' could be declared final49
JUnit assertions should include a message50
JUnit assertions should include a message51
JUnit assertions should include a message52
JUnit assertions should include a message53
The String literal "html" appears 6 times in this file; the first occurrence is on line 5353
JUnit assertions should include a message54
Local variable 'pathInfo' could be declared final59
JUnit assertions should include a message60
JUnit assertions should include a message61
JUnit assertions should include a message62
JUnit assertions should include a message63
JUnit assertions should include a message64
JUnit assertions should include a message65
JUnit assertions should include a message66
Local variable 'pathInfo' could be declared final71
JUnit assertions should include a message72
JUnit assertions should include a message73
JUnit assertions should include a message74
JUnit assertions should include a message75
JUnit assertions should include a message76
JUnit assertions should include a message77
JUnit assertions should include a message78
Local variable 'pathInfo' could be declared final83
JUnit assertions should include a message84
JUnit assertions should include a message85
JUnit assertions should include a message86
JUnit assertions should include a message87
JUnit assertions should include a message88
JUnit assertions should include a message89
Local variable 'pathInfo' could be declared final94
JUnit assertions should include a message95
JUnit assertions should include a message96
JUnit assertions should include a message97
JUnit assertions should include a message98
JUnit assertions should include a message99
JUnit assertions should include a message100
Local variable 'pathInfo' could be declared final105
JUnit assertions should include a message106
JUnit assertions should include a message107
JUnit assertions should include a message108
JUnit assertions should include a message109
JUnit assertions should include a message110