Fork me on GitHub

PMD Results

The following document contains the results of PMD 6.13.0.

Violations By Priority

Priority 1

fr/paris/lutece/plugins/seo/business/FriendlyUrlDAO.java

Rule Violation Line
LocalVariableNamingConventions The local variable name 'query_columns' doesn't match '[a-z][a-zA-Z0-9]*' 85
LocalVariableNamingConventions The local variable name 'query_values' doesn't match '[a-z][a-zA-Z0-9]*' 86

fr/paris/lutece/plugins/seo/service/SEODataKeys.java

Rule Violation Line
ClassNamingConventions The utility class name 'SEODataKeys' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' 3963

Priority 2

fr/paris/lutece/plugins/seo/service/FriendlyUrlUtils.java

Rule Violation Line
GuardLogStatement Logger calls should be surrounded by log level guards. 111

Priority 3

fr/paris/lutece/plugins/seo/business/FriendlyUrl.java

Rule Violation Line
ShortVariable Avoid variables with short names like o 269

fr/paris/lutece/plugins/seo/business/FriendlyUrlDAO.java

Rule Violation Line
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 223

fr/paris/lutece/plugins/seo/business/IFriendlyUrlDAO.java

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

fr/paris/lutece/plugins/seo/business/UrlRewriterRuleDAO.java

Rule Violation Line
MissingOverride The method 'insert(UrlRewriterRule, Plugin)' is missing an @Override annotation. 89101
MissingOverride The method 'load(int, Plugin)' is missing an @Override annotation. 112132
MissingOverride The method 'delete(int, Plugin)' is missing an @Override annotation. 142148
MissingOverride The method 'store(UrlRewriterRule, Plugin)' is missing an @Override annotation. 158169
MissingOverride The method 'selectUrlRewriterRulesList(Plugin)' is missing an @Override annotation. 178198
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 180

fr/paris/lutece/plugins/seo/service/CanonicalUrlService.java

Rule Violation Line
AssignmentToNonFinalStatic Possible unsafe assignment to a non-final static field in a constructor. 53
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 6871
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 110
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 111
ShortVariable Avoid variables with short names like sb 134
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 134
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 144
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 145
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 146
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 147
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 148

fr/paris/lutece/plugins/seo/service/FriendlyUrlService.java

Rule Violation Line
AssignmentToNonFinalStatic Possible unsafe assignment to a non-final static field in a constructor. 53
CallSuperInConstructor It is a good practice to call super() in a constructor 5862
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 7881
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 94
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the getCanonicalUrlMap method if you want a default access modifier 112132
DefaultPackage Use explicit scoping instead of the default package private level 112132
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 118

fr/paris/lutece/plugins/seo/service/FriendlyUrlUtils.java

Rule Violation Line
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 69
ConfusingTernary Avoid if (x != y) ..; else ..; 107

fr/paris/lutece/plugins/seo/service/PanelService.java

Rule Violation Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 6575
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 114133
ShortVariable Avoid variables with short names like o1 126
ShortVariable Avoid variables with short names like o2 126
ShortVariable Avoid variables with short names like p1 128
ShortVariable Avoid variables with short names like p2 129

fr/paris/lutece/plugins/seo/service/RuleFileService.java

Rule Violation Line
ShortVariable Avoid variables with short names like t 106

fr/paris/lutece/plugins/seo/service/generator/FriendlyUrlGeneratorDaemon.java

Rule Violation Line
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 76

fr/paris/lutece/plugins/seo/service/generator/FriendlyUrlGeneratorService.java

Rule Violation Line
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 54
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 6979
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 91
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 109
ShortVariable Avoid variables with short names like gs 113
ConfusingTernary Avoid if (x != y) ..; else ..; 153172

fr/paris/lutece/plugins/seo/service/sitemap/SitemapService.java

Rule Violation Line
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 87
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 87
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 127

fr/paris/lutece/plugins/seo/service/sitemap/SitemapUtils.java

Rule Violation Line
SimpleDateFormatNeedsLocale When instantiating a SimpleDateFormat object, specify a Locale 53
UnsynchronizedStaticFormatter Static Formatter objects should be accessed in a synchronized manner 71
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 8386
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 100103

fr/paris/lutece/plugins/seo/web/FriendlyUrlJspBean.java

Rule Violation Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 69595
TooManyMethods This class has too many methods, consider refactoring it. 70595
SingularField Perhaps '_nDefaultItemsPerPage' could be replaced by a local variable. 141
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 166
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 166
AddEmptyString Do not add empty strings 168
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 186
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 282
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 283
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 284
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 285
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 565
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 565

fr/paris/lutece/plugins/seo/web/SEOJspBean.java

Rule Violation Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 4983
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 76

fr/paris/lutece/plugins/seo/web/SEOPanelJspBean.java

Rule Violation Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 46105

fr/paris/lutece/plugins/seo/web/SitemapJspBean.java

Rule Violation Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 51148
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 122
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 122

fr/paris/lutece/plugins/seo/web/UrlRewriterAdminJspBean.java

Rule Violation Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 63356
SingularField Perhaps '_nDefaultItemsPerPage' could be replaced by a local variable. 111
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 136
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 136
AddEmptyString Do not add empty strings 138

