Le document suivant contient les résultats de PMD 6.13.0.
| Rule | Violation | Ligne |
|---|---|---|
| FieldNamingConventions | The constant name '_listPrefixToRemove' doesn't match '[A-Z][A-Z_0-9]*' | 74 |
| FieldNamingConventions | The constant name '_listTypeAllowedForSearch' doesn't match '[A-Z][A-Z_0-9]*' | 75 |
| FieldNamingConventions | The final field name '_clazz' doesn't match '[a-z][a-zA-Z0-9]*' | 77 |
| ConstructorCallsOverridableMethod | Overridable method 'initMapSql' called during object construction | 94 |
| FormalParameterNamingConventions | The method parameter name 'SQL_QUERY_SELECTALL_ID' doesn't match '[a-z][a-zA-Z0-9]*' | 109 |
| LocalVariableNamingConventions | The local variable name 'WhereClauses' doesn't match '[a-z][a-zA-Z0-9]*' | 133 |
| Rule | Violation | Ligne |
|---|---|---|
| FieldNamingConventions | The static field name 'hashMapTypeRef' doesn't match '_[a-z][a-zA-Z0-9]*' | 136 |
| Rule | Violation | Ligne |
|---|---|---|
| FormalParameterNamingConventions | The method parameter name 'type_id' doesn't match '[a-z][a-zA-Z0-9]*' | 119 |
| Rule | Violation | Ligne |
|---|---|---|
| FieldNamingConventions | The constant name '_plugin' doesn't match '[A-Z][A-Z_0-9]*' | 65 |
| Rule | Violation | Ligne |
|---|---|---|
| FieldNamingConventions | The static field name 'bIsInitialized' doesn't match '_[a-z][a-zA-Z0-9]*' | 86 |
| Rule | Violation | Ligne |
|---|---|---|
| FormalParameterNamingConventions | The method parameter name '_demandDao' doesn't match '[a-z][a-zA-Z0-9]*' | 101 |
| FormalParameterNamingConventions | The method parameter name '_notificationEventDao' doesn't match '[a-z][a-zA-Z0-9]*' | 101 |
| FormalParameterNamingConventions | The method parameter name '_notificationDao' doesn't match '[a-z][a-zA-Z0-9]*' | 101 |
| FormalParameterNamingConventions | The method parameter name '_statusDao' doesn't match '[a-z][a-zA-Z0-9]*' | 102 |
| FormalParameterNamingConventions | The method parameter name 'type_id' doesn't match '[a-z][a-zA-Z0-9]*' | 350 |
| Rule | Violation | Ligne |
|---|---|---|
| ClassWithOnlyPrivateConstructorsShouldBeFinal | A class which only has private constructors should be final | 74–757 |
| Rule | Violation | Ligne |
|---|---|---|
| ClassWithOnlyPrivateConstructorsShouldBeFinal | A class which only has private constructors should be final | 47–108 |
| Rule | Violation | Ligne |
|---|---|---|
| ClassWithOnlyPrivateConstructorsShouldBeFinal | A class which only has private constructors should be final | 55–259 |
| Rule | Violation | Ligne |
|---|---|---|
| ClassNamingConventions | The utility class name 'NotificationStoreConstants' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' | 36–110 |
| Rule | Violation | Ligne |
|---|---|---|
| LocalVariableNamingConventions | The local variable name '_model' doesn't match '[a-z][a-zA-Z0-9]*' | 224 |
| FormalParameterNamingConventions | The method parameter name '_mapFilterCriteria' doesn't match '[a-z][a-zA-Z0-9]*' | 245 |
| Rule | Violation | Ligne |
|---|---|---|
| FormalParameterNamingConventions | The method parameter name '_mapFilterCriteria' doesn't match '[a-z][a-zA-Z0-9]*' | 151 |
| Rule | Violation | Ligne |
|---|---|---|
| FormalParameterNamingConventions | The method parameter name '_mapFilterCriteria' doesn't match '[a-z][a-zA-Z0-9]*' | 321 |
| Rule | Violation | Ligne |
|---|---|---|
| LocalVariableNamingConventions | The local variable name '_mapper' doesn't match '[a-z][a-zA-Z0-9]*' | 114 |
| Rule | Violation | Ligne |
|---|---|---|
| ClassNamingConventions | The utility class name 'SwaggerConstants' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' | 39–77 |
| Rule | Violation | Ligne |
|---|---|---|
| AvoidBranchingStatementAsLastInLoop | Avoid using a branching statement as the last in a loop. | 445 |
| AvoidBranchingStatementAsLastInLoop | Avoid using a branching statement as the last in a loop. | 466 |
| Rule | Violation | Ligne |
|---|---|---|
| AvoidReassigningParameters | Avoid reassigning parameters such as 'strNotificationContent' | 326 |
| Rule | Violation | Ligne |
|---|---|---|
| AvoidBranchingStatementAsLastInLoop | Avoid using a branching statement as the last in a loop. | 232 |
| Rule | Violation | Ligne |
|---|---|---|
| SystemPrintln | System.out.println is used | 80 |
| SystemPrintln | System.out.println is used | 100 |
| SystemPrintln | System.out.println is used | 157 |
| Rule | Violation | Ligne |
|---|---|---|
| GuardLogStatement | Logger calls should be surrounded by log level guards. | 334 |
| GuardLogStatement | Logger calls should be surrounded by log level guards. | 390 |
| GuardLogStatement | Logger calls should be surrounded by log level guards. | 730 |
| Rule | Violation | Ligne |
|---|---|---|
| AvoidReassigningParameters | Avoid reassigning parameters such as 'strStatus' | 193 |
| Rule | Violation | Ligne |
|---|---|---|
| AbstractClassWithoutAbstractMethod | This abstract class does not have any abstract methods | 50–331 |
| CommentRequired | Header comments are required | 50–331 |
| LooseCoupling | Avoid using implementation types like 'HashMap'; use the interface instead | 54 |
| CommentRequired | Protected method constructor comments are required | 81–95 |
| ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 114 |
| ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 115 |
| CollapsibleIfStatements | These nested if statements could be combined | 148–154 |
| ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 179 |
| ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 180 |
| Rule | Violation | Ligne |
|---|---|---|
| ForLoopCanBeForeach | This for loop can be replaced by a foreach loop | 201–204 |
| Rule | Violation | Ligne |
|---|---|---|
| EmptyStatementNotInLoop | An empty statement (semicolon) not part of a loop | 154 |
| Rule | Violation | Ligne |
|---|---|---|
| TooManyMethods | This class has too many methods, consider refactoring it. | 66–753 |
| AvoidDuplicateLiterals | The String literal "SELECT " appears 6 times in this file; the first occurrence is on line 85 | 85 |
| ControlStatementBraces | This statement should have braces | 195 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 314 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 315 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 318 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 344 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 347 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 494 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 495 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 498 |
| ShortVariable | Avoid variables with short names like i | 592 |
| UseObjectForClearerAPI | Rather than using a lot of String arguments, consider using a container object for those values. | 626–627 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 634 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 639 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 646 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 650 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 655 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 692 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 699 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 700 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 706 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 709 |
| Rule | Violation | Ligne |
|---|---|---|
| UnusedPrivateField | Avoid unused private fields such as '_plugin'. | 54 |
| UseObjectForClearerAPI | Rather than using a lot of String arguments, consider using a container object for those values. | 138–139 |
| Rule | Violation | Ligne |
|---|---|---|
| CommentRequired | Public method and constructor comments are required | 65–79 |
| AvoidDuplicateLiterals | The String literal "String" appears 4 times in this file; the first occurrence is on line 75 | 75 |
| ForLoopCanBeForeach | This for loop can be replaced by a foreach loop | 253–256 |
| Rule | Violation | Ligne |
|---|---|---|
| CommentRequired | Public method and constructor comments are required | 185–188 |
| Rule | Violation | Ligne |
|---|---|---|
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 74 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 75 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 189 |
| Rule | Violation | Ligne |
|---|---|---|
| ExcessiveImports | A high number of imports can indicate a high degree of coupling within an object. | 34–707 |
| TooManyMethods | This class has too many methods, consider refactoring it. | 78–707 |
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the _mapper field if you want a default access modifier | 116 |
| DefaultPackage | Use explicit scoping instead of the default package private level | 116 |
| CyclomaticComplexity | The method 'getFilterCriteriaClauses(String, NotificationFilter)' has a cyclomatic complexity of 14. | 194–287 |
| NPathComplexity | The method 'getFilterCriteriaClauses(String, NotificationFilter)' has an NPath complexity of 4160 | 194–287 |
| AvoidSynchronizedAtMethodLevel | Use block level rather than method level synchronization | 330–359 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 348 |
| ShortVariable | Avoid variables with short names like id | 383 |
| ShortVariable | Avoid variables with short names like id | 413 |
| AvoidLiteralsInIfCondition | Avoid using Literals in Conditional Statements | 422 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 500 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 615 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 643 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 675 |
| SimplifyBooleanReturns | Avoid unnecessary if..then..else statements when returning booleans | 697–704 |
| Rule | Violation | Ligne |
|---|---|---|
| TooManyMethods | This class has too many methods, consider refactoring it. | 59–448 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 89 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 104 |
| AvoidLiteralsInIfCondition | Avoid using Literals in Conditional Statements | 129 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 145–155 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 310 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 331 |
| LinguisticNaming | Linguistics Antipattern - The getter 'getFilterCriteriaClauses' should not return void linguistically | 342–386 |
| CyclomaticComplexity | The method 'addFilterCriteriaValues(DAOUtil, NotificationFilter)' has a cyclomatic complexity of 11. | 394–432 |
| NPathComplexity | The method 'addFilterCriteriaValues(DAOUtil, NotificationFilter)' has an NPath complexity of 384 | 394–432 |
| ShortVariable | Avoid variables with short names like i | 397 |
| MissingOverride | The method 'deleteBeforeDate(long)' is missing an @Override annotation. | 437–447 |
| Rule | Violation | Ligne |
|---|---|---|
| ShortVariable | Avoid variables with short names like id | 91 |
| Rule | Violation | Ligne |
|---|---|---|
| TooManyMethods | This class has too many methods, consider refactoring it. | 53–278 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 77 |
| ForLoopCanBeForeach | This for loop can be replaced by a foreach loop | 192–195 |
| Rule | Violation | Ligne |
|---|---|---|
| CommentRequired | Public method and constructor comments are required | 166–169 |
| Rule | Violation | Ligne |
|---|---|---|
| RedundantFieldInitializer | Avoid using redundant field initializer for 'bIsInitialized' | 86 |
| ImmutableField | Private field '_requestAuthor' could be made final; it is only initialized in the declaration or constructor. | 90 |
| Rule | Violation | Ligne |
|---|---|---|
| TooManyMethods | This class has too many methods, consider refactoring it. | 71–467 |
| UnusedPrivateField | Avoid unused private fields such as '_statusDao'. | 76 |
| MissingOverride | The method 'findByCustomerId(String)' is missing an @Override annotation. | 120–132 |
| MissingOverride | The method 'findByReference(String)' is missing an @Override annotation. | 141–153 |
| MissingOverride | The method 'findByPrimaryKey(String, String, String)' is missing an @Override annotation. | 164–175 |
| MissingOverride | The method 'create(Demand)' is missing an @Override annotation. | 184–192 |
| MissingOverride | The method 'create(Notification)' is missing an @Override annotation. | 201–212 |
| MissingOverride | The method 'create(NotificationEvent)' is missing an @Override annotation. | 220–225 |
| UnnecessaryLocalBeforeReturn | Consider simply returning the value vs storing it in local variable 'notificationDao' | 224 |
| MissingOverride | The method 'update(Demand)' is missing an @Override annotation. | 234–242 |
| MissingOverride | The method 'updateDemandsStatusId(int, int)' is missing an @Override annotation. | 252–255 |
| MissingOverride | The method 'remove(String, String, String)' is missing an @Override annotation. | 265–277 |
| MissingOverride | The method 'findEventsByDateAndDemandTypeIdAndStatus(long, long, String, String)' is missing an @Override annotation. | 289–299 |
| MissingOverride | The method 'getDemandTypesList()' is missing an @Override annotation. | 330–343 |
| MissingOverride | The method 'getDemandType(String)' is missing an @Override annotation. | 350–367 |
| ShortVariable | Avoid variables with short names like dt | 352 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 354–366 |
| MissingOverride | The method 'getIdsByCustomerIdAndDemandTypeId(String, String, String)' is missing an @Override annotation. | 375–378 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 450 |
| Rule | Violation | Ligne |
|---|---|---|
| CommentRequired | Header comments are required | 41–54 |
| 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. | 62–160 |
| CommentRequired | Public method and constructor comments are required | 69–103 |
| ShortVariable | Avoid variables with short names like i | 83 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 94 |
| Rule | Violation | Ligne |
|---|---|---|
| ExcessiveImports | A high number of imports can indicate a high degree of coupling within an object. | 34–757 |
| GodClass | Possible God Class (WMC=90, ATFD=102, TCC=12.418%) | 74–757 |
| CommentRequired | Header comments are required | 74–757 |
| CyclomaticComplexity | The class 'NotificationService' has a total cyclomatic complexity of 90 (highest 15). | 74–757 |
| TooManyMethods | This class has too many methods, consider refactoring it. | 75–757 |
| UnusedPrivateField | Avoid unused private fields such as 'STATUS_SUCCESS'. | 88 |
| UnusedPrivateField | Avoid unused private fields such as 'MESSAGE_MISSING_USER_ID'. | 102 |
| NonThreadSafeSingleton | Singleton is not thread safe | 129–137 |
| CyclomaticComplexity | The method 'newNotification(String)' has a cyclomatic complexity of 10. | 147–210 |
| AvoidCatchingNPE | Avoid catching NullPointerException; consider removing the cause of the NPE. | 184 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 184 |
| IdenticalCatchBranches | 'catch' branch identical to 'JsonParseException' branch | 184–187 |
| IdenticalCatchBranches | 'catch' branch identical to 'IOException' branch | 192–195 |
| IdenticalCatchBranches | 'catch' branch identical to 'IOException' branch | 196–199 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 196 |
| CyclomaticComplexity | The method 'processCustomer(Notification, List)' has a cyclomatic complexity of 15. | 249–318 |
| NPathComplexity | The method 'processCustomer(Notification, List)' has an NPath complexity of 230 | 249–318 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 284–296 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 298 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 300 |
| UseCollectionIsEmpty | Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() | 345 |
| IdenticalCatchBranches | 'catch' branch identical to 'JsonParseException' branch | 364–367 |
| AvoidCatchingNPE | Avoid catching NullPointerException; consider removing the cause of the NPE. | 364 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 364 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 372 |
| IdenticalCatchBranches | 'catch' branch identical to 'IOException' branch | 372–375 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 399 |
| AvoidCatchingNPE | Avoid catching NullPointerException; consider removing the cause of the NPE. | 399 |
| IdenticalCatchBranches | 'catch' branch identical to 'JsonParseException' branch | 399–402 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 407 |
| IdenticalCatchBranches | 'catch' branch identical to 'IOException' branch | 407–410 |
| CyclomaticComplexity | The method 'store(Notification)' has a cyclomatic complexity of 13. | 442–503 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 523–530 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 587 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 594 |
| ShortMethodName | Avoid using short method names | 616 |
| ShortVariable | Avoid variables with short names like ex | 630 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 640 |
| InsufficientStringBufferDeclaration | StringBuffer constructor is initialized with size 16, but has at least 170 characters appended. | 656 |
| ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 657 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 3 consecutive times with literals. Use a single append with a single combined String. | 657 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 658 |
| ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 658 |
| ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 659 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 659 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 659 |
| ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 660 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 660 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 660 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 661 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 661 |
| ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 661 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 662 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 666 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 666 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 667 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 673 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 673 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 674 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 674 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 675 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 675 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 676 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 676 |
| UnnecessaryLocalBeforeReturn | Consider simply returning the value vs storing it in local variable 'notification' | 739 |
| Rule | Violation | Ligne |
|---|---|---|
| UncommentedEmptyMethodBody | Document empty method body | 54–55 |
| Rule | Violation | Ligne |
|---|---|---|
| CallSuperInConstructor | It is a good practice to call super() in a constructor | 57–60 |
| NonThreadSafeSingleton | Singleton is not thread safe | 69–72 |
| Rule | Violation | Ligne |
|---|---|---|
| NonThreadSafeSingleton | Singleton is not thread safe | 79–84 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 138 |
| UseLocaleWithCaseConversions | When doing a String.toLowerCase()/toUpperCase() call, use a Locale | 197 |
| UseLocaleWithCaseConversions | When doing a String.toLowerCase()/toUpperCase() call, use a Locale | 203 |
| Rule | Violation | Ligne |
|---|---|---|
| CommentRequired | Header comments are required | 36–110 |
| ShortVariable | Avoid variables with short names like ID | 55 |
| 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. | 57–107 |
| Rule | Violation | Ligne |
|---|---|---|
| CommentRequired | Header comments are required | 51–247 |
| LooseCoupling | Avoid using implementation types like 'HashMap'; use the interface instead | 82 |
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the getItemsFromIds method if you want a default access modifier | 132 |
| DefaultPackage | Use explicit scoping instead of the default package private level | 132 |
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the getPluginDefaultNumberOfItemPerPage method if you want a default access modifier | 134–137 |
| DefaultPackage | Use explicit scoping instead of the default package private level | 134–137 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 144 |
| UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 157 |
| CompareObjectsWithEquals | Use equals() to compare object references. | 192 |
| LooseCoupling | Avoid using implementation types like 'HashMap'; use the interface instead | 245 |
| Rule | Violation | Ligne |
|---|---|---|
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the getItemsFromIds method if you want a default access modifier | 116 |
| DefaultPackage | Use explicit scoping instead of the default package private level | 116 |
| Rule | Violation | Ligne |
|---|---|---|
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the getItemsFromIds method if you want a default access modifier | 120 |
| DefaultPackage | Use explicit scoping instead of the default package private level | 120 |
| Rule | Violation | Ligne |
|---|---|---|
| MissingSerialVersionUID | Classes implementing Serializable should set a serialVersionUID | 49–116 |
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the getItemsFromIds method if you want a default access modifier | 115 |
| DefaultPackage | Use explicit scoping instead of the default package private level | 115 |
| Rule | Violation | Ligne |
|---|---|---|
| MissingSerialVersionUID | Classes implementing Serializable should set a serialVersionUID | 62–301 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 122 |
| DefaultPackage | Use explicit scoping instead of the default package private level | 140–147 |
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the getItemsFromIds method if you want a default access modifier | 141–147 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 167 |
| Rule | Violation | Ligne |
|---|---|---|
| CommentRequired | Header comments are required | 58–197 |
| NPathComplexity | The method 'getManageDemand(HttpServletRequest)' has an NPath complexity of 27776 | 104–184 |
| CyclomaticComplexity | The method 'getManageDemand(HttpServletRequest)' has a cyclomatic complexity of 21. | 104–184 |
| AvoidDeeplyNestedIfStmts | Deeply nested if..then statements are hard to read | 135–138 |
| AvoidDeeplyNestedIfStmts | Deeply nested if..then statements are hard to read | 145–148 |
| DefaultPackage | Use explicit scoping instead of the default package private level | 186–196 |
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the getItemsFromIds method if you want a default access modifier | 187–196 |
| Rule | Violation | Ligne |
|---|---|---|
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 125 |
| DefaultPackage | Use explicit scoping instead of the default package private level | 138–145 |
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the getItemsFromIds method if you want a default access modifier | 139–145 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 166 |
| Rule | Violation | Ligne |
|---|---|---|
| MissingSerialVersionUID | Classes implementing Serializable should set a serialVersionUID | 58–207 |
| CommentRequired | Header comments are required | 58–207 |
| NPathComplexity | The method 'getManageNotificationEvent(HttpServletRequest)' has an NPath complexity of 46144 | 100–197 |
| CyclomaticComplexity | The method 'getManageNotificationEvent(HttpServletRequest)' has a cyclomatic complexity of 25. | 100–197 |
| AvoidDeeplyNestedIfStmts | Deeply nested if..then statements are hard to read | 134–137 |
| AvoidDeeplyNestedIfStmts | Deeply nested if..then statements are hard to read | 144–147 |
| DefaultPackage | Use explicit scoping instead of the default package private level | 199–206 |
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the getItemsFromIds method if you want a default access modifier | 200–206 |
| Rule | Violation | Ligne |
|---|---|---|
| CommentRequired | Header comments are required | 59–228 |
| CyclomaticComplexity | The method 'getManageNotification(HttpServletRequest)' has a cyclomatic complexity of 22. | 103–190 |
| NPathComplexity | The method 'getManageNotification(HttpServletRequest)' has an NPath complexity of 18496 | 103–190 |
| AvoidDeeplyNestedIfStmts | Deeply nested if..then statements are hard to read | 137–140 |
| AvoidDeeplyNestedIfStmts | Deeply nested if..then statements are hard to read | 147–150 |
| UnnecessaryAnnotationValueElement | Avoid the use of value in annotations when its the only element | 200 |
| DefaultPackage | Use explicit scoping instead of the default package private level | 218–226 |
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the getItemsFromIds method if you want a default access modifier | 219–226 |
| Rule | Violation | Ligne |
|---|---|---|
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 130 |
| DefaultPackage | Use explicit scoping instead of the default package private level | 143–150 |
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the getItemsFromIds method if you want a default access modifier | 144–150 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 162 |
| Rule | Violation | Ligne |
|---|---|---|
| ShortVariable | Avoid variables with short names like id | 153 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 167–184 |
| ShortVariable | Avoid variables with short names like id | 199 |
| ShortVariable | Avoid variables with short names like id | 230 |
| Rule | Violation | Ligne |
|---|---|---|
| ExcessiveImports | A high number of imports can indicate a high degree of coupling within an object. | 34–305 |
| UseObjectForClearerAPI | Rather than using a lot of String arguments, consider using a container object for those values. | 111–117 |
| PrematureDeclaration | Avoid declaring a variable if it is unreferenced before a possible exit point. | 119 |
| UseObjectForClearerAPI | Rather than using a lot of String arguments, consider using a container object for those values. | 160–167 |
| PrematureDeclaration | Avoid declaring a variable if it is unreferenced before a possible exit point. | 169 |
| InefficientStringBuffering | Avoid concatenating nonliterals in a StringBuffer/StringBuilder constructor or append(). | 182 |
| CommentRequired | Public method and constructor comments are required | 216–232 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 246–260 |
| Rule | Violation | Ligne |
|---|---|---|
| ExcessiveImports | A high number of imports can indicate a high degree of coupling within an object. | 34–301 |
| UseObjectForClearerAPI | Rather than using a lot of String arguments, consider using a container object for those values. | 147–151 |
| UseObjectForClearerAPI | Rather than using a lot of String arguments, consider using a container object for those values. | 194–199 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 209–228 |
| Rule | Violation | Ligne |
|---|---|---|
| CommentRequired | Header comments are required | 70–176 |
| UseObjectForClearerAPI | Rather than using a lot of String arguments, consider using a container object for those values. | 118–122 |
| Rule | Violation | Ligne |
|---|---|---|
| CommentRequired | Header comments are required | 47–49 |
| Rule | Violation | Ligne |
|---|---|---|
| ShortVariable | Avoid variables with short names like ID | 47 |
| Rule | Violation | Ligne |
|---|---|---|
| UnusedImports | Avoid unused imports such as 'com.fasterxml.jackson.databind.JsonMappingException' | 59 |
| Rule | Violation | Ligne |
|---|---|---|
| UnusedImports | Avoid unused imports such as 'fr.paris.lutece.portal.service.plugin.PluginService' | 41 |
| Rule | Violation | Ligne |
|---|---|---|
| UnusedImports | Avoid unused imports such as 'fr.paris.lutece.portal.service.plugin.Plugin' | 49 |
| Rule | Violation | Ligne |
|---|---|---|
| UnusedImports | Avoid unused imports such as 'fr.paris.lutece.portal.service.plugin.Plugin' | 45 |
| Rule | Violation | Ligne |
|---|---|---|
| UnusedImports | Avoid unused imports such as 'fr.paris.lutece.plugins.grubusiness.business.demand.TemporaryStatus' | 45 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| AbstractClassWithoutAbstractMethod | This abstract class does not have any abstract methods | 3 | 50–331 |
| CommentRequired | Header comments are required | 3 | 50–331 |
| LooseCoupling | Avoid using implementation types like 'HashMap'; use the interface instead | 3 | 54 |
| FieldNamingConventions | The constant name '_listPrefixToRemove' doesn't match '[A-Z][A-Z_0-9]*' | 1 | 74 |
| FieldNamingConventions | The constant name '_listTypeAllowedForSearch' doesn't match '[A-Z][A-Z_0-9]*' | 1 | 75 |
| FieldNamingConventions | The final field name '_clazz' doesn't match '[a-z][a-zA-Z0-9]*' | 1 | 77 |
| CommentRequired | Protected method constructor comments are required | 3 | 81–95 |
| ConstructorCallsOverridableMethod | Overridable method 'initMapSql' called during object construction | 1 | 94 |
| FormalParameterNamingConventions | The method parameter name 'SQL_QUERY_SELECTALL_ID' doesn't match '[a-z][a-zA-Z0-9]*' | 1 | 109 |
| ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 114 |
| ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 115 |
| LocalVariableNamingConventions | The local variable name 'WhereClauses' doesn't match '[a-z][a-zA-Z0-9]*' | 1 | 133 |
| CollapsibleIfStatements | These nested if statements could be combined | 3 | 148–154 |
| ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 179 |
| ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 180 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| ForLoopCanBeForeach | This for loop can be replaced by a foreach loop | 3 | 201–204 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| EmptyStatementNotInLoop | An empty statement (semicolon) not part of a loop | 3 | 154 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| UnusedImports | Avoid unused imports such as 'com.fasterxml.jackson.databind.JsonMappingException' | 4 | 59 |
| TooManyMethods | This class has too many methods, consider refactoring it. | 3 | 66–753 |
| AvoidDuplicateLiterals | The String literal "SELECT " appears 6 times in this file; the first occurrence is on line 85 | 3 | 85 |
| FieldNamingConventions | The static field name 'hashMapTypeRef' doesn't match '_[a-z][a-zA-Z0-9]*' | 1 | 136 |
| ControlStatementBraces | This statement should have braces | 3 | 195 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 3 | 314 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 3 | 315 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 3 | 318 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 3 | 344 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 3 | 347 |
| AvoidBranchingStatementAsLastInLoop | Avoid using a branching statement as the last in a loop. | 2 | 445 |
| AvoidBranchingStatementAsLastInLoop | Avoid using a branching statement as the last in a loop. | 2 | 466 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 494 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 495 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 498 |
| ShortVariable | Avoid variables with short names like i | 3 | 592 |
| UseObjectForClearerAPI | Rather than using a lot of String arguments, consider using a container object for those values. | 3 | 626–627 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 3 | 634 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 3 | 639 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 3 | 646 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 3 | 650 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 3 | 655 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 3 | 692 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 3 | 699 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 3 | 700 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 3 | 706 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 3 | 709 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| UnusedImports | Avoid unused imports such as 'fr.paris.lutece.portal.service.plugin.PluginService' | 4 | 41 |
| UnusedPrivateField | Avoid unused private fields such as '_plugin'. | 3 | 54 |
| UseObjectForClearerAPI | Rather than using a lot of String arguments, consider using a container object for those values. | 3 | 138–139 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| CommentRequired | Public method and constructor comments are required | 3 | 65–79 |
| AvoidDuplicateLiterals | The String literal "String" appears 4 times in this file; the first occurrence is on line 75 | 3 | 75 |
| ForLoopCanBeForeach | This for loop can be replaced by a foreach loop | 3 | 253–256 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| FormalParameterNamingConventions | The method parameter name 'type_id' doesn't match '[a-z][a-zA-Z0-9]*' | 1 | 119 |
| CommentRequired | Public method and constructor comments are required | 3 | 185–188 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 74 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 75 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 3 | 189 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| UnusedImports | Avoid unused imports such as 'fr.paris.lutece.portal.service.plugin.Plugin' | 4 | 49 |
| AvoidReassigningParameters | Avoid reassigning parameters such as 'strNotificationContent' | 2 | 326 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| ExcessiveImports | A high number of imports can indicate a high degree of coupling within an object. | 3 | 34–707 |
| TooManyMethods | This class has too many methods, consider refactoring it. | 3 | 78–707 |
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the _mapper field if you want a default access modifier | 3 | 116 |
| DefaultPackage | Use explicit scoping instead of the default package private level | 3 | 116 |
| CyclomaticComplexity | The method 'getFilterCriteriaClauses(String, NotificationFilter)' has a cyclomatic complexity of 14. | 3 | 194–287 |
| NPathComplexity | The method 'getFilterCriteriaClauses(String, NotificationFilter)' has an NPath complexity of 4160 | 3 | 194–287 |
| AvoidSynchronizedAtMethodLevel | Use block level rather than method level synchronization | 3 | 330–359 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 3 | 348 |
| ShortVariable | Avoid variables with short names like id | 3 | 383 |
| ShortVariable | Avoid variables with short names like id | 3 | 413 |
| AvoidLiteralsInIfCondition | Avoid using Literals in Conditional Statements | 3 | 422 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 500 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 3 | 615 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 643 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 675 |
| SimplifyBooleanReturns | Avoid unnecessary if..then..else statements when returning booleans | 3 | 697–704 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| TooManyMethods | This class has too many methods, consider refactoring it. | 3 | 59–448 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 3 | 89 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 3 | 104 |
| AvoidLiteralsInIfCondition | Avoid using Literals in Conditional Statements | 3 | 129 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 145–155 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 310 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 331 |
| LinguisticNaming | Linguistics Antipattern - The getter 'getFilterCriteriaClauses' should not return void linguistically | 3 | 342–386 |
| CyclomaticComplexity | The method 'addFilterCriteriaValues(DAOUtil, NotificationFilter)' has a cyclomatic complexity of 11. | 3 | 394–432 |
| NPathComplexity | The method 'addFilterCriteriaValues(DAOUtil, NotificationFilter)' has an NPath complexity of 384 | 3 | 394–432 |
| ShortVariable | Avoid variables with short names like i | 3 | 397 |
| MissingOverride | The method 'deleteBeforeDate(long)' is missing an @Override annotation. | 3 | 437–447 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| ShortVariable | Avoid variables with short names like id | 3 | 91 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| TooManyMethods | This class has too many methods, consider refactoring it. | 3 | 53–278 |
| FieldNamingConventions | The constant name '_plugin' doesn't match '[A-Z][A-Z_0-9]*' | 1 | 65 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 77 |
| ForLoopCanBeForeach | This for loop can be replaced by a foreach loop | 3 | 192–195 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| CommentRequired | Public method and constructor comments are required | 3 | 166–169 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| RedundantFieldInitializer | Avoid using redundant field initializer for 'bIsInitialized' | 3 | 86 |
| FieldNamingConventions | The static field name 'bIsInitialized' doesn't match '_[a-z][a-zA-Z0-9]*' | 1 | 86 |
| ImmutableField | Private field '_requestAuthor' could be made final; it is only initialized in the declaration or constructor. | 3 | 90 |
| AvoidBranchingStatementAsLastInLoop | Avoid using a branching statement as the last in a loop. | 2 | 232 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| TooManyMethods | This class has too many methods, consider refactoring it. | 3 | 71–467 |
| UnusedPrivateField | Avoid unused private fields such as '_statusDao'. | 3 | 76 |
| FormalParameterNamingConventions | The method parameter name '_demandDao' doesn't match '[a-z][a-zA-Z0-9]*' | 1 | 101 |
| FormalParameterNamingConventions | The method parameter name '_notificationEventDao' doesn't match '[a-z][a-zA-Z0-9]*' | 1 | 101 |
| FormalParameterNamingConventions | The method parameter name '_notificationDao' doesn't match '[a-z][a-zA-Z0-9]*' | 1 | 101 |
| FormalParameterNamingConventions | The method parameter name '_statusDao' doesn't match '[a-z][a-zA-Z0-9]*' | 1 | 102 |
| MissingOverride | The method 'findByCustomerId(String)' is missing an @Override annotation. | 3 | 120–132 |
| MissingOverride | The method 'findByReference(String)' is missing an @Override annotation. | 3 | 141–153 |
| MissingOverride | The method 'findByPrimaryKey(String, String, String)' is missing an @Override annotation. | 3 | 164–175 |
| MissingOverride | The method 'create(Demand)' is missing an @Override annotation. | 3 | 184–192 |
| MissingOverride | The method 'create(Notification)' is missing an @Override annotation. | 3 | 201–212 |
| MissingOverride | The method 'create(NotificationEvent)' is missing an @Override annotation. | 3 | 220–225 |
| UnnecessaryLocalBeforeReturn | Consider simply returning the value vs storing it in local variable 'notificationDao' | 3 | 224 |
| MissingOverride | The method 'update(Demand)' is missing an @Override annotation. | 3 | 234–242 |
| MissingOverride | The method 'updateDemandsStatusId(int, int)' is missing an @Override annotation. | 3 | 252–255 |
| MissingOverride | The method 'remove(String, String, String)' is missing an @Override annotation. | 3 | 265–277 |
| MissingOverride | The method 'findEventsByDateAndDemandTypeIdAndStatus(long, long, String, String)' is missing an @Override annotation. | 3 | 289–299 |
| MissingOverride | The method 'getDemandTypesList()' is missing an @Override annotation. | 3 | 330–343 |
| FormalParameterNamingConventions | The method parameter name 'type_id' doesn't match '[a-z][a-zA-Z0-9]*' | 1 | 350 |
| MissingOverride | The method 'getDemandType(String)' is missing an @Override annotation. | 3 | 350–367 |
| ShortVariable | Avoid variables with short names like dt | 3 | 352 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 354–366 |
| MissingOverride | The method 'getIdsByCustomerIdAndDemandTypeId(String, String, String)' is missing an @Override annotation. | 3 | 375–378 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 3 | 450 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| CommentRequired | Header comments are required | 3 | 41–54 |
| 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 | 62–160 |
| CommentRequired | Public method and constructor comments are required | 3 | 69–103 |
| SystemPrintln | System.out.println is used | 2 | 80 |
| ShortVariable | Avoid variables with short names like i | 3 | 83 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 3 | 94 |
| SystemPrintln | System.out.println is used | 2 | 100 |
| SystemPrintln | System.out.println is used | 2 | 157 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| ExcessiveImports | A high number of imports can indicate a high degree of coupling within an object. | 3 | 34–757 |
| ClassWithOnlyPrivateConstructorsShouldBeFinal | A class which only has private constructors should be final | 1 | 74–757 |
| GodClass | Possible God Class (WMC=90, ATFD=102, TCC=12.418%) | 3 | 74–757 |
| CommentRequired | Header comments are required | 3 | 74–757 |
| CyclomaticComplexity | The class 'NotificationService' has a total cyclomatic complexity of 90 (highest 15). | 3 | 74–757 |
| TooManyMethods | This class has too many methods, consider refactoring it. | 3 | 75–757 |
| UnusedPrivateField | Avoid unused private fields such as 'STATUS_SUCCESS'. | 3 | 88 |
| UnusedPrivateField | Avoid unused private fields such as 'MESSAGE_MISSING_USER_ID'. | 3 | 102 |
| NonThreadSafeSingleton | Singleton is not thread safe | 3 | 129–137 |
| CyclomaticComplexity | The method 'newNotification(String)' has a cyclomatic complexity of 10. | 3 | 147–210 |
| AvoidCatchingNPE | Avoid catching NullPointerException; consider removing the cause of the NPE. | 3 | 184 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 3 | 184 |
| IdenticalCatchBranches | 'catch' branch identical to 'JsonParseException' branch | 3 | 184–187 |
| IdenticalCatchBranches | 'catch' branch identical to 'IOException' branch | 3 | 192–195 |
| IdenticalCatchBranches | 'catch' branch identical to 'IOException' branch | 3 | 196–199 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 3 | 196 |
| CyclomaticComplexity | The method 'processCustomer(Notification, List)' has a cyclomatic complexity of 15. | 3 | 249–318 |
| NPathComplexity | The method 'processCustomer(Notification, List)' has an NPath complexity of 230 | 3 | 249–318 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 284–296 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 3 | 298 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 3 | 300 |
| GuardLogStatement | Logger calls should be surrounded by log level guards. | 2 | 334 |
| UseCollectionIsEmpty | Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() | 3 | 345 |
| IdenticalCatchBranches | 'catch' branch identical to 'JsonParseException' branch | 3 | 364–367 |
| AvoidCatchingNPE | Avoid catching NullPointerException; consider removing the cause of the NPE. | 3 | 364 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 3 | 364 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 3 | 372 |
| IdenticalCatchBranches | 'catch' branch identical to 'IOException' branch | 3 | 372–375 |
| GuardLogStatement | Logger calls should be surrounded by log level guards. | 2 | 390 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 3 | 399 |
| AvoidCatchingNPE | Avoid catching NullPointerException; consider removing the cause of the NPE. | 3 | 399 |
| IdenticalCatchBranches | 'catch' branch identical to 'JsonParseException' branch | 3 | 399–402 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 3 | 407 |
| IdenticalCatchBranches | 'catch' branch identical to 'IOException' branch | 3 | 407–410 |
| CyclomaticComplexity | The method 'store(Notification)' has a cyclomatic complexity of 13. | 3 | 442–503 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 523–530 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 587 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 594 |
| ShortMethodName | Avoid using short method names | 3 | 616 |
| ShortVariable | Avoid variables with short names like ex | 3 | 630 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 640 |
| InsufficientStringBufferDeclaration | StringBuffer constructor is initialized with size 16, but has at least 170 characters appended. | 3 | 656 |
| ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 657 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 3 consecutive times with literals. Use a single append with a single combined String. | 3 | 657 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 658 |
| ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 658 |
| ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 659 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 3 | 659 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 659 |
| ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 660 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 660 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 3 | 660 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 3 | 661 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 661 |
| ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 661 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 662 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 3 | 666 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 666 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 667 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 3 | 673 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 673 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 3 | 674 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 674 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 675 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 3 | 675 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 3 | 676 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 676 |
| GuardLogStatement | Logger calls should be surrounded by log level guards. | 2 | 730 |
| UnnecessaryLocalBeforeReturn | Consider simply returning the value vs storing it in local variable 'notification' | 3 | 739 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| UncommentedEmptyMethodBody | Document empty method body | 3 | 54–55 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| ClassWithOnlyPrivateConstructorsShouldBeFinal | A class which only has private constructors should be final | 1 | 47–108 |
| CallSuperInConstructor | It is a good practice to call super() in a constructor | 3 | 57–60 |
| NonThreadSafeSingleton | Singleton is not thread safe | 3 | 69–72 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| UnusedImports | Avoid unused imports such as 'fr.paris.lutece.portal.service.plugin.Plugin' | 4 | 45 |
| ClassWithOnlyPrivateConstructorsShouldBeFinal | A class which only has private constructors should be final | 1 | 55–259 |
| NonThreadSafeSingleton | Singleton is not thread safe | 3 | 79–84 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 3 | 138 |
| AvoidReassigningParameters | Avoid reassigning parameters such as 'strStatus' | 2 | 193 |
| UseLocaleWithCaseConversions | When doing a String.toLowerCase()/toUpperCase() call, use a Locale | 3 | 197 |
| UseLocaleWithCaseConversions | When doing a String.toLowerCase()/toUpperCase() call, use a Locale | 3 | 203 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| CommentRequired | Header comments are required | 3 | 36–110 |
| ClassNamingConventions | The utility class name 'NotificationStoreConstants' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' | 1 | 36–110 |
| ShortVariable | Avoid variables with short names like ID | 3 | 55 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| UnusedImports | Avoid unused imports such as 'fr.paris.lutece.plugins.grubusiness.business.demand.TemporaryStatus' | 4 | 45 |
| 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 | 57–107 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| CommentRequired | Header comments are required | 3 | 51–247 |
| LooseCoupling | Avoid using implementation types like 'HashMap'; use the interface instead | 3 | 82 |
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the getItemsFromIds method if you want a default access modifier | 3 | 132 |
| DefaultPackage | Use explicit scoping instead of the default package private level | 3 | 132 |
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the getPluginDefaultNumberOfItemPerPage method if you want a default access modifier | 3 | 134–137 |
| DefaultPackage | Use explicit scoping instead of the default package private level | 3 | 134–137 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 3 | 144 |
| UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 157 |
| CompareObjectsWithEquals | Use equals() to compare object references. | 3 | 192 |
| LocalVariableNamingConventions | The local variable name '_model' doesn't match '[a-z][a-zA-Z0-9]*' | 1 | 224 |
| FormalParameterNamingConventions | The method parameter name '_mapFilterCriteria' doesn't match '[a-z][a-zA-Z0-9]*' | 1 | 245 |
| LooseCoupling | Avoid using implementation types like 'HashMap'; use the interface instead | 3 | 245 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the getItemsFromIds method if you want a default access modifier | 3 | 116 |
| DefaultPackage | Use explicit scoping instead of the default package private level | 3 | 116 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the getItemsFromIds method if you want a default access modifier | 3 | 120 |
| DefaultPackage | Use explicit scoping instead of the default package private level | 3 | 120 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| MissingSerialVersionUID | Classes implementing Serializable should set a serialVersionUID | 3 | 49–116 |
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the getItemsFromIds method if you want a default access modifier | 3 | 115 |
| DefaultPackage | Use explicit scoping instead of the default package private level | 3 | 115 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| MissingSerialVersionUID | Classes implementing Serializable should set a serialVersionUID | 3 | 62–301 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 3 | 122 |
| DefaultPackage | Use explicit scoping instead of the default package private level | 3 | 140–147 |
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the getItemsFromIds method if you want a default access modifier | 3 | 141–147 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 167 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| CommentRequired | Header comments are required | 3 | 58–197 |
| NPathComplexity | The method 'getManageDemand(HttpServletRequest)' has an NPath complexity of 27776 | 3 | 104–184 |
| CyclomaticComplexity | The method 'getManageDemand(HttpServletRequest)' has a cyclomatic complexity of 21. | 3 | 104–184 |
| AvoidDeeplyNestedIfStmts | Deeply nested if..then statements are hard to read | 3 | 135–138 |
| AvoidDeeplyNestedIfStmts | Deeply nested if..then statements are hard to read | 3 | 145–148 |
| DefaultPackage | Use explicit scoping instead of the default package private level | 3 | 186–196 |
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the getItemsFromIds method if you want a default access modifier | 3 | 187–196 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 3 | 125 |
| DefaultPackage | Use explicit scoping instead of the default package private level | 3 | 138–145 |
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the getItemsFromIds method if you want a default access modifier | 3 | 139–145 |
| FormalParameterNamingConventions | The method parameter name '_mapFilterCriteria' doesn't match '[a-z][a-zA-Z0-9]*' | 1 | 151 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 166 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| MissingSerialVersionUID | Classes implementing Serializable should set a serialVersionUID | 3 | 58–207 |
| CommentRequired | Header comments are required | 3 | 58–207 |
| NPathComplexity | The method 'getManageNotificationEvent(HttpServletRequest)' has an NPath complexity of 46144 | 3 | 100–197 |
| CyclomaticComplexity | The method 'getManageNotificationEvent(HttpServletRequest)' has a cyclomatic complexity of 25. | 3 | 100–197 |
| AvoidDeeplyNestedIfStmts | Deeply nested if..then statements are hard to read | 3 | 134–137 |
| AvoidDeeplyNestedIfStmts | Deeply nested if..then statements are hard to read | 3 | 144–147 |
| DefaultPackage | Use explicit scoping instead of the default package private level | 3 | 199–206 |
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the getItemsFromIds method if you want a default access modifier | 3 | 200–206 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| CommentRequired | Header comments are required | 3 | 59–228 |
| CyclomaticComplexity | The method 'getManageNotification(HttpServletRequest)' has a cyclomatic complexity of 22. | 3 | 103–190 |
| NPathComplexity | The method 'getManageNotification(HttpServletRequest)' has an NPath complexity of 18496 | 3 | 103–190 |
| AvoidDeeplyNestedIfStmts | Deeply nested if..then statements are hard to read | 3 | 137–140 |
| AvoidDeeplyNestedIfStmts | Deeply nested if..then statements are hard to read | 3 | 147–150 |
| UnnecessaryAnnotationValueElement | Avoid the use of value in annotations when its the only element | 3 | 200 |
| DefaultPackage | Use explicit scoping instead of the default package private level | 3 | 218–226 |
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the getItemsFromIds method if you want a default access modifier | 3 | 219–226 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 3 | 130 |
| DefaultPackage | Use explicit scoping instead of the default package private level | 3 | 143–150 |
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the getItemsFromIds method if you want a default access modifier | 3 | 144–150 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 162 |
| FormalParameterNamingConventions | The method parameter name '_mapFilterCriteria' doesn't match '[a-z][a-zA-Z0-9]*' | 1 | 321 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| ShortVariable | Avoid variables with short names like id | 3 | 153 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 167–184 |
| ShortVariable | Avoid variables with short names like id | 3 | 199 |
| ShortVariable | Avoid variables with short names like id | 3 | 230 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| ExcessiveImports | A high number of imports can indicate a high degree of coupling within an object. | 3 | 34–305 |
| UseObjectForClearerAPI | Rather than using a lot of String arguments, consider using a container object for those values. | 3 | 111–117 |
| PrematureDeclaration | Avoid declaring a variable if it is unreferenced before a possible exit point. | 3 | 119 |
| UseObjectForClearerAPI | Rather than using a lot of String arguments, consider using a container object for those values. | 3 | 160–167 |
| PrematureDeclaration | Avoid declaring a variable if it is unreferenced before a possible exit point. | 3 | 169 |
| InefficientStringBuffering | Avoid concatenating nonliterals in a StringBuffer/StringBuilder constructor or append(). | 3 | 182 |
| CommentRequired | Public method and constructor comments are required | 3 | 216–232 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 246–260 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| ExcessiveImports | A high number of imports can indicate a high degree of coupling within an object. | 3 | 34–301 |
| LocalVariableNamingConventions | The local variable name '_mapper' doesn't match '[a-z][a-zA-Z0-9]*' | 1 | 114 |
| UseObjectForClearerAPI | Rather than using a lot of String arguments, consider using a container object for those values. | 3 | 147–151 |
| UseObjectForClearerAPI | Rather than using a lot of String arguments, consider using a container object for those values. | 3 | 194–199 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 209–228 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| CommentRequired | Header comments are required | 3 | 70–176 |
| UseObjectForClearerAPI | Rather than using a lot of String arguments, consider using a container object for those values. | 3 | 118–122 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| CommentRequired | Header comments are required | 3 | 47–49 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| ClassNamingConventions | The utility class name 'SwaggerConstants' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' | 1 | 39–77 |
| ShortVariable | Avoid variables with short names like ID | 3 | 47 |