PMD Results
The following document contains the results of PMD 5.3.5.
Files
fr/paris/lutece/plugins/workflow/modules/notifymylutece/business/TaskNotifyMyLuteceConfig.java
Violation |
Line |
The user-supplied array 'listIdsNotificationType' is stored directly. |
170 |
Consider using varargs for methods or constructors which take an array the last parameter. |
170 |
Returning '_listIdsNotificationType' may expose an internal array. |
181 |
Consider using varargs for methods or constructors which take an array the last parameter. |
208 |
The user-supplied array 'listIdsRetrievalType' is stored directly. |
208 |
Returning '_listIdsRetrievalType' may expose an internal array. |
219 |
Consider using varargs for methods or constructors which take an array the last parameter. |
247 |
The user-supplied array 'listUserGuid' is stored directly. |
247 |
Returning '_listUserGuid' may expose an internal array. |
258 |
fr/paris/lutece/plugins/workflow/modules/notifymylutece/business/TaskNotifyMyLuteceConfigDAO.java
Violation |
Line |
Use block level rather than method level synchronization |
60–75 |
fr/paris/lutece/plugins/workflow/modules/notifymylutece/business/notification/INotificationType.java
Violation |
Line |
Rather than using a lot of String arguments, consider using a container object for those values. |
96 |
fr/paris/lutece/plugins/workflow/modules/notifymylutece/business/notification/NotificationTypeDAO.java
Violation |
Line |
Use block level rather than method level synchronization |
81–92 |
fr/paris/lutece/plugins/workflow/modules/notifymylutece/business/notification/NotificationTypeEmail.java
Violation |
Line |
Rather than using a lot of String arguments, consider using a container object for those values. |
58 |
fr/paris/lutece/plugins/workflow/modules/notifymylutece/business/notification/NotificationTypeWS.java
Violation |
Line |
Rather than using a lot of String arguments, consider using a container object for those values. |
49 |
fr/paris/lutece/plugins/workflow/modules/notifymylutece/business/retrieval/RetrievalTypeDAO.java
Violation |
Line |
Use block level rather than method level synchronization |
81–92 |
fr/paris/lutece/plugins/workflow/modules/notifymylutece/service/NotifyMyLutecePlugin.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. |
47–59 |
fr/paris/lutece/plugins/workflow/modules/notifymylutece/service/NotifyMyLuteceService.java
Violation |
Line |
A high number of imports can indicate a high degree of coupling within an object. |
34–598 |
Possible God class (WMC=75, ATFD=145, TCC=0.0) |
34–598 |
The class 'NotifyMyLuteceService' has a Standard Cyclomatic Complexity of 4 (Highest = 10). |
90–598 |
The class 'NotifyMyLuteceService' has a Cyclomatic Complexity of 5 (Highest = 19). |
90–598 |
The class 'NotifyMyLuteceService' has a Modified Cyclomatic Complexity of 4 (Highest = 10). |
90–598 |
Private field '_listRefusedEntryTypes' could be made final; it is only initialized in the declaration or constructor. |
95 |
Private field '_listAcceptedEntryTypes' could be made final; it is only initialized in the declaration or constructor. |
96 |
The method fillModel() has an NPath complexity of 294 |
337–426 |
The method 'fillModel' has a Standard Cyclomatic Complexity of 10. |
337–426 |
The method 'fillModel' has a Cyclomatic Complexity of 19. |
337–426 |
The method 'fillModel' has a Modified Cyclomatic Complexity of 10. |
337–426 |
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation |
343 |
Unnecessary use of fully qualified name 'fr.paris.lutece.plugins.directory.business.EntryTypeGeolocation' due to existing import 'fr.paris.lutece.plugins.directory.business.EntryTypeGeolocation' |
361 |
Unnecessary use of fully qualified name 'fr.paris.lutece.plugins.directory.business.EntryTypeGeolocation' due to existing import 'fr.paris.lutece.plugins.directory.business.EntryTypeGeolocation' |
369 |
The method fillModelWithUserAttributes() has an NPath complexity of 627 |
531–550 |
StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. |
561 |
StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. |
562 |
StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. |
563 |
StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. |
564–565 |
StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. |
566 |
fr/paris/lutece/plugins/workflow/modules/notifymylutece/service/NotifyMyLuteceWebService.java
Violation |
Line |
Rather than using a lot of String arguments, consider using a container object for those values. |
84 |
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation |
90 |
fr/paris/lutece/plugins/workflow/modules/notifymylutece/service/TaskNotifyMyLutece.java
Violation |
Line |
Deeply nested if..then statements are hard to read |
97–102 |
fr/paris/lutece/plugins/workflow/modules/notifymylutece/service/TaskNotifyMyLuteceConfigService.java
Violation |
Line |
The class 'TaskNotifyMyLuteceConfigService' has a Standard Cyclomatic Complexity of 7 (Highest = 10). |
56–215 |
The class 'TaskNotifyMyLuteceConfigService' has a Modified Cyclomatic Complexity of 7 (Highest = 10). |
56–215 |
The class 'TaskNotifyMyLuteceConfigService' has a Cyclomatic Complexity of 9 (Highest = 13). |
56–215 |
The method 'create' has a Standard Cyclomatic Complexity of 10. |
71–111 |
The method 'create' has a Modified Cyclomatic Complexity of 10. |
71–111 |
The method 'create' has a Cyclomatic Complexity of 13. |
71–111 |
Deeply nested if..then statements are hard to read |
84–87 |
Deeply nested if..then statements are hard to read |
96–99 |
The method 'update' has a Standard Cyclomatic Complexity of 10. |
118–164 |
The method 'update' has a Cyclomatic Complexity of 13. |
118–164 |
The method 'update' has a Modified Cyclomatic Complexity of 10. |
118–164 |
Deeply nested if..then statements are hard to read |
133–136 |
Deeply nested if..then statements are hard to read |
147–150 |
fr/paris/lutece/plugins/workflow/modules/notifymylutece/util/constants/NotifyMyLuteceConstants.java
Violation |
Line |
Avoid variables with short names like ID |
50 |
Avoid excessively long variable names like PROPERTY_WEBSERVICE_MYLUTECE_NOTIFICATION_WEBAPP_URL |
66 |
fr/paris/lutece/plugins/workflow/modules/notifymylutece/util/validation/NotifyMyLuteceConfigValidator.java
Violation |
Line |
Document empty method |
61–62 |
fr/paris/lutece/plugins/workflow/modules/notifymylutece/web/NotifyMyLuteceTaskComponent.java
Violation |
Line |
A high number of imports can indicate a high degree of coupling within an object. |
34–263 |
The class 'NotifyMyLuteceTaskComponent' has a Cyclomatic Complexity of 5 (Highest = 13). |
78–263 |
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation |
166 |
Return an empty array rather than null. |
217–262 |
The method 'getSelectedUsers' has a Cyclomatic Complexity of 13. |
217–262 |
The method getSelectedUsers() has an NPath complexity of 216 |
217–262 |
These nested if statements could be combined |
236–242 |