Fork me on GitHub

PMD Results

The following document contains the results of PMD 6.13.0.

Violations By Priority

Priority 3

fr/paris/lutece/plugins/contact/business/Contact.java

Rule Violation Line
NonThreadSafeSingleton Singleton is not thread safe 65–69
MissingOverride The method 'getWorkgroup()' is missing an @Override annotation. 161–164

fr/paris/lutece/plugins/contact/business/ContactDAO.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 47–459
MissingOverride The method 'insert(Contact, Plugin)' is missing an @Override annotation. 107–118
MissingOverride The method 'load(int, Plugin)' is missing an @Override annotation. 129–149
MissingOverride The method 'delete(Contact, Plugin)' is missing an @Override annotation. 159–165
MissingOverride The method 'store(Contact, Plugin)' is missing an @Override annotation. 175–187
MissingOverride The method 'selectContactsByListWithString(int, String, Plugin)' is missing an @Override annotation. 200–216
MissingOverride The method 'selectAll(Plugin)' is missing an @Override annotation. 225–245
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 227
MissingOverride The method 'updateHits(int, int, Plugin)' is missing an @Override annotation. 257–267
MissingOverride The method 'storeContactOrder(int, int, int, Plugin)' is missing an @Override annotation. 382–390
MissingOverride The method 'selectContactIdByOrder(int, int, Plugin)' is missing an @Override annotation. 403–424
ConfusingTernary Avoid if (x != y) ..; else ..; 411–419
MissingOverride The method 'selectContactOrderById(int, int, Plugin)' is missing an @Override annotation. 437–458
ConfusingTernary Avoid if (x != y) ..; else ..; 445–453

fr/paris/lutece/plugins/contact/business/ContactList.java

Rule Violation Line
NonThreadSafeSingleton Singleton is not thread safe 71–75
NonThreadSafeSingleton Singleton is not thread safe 77–81
MissingOverride The method 'getWorkgroup()' is missing an @Override annotation. 173–176
CommentRequired Public method and constructor comments are required 239–242
CommentRequired Public method and constructor comments are required 244–247
CommentRequired Public method and constructor comments are required 249–252
CommentRequired Public method and constructor comments are required 254–257

fr/paris/lutece/plugins/contact/business/ContactListDAO.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 46–723
MissingOverride The method 'insert(ContactList, Plugin)' is missing an @Override annotation. 116–130
MissingOverride The method 'load(int, Plugin)' is missing an @Override annotation. 141–164
MissingOverride The method 'selectAll(Plugin)' is missing an @Override annotation. 173–195
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 175
MissingOverride The method 'selectByRoleKey(String, Plugin)' is missing an @Override annotation. 206–228
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 208
MissingOverride The method 'countContactsForList(int, Plugin)' is missing an @Override annotation. 239–254
MissingOverride The method 'countListsForContact(int, Plugin)' is missing an @Override annotation. 265–280
MissingOverride The method 'listExists(int, Plugin)' is missing an @Override annotation. 291–312
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 306
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 306–309
MissingOverride The method 'selectContactsForList(int, Plugin)' is missing an @Override annotation. 323–344
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 329
MissingOverride The method 'isAssigned(int, int, Plugin)' is missing an @Override annotation. 357–379
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 373–376
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 373
MissingOverride The method 'assign(int, int, Plugin)' is missing an @Override annotation. 391–400
MissingOverride The method 'unAssign(int, int, Plugin)' is missing an @Override annotation. 412–419
MissingOverride The method 'selectNotAssignedContactsFor(int, Plugin)' is missing an @Override annotation. 430–451
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 436
MissingOverride The method 'selectAssignedListsFor(int, Plugin)' is missing an @Override annotation. 462–483
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 468
MissingOverride The method 'selectNotAssignedListsFor(int, Plugin)' is missing an @Override annotation. 494–516
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 500
MissingOverride The method 'delete(int, Plugin)' is missing an @Override annotation. 526–532
MissingOverride The method 'unassignContactsForList(int, Plugin)' is missing an @Override annotation. 542–548
MissingOverride The method 'unassignListsForContact(int, Plugin)' is missing an @Override annotation. 558–564
MissingOverride The method 'store(ContactList, Plugin)' is missing an @Override annotation. 574–589
MissingOverride The method 'storeContactListOrder(int, int, Plugin)' is missing an @Override annotation. 604–611
MissingOverride The method 'selectContactListIdByOrder(int, Plugin)' is missing an @Override annotation. 622–642
ConfusingTernary Avoid if (x != y) ..; else ..; 629–637
MissingOverride The method 'selectContactListOrderById(int, Plugin)' is missing an @Override annotation. 653–673
ConfusingTernary Avoid if (x != y) ..; else ..; 660–668
MissingOverride The method 'maxOrderContactList(Plugin)' is missing an @Override annotation. 682–696
MissingOverride The method 'maxOrderContact(int, Plugin)' is missing an @Override annotation. 707–722

