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 |