Fork me on GitHub

PMD Results

The following document contains the results of PMD 5.3.5.

Files

fr/paris/lutece/plugins/workflow/modules/notifydirectory/business/ResourceKeyDAO.java

Violation Line
Use block level rather than method level synchronization 6377

fr/paris/lutece/plugins/workflow/modules/notifydirectory/business/TaskNotifyDirectoryConfig.java

Violation Line
Too many fields 49471

fr/paris/lutece/plugins/workflow/modules/notifydirectory/business/TaskNotifyDirectoryConfigDAO.java

Violation Line
Use block level rather than method level synchronization 69100

fr/paris/lutece/plugins/workflow/modules/notifydirectory/service/INotifyDirectoryService.java

Violation Line
Rather than using a lot of String arguments, consider using a container object for those values. 225226

fr/paris/lutece/plugins/workflow/modules/notifydirectory/service/NotifyDirectoryPlugin.java

Violation Line
All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning. 4759

fr/paris/lutece/plugins/workflow/modules/notifydirectory/service/NotifyDirectoryService.java

Violation Line
A high number of imports can indicate a high degree of coupling within an object. 341007
Possible God class (WMC=128, ATFD=258, TCC=0.0) 341007
The class 'NotifyDirectoryService' has a Modified Cyclomatic Complexity of 4 (Highest = 14). 1081007
The class 'NotifyDirectoryService' has a Cyclomatic Complexity of 5 (Highest = 25). 1081007
The class 'NotifyDirectoryService' has a Standard Cyclomatic Complexity of 4 (Highest = 14). 1081007
Private field '_listAcceptedEntryTypesEmailSMS' could be made final; it is only initialized in the declaration or constructor. 127
Private field '_listAcceptedEntryTypesUserGuid' could be made final; it is only initialized in the declaration or constructor. 128
Private field '_listRefusedEntryTypes' could be made final; it is only initialized in the declaration or constructor. 129
Private field '_listAcceptedEntryTypesFile' could be made final; it is only initialized in the declaration or constructor. 130
The method 'sendMessage' has a Cyclomatic Complexity of 16. 515579
Rather than using a lot of String arguments, consider using a container object for those values. 515516
The method sendMessage() has an NPath complexity of 450 515579
Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 521
Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 547
Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 568
Avoid really long methods. 585754
The method 'fillModel' has a Cyclomatic Complexity of 25. 585754
The method 'fillModel' has a Modified Cyclomatic Complexity of 14. 585754
The method fillModel() has an NPath complexity of 4704 585754
The method 'fillModel' has a Standard Cyclomatic Complexity of 14. 585754
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 588
Unnecessary use of fully qualified name 'fr.paris.lutece.plugins.directory.business.EntryTypeGeolocation' due to existing import 'fr.paris.lutece.plugins.directory.business.EntryTypeGeolocation' 611
Unnecessary use of fully qualified name 'fr.paris.lutece.plugins.directory.business.EntryTypeGeolocation' due to existing import 'fr.paris.lutece.plugins.directory.business.EntryTypeGeolocation' 619
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 682
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 688
Unnecessary use of fully qualified name 'java.util.UUID.randomUUID' due to existing import 'java.util.UUID' 702
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 727
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 735
The method 'getFiles' has a Cyclomatic Complexity of 12. 838892
The method fillModelWithUserAttributes() has an NPath complexity of 627 935954
StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 968
StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 969
StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 970
StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 971972
StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 973

fr/paris/lutece/plugins/workflow/modules/notifydirectory/service/TaskNotifyDirectory.java

Violation Line
The class 'TaskNotifyDirectory' has a Cyclomatic Complexity of 5 (Highest = 10). 70185
The method 'processTask' has a Cyclomatic Complexity of 10. 89159
Deeply nested if..then statements are hard to read 107156
Avoid variables with short names like t 142

fr/paris/lutece/plugins/workflow/modules/notifydirectory/service/taskinfo/NotifyDirectoryTaskInfoProvider.java

Violation Line
Avoid variables with short names like t 119

fr/paris/lutece/plugins/workflow/modules/notifydirectory/utils/TaskNotifyDirectoryUtils.java

Violation Line
Avoid declaring a variable if it is unreferenced before a possible exit point. 119
Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 128

fr/paris/lutece/plugins/workflow/modules/notifydirectory/utils/constants/NotifyDirectoryConstants.java

Violation Line
Avoid variables with short names like ID 51

fr/paris/lutece/plugins/workflow/modules/notifydirectory/web/NotifyDirectoryApp.java

Violation Line
A high number of imports can indicate a high degree of coupling within an object. 34190
Private field '_resourceKeyService' could be made final; it is only initialized in the declaration or constructor. 93
Private field '_taskService' could be made final; it is only initialized in the declaration or constructor. 94
Private field '_taskNotifyDirectoryConfigService' could be made final; it is only initialized in the declaration or constructor. 95
Private field '_stateService' could be made final; it is only initialized in the declaration or constructor. 96
Private field '_actionService' could be made final; it is only initialized in the declaration or constructor. 97
Private field '_resourceHistoryService' could be made final; it is only initialized in the declaration or constructor. 98
Private field '_resourceWorkflowService' could be made final; it is only initialized in the declaration or constructor. 99
Avoid unused method parameters such as 'session'. 128
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 132

fr/paris/lutece/plugins/workflow/modules/notifydirectory/web/NotifyDirectoryTaskComponent.java

Violation Line
A high number of imports can indicate a high degree of coupling within an object. 34365
The class 'NotifyDirectoryTaskComponent' has a Modified Cyclomatic Complexity of 8 (Highest = 29). 77365
The class 'NotifyDirectoryTaskComponent' has a Standard Cyclomatic Complexity of 8 (Highest = 29). 77365
The class 'NotifyDirectoryTaskComponent' has a Cyclomatic Complexity of 12 (Highest = 41). 77365
The method 'doSaveConfig' has a Standard Cyclomatic Complexity of 29. 95299
The method doSaveConfig() has an NPath complexity of 500000 95299
The method 'doSaveConfig' has a Modified Cyclomatic Complexity of 29. 95299
Avoid really long methods. 95299
The method 'doSaveConfig' has a Cyclomatic Complexity of 41. 95299
The method doSaveConfig() has an NCSS line count of 131 95299
Avoid declaring a variable if it is unreferenced before a possible exit point. 119
Avoid declaring a variable if it is unreferenced before a possible exit point. 120
Avoid declaring a variable if it is unreferenced before a possible exit point. 127
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 312