fr/paris/lutece/plugins/contact/business/ContactListHome.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 45–388

fr/paris/lutece/plugins/contact/business/ContactListRoleRemovalListener.java

Rule Violation Line
MissingOverride The method 'canBeRemoved(String)' is missing an @Override annotation. 58–73
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 67
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 67–70
MissingOverride The method 'getRemovalRefusedMessage(String, Locale)' is missing an @Override annotation. 84–88

fr/paris/lutece/plugins/contact/business/IContactListDAO.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 44–297

fr/paris/lutece/plugins/contact/service/ContactListPlugin.java

Rule Violation Line
MissingOverride The method 'init()' is missing an @Override annotation. 48–51

fr/paris/lutece/plugins/contact/service/ContactListWorkgroupRemovalListener.java

Rule Violation Line
MissingOverride The method 'canBeRemoved(String)' is missing an @Override annotation. 59–78
MissingOverride The method 'getRemovalRefusedMessage(String, Locale)' is missing an @Override annotation. 89–93

fr/paris/lutece/plugins/contact/service/ContactPlugin.java

Rule Violation Line
MissingOverride The method 'init()' is missing an @Override annotation. 48–51

fr/paris/lutece/plugins/contact/service/ContactWorkgroupRemovalListener.java

Rule Violation Line
MissingOverride The method 'canBeRemoved(String)' is missing an @Override annotation. 92–111
MissingOverride The method 'getRemovalRefusedMessage(String, Locale)' is missing an @Override annotation. 122–126

fr/paris/lutece/plugins/contact/web/ContactApp.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–531
CyclomaticComplexity The method 'getForm(HttpServletRequest)' has a cyclomatic complexity of 31. 214–355
ExcessiveMethodLength Avoid really long methods. 214–355
NPathComplexity The method 'getForm(HttpServletRequest)' has an NPath complexity of 14174208 214–355
NcssCount The method 'getForm(HttpServletRequest)' has a NCSS line count of 86. 214–355
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 217
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 217
ConfusingTernary Avoid if (x != y) ..; else ..; 232
ConfusingTernary Avoid if (x != y) ..; else ..; 233
ConfusingTernary Avoid if (x != y) ..; else ..; 234
ConfusingTernary Avoid if (x != y) ..; else ..; 235
ConfusingTernary Avoid if (x != y) ..; else ..; 236
ConfusingTernary Avoid if (x != y) ..; else ..; 237
ConfusingTernary Avoid if (x != y) ..; else ..; 238
AvoidDuplicateLiterals The String literal "error" appears 6 times in this file; the first occurrence is on line 242 242
PositionLiteralsFirstInComparisons Position literals first in String comparisons 242
PositionLiteralsFirstInComparisons Position literals first in String comparisons 243
SimplifyBooleanExpressions Avoid unnecessary comparisons in boolean expressions 244
PositionLiteralsFirstInComparisons Position literals first in String comparisons 244
PositionLiteralsFirstInComparisons Position literals first in String comparisons 245
PositionLiteralsFirstInComparisons Position literals first in String comparisons 246
PositionLiteralsFirstInComparisons Position literals first in String comparisons 247
PositionLiteralsFirstInComparisons Position literals first in String comparisons 250
PositionLiteralsFirstInComparisons Position literals first in String comparisons 260
PositionLiteralsFirstInComparisons Position literals first in String comparisons 266
PositionLiteralsFirstInComparisons Position literals first in String comparisons 272
PositionLiteralsFirstInComparisons Position literals first in String comparisons 278
PositionLiteralsFirstInComparisons Position literals first in String comparisons 284
PositionLiteralsFirstInComparisons Position literals first in String comparisons 289
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 369
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 369
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 369
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 372
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 382
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 387
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 396
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 396
NcssCount The method 'doSendMessage(HttpServletRequest)' has a NCSS line count of 65. 417–530
ExcessiveMethodLength Avoid really long methods. 417–530
NPathComplexity The method 'doSendMessage(HttpServletRequest)' has an NPath complexity of 129024 417–530
CyclomaticComplexity The method 'doSendMessage(HttpServletRequest)' has a cyclomatic complexity of 22. 417–530
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 426
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 428
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 429
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 432
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 432
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 468
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 469
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 472
PositionLiteralsFirstInComparisons Position literals first in String comparisons 478
PositionLiteralsFirstInComparisons Position literals first in String comparisons 478
PositionLiteralsFirstInComparisons Position literals first in String comparisons 478
PositionLiteralsFirstInComparisons Position literals first in String comparisons 478
PositionLiteralsFirstInComparisons Position literals first in String comparisons 479
PositionLiteralsFirstInComparisons Position literals first in String comparisons 479
SimplifyBooleanExpressions Avoid unnecessary comparisons in boolean expressions 488
CollapsibleIfStatements These nested if statements could be combined 501–506
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 509
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 509
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 525
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 525