Files

fr/paris/lutece/plugins/seo/business/FriendlyUrl.java

Rule Violation Priority Line
ShortVariable Avoid variables with short names like o 3 269

fr/paris/lutece/plugins/seo/business/FriendlyUrlDAO.java

Rule Violation Priority Line
LocalVariableNamingConventions The local variable name 'query_columns' doesn't match '[a-z][a-zA-Z0-9]*' 1 85
LocalVariableNamingConventions The local variable name 'query_values' doesn't match '[a-z][a-zA-Z0-9]*' 1 86
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 223

fr/paris/lutece/plugins/seo/business/IFriendlyUrlDAO.java

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

fr/paris/lutece/plugins/seo/business/UrlRewriterRuleDAO.java

Rule Violation Priority Line
MissingOverride The method 'insert(UrlRewriterRule, Plugin)' is missing an @Override annotation. 3 89101
MissingOverride The method 'load(int, Plugin)' is missing an @Override annotation. 3 112132
MissingOverride The method 'delete(int, Plugin)' is missing an @Override annotation. 3 142148
MissingOverride The method 'store(UrlRewriterRule, Plugin)' is missing an @Override annotation. 3 158169
MissingOverride The method 'selectUrlRewriterRulesList(Plugin)' is missing an @Override annotation. 3 178198
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 180

fr/paris/lutece/plugins/seo/service/CanonicalUrlService.java

Rule Violation Priority Line
AssignmentToNonFinalStatic Possible unsafe assignment to a non-final static field in a constructor. 3 53
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 6871
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 110
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 111
ShortVariable Avoid variables with short names like sb 3 134
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 134
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 144
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 145
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 146
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 147
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 148

fr/paris/lutece/plugins/seo/service/FriendlyUrlService.java

Rule Violation Priority Line
AssignmentToNonFinalStatic Possible unsafe assignment to a non-final static field in a constructor. 3 53
CallSuperInConstructor It is a good practice to call super() in a constructor 3 5862
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 7881
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 94
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the getCanonicalUrlMap method if you want a default access modifier 3 112132
DefaultPackage Use explicit scoping instead of the default package private level 3 112132
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 118

fr/paris/lutece/plugins/seo/service/FriendlyUrlUtils.java

Rule Violation Priority Line
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 3 69
ConfusingTernary Avoid if (x != y) ..; else ..; 3 107
GuardLogStatement Logger calls should be surrounded by log level guards. 2 111

fr/paris/lutece/plugins/seo/service/PanelService.java

Rule Violation Priority Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 6575
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 114133
ShortVariable Avoid variables with short names like o1 3 126
ShortVariable Avoid variables with short names like o2 3 126
ShortVariable Avoid variables with short names like p1 3 128
ShortVariable Avoid variables with short names like p2 3 129

fr/paris/lutece/plugins/seo/service/RuleFileService.java

Rule Violation Priority Line
ShortVariable Avoid variables with short names like t 3 106

fr/paris/lutece/plugins/seo/service/SEODataKeys.java

Rule Violation Priority Line
ClassNamingConventions The utility class name 'SEODataKeys' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' 1 3963

fr/paris/lutece/plugins/seo/service/generator/FriendlyUrlGeneratorDaemon.java

Rule Violation Priority Line
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 76

fr/paris/lutece/plugins/seo/service/generator/FriendlyUrlGeneratorService.java

Rule Violation Priority Line
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 54
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 6979
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 91
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 109
ShortVariable Avoid variables with short names like gs 3 113
ConfusingTernary Avoid if (x != y) ..; else ..; 3 153172

fr/paris/lutece/plugins/seo/service/sitemap/SitemapService.java

Rule Violation Priority Line
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 87
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 87
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 127

fr/paris/lutece/plugins/seo/service/sitemap/SitemapUtils.java

Rule Violation Priority Line
SimpleDateFormatNeedsLocale When instantiating a SimpleDateFormat object, specify a Locale 3 53
UnsynchronizedStaticFormatter Static Formatter objects should be accessed in a synchronized manner 3 71
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 3 8386
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 3 100103

fr/paris/lutece/plugins/seo/web/FriendlyUrlJspBean.java

Rule Violation Priority Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 69595
TooManyMethods This class has too many methods, consider refactoring it. 3 70595
SingularField Perhaps '_nDefaultItemsPerPage' could be replaced by a local variable. 3 141
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 166
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 166
AddEmptyString Do not add empty strings 3 168
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 186
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 282
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 283
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 284
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 285
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 565
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 565

fr/paris/lutece/plugins/seo/web/SEOJspBean.java

Rule Violation Priority Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 4983
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 76

fr/paris/lutece/plugins/seo/web/SEOPanelJspBean.java

Rule Violation Priority Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 46105

fr/paris/lutece/plugins/seo/web/SitemapJspBean.java

Rule Violation Priority Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 51148
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 122
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 122

fr/paris/lutece/plugins/seo/web/UrlRewriterAdminJspBean.java

Rule Violation Priority Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 63356
SingularField Perhaps '_nDefaultItemsPerPage' could be replaced by a local variable. 3 111
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 136
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 136
AddEmptyString Do not add empty strings 3 138