Le document suivant contient les résultats de PMD 6.13.0.
Rule | Violation | Ligne |
---|---|---|
FormalParameterNamingConventions | The method parameter name '_strRemoteId' doesn't match '[a-z][a-zA-Z0-9]*' | 237 |
Rule | Violation | Ligne |
---|---|---|
FormalParameterNamingConventions | The method parameter name '_bUseIdCrmUser' doesn't match '[a-z][a-zA-Z0-9]*' | 501 |
FormalParameterNamingConventions | The method parameter name '_bNeedAuthentication' doesn't match '[a-z][a-zA-Z0-9]*' | 521 |
FormalParameterNamingConventions | The method parameter name '_bNeedValidation' doesn't match '[a-z][a-zA-Z0-9]*' | 541 |
Rule | Violation | Ligne |
---|---|---|
FormalParameterNamingConventions | The method parameter name '_nIdCategory' doesn't match '[a-z][a-zA-Z0-9]*' | 151 |
Rule | Violation | Ligne |
---|---|---|
FormalParameterNamingConventions | The method parameter name '_bMustBeUpdated' doesn't match '[a-z][a-zA-Z0-9]*' | 235 |
Rule | Violation | Ligne |
---|---|---|
ClassWithOnlyPrivateConstructorsShouldBeFinal | A class which only has private constructors should be final | 44–86 |
Rule | Violation | Ligne |
---|---|---|
ClassWithOnlyPrivateConstructorsShouldBeFinal | A class which only has private constructors should be final | 47–107 |
Rule | Violation | Ligne |
---|---|---|
ClassNamingConventions | The utility class name 'CRMConstants' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' | 41–237 |
Rule | Violation | Ligne |
---|---|---|
BooleanInstantiation | Avoid instantiating Boolean objects; reference Boolean.TRUE or Boolean.FALSE or call Boolean.valueOf() instead. | 480 |
BooleanInstantiation | Avoid instantiating Boolean objects; reference Boolean.TRUE or Boolean.FALSE or call Boolean.valueOf() instead. | 481 |
Rule | Violation | Ligne |
---|---|---|
TooManyMethods | This class has too many methods, consider refactoring it. | 53–502 |
MissingOverride | The method 'newPrimaryKey(Plugin)' is missing an @Override annotation. | 83–98 |
MissingOverride | The method 'insert(Demand, Plugin)' is missing an @Override annotation. | 103–129 |
AvoidSynchronizedAtMethodLevel | Use block level rather than method level synchronization | 103–129 |
MissingOverride | The method 'load(int, Plugin)' is missing an @Override annotation. | 134–159 |
MissingOverride | The method 'store(Demand, Plugin)' is missing an @Override annotation. | 197–218 |
MissingOverride | The method 'delete(int, Plugin)' is missing an @Override annotation. | 223–230 |
MissingOverride | The method 'selectAll(Plugin)' is missing an @Override annotation. | 235–259 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 237 |
MissingOverride | The method 'selectByFilter(DemandFilter, IPaginationProperties, Plugin)' is missing an @Override annotation. | 264–298 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 266 |
InefficientStringBuffering | Avoid concatenating nonliterals in a StringBuffer/StringBuilder constructor or append(). | 271 |
CyclomaticComplexity | The method 'buildSQLQuery(DemandFilter)' has a cyclomatic complexity of 14. | 307–398 |
NPathComplexity | The method 'buildSQLQuery(DemandFilter)' has an NPath complexity of 960 | 307–398 |
AvoidLiteralsInIfCondition | Avoid using Literals in Conditional Statements | 417 |
SimpleDateFormatNeedsLocale | When instantiating a SimpleDateFormat object, specify a Locale | 452 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 455 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 468 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 469 |
MissingOverride | The method 'countByFilter(DemandFilter, Plugin)' is missing an @Override annotation. | 480–501 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 483 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 484 |
Rule | Violation | Ligne |
---|---|---|
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 72 |
Rule | Violation | Ligne |
---|---|---|
UncommentedEmptyConstructor | Document empty constructor | 48–50 |
Rule | Violation | Ligne |
---|---|---|
MissingOverride | The method 'load(int, Plugin)' is missing an @Override annotation. | 55–74 |
MissingOverride | The method 'selectAll(Plugin)' is missing an @Override annotation. | 79–98 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 84 |
Rule | Violation | Ligne |
---|---|---|
TooManyFields | Too many fields | 57–546 |
MissingOverride | The method 'getWorkgroup()' is missing an @Override annotation. | 334–337 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 373–383 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 385–395 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 478 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 479 |
UnnecessaryConversionTemporary | Avoid unnecessary temporaries when converting primitives to Strings | 480 |
UnnecessaryConversionTemporary | Avoid unnecessary temporaries when converting primitives to Strings | 481 |
Rule | Violation | Ligne |
---|---|---|
MissingOverride | The method 'canBeRemoved(String)' is missing an @Override annotation. | 61–80 |
UseCollectionIsEmpty | Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() | 73 |
MissingOverride | The method 'getRemovalRefusedMessage(String, Locale)' is missing an @Override annotation. | 91–94 |
Rule | Violation | Ligne |
---|---|---|
GodClass | Possible God Class (WMC=48, ATFD=160, TCC=6.593%) | 50–654 |
TooManyMethods | This class has too many methods, consider refactoring it. | 51–654 |
MissingOverride | The method 'newPrimaryKey(Plugin)' is missing an @Override annotation. | 86–101 |
AvoidSynchronizedAtMethodLevel | Use block level rather than method level synchronization | 106–156 |
MissingOverride | The method 'insert(DemandType, Plugin)' is missing an @Override annotation. | 106–156 |
MissingOverride | The method 'load(int, Plugin)' is missing an @Override annotation. | 161–194 |
MissingOverride | The method 'store(DemandType, Plugin)' is missing an @Override annotation. | 199–243 |
MissingOverride | The method 'delete(int, Plugin)' is missing an @Override annotation. | 248–254 |
MissingOverride | The method 'selectAll(Plugin)' is missing an @Override annotation. | 259–297 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 261 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 263 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 264 |
MissingOverride | The method 'selectByIdCategoryAndDate(int, java.util.Date, Plugin)' is missing an @Override annotation. | 302–346 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 304 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 306 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 307 |
MissingOverride | The method 'selectByOrder(int, Plugin)' is missing an @Override annotation. | 351–385 |
MissingOverride | The method 'selectMaxOrder(Plugin)' is missing an @Override annotation. | 390–406 |
MissingOverride | The method 'selectDemandTypesByFilter(DemandTypeFilter, Plugin)' is missing an @Override annotation. | 411–450 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 413 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 415 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 416 |
MissingOverride | The method 'selectNoDateEndDemandTypes(Plugin)' is missing an @Override annotation. | 455–489 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 457 |
CyclomaticComplexity | The method 'buildSQLQuery(DemandTypeFilter)' has a cyclomatic complexity of 10. | 498–564 |
NPathComplexity | The method 'buildSQLQuery(DemandTypeFilter)' has an NPath complexity of 512 | 498–564 |
AvoidLiteralsInIfCondition | Avoid using Literals in Conditional Statements | 583 |
CyclomaticComplexity | The method 'setFilterValues(DemandTypeFilter, DAOUtil)' has a cyclomatic complexity of 10. | 603–653 |
NPathComplexity | The method 'setFilterValues(DemandTypeFilter, DAOUtil)' has an NPath complexity of 512 | 603–653 |
Rule | Violation | Ligne |
---|---|---|
ImmutableField | Private field '_strUrlDelete' could be made final; it is only initialized in the declaration or constructor. | 62 |
Rule | Violation | Ligne |
---|---|---|
TooManyMethods | This class has too many methods, consider refactoring it. | 50–202 |
Rule | Violation | Ligne |
---|---|---|
MissingOverride | The method 'canBeRemoved(String)' is missing an @Override annotation. | 61–79 |
UseCollectionIsEmpty | Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() | 72 |
MissingOverride | The method 'getRemovalRefusedMessage(String, Locale)' is missing an @Override annotation. | 90–93 |
Rule | Violation | Ligne |
---|---|---|
MissingOverride | The method 'canBeRemoved(String)' is missing an @Override annotation. | 59–77 |
UseCollectionIsEmpty | Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() | 70 |
MissingOverride | The method 'getRemovalRefusedMessage(String, Locale)' is missing an @Override annotation. | 88–92 |
Rule | Violation | Ligne |
---|---|---|
TooManyMethods | This class has too many methods, consider refactoring it. | 46–159 |
Rule | Violation | Ligne |
---|---|---|
CommentRequired | Public method and constructor comments are required | 56 |
CommentRequired | Public method and constructor comments are required | 58 |
Rule | Violation | Ligne |
---|---|---|
TooManyMethods | This class has too many methods, consider refactoring it. | 60–417 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 317–318 |
Rule | Violation | Ligne |
---|---|---|
CommentRequired | Public method and constructor comments are required | 70–73 |
MissingOverride | The method 'getFirstResult()' is missing an @Override annotation. | 70–73 |
CommentRequired | Public method and constructor comments are required | 75–78 |
MissingOverride | The method 'getPageSize()' is missing an @Override annotation. | 75–78 |
MissingOverride | The method 'getItemsPerPage()' is missing an @Override annotation. | 80–83 |
CommentRequired | Public method and constructor comments are required | 80–83 |
CommentRequired | Public method and constructor comments are required | 85–88 |
MissingOverride | The method 'getPageIndex()' is missing an @Override annotation. | 85–88 |
Rule | Violation | Ligne |
---|---|---|
MissingOverride | The method 'newPrimaryKey(Plugin)' is missing an @Override annotation. | 62–80 |
AvoidSynchronizedAtMethodLevel | Use block level rather than method level synchronization | 85–102 |
MissingOverride | The method 'insert(Category, Plugin)' is missing an @Override annotation. | 85–102 |
MissingOverride | The method 'load(int, Plugin)' is missing an @Override annotation. | 107–129 |
MissingOverride | The method 'delete(int, Plugin)' is missing an @Override annotation. | 134–141 |
MissingOverride | The method 'store(Category, Plugin)' is missing an @Override annotation. | 146–159 |
MissingOverride | The method 'selectCategoriesList(Plugin)' is missing an @Override annotation. | 164–185 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 166 |
MissingOverride | The method 'selectFirstCategory(Plugin)' is missing an @Override annotation. | 190–211 |
Rule | Violation | Ligne |
---|---|---|
MissingOverride | The method 'newPrimaryKey(Plugin)' is missing an @Override annotation. | 71–86 |
AvoidSynchronizedAtMethodLevel | Use block level rather than method level synchronization | 91–117 |
MissingOverride | The method 'insert(Notification, Plugin)' is missing an @Override annotation. | 91–117 |
MissingOverride | The method 'load(int, Plugin)' is missing an @Override annotation. | 122–146 |
MissingOverride | The method 'store(Notification, Plugin)' is missing an @Override annotation. | 151–169 |
MissingOverride | The method 'delete(int, Plugin)' is missing an @Override annotation. | 174–180 |
MissingOverride | The method 'deleteByIdDemand(int, Plugin)' is missing an @Override annotation. | 185–191 |
MissingOverride | The method 'selectAll(Plugin)' is missing an @Override annotation. | 196–224 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 199 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 200 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 203 |
MissingOverride | The method 'selectNotificationsByFilter(NotificationFilter, Plugin)' is missing an @Override annotation. | 229–258 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 231 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 233 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 234 |
AvoidLiteralsInIfCondition | Avoid using Literals in Conditional Statements | 304 |
Rule | Violation | Ligne |
---|---|---|
UncommentedEmptyConstructor | Document empty constructor | 66–68 |
CallSuperInConstructor | It is a good practice to call super() in a constructor | 66–68 |
UnnecessaryConstructor | Avoid unnecessary constructors - the compiler will generate these for you | 66–68 |
MissingOverride | The method 'getXml(HttpServletRequest)' is missing an @Override annotation. | 77–133 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 82–89 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 95–125 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 98–108 |
UnnecessaryLocalBeforeReturn | Consider simply returning the value vs storing it in local variable 'str' | 132 |
MissingOverride | The method 'getXmlDocument(HttpServletRequest)' is missing an @Override annotation. | 163–166 |
MissingOverride | The method 'remove()' is missing an @Override annotation. | 179–182 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 188 |
Rule | Violation | Ligne |
---|---|---|
ShortVariable | Avoid variables with short names like p | 59 |
ShortVariable | Avoid variables with short names like p | 131 |
Rule | Violation | Ligne |
---|---|---|
AssignmentToNonFinalStatic | Possible unsafe assignment to a non-final static field in a constructor. | 52 |
CallSuperInConstructor | It is a good practice to call super() in a constructor | 57–63 |
NonThreadSafeSingleton | Singleton is not thread safe | 72–75 |
MissingOverride | The method 'getPortletTypeId()' is missing an @Override annotation. | 85–91 |
UnnecessaryLocalBeforeReturn | Consider simply returning the value vs storing it in local variable 'strPortletTypeId' | 90 |
MissingOverride | The method 'getDAO()' is missing an @Override annotation. | 98–101 |
Rule | Violation | Ligne |
---|---|---|
AvoidSynchronizedAtMethodLevel | Use block level rather than method level synchronization | 58–70 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 90 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 90 |
Rule | Violation | Ligne |
---|---|---|
AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 146 |
AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 187 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 238 |
AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 260 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 279 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 301 |
Rule | Violation | Ligne |
---|---|---|
IdenticalCatchBranches | 'catch' branch identical to 'IllegalAccessException' branch | 95–98 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 101 |
InefficientStringBuffering | Avoid concatenating nonliterals in a StringBuffer/StringBuilder constructor or append(). | 337 |
AvoidLiteralsInIfCondition | Avoid using Literals in Conditional Statements | 436 |
Rule | Violation | Ligne |
---|---|---|
UncommentedEmptyConstructor | Document empty constructor | 64–66 |
AvoidSynchronizedAtMethodLevel | Use block level rather than method level synchronization | 73–76 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 171 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 173–180 |
CommentRequired | Public method and constructor comments are required | 209–212 |
Rule | Violation | Ligne |
---|---|---|
MissingOverride | The method 'run()' is missing an @Override annotation. | 60–99 |
Rule | Violation | Ligne |
---|---|---|
TooManyMethods | This class has too many methods, consider refactoring it. | 67–355 |
UncommentedEmptyConstructor | Document empty constructor | 73–75 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 261 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 261 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 293 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 293 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 308 |
Rule | Violation | Ligne |
---|---|---|
UncommentedEmptyConstructor | Document empty constructor | 56–58 |
Rule | Violation | Ligne |
---|---|---|
TooManyMethods | This class has too many methods, consider refactoring it. | 73–461 |
UncommentedEmptyConstructor | Document empty constructor | 79–81 |
AvoidDeeplyNestedIfStmts | Deeply nested if..then statements are hard to read | 145–150 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 254 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 275 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 275 |
Rule | Violation | Ligne |
---|---|---|
UncommentedEmptyConstructor | Document empty constructor | 59–61 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 88 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 88 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 94 |
Rule | Violation | Ligne |
---|---|---|
NonThreadSafeSingleton | Singleton is not thread safe | 63–66 |
Rule | Violation | Ligne |
---|---|---|
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 51 |
ImmutableField | Private field '_listRegisteredListeners' could be made final; it is only initialized in the declaration or constructor. | 51 |
CallSuperInConstructor | It is a good practice to call super() in a constructor | 56–58 |
NonThreadSafeSingleton | Singleton is not thread safe | 67–70 |
UseCollectionIsEmpty | Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() | 99 |
Rule | Violation | Ligne |
---|---|---|
UncommentedEmptyConstructor | Document empty constructor | 58–60 |
Rule | Violation | Ligne |
---|---|---|
UncommentedEmptyConstructor | Document empty constructor | 53–55 |
Rule | Violation | Ligne |
---|---|---|
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 118 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 118 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 174 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 202 |
Rule | Violation | Ligne |
---|---|---|
UncommentedEmptyConstructor | Document empty constructor | 58–60 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 155 |
Rule | Violation | Ligne |
---|---|---|
CommentRequired | Header comments are required | 6–61 |
UseUtilityClass | 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. | 7–61 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 51–58 |
Rule | Violation | Ligne |
---|---|---|
CommentRequired | Header comments are required | 39–42 |
Rule | Violation | Ligne |
---|---|---|
UseUtilityClass | 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. | 86–162 |
AvoidDuplicateLiterals | The String literal "Erreur lors de la création d'une liste pour combo : " appears 4 times in this file; the first occurrence is on line 122 | 122 |
IdenticalCatchBranches | 'catch' branch identical to 'IllegalAccessException' branch | 124–127 |
IdenticalCatchBranches | 'catch' branch identical to 'IllegalAccessException' branch | 128–131 |
IdenticalCatchBranches | 'catch' branch identical to 'IllegalAccessException' branch | 132–135 |
AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 132 |
Rule | Violation | Ligne |
---|---|---|
UnnecessaryModifier | Unnecessary modifier 'private' on constructor 'OperatorEnum(int, String)': enum constructors are implicitly private | 56–60 |
MissingOverride | The method 'toString()' is missing an @Override annotation. | 77–80 |
Rule | Violation | Ligne |
---|---|---|
UnnecessaryModifier | Unnecessary modifier 'private' on constructor 'TargetEnum(int, String)': enum constructors are implicitly private | 56–60 |
MissingOverride | The method 'toString()' is missing an @Override annotation. | 77–80 |
Rule | Violation | Ligne |
---|---|---|
ExcessiveImports | A high number of imports can indicate a high degree of coupling within an object. | 34–867 |
CyclomaticComplexity | The class 'CRMApp' has a total cyclomatic complexity of 98 (highest 18). | 93–867 |
MissingSerialVersionUID | Classes implementing Serializable should set a serialVersionUID | 93–867 |
ImmutableField | Private field '_demandTypeService' could be made final; it is only initialized in the declaration or constructor. | 106 |
ImmutableField | Private field '_demandService' could be made final; it is only initialized in the declaration or constructor. | 107 |
ImmutableField | Private field '_categoryService' could be made final; it is only initialized in the declaration or constructor. | 108 |
ImmutableField | Private field '_notificationService' could be made final; it is only initialized in the declaration or constructor. | 109 |
ImmutableField | Private field '_statusCRMService' could be made final; it is only initialized in the declaration or constructor. | 110 |
ImmutableField | Private field '_crmUserService' could be made final; it is only initialized in the declaration or constructor. | 111 |
ImmutableField | Private field '_crmUserAttributesService' could be made final; it is only initialized in the declaration or constructor. | 112 |
ImmutableField | Private field '_advancedParametersService' could be made final; it is only initialized in the declaration or constructor. | 113 |
CyclomaticComplexity | The method 'getPage(HttpServletRequest, int, Plugin)' has a cyclomatic complexity of 11. | 133–191 |
EmptyCatchBlock | Avoid empty catch blocks | 142–145 |
NPathComplexity | The method 'getCRMHomePage(HttpServletRequest, LuteceUser)' has an NPath complexity of 18434 | 203–332 |
CyclomaticComplexity | The method 'getCRMHomePage(HttpServletRequest, LuteceUser)' has a cyclomatic complexity of 18. | 203–332 |
NcssCount | The method 'getCRMHomePage(HttpServletRequest, LuteceUser)' has a NCSS line count of 74. | 203–332 |
ExcessiveMethodLength | Avoid really long methods. | 203–332 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 206 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 208 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 208 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 292 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 292 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 293 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 293 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 364 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 364 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 417 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 417 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 452 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 452 |
CyclomaticComplexity | The method 'doModifyCRMUser(HttpServletRequest, LuteceUser)' has a cyclomatic complexity of 11. | 475–525 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 487 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 487 |
CollapsibleIfStatements | These nested if statements could be combined | 510–513 |
LinguisticNaming | Linguistics Antipattern - The getter 'getDemandRemovingConfirmationMessage' should not return void linguistically | 537–594 |
CyclomaticComplexity | The method 'getDemandRemovingConfirmationMessage(HttpServletRequest, LuteceUser)' has a cyclomatic complexity of 11. | 537–594 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 557 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 615 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 615 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 630 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 630 |
CyclomaticComplexity | The method 'doOpenDemandType(HttpServletRequest)' has a cyclomatic complexity of 13. | 650–726 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 685 |
CyclomaticComplexity | The method 'doEditDemand(HttpServletRequest)' has a cyclomatic complexity of 12. | 735–788 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 758 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 824 |
SimpleDateFormatNeedsLocale | When instantiating a SimpleDateFormat object, specify a Locale | 844 |
ShortVariable | Avoid variables with short names like d | 847 |
AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 853 |
ShortVariable | Avoid variables with short names like t | 858 |
Rule | Violation | Ligne |
---|---|---|
ImmutableField | Private field '_categoryService' could be made final; it is only initialized in the declaration or constructor. | 81 |
SingularField | Perhaps '_nDefaultItemsPerPage' could be replaced by a local variable. | 82 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 104–105 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 107 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 107 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 129 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 129 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 254 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 254 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 292–304 |
Rule | Violation | Ligne |
---|---|---|
ExcessiveImports | A high number of imports can indicate a high degree of coupling within an object. | 34–816 |
MissingSerialVersionUID | Classes implementing Serializable should set a serialVersionUID | 79–816 |
CyclomaticComplexity | The class 'DemandTypeJspBean' has a total cyclomatic complexity of 95 (highest 27). | 79–816 |
ImmutableField | Private field '_advancedParametersService' could be made final; it is only initialized in the declaration or constructor. | 95 |
ImmutableField | Private field '_demandTypeService' could be made final; it is only initialized in the declaration or constructor. | 96 |
ImmutableField | Private field '_demandService' could be made final; it is only initialized in the declaration or constructor. | 97 |
ImmutableField | Private field '_categoryService' could be made final; it is only initialized in the declaration or constructor. | 98 |
SingularField | Perhaps '_nDefaultItemsPerPage' could be replaced by a local variable. | 100 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 122–123 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 125 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 125 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 155 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 155 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 176 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 176 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 289–311 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 291 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 291 |
ExcessiveMethodLength | Avoid really long methods. | 529–643 |
NcssCount | The method 'getDemandTypeData(HttpServletRequest, DemandType)' has a NCSS line count of 65. | 529–643 |
CyclomaticComplexity | The method 'getDemandTypeData(HttpServletRequest, DemandType)' has a cyclomatic complexity of 27. | 529–643 |
NPathComplexity | The method 'getDemandTypeData(HttpServletRequest, DemandType)' has an NPath complexity of 175502 | 529–643 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 579–589 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 596–606 |
CollapsibleIfStatements | These nested if statements could be combined | 612–615 |
NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 667 |
CyclomaticComplexity | The method 'doSearchDemandTypesList(HttpServletRequest)' has a cyclomatic complexity of 20. | 700–786 |
NPathComplexity | The method 'doSearchDemandTypesList(HttpServletRequest)' has an NPath complexity of 6146 | 700–786 |
CollapsibleIfStatements | These nested if statements could be combined | 739–742 |
CollapsibleIfStatements | These nested if statements could be combined | 752–755 |
Rule | Violation | Ligne |
---|---|---|
MissingSerialVersionUID | Classes implementing Serializable should set a serialVersionUID | 52–151 |
ImmutableField | Private field '_categoryService' could be made final; it is only initialized in the declaration or constructor. | 56 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 64 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 80 |
PrematureDeclaration | Avoid declaring a variable if it is unreferenced before a possible exit point. | 102 |
PrematureDeclaration | Avoid declaring a variable if it is unreferenced before a possible exit point. | 131 |
Rule | Violation | Ligne |
---|---|---|
BooleanGetMethodName | A getX() method which returns a boolean should be named isX() | 101–104 |
Rule | Violation | Ligne |
---|---|---|
BooleanGetMethodName | A getX() method which returns a boolean should be named isX() | 107–110 |
Rule | Violation | Ligne |
---|---|---|
BooleanGetMethodName | A getX() method which returns a boolean should be named isX() | 86–89 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
FormalParameterNamingConventions | The method parameter name '_strRemoteId' doesn't match '[a-z][a-zA-Z0-9]*' | 1 | 237 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
TooManyMethods | This class has too many methods, consider refactoring it. | 3 | 53–502 |
MissingOverride | The method 'newPrimaryKey(Plugin)' is missing an @Override annotation. | 3 | 83–98 |
MissingOverride | The method 'insert(Demand, Plugin)' is missing an @Override annotation. | 3 | 103–129 |
AvoidSynchronizedAtMethodLevel | Use block level rather than method level synchronization | 3 | 103–129 |
MissingOverride | The method 'load(int, Plugin)' is missing an @Override annotation. | 3 | 134–159 |
MissingOverride | The method 'store(Demand, Plugin)' is missing an @Override annotation. | 3 | 197–218 |
MissingOverride | The method 'delete(int, Plugin)' is missing an @Override annotation. | 3 | 223–230 |
MissingOverride | The method 'selectAll(Plugin)' is missing an @Override annotation. | 3 | 235–259 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 237 |
MissingOverride | The method 'selectByFilter(DemandFilter, IPaginationProperties, Plugin)' is missing an @Override annotation. | 3 | 264–298 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 266 |
InefficientStringBuffering | Avoid concatenating nonliterals in a StringBuffer/StringBuilder constructor or append(). | 3 | 271 |
CyclomaticComplexity | The method 'buildSQLQuery(DemandFilter)' has a cyclomatic complexity of 14. | 3 | 307–398 |
NPathComplexity | The method 'buildSQLQuery(DemandFilter)' has an NPath complexity of 960 | 3 | 307–398 |
AvoidLiteralsInIfCondition | Avoid using Literals in Conditional Statements | 3 | 417 |
SimpleDateFormatNeedsLocale | When instantiating a SimpleDateFormat object, specify a Locale | 3 | 452 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 455 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 468 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 469 |
MissingOverride | The method 'countByFilter(DemandFilter, Plugin)' is missing an @Override annotation. | 3 | 480–501 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 483 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 484 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 72 |
BooleanGetMethodName | A getX() method which returns a boolean should be named isX() | 4 | 101–104 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
UncommentedEmptyConstructor | Document empty constructor | 3 | 48–50 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
MissingOverride | The method 'load(int, Plugin)' is missing an @Override annotation. | 3 | 55–74 |
MissingOverride | The method 'selectAll(Plugin)' is missing an @Override annotation. | 3 | 79–98 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 84 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
TooManyFields | Too many fields | 3 | 57–546 |
MissingOverride | The method 'getWorkgroup()' is missing an @Override annotation. | 3 | 334–337 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 373–383 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 385–395 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 478 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 479 |
BooleanInstantiation | Avoid instantiating Boolean objects; reference Boolean.TRUE or Boolean.FALSE or call Boolean.valueOf() instead. | 2 | 480 |
UnnecessaryConversionTemporary | Avoid unnecessary temporaries when converting primitives to Strings | 3 | 480 |
UnnecessaryConversionTemporary | Avoid unnecessary temporaries when converting primitives to Strings | 3 | 481 |
BooleanInstantiation | Avoid instantiating Boolean objects; reference Boolean.TRUE or Boolean.FALSE or call Boolean.valueOf() instead. | 2 | 481 |
FormalParameterNamingConventions | The method parameter name '_bUseIdCrmUser' doesn't match '[a-z][a-zA-Z0-9]*' | 1 | 501 |
FormalParameterNamingConventions | The method parameter name '_bNeedAuthentication' doesn't match '[a-z][a-zA-Z0-9]*' | 1 | 521 |
FormalParameterNamingConventions | The method parameter name '_bNeedValidation' doesn't match '[a-z][a-zA-Z0-9]*' | 1 | 541 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
MissingOverride | The method 'canBeRemoved(String)' is missing an @Override annotation. | 3 | 61–80 |
UseCollectionIsEmpty | Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() | 3 | 73 |
MissingOverride | The method 'getRemovalRefusedMessage(String, Locale)' is missing an @Override annotation. | 3 | 91–94 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
GodClass | Possible God Class (WMC=48, ATFD=160, TCC=6.593%) | 3 | 50–654 |
TooManyMethods | This class has too many methods, consider refactoring it. | 3 | 51–654 |
MissingOverride | The method 'newPrimaryKey(Plugin)' is missing an @Override annotation. | 3 | 86–101 |
AvoidSynchronizedAtMethodLevel | Use block level rather than method level synchronization | 3 | 106–156 |
MissingOverride | The method 'insert(DemandType, Plugin)' is missing an @Override annotation. | 3 | 106–156 |
MissingOverride | The method 'load(int, Plugin)' is missing an @Override annotation. | 3 | 161–194 |
MissingOverride | The method 'store(DemandType, Plugin)' is missing an @Override annotation. | 3 | 199–243 |
MissingOverride | The method 'delete(int, Plugin)' is missing an @Override annotation. | 3 | 248–254 |
MissingOverride | The method 'selectAll(Plugin)' is missing an @Override annotation. | 3 | 259–297 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 261 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 263 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 264 |
MissingOverride | The method 'selectByIdCategoryAndDate(int, java.util.Date, Plugin)' is missing an @Override annotation. | 3 | 302–346 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 304 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 306 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 307 |
MissingOverride | The method 'selectByOrder(int, Plugin)' is missing an @Override annotation. | 3 | 351–385 |
MissingOverride | The method 'selectMaxOrder(Plugin)' is missing an @Override annotation. | 3 | 390–406 |
MissingOverride | The method 'selectDemandTypesByFilter(DemandTypeFilter, Plugin)' is missing an @Override annotation. | 3 | 411–450 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 413 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 415 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 416 |
MissingOverride | The method 'selectNoDateEndDemandTypes(Plugin)' is missing an @Override annotation. | 3 | 455–489 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 457 |
CyclomaticComplexity | The method 'buildSQLQuery(DemandTypeFilter)' has a cyclomatic complexity of 10. | 3 | 498–564 |
NPathComplexity | The method 'buildSQLQuery(DemandTypeFilter)' has an NPath complexity of 512 | 3 | 498–564 |
AvoidLiteralsInIfCondition | Avoid using Literals in Conditional Statements | 3 | 583 |
CyclomaticComplexity | The method 'setFilterValues(DemandTypeFilter, DAOUtil)' has a cyclomatic complexity of 10. | 3 | 603–653 |
NPathComplexity | The method 'setFilterValues(DemandTypeFilter, DAOUtil)' has an NPath complexity of 512 | 3 | 603–653 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
ImmutableField | Private field '_strUrlDelete' could be made final; it is only initialized in the declaration or constructor. | 3 | 62 |
BooleanGetMethodName | A getX() method which returns a boolean should be named isX() | 4 | 107–110 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
TooManyMethods | This class has too many methods, consider refactoring it. | 3 | 50–202 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
MissingOverride | The method 'canBeRemoved(String)' is missing an @Override annotation. | 3 | 61–79 |
UseCollectionIsEmpty | Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() | 3 | 72 |
MissingOverride | The method 'getRemovalRefusedMessage(String, Locale)' is missing an @Override annotation. | 3 | 90–93 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
MissingOverride | The method 'canBeRemoved(String)' is missing an @Override annotation. | 3 | 59–77 |
UseCollectionIsEmpty | Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() | 3 | 70 |
MissingOverride | The method 'getRemovalRefusedMessage(String, Locale)' is missing an @Override annotation. | 3 | 88–92 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
TooManyMethods | This class has too many methods, consider refactoring it. | 3 | 46–159 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
CommentRequired | Public method and constructor comments are required | 3 | 56 |
CommentRequired | Public method and constructor comments are required | 3 | 58 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
TooManyMethods | This class has too many methods, consider refactoring it. | 3 | 60–417 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 317–318 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
CommentRequired | Public method and constructor comments are required | 3 | 70–73 |
MissingOverride | The method 'getFirstResult()' is missing an @Override annotation. | 3 | 70–73 |
CommentRequired | Public method and constructor comments are required | 3 | 75–78 |
MissingOverride | The method 'getPageSize()' is missing an @Override annotation. | 3 | 75–78 |
MissingOverride | The method 'getItemsPerPage()' is missing an @Override annotation. | 3 | 80–83 |
CommentRequired | Public method and constructor comments are required | 3 | 80–83 |
CommentRequired | Public method and constructor comments are required | 3 | 85–88 |
MissingOverride | The method 'getPageIndex()' is missing an @Override annotation. | 3 | 85–88 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
MissingOverride | The method 'newPrimaryKey(Plugin)' is missing an @Override annotation. | 3 | 62–80 |
AvoidSynchronizedAtMethodLevel | Use block level rather than method level synchronization | 3 | 85–102 |
MissingOverride | The method 'insert(Category, Plugin)' is missing an @Override annotation. | 3 | 85–102 |
MissingOverride | The method 'load(int, Plugin)' is missing an @Override annotation. | 3 | 107–129 |
MissingOverride | The method 'delete(int, Plugin)' is missing an @Override annotation. | 3 | 134–141 |
MissingOverride | The method 'store(Category, Plugin)' is missing an @Override annotation. | 3 | 146–159 |
MissingOverride | The method 'selectCategoriesList(Plugin)' is missing an @Override annotation. | 3 | 164–185 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 166 |
MissingOverride | The method 'selectFirstCategory(Plugin)' is missing an @Override annotation. | 3 | 190–211 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
MissingOverride | The method 'newPrimaryKey(Plugin)' is missing an @Override annotation. | 3 | 71–86 |
AvoidSynchronizedAtMethodLevel | Use block level rather than method level synchronization | 3 | 91–117 |
MissingOverride | The method 'insert(Notification, Plugin)' is missing an @Override annotation. | 3 | 91–117 |
MissingOverride | The method 'load(int, Plugin)' is missing an @Override annotation. | 3 | 122–146 |
MissingOverride | The method 'store(Notification, Plugin)' is missing an @Override annotation. | 3 | 151–169 |
MissingOverride | The method 'delete(int, Plugin)' is missing an @Override annotation. | 3 | 174–180 |
MissingOverride | The method 'deleteByIdDemand(int, Plugin)' is missing an @Override annotation. | 3 | 185–191 |
MissingOverride | The method 'selectAll(Plugin)' is missing an @Override annotation. | 3 | 196–224 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 199 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 200 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 203 |
MissingOverride | The method 'selectNotificationsByFilter(NotificationFilter, Plugin)' is missing an @Override annotation. | 3 | 229–258 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 231 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 233 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 234 |
AvoidLiteralsInIfCondition | Avoid using Literals in Conditional Statements | 3 | 304 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
BooleanGetMethodName | A getX() method which returns a boolean should be named isX() | 4 | 86–89 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
UncommentedEmptyConstructor | Document empty constructor | 3 | 66–68 |
CallSuperInConstructor | It is a good practice to call super() in a constructor | 3 | 66–68 |
UnnecessaryConstructor | Avoid unnecessary constructors - the compiler will generate these for you | 3 | 66–68 |
MissingOverride | The method 'getXml(HttpServletRequest)' is missing an @Override annotation. | 3 | 77–133 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 82–89 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 95–125 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 98–108 |
UnnecessaryLocalBeforeReturn | Consider simply returning the value vs storing it in local variable 'str' | 3 | 132 |
FormalParameterNamingConventions | The method parameter name '_nIdCategory' doesn't match '[a-z][a-zA-Z0-9]*' | 1 | 151 |
MissingOverride | The method 'getXmlDocument(HttpServletRequest)' is missing an @Override annotation. | 3 | 163–166 |
MissingOverride | The method 'remove()' is missing an @Override annotation. | 3 | 179–182 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 188 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
ShortVariable | Avoid variables with short names like p | 3 | 59 |
ShortVariable | Avoid variables with short names like p | 3 | 131 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
AssignmentToNonFinalStatic | Possible unsafe assignment to a non-final static field in a constructor. | 3 | 52 |
CallSuperInConstructor | It is a good practice to call super() in a constructor | 3 | 57–63 |
NonThreadSafeSingleton | Singleton is not thread safe | 3 | 72–75 |
MissingOverride | The method 'getPortletTypeId()' is missing an @Override annotation. | 3 | 85–91 |
UnnecessaryLocalBeforeReturn | Consider simply returning the value vs storing it in local variable 'strPortletTypeId' | 3 | 90 |
MissingOverride | The method 'getDAO()' is missing an @Override annotation. | 3 | 98–101 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
FormalParameterNamingConventions | The method parameter name '_bMustBeUpdated' doesn't match '[a-z][a-zA-Z0-9]*' | 1 | 235 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
AvoidSynchronizedAtMethodLevel | Use block level rather than method level synchronization | 3 | 58–70 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 90 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 90 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 3 | 146 |
AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 3 | 187 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 238 |
AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 3 | 260 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 279 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 301 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
IdenticalCatchBranches | 'catch' branch identical to 'IllegalAccessException' branch | 3 | 95–98 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 101 |
InefficientStringBuffering | Avoid concatenating nonliterals in a StringBuffer/StringBuilder constructor or append(). | 3 | 337 |
AvoidLiteralsInIfCondition | Avoid using Literals in Conditional Statements | 3 | 436 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
UncommentedEmptyConstructor | Document empty constructor | 3 | 64–66 |
AvoidSynchronizedAtMethodLevel | Use block level rather than method level synchronization | 3 | 73–76 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 171 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 173–180 |
CommentRequired | Public method and constructor comments are required | 3 | 209–212 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
MissingOverride | The method 'run()' is missing an @Override annotation. | 3 | 60–99 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
TooManyMethods | This class has too many methods, consider refactoring it. | 3 | 67–355 |
UncommentedEmptyConstructor | Document empty constructor | 3 | 73–75 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 261 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 261 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 293 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 293 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 308 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
UncommentedEmptyConstructor | Document empty constructor | 3 | 56–58 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
TooManyMethods | This class has too many methods, consider refactoring it. | 3 | 73–461 |
UncommentedEmptyConstructor | Document empty constructor | 3 | 79–81 |
AvoidDeeplyNestedIfStmts | Deeply nested if..then statements are hard to read | 3 | 145–150 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 254 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 275 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 275 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
UncommentedEmptyConstructor | Document empty constructor | 3 | 59–61 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 88 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 88 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 94 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
ClassWithOnlyPrivateConstructorsShouldBeFinal | A class which only has private constructors should be final | 1 | 44–86 |
NonThreadSafeSingleton | Singleton is not thread safe | 3 | 63–66 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
ClassWithOnlyPrivateConstructorsShouldBeFinal | A class which only has private constructors should be final | 1 | 47–107 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 51 |
ImmutableField | Private field '_listRegisteredListeners' could be made final; it is only initialized in the declaration or constructor. | 3 | 51 |
CallSuperInConstructor | It is a good practice to call super() in a constructor | 3 | 56–58 |
NonThreadSafeSingleton | Singleton is not thread safe | 3 | 67–70 |
UseCollectionIsEmpty | Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() | 3 | 99 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
UncommentedEmptyConstructor | Document empty constructor | 3 | 58–60 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
UncommentedEmptyConstructor | Document empty constructor | 3 | 53–55 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 118 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 118 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 174 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 202 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
UncommentedEmptyConstructor | Document empty constructor | 3 | 58–60 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 155 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
CommentRequired | Header comments are required | 3 | 6–61 |
UseUtilityClass | 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. | 3 | 7–61 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 51–58 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
CommentRequired | Header comments are required | 3 | 39–42 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
UseUtilityClass | 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. | 3 | 86–162 |
AvoidDuplicateLiterals | The String literal "Erreur lors de la création d'une liste pour combo : " appears 4 times in this file; the first occurrence is on line 122 | 3 | 122 |
IdenticalCatchBranches | 'catch' branch identical to 'IllegalAccessException' branch | 3 | 124–127 |
IdenticalCatchBranches | 'catch' branch identical to 'IllegalAccessException' branch | 3 | 128–131 |
IdenticalCatchBranches | 'catch' branch identical to 'IllegalAccessException' branch | 3 | 132–135 |
AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 3 | 132 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
UnnecessaryModifier | Unnecessary modifier 'private' on constructor 'OperatorEnum(int, String)': enum constructors are implicitly private | 3 | 56–60 |
MissingOverride | The method 'toString()' is missing an @Override annotation. | 3 | 77–80 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
UnnecessaryModifier | Unnecessary modifier 'private' on constructor 'TargetEnum(int, String)': enum constructors are implicitly private | 3 | 56–60 |
MissingOverride | The method 'toString()' is missing an @Override annotation. | 3 | 77–80 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
ClassNamingConventions | The utility class name 'CRMConstants' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' | 1 | 41–237 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
ExcessiveImports | A high number of imports can indicate a high degree of coupling within an object. | 3 | 34–867 |
CyclomaticComplexity | The class 'CRMApp' has a total cyclomatic complexity of 98 (highest 18). | 3 | 93–867 |
MissingSerialVersionUID | Classes implementing Serializable should set a serialVersionUID | 3 | 93–867 |
ImmutableField | Private field '_demandTypeService' could be made final; it is only initialized in the declaration or constructor. | 3 | 106 |
ImmutableField | Private field '_demandService' could be made final; it is only initialized in the declaration or constructor. | 3 | 107 |
ImmutableField | Private field '_categoryService' could be made final; it is only initialized in the declaration or constructor. | 3 | 108 |
ImmutableField | Private field '_notificationService' could be made final; it is only initialized in the declaration or constructor. | 3 | 109 |
ImmutableField | Private field '_statusCRMService' could be made final; it is only initialized in the declaration or constructor. | 3 | 110 |
ImmutableField | Private field '_crmUserService' could be made final; it is only initialized in the declaration or constructor. | 3 | 111 |
ImmutableField | Private field '_crmUserAttributesService' could be made final; it is only initialized in the declaration or constructor. | 3 | 112 |
ImmutableField | Private field '_advancedParametersService' could be made final; it is only initialized in the declaration or constructor. | 3 | 113 |
CyclomaticComplexity | The method 'getPage(HttpServletRequest, int, Plugin)' has a cyclomatic complexity of 11. | 3 | 133–191 |
EmptyCatchBlock | Avoid empty catch blocks | 3 | 142–145 |
NPathComplexity | The method 'getCRMHomePage(HttpServletRequest, LuteceUser)' has an NPath complexity of 18434 | 3 | 203–332 |
CyclomaticComplexity | The method 'getCRMHomePage(HttpServletRequest, LuteceUser)' has a cyclomatic complexity of 18. | 3 | 203–332 |
NcssCount | The method 'getCRMHomePage(HttpServletRequest, LuteceUser)' has a NCSS line count of 74. | 3 | 203–332 |
ExcessiveMethodLength | Avoid really long methods. | 3 | 203–332 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 206 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 208 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 208 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 292 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 292 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 293 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 293 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 364 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 364 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 417 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 417 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 452 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 452 |
CyclomaticComplexity | The method 'doModifyCRMUser(HttpServletRequest, LuteceUser)' has a cyclomatic complexity of 11. | 3 | 475–525 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 487 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 487 |
CollapsibleIfStatements | These nested if statements could be combined | 3 | 510–513 |
LinguisticNaming | Linguistics Antipattern - The getter 'getDemandRemovingConfirmationMessage' should not return void linguistically | 3 | 537–594 |
CyclomaticComplexity | The method 'getDemandRemovingConfirmationMessage(HttpServletRequest, LuteceUser)' has a cyclomatic complexity of 11. | 3 | 537–594 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 557 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 615 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 615 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 630 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 630 |
CyclomaticComplexity | The method 'doOpenDemandType(HttpServletRequest)' has a cyclomatic complexity of 13. | 3 | 650–726 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 685 |
CyclomaticComplexity | The method 'doEditDemand(HttpServletRequest)' has a cyclomatic complexity of 12. | 3 | 735–788 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 758 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 824 |
SimpleDateFormatNeedsLocale | When instantiating a SimpleDateFormat object, specify a Locale | 3 | 844 |
ShortVariable | Avoid variables with short names like d | 3 | 847 |
AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 3 | 853 |
ShortVariable | Avoid variables with short names like t | 3 | 858 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
ImmutableField | Private field '_categoryService' could be made final; it is only initialized in the declaration or constructor. | 3 | 81 |
SingularField | Perhaps '_nDefaultItemsPerPage' could be replaced by a local variable. | 3 | 82 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 104–105 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 107 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 107 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 129 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 129 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 254 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 254 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 292–304 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
ExcessiveImports | A high number of imports can indicate a high degree of coupling within an object. | 3 | 34–816 |
MissingSerialVersionUID | Classes implementing Serializable should set a serialVersionUID | 3 | 79–816 |
CyclomaticComplexity | The class 'DemandTypeJspBean' has a total cyclomatic complexity of 95 (highest 27). | 3 | 79–816 |
ImmutableField | Private field '_advancedParametersService' could be made final; it is only initialized in the declaration or constructor. | 3 | 95 |
ImmutableField | Private field '_demandTypeService' could be made final; it is only initialized in the declaration or constructor. | 3 | 96 |
ImmutableField | Private field '_demandService' could be made final; it is only initialized in the declaration or constructor. | 3 | 97 |
ImmutableField | Private field '_categoryService' could be made final; it is only initialized in the declaration or constructor. | 3 | 98 |
SingularField | Perhaps '_nDefaultItemsPerPage' could be replaced by a local variable. | 3 | 100 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 122–123 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 125 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 125 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 155 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 155 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 176 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 176 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 289–311 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 291 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 291 |
ExcessiveMethodLength | Avoid really long methods. | 3 | 529–643 |
NcssCount | The method 'getDemandTypeData(HttpServletRequest, DemandType)' has a NCSS line count of 65. | 3 | 529–643 |
CyclomaticComplexity | The method 'getDemandTypeData(HttpServletRequest, DemandType)' has a cyclomatic complexity of 27. | 3 | 529–643 |
NPathComplexity | The method 'getDemandTypeData(HttpServletRequest, DemandType)' has an NPath complexity of 175502 | 3 | 529–643 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 579–589 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 596–606 |
CollapsibleIfStatements | These nested if statements could be combined | 3 | 612–615 |
NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 3 | 667 |
CyclomaticComplexity | The method 'doSearchDemandTypesList(HttpServletRequest)' has a cyclomatic complexity of 20. | 3 | 700–786 |
NPathComplexity | The method 'doSearchDemandTypesList(HttpServletRequest)' has an NPath complexity of 6146 | 3 | 700–786 |
CollapsibleIfStatements | These nested if statements could be combined | 3 | 739–742 |
CollapsibleIfStatements | These nested if statements could be combined | 3 | 752–755 |
Rule | Violation | Priority | Ligne |
---|---|---|---|
MissingSerialVersionUID | Classes implementing Serializable should set a serialVersionUID | 3 | 52–151 |
ImmutableField | Private field '_categoryService' could be made final; it is only initialized in the declaration or constructor. | 3 | 56 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 64 |
UseDiamondOperator | Explicit type arguments can be replaced by Diamond Operator | 3 | 80 |
PrematureDeclaration | Avoid declaring a variable if it is unreferenced before a possible exit point. | 3 | 102 |
PrematureDeclaration | Avoid declaring a variable if it is unreferenced before a possible exit point. | 3 | 131 |