fr/paris/lutece/plugins/contact/web/ContactJspBean.java

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

fr/paris/lutece/plugins/contact/web/ContactListJspBean.java

Rule Violation Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 71–679
TooManyMethods This class has too many methods, consider refactoring it. 72–679
SingularField Perhaps '_nDefaultItemsPerPage' could be replaced by a local variable. 148
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 173
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 173
AddEmptyString Do not add empty strings 175
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 193
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 193
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 213
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 216
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 217
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 218
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 219
PositionLiteralsFirstInComparisons Position literals first in String comparisons 221
PositionLiteralsFirstInComparisons Position literals first in String comparisons 221
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 248
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 248
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 248
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 252
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 372
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 372
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 405–411
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 482
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 482
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 513–519

Priority 4

fr/paris/lutece/plugins/contact/business/ContactList.java

Rule Violation Line
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 239–242

fr/paris/lutece/plugins/contact/web/ContactJspBean.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.web.admin.PluginAdminPageJspBean' 48

fr/paris/lutece/plugins/contact/web/ContactListJspBean.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.service.template.AppTemplateService' 43
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.web.admin.PluginAdminPageJspBean' 51
UnusedImports Avoid unused imports such as 'fr.paris.lutece.util.html.HtmlTemplate' 56

Files

fr/paris/lutece/plugins/contact/business/Contact.java

Rule Violation Priority Line
NonThreadSafeSingleton Singleton is not thread safe 3 65–69
MissingOverride The method 'getWorkgroup()' is missing an @Override annotation. 3 161–164

fr/paris/lutece/plugins/contact/business/ContactDAO.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 47–459
MissingOverride The method 'insert(Contact, Plugin)' is missing an @Override annotation. 3 107–118
MissingOverride The method 'load(int, Plugin)' is missing an @Override annotation. 3 129–149
MissingOverride The method 'delete(Contact, Plugin)' is missing an @Override annotation. 3 159–165
MissingOverride The method 'store(Contact, Plugin)' is missing an @Override annotation. 3 175–187
MissingOverride The method 'selectContactsByListWithString(int, String, Plugin)' is missing an @Override annotation. 3 200–216
MissingOverride The method 'selectAll(Plugin)' is missing an @Override annotation. 3 225–245
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 227
MissingOverride The method 'updateHits(int, int, Plugin)' is missing an @Override annotation. 3 257–267
MissingOverride The method 'storeContactOrder(int, int, int, Plugin)' is missing an @Override annotation. 3 382–390
MissingOverride The method 'selectContactIdByOrder(int, int, Plugin)' is missing an @Override annotation. 3 403–424
ConfusingTernary Avoid if (x != y) ..; else ..; 3 411–419
MissingOverride The method 'selectContactOrderById(int, int, Plugin)' is missing an @Override annotation. 3 437–458
ConfusingTernary Avoid if (x != y) ..; else ..; 3 445–453

