The following document contains the results of PMD 5.3.5.
Violation | Line |
---|---|
Document empty constructor | 68–70 |
Avoid unnecessary constructors - the compiler will generate these for you | 68–70 |
It is a good practice to call super() in a constructor | 68–70 |
Document empty method | 127–128 |
Deeply nested if..then statements are hard to read | 195–198 |
Deeply nested if..then statements are hard to read | 208–217 |
Violation | Line |
---|---|
Rather than using a lot of String arguments, consider using a container object for those values. | 130–131 |
Violation | Line |
---|---|
Use explicit scoping instead of the default package private level | 86–89 |
Violation | Line |
---|---|
Use explicit scoping instead of the default package private level | 74–77 |
Avoid unused local variables such as 'wssoProfil'. | 320 |
Avoid declaring a variable if it is unreferenced before a possible exit point. | 320 |
Avoid unnecessary if..then..else statements when returning booleans | 331–334 |
Violation | Line |
---|---|
Avoid unnecessary constructors - the compiler will generate these for you | 69–71 |
Document empty constructor | 69–71 |
Violation | Line |
---|---|
Singleton is not thread safe | 61–65 |
Violation | Line |
---|---|
Possible God class (WMC=58, ATFD=104, TCC=0.0) | 34–559 |
The class 'WssoUserDAO' has a Cyclomatic Complexity of 5 (Highest = 22). | 49–559 |
The class 'WssoUserDAO' has a Modified Cyclomatic Complexity of 4 (Highest = 18). | 49–559 |
The class 'WssoUserDAO' has a Standard Cyclomatic Complexity of 4 (Highest = 18). | 49–559 |
Use explicit scoping instead of the default package private level | 78–81 |
The method findWssoUserssByLastNameOrFirtNameOrEmailByProfil() has an NPath complexity of 242 | 313–423 |
The method 'findWssoUserssByLastNameOrFirtNameOrEmailByProfil' has a Modified Cyclomatic Complexity of 18. | 313–423 |
The method 'findWssoUserssByLastNameOrFirtNameOrEmailByProfil' has a Cyclomatic Complexity of 22. | 313–423 |
Rather than using a lot of String arguments, consider using a container object for those values. | 313–314 |
Avoid really long methods. | 313–423 |
The method 'findWssoUserssByLastNameOrFirtNameOrEmailByProfil' has a Standard Cyclomatic Complexity of 18. | 313–423 |
StringBuffer constructor is initialized with size 228, but has at least 266 characters appended. | 318 |
StringBuffer (or StringBuilder).append is called 2 consecutive times with literal Strings. Use a single append with a single combined String. | 318 |
The String literal "AND a.email = ? " appears 4 times in this file; the first occurrence is on line 336 | 336 |
The method 'findWssoUsersByLastNameOrFirstNameOrEmailByProfil' has a Standard Cyclomatic Complexity of 18. | 429–536 |
The method 'findWssoUsersByLastNameOrFirstNameOrEmailByProfil' has a Cyclomatic Complexity of 22. | 429–536 |
The method findWssoUsersByLastNameOrFirstNameOrEmailByProfil() has an NPath complexity of 242 | 429–536 |
The method 'findWssoUsersByLastNameOrFirstNameOrEmailByProfil' has a Modified Cyclomatic Complexity of 18. | 429–536 |
Avoid really long methods. | 429–536 |
StringBuffer constructor is initialized with size 136, but has at least 142 characters appended. | 434 |
When doing a String.toLowerCase()/toUpperCase() call, use a Locale | 484 |
When doing a String.toLowerCase()/toUpperCase() call, use a Locale | 488 |
When doing a String.toLowerCase()/toUpperCase() call, use a Locale | 492 |
When doing a String.toLowerCase()/toUpperCase() call, use a Locale | 497 |
When doing a String.toLowerCase()/toUpperCase() call, use a Locale | 504 |
When doing a String.toLowerCase()/toUpperCase() call, use a Locale | 508 |
When doing a String.toLowerCase()/toUpperCase() call, use a Locale | 513 |
Violation | Line |
---|---|
Rather than using a lot of String arguments, consider using a container object for those values. | 164–165 |
Deeply nested if..then statements are hard to read | 233–236 |
Violation | Line |
---|---|
Use explicit scoping instead of the default package private level | 69–72 |
Violation | Line |
---|---|
Avoid unnecessary if..then..else statements when returning booleans | 67–70 |
Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() | 67 |
Violation | Line |
---|---|
The class 'ImportWssoDatabaseUserService' has a Cyclomatic Complexity of 5 (Highest = 21). | 72–445 |
The class 'ImportWssoDatabaseUserService' has a Modified Cyclomatic Complexity of 5 (Highest = 20). | 72–445 |
The class 'ImportWssoDatabaseUserService' has a Standard Cyclomatic Complexity of 5 (Highest = 20). | 72–445 |
The method readLineOfCSVFile() has an NPath complexity of 20736 | 110–308 |
Avoid really long methods. | 110–308 |
The method 'readLineOfCSVFile' has a Cyclomatic Complexity of 21. | 110–308 |
The method 'readLineOfCSVFile' has a Modified Cyclomatic Complexity of 20. | 110–308 |
The method 'readLineOfCSVFile' has a Standard Cyclomatic Complexity of 20. | 110–308 |
Avoid declaring a variable if it is unreferenced before a possible exit point. | 113 |
Avoid declaring a variable if it is unreferenced before a possible exit point. | 317 |
Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() | 357 |
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 400 |
A getX() method which returns a boolean should be named isX() | 431–434 |
Violation | Line |
---|---|
When instantiating a SimpleDateFormat object, specify a Locale | 137 |
Violation | Line |
---|---|
The class 'LdapBrowser' has a Modified Cyclomatic Complexity of 2 (Highest = 10). | 59–483 |
The class 'LdapBrowser' has a Standard Cyclomatic Complexity of 2 (Highest = 10). | 59–483 |
The class 'LdapBrowser' has a Cyclomatic Complexity of 3 (Highest = 11). | 59–483 |
Avoid excessively long variable names like PROPERTY_USER_DN_SEARCH_FILTER_BY_CRITERIA_GIVENNAME | 69 |
Document empty constructor | 113–115 |
Avoid unnecessary constructors - the compiler will generate these for you | 113–115 |
Avoid really long methods. | 125–226 |
The method 'getUserList' has a Cyclomatic Complexity of 10. | 125–226 |
Avoid variables with short names like sr | 128 |
The method 'getUserPublicData' has a Standard Cyclomatic Complexity of 10. | 233–335 |
The method 'getUserPublicData' has a Modified Cyclomatic Complexity of 10. | 233–335 |
The method 'getUserPublicData' has a Cyclomatic Complexity of 11. | 233–335 |
Avoid really long methods. | 233–335 |
Avoid variables with short names like sr | 236 |
Avoid using Literals in Conditional Statements | 302 |
Avoid prefixing parameters by in, out or inOut. Uses Javadoc to document this behavior. | 343 |
Avoid variables with short names like in | 343 |
StringBuffer constructor is initialized with size 16, but has at least 26 characters appended. | 355 |
Avoid variables with short names like sb | 355 |
StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 356 |
StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 357 |
StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 358 |
Position literals first in String comparisons for EqualsIgnoreCase | 435 |
Consider using varargs for methods or constructors which take an array the last parameter. | 467 |
Avoid appending characters as strings in StringBuffer.append. | 479 |
Violation | Line |
---|---|
Rather than using a lot of String arguments, consider using a container object for those values. | 68–69 |
Consider replacing this Hashtable with the newer java.util.Map | 71 |
Rather than using a lot of String arguments, consider using a container object for those values. | 105 |
Consider replacing this Hashtable with the newer java.util.Map | 110 |
Avoid variables with short names like sc | 133 |
Violation | Line |
---|---|
A high number of imports can indicate a high degree of coupling within an object. | 34–1540 |
The class 'WssodatabaseJspBean' has a Cyclomatic Complexity of 4 (Highest = 12). | 107–1540 |
Avoid really long classes. | 107–1540 |
Private field '_databaseService' could be made final; it is only initialized in the declaration or constructor. | 261 |
Private field '_importWssoDatabaseUserService' could be made final; it is only initialized in the declaration or constructor. | 262 |
Document empty constructor | 267–269 |
It is a good practice to call super() in a constructor | 267–269 |
Avoid unnecessary constructors - the compiler will generate these for you | 267–269 |
Position literals first in String comparisons | 307 |
Position literals first in String comparisons | 307 |
Position literals first in String comparisons | 307 |
Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 314 |
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 320 |
Avoid declaring a variable if it is unreferenced before a possible exit point. | 358 |
Avoid declaring a variable if it is unreferenced before a possible exit point. | 359 |
Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() | 370 |
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 587 |
The method 'getManageProfils' has a Cyclomatic Complexity of 12. | 606–699 |
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 730 |
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 778 |
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 927 |
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 1035 |
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 1110 |
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 1338 |
Avoid declaring a variable if it is unreferenced before a possible exit point. | 1361 |
Avoid declaring a variable if it is unreferenced before a possible exit point. | 1369 |
Avoid declaring a variable if it is unreferenced before a possible exit point. | 1370 |
Avoid declaring a variable if it is unreferenced before a possible exit point. | 1371 |
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 1439 |
Avoid declaring a variable if it is unreferenced before a possible exit point. | 1470 |
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 1530 |
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. | 44–56 |
Use block level rather than method level synchronization | 50–55 |
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. | 61–207 |
Avoid excessively long variable names like PROPERTY_XMLFILEFORMAT_ATTR_APPLICATION_WSSO_APP_ID | 74 |
When instantiating a SimpleDateFormat object, specify a Locale | 108 |
Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 182 |
Avoid catching NullPointerException; consider removing the cause of the NPE. | 182 |