fr/paris/lutece/plugins/contact/business/ContactList.java

Rule Violation Priority Line
NonThreadSafeSingleton Singleton is not thread safe 3 71–75
NonThreadSafeSingleton Singleton is not thread safe 3 77–81
MissingOverride The method 'getWorkgroup()' is missing an @Override annotation. 3 173–176
CommentRequired Public method and constructor comments are required 3 239–242
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 4 239–242
CommentRequired Public method and constructor comments are required 3 244–247
CommentRequired Public method and constructor comments are required 3 249–252
CommentRequired Public method and constructor comments are required 3 254–257

fr/paris/lutece/plugins/contact/business/ContactListDAO.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 46–723
MissingOverride The method 'insert(ContactList, Plugin)' is missing an @Override annotation. 3 116–130
MissingOverride The method 'load(int, Plugin)' is missing an @Override annotation. 3 141–164
MissingOverride The method 'selectAll(Plugin)' is missing an @Override annotation. 3 173–195
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 175
MissingOverride The method 'selectByRoleKey(String, Plugin)' is missing an @Override annotation. 3 206–228
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 208
MissingOverride The method 'countContactsForList(int, Plugin)' is missing an @Override annotation. 3 239–254
MissingOverride The method 'countListsForContact(int, Plugin)' is missing an @Override annotation. 3 265–280
MissingOverride The method 'listExists(int, Plugin)' is missing an @Override annotation. 3 291–312
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 306
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 3 306–309
MissingOverride The method 'selectContactsForList(int, Plugin)' is missing an @Override annotation. 3 323–344
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 329
MissingOverride The method 'isAssigned(int, int, Plugin)' is missing an @Override annotation. 3 357–379
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 3 373–376
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 373
MissingOverride The method 'assign(int, int, Plugin)' is missing an @Override annotation. 3 391–400
MissingOverride The method 'unAssign(int, int, Plugin)' is missing an @Override annotation. 3 412–419
MissingOverride The method 'selectNotAssignedContactsFor(int, Plugin)' is missing an @Override annotation. 3 430–451
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 436
MissingOverride The method 'selectAssignedListsFor(int, Plugin)' is missing an @Override annotation. 3 462–483
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 468
MissingOverride The method 'selectNotAssignedListsFor(int, Plugin)' is missing an @Override annotation. 3 494–516
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 500
MissingOverride The method 'delete(int, Plugin)' is missing an @Override annotation. 3 526–532
MissingOverride The method 'unassignContactsForList(int, Plugin)' is missing an @Override annotation. 3 542–548
MissingOverride The method 'unassignListsForContact(int, Plugin)' is missing an @Override annotation. 3 558–564
MissingOverride The method 'store(ContactList, Plugin)' is missing an @Override annotation. 3 574–589
MissingOverride The method 'storeContactListOrder(int, int, Plugin)' is missing an @Override annotation. 3 604–611
MissingOverride The method 'selectContactListIdByOrder(int, Plugin)' is missing an @Override annotation. 3 622–642
ConfusingTernary Avoid if (x != y) ..; else ..; 3 629–637
MissingOverride The method 'selectContactListOrderById(int, Plugin)' is missing an @Override annotation. 3 653–673
ConfusingTernary Avoid if (x != y) ..; else ..; 3 660–668
MissingOverride The method 'maxOrderContactList(Plugin)' is missing an @Override annotation. 3 682–696
MissingOverride The method 'maxOrderContact(int, Plugin)' is missing an @Override annotation. 3 707–722

fr/paris/lutece/plugins/contact/business/ContactListHome.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 45–388

fr/paris/lutece/plugins/contact/business/ContactListRoleRemovalListener.java

Rule Violation Priority Line
MissingOverride The method 'canBeRemoved(String)' is missing an @Override annotation. 3 58–73
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 3 67
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 3 67–70
MissingOverride The method 'getRemovalRefusedMessage(String, Locale)' is missing an @Override annotation. 3 84–88

fr/paris/lutece/plugins/contact/business/IContactListDAO.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 44–297

fr/paris/lutece/plugins/contact/service/ContactListPlugin.java

Rule Violation Priority Line
MissingOverride The method 'init()' is missing an @Override annotation. 3 48–51

fr/paris/lutece/plugins/contact/service/ContactListWorkgroupRemovalListener.java

Rule Violation Priority Line
MissingOverride The method 'canBeRemoved(String)' is missing an @Override annotation. 3 59–78
MissingOverride The method 'getRemovalRefusedMessage(String, Locale)' is missing an @Override annotation. 3 89–93

fr/paris/lutece/plugins/contact/service/ContactPlugin.java

Rule Violation Priority Line
MissingOverride The method 'init()' is missing an @Override annotation. 3 48–51

fr/paris/lutece/plugins/contact/service/ContactWorkgroupRemovalListener.java

Rule Violation Priority Line
MissingOverride The method 'canBeRemoved(String)' is missing an @Override annotation. 3 92–111
MissingOverride The method 'getRemovalRefusedMessage(String, Locale)' is missing an @Override annotation. 3 122–126

fr/paris/lutece/plugins/contact/web/ContactApp.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–531
CyclomaticComplexity The method 'getForm(HttpServletRequest)' has a cyclomatic complexity of 31. 3 214–355
ExcessiveMethodLength Avoid really long methods. 3 214–355
NPathComplexity The method 'getForm(HttpServletRequest)' has an NPath complexity of 14174208 3 214–355
NcssCount The method 'getForm(HttpServletRequest)' has a NCSS line count of 86. 3 214–355
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 217
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 217
ConfusingTernary Avoid if (x != y) ..; else ..; 3 232
ConfusingTernary Avoid if (x != y) ..; else ..; 3 233
ConfusingTernary Avoid if (x != y) ..; else ..; 3 234
ConfusingTernary Avoid if (x != y) ..; else ..; 3 235
ConfusingTernary Avoid if (x != y) ..; else ..; 3 236
ConfusingTernary Avoid if (x != y) ..; else ..; 3 237
ConfusingTernary Avoid if (x != y) ..; else ..; 3 238
AvoidDuplicateLiterals The String literal "error" appears 6 times in this file; the first occurrence is on line 242 3 242
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 242
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 243
SimplifyBooleanExpressions Avoid unnecessary comparisons in boolean expressions 3 244
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 244
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 245
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 246
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 247
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 250
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 260
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 266
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 272
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 278
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 284
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 289
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 369
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 369
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 369
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 372
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 3 382
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 387
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 396
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 396
NcssCount The method 'doSendMessage(HttpServletRequest)' has a NCSS line count of 65. 3 417–530
ExcessiveMethodLength Avoid really long methods. 3 417–530
NPathComplexity The method 'doSendMessage(HttpServletRequest)' has an NPath complexity of 129024 3 417–530
CyclomaticComplexity The method 'doSendMessage(HttpServletRequest)' has a cyclomatic complexity of 22. 3 417–530
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 426
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 428
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 429
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 432
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 432
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 468
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 469
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 472
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 478
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 478
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 478
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 478
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 479
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 479
SimplifyBooleanExpressions Avoid unnecessary comparisons in boolean expressions 3 488
CollapsibleIfStatements These nested if statements could be combined 3 501–506
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 509
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 509
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 525
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 525

fr/paris/lutece/plugins/contact/web/ContactJspBean.java

Rule Violation Priority Line
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.web.admin.PluginAdminPageJspBean' 4 48
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 68–329
SingularField Perhaps '_nDefaultItemsPerPage' could be replaced by a local variable. 3 123
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 164
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 164
AddEmptyString Do not add empty strings 3 166
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 183
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 183
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 241
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 241

fr/paris/lutece/plugins/contact/web/ContactListJspBean.java

Rule Violation Priority Line
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.service.template.AppTemplateService' 4 43
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.web.admin.PluginAdminPageJspBean' 4 51
UnusedImports Avoid unused imports such as 'fr.paris.lutece.util.html.HtmlTemplate' 4 56
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 71–679
TooManyMethods This class has too many methods, consider refactoring it. 3 72–679
SingularField Perhaps '_nDefaultItemsPerPage' could be replaced by a local variable. 3 148
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 173
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 173
AddEmptyString Do not add empty strings 3 175
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 193
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 193
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 213
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 216
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 217
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 218
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 219
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 221
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 221
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 248
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 248
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 248
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 252
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 372
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 372
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 3 405–411
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 482
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 482
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 3 513–519