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]*' | 137 |
| 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 | 69–784 |
| 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–113 |
| Rule | Violation | Ligne |
|---|---|---|
| ClassWithOnlyPrivateConstructorsShouldBeFinal | A class which only has private constructors should be final | 56–161 |
| FieldNamingConventions | The static field name 'hashMapTypeRef' doesn't match '_[a-z][a-zA-Z0-9]*' | 61 |
| 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–80 |
| Rule | Violation | Ligne |
|---|---|---|
| AvoidBranchingStatementAsLastInLoop | Avoid using a branching statement as the last in a loop. | 446 |
| AvoidBranchingStatementAsLastInLoop | Avoid using a branching statement as the last in a loop. | 467 |
| 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. | 361 |
| GuardLogStatement | Logger calls should be surrounded by log level guards. | 417 |
| GuardLogStatement | Logger calls should be surrounded by log level guards. | 757 |
| Rule | Violation | Ligne |
|---|---|---|
| AvoidReassigningParameters | Avoid reassigning parameters such as 'strStatus' | 193 |
| Rule | Violation | Ligne |
|---|---|---|
| CommentRequired | Header comments are required | 50–331 |
| AbstractClassWithoutAbstractMethod | This abstract class does not have any abstract methods | 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. | 67–711 |
| AvoidDuplicateLiterals | The String literal "SELECT " appears 6 times in this file; the first occurrence is on line 86 | 86 |
| UnusedPrivateField | Avoid unused private fields such as '_mapper'. | 134 |
| UnusedPrivateField | Avoid unused private fields such as 'hashMapTypeRef'. | 137 |
| ControlStatementBraces | This statement should have braces | 196 |
| 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. | 316 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 319 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 345 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 348 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 495 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 496 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 499 |
| ShortVariable | Avoid variables with short names like i | 550 |
| UseObjectForClearerAPI | Rather than using a lot of String arguments, consider using a container object for those values. | 584–585 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 592 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 597 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 604 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 608 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 613 |
| 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 | 657 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 658 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 664 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 667 |
| 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 | 66–80 |
| AvoidDuplicateLiterals | The String literal "String" appears 4 times in this file; the first occurrence is on line 76 | 76 |
| ForLoopCanBeForeach | This for loop can be replaced by a foreach loop | 258–261 |
| 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–718 |
| TooManyMethods | This class has too many methods, consider refactoring it. | 79–718 |
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the _mapper field if you want a default access modifier | 117 |
| DefaultPackage | Use explicit scoping instead of the default package private level | 117 |
| NPathComplexity | The method 'getFilterCriteriaClauses(String, NotificationFilter)' has an NPath complexity of 4160 | 195–288 |
| CyclomaticComplexity | The method 'getFilterCriteriaClauses(String, NotificationFilter)' has a cyclomatic complexity of 14. | 195–288 |
| AvoidSynchronizedAtMethodLevel | Use block level rather than method level synchronization | 331–360 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 349 |
| ShortVariable | Avoid variables with short names like id | 384 |
| ShortVariable | Avoid variables with short names like id | 414 |
| AvoidLiteralsInIfCondition | Avoid using Literals in Conditional Statements | 423 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 501 |
| CyclomaticComplexity | The method 'loadByDemandIdTypeIdCustomerId(String, String, String, NotificationFilter)' has a cyclomatic complexity of 10. | 610–668 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 622 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 654 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 686 |
| SimplifyBooleanReturns | Avoid unnecessary if..then..else statements when returning booleans | 708–715 |
| 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 | 43–101 |
| RedundantFieldInitializer | Avoid using redundant field initializer for '_instance' | 47 |
| NonThreadSafeSingleton | Singleton is not thread safe | 56–59 |
| 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–784 |
| CommentRequired | Header comments are required | 69–784 |
| GodClass | Possible God Class (WMC=91, ATFD=107, TCC=11.111%) | 69–784 |
| CyclomaticComplexity | The class 'NotificationService' has a total cyclomatic complexity of 91 (highest 15). | 69–784 |
| TooManyMethods | This class has too many methods, consider refactoring it. | 70–784 |
| UnusedPrivateField | Avoid unused private fields such as 'STATUS_SUCCESS'. | 83 |
| UnusedPrivateField | Avoid unused private fields such as 'MESSAGE_MISSING_USER_ID'. | 97 |
| NonThreadSafeSingleton | Singleton is not thread safe | 124–132 |
| CyclomaticComplexity | The method 'newNotification(String)' has a cyclomatic complexity of 10. | 142–206 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 180 |
| AvoidCatchingNPE | Avoid catching NullPointerException; consider removing the cause of the NPE. | 180 |
| IdenticalCatchBranches | 'catch' branch identical to 'JsonParseException' branch | 180–183 |
| IdenticalCatchBranches | 'catch' branch identical to 'IOException' branch | 188–191 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 192 |
| IdenticalCatchBranches | 'catch' branch identical to 'IOException' branch | 192–195 |
| NPathComplexity | The method 'processCustomer(Notification, List)' has an NPath complexity of 230 | 245–314 |
| CyclomaticComplexity | The method 'processCustomer(Notification, List)' has a cyclomatic complexity of 15. | 245–314 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 280–292 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 294 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 296 |
| UseObjectForClearerAPI | Rather than using a lot of String arguments, consider using a container object for those values. | 331–332 |
| UseCollectionIsEmpty | Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() | 372 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 391 |
| AvoidCatchingNPE | Avoid catching NullPointerException; consider removing the cause of the NPE. | 391 |
| IdenticalCatchBranches | 'catch' branch identical to 'JsonParseException' branch | 391–394 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 399 |
| IdenticalCatchBranches | 'catch' branch identical to 'IOException' branch | 399–402 |
| AvoidCatchingNPE | Avoid catching NullPointerException; consider removing the cause of the NPE. | 426 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 426 |
| IdenticalCatchBranches | 'catch' branch identical to 'JsonParseException' branch | 426–429 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 434 |
| IdenticalCatchBranches | 'catch' branch identical to 'IOException' branch | 434–437 |
| CyclomaticComplexity | The method 'store(Notification)' has a cyclomatic complexity of 13. | 469–530 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 550–557 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 614 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 621 |
| ShortMethodName | Avoid using short method names | 643 |
| ShortVariable | Avoid variables with short names like ex | 657 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 667 |
| InsufficientStringBufferDeclaration | StringBuffer constructor is initialized with size 16, but has at least 170 characters appended. | 683 |
| ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 684 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 3 consecutive times with literals. Use a single append with a single combined String. | 684 |
| ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 685 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 685 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 686 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 686 |
| ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 686 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 687 |
| ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 687 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 687 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 688 |
| ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 688 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 688 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 689 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 693 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 693 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 694 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 700 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 700 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 701 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 701 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 702 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 702 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 703 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 703 |
| UnnecessaryLocalBeforeReturn | Consider simply returning the value vs storing it in local variable 'notification' | 766 |
| 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–113 |
| ShortVariable | Avoid variables with short names like ID | 55 |
| Rule | Violation | Ligne |
|---|---|---|
| CommentRequired | Header comments are required | 51–247 |
| LooseCoupling | Avoid using implementation types like 'HashMap'; use the interface instead | 82 |
| DefaultPackage | Use explicit scoping instead of the default package private level | 132 |
| 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 | 134–137 |
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the getPluginDefaultNumberOfItemPerPage method if you want a default access modifier | 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 |
|---|---|---|
| DefaultPackage | Use explicit scoping instead of the default package private level | 116 |
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the getItemsFromIds method if you want a default access modifier | 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 |
| DefaultPackage | Use explicit scoping instead of the default package private level | 115 |
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the getItemsFromIds method if you want a default access modifier | 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 |
| CyclomaticComplexity | The method 'getManageDemand(HttpServletRequest)' has a cyclomatic complexity of 21. | 104–184 |
| NPathComplexity | The method 'getManageDemand(HttpServletRequest)' has an NPath complexity of 27776 | 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. | 126 |
| 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 |
|---|---|---|
| CommentRequired | Header comments are required | 58–207 |
| MissingSerialVersionUID | Classes implementing Serializable should set a serialVersionUID | 58–207 |
| CyclomaticComplexity | The method 'getManageNotificationEvent(HttpServletRequest)' has a cyclomatic complexity of 25. | 100–197 |
| NPathComplexity | The method 'getManageNotificationEvent(HttpServletRequest)' has an NPath complexity of 46144 | 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 |
| NPathComplexity | The method 'getManageNotification(HttpServletRequest)' has an NPath complexity of 18496 | 103–190 |
| CyclomaticComplexity | The method 'getManageNotification(HttpServletRequest)' has a cyclomatic complexity of 22. | 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 | 71–227 |
| UseObjectForClearerAPI | Rather than using a lot of String arguments, consider using a container object for those values. | 87–92 |
| UseObjectForClearerAPI | Rather than using a lot of String arguments, consider using a container object for those values. | 169–173 |
| 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 'fr.paris.lutece.portal.service.util.AppLogService' | 42 |
| UnusedImports | Avoid unused imports such as 'java.util.Map' | 52 |
| UnusedImports | Avoid unused imports such as 'com.fasterxml.jackson.core.JsonProcessingException' | 57 |
| UnusedImports | Avoid unused imports such as 'com.fasterxml.jackson.databind.JsonMappingException' | 60 |
| 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 'java.time.LocalDateTime' | 62 |
| UnusedImports | Avoid unused imports such as 'java.time.ZoneId' | 63 |
| UnusedImports | Avoid unused imports such as 'java.time.format.DateTimeFormatter' | 64 |
| 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 'com.google.common.html.HtmlEscapers' | 36 |
| UnusedImports | Avoid unused imports such as 'freemarker.template.utility.HtmlEscape' | 50 |
| UnusedImports | Avoid unused imports such as 'org.apache.tika.parser.html.HtmlParser' | 52 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| CommentRequired | Header comments are required | 3 | 50–331 |
| AbstractClassWithoutAbstractMethod | This abstract class does not have any abstract methods | 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 'fr.paris.lutece.portal.service.util.AppLogService' | 4 | 42 |
| UnusedImports | Avoid unused imports such as 'java.util.Map' | 4 | 52 |
| UnusedImports | Avoid unused imports such as 'com.fasterxml.jackson.core.JsonProcessingException' | 4 | 57 |
| UnusedImports | Avoid unused imports such as 'com.fasterxml.jackson.databind.JsonMappingException' | 4 | 60 |
| TooManyMethods | This class has too many methods, consider refactoring it. | 3 | 67–711 |
| AvoidDuplicateLiterals | The String literal "SELECT " appears 6 times in this file; the first occurrence is on line 86 | 3 | 86 |
| UnusedPrivateField | Avoid unused private fields such as '_mapper'. | 3 | 134 |
| UnusedPrivateField | Avoid unused private fields such as 'hashMapTypeRef'. | 3 | 137 |
| FieldNamingConventions | The static field name 'hashMapTypeRef' doesn't match '_[a-z][a-zA-Z0-9]*' | 1 | 137 |
| ControlStatementBraces | This statement should have braces | 3 | 196 |
| 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 | 316 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 3 | 319 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 3 | 345 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 3 | 348 |
| AvoidBranchingStatementAsLastInLoop | Avoid using a branching statement as the last in a loop. | 2 | 446 |
| AvoidBranchingStatementAsLastInLoop | Avoid using a branching statement as the last in a loop. | 2 | 467 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 495 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 496 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 499 |
| ShortVariable | Avoid variables with short names like i | 3 | 550 |
| UseObjectForClearerAPI | Rather than using a lot of String arguments, consider using a container object for those values. | 3 | 584–585 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 3 | 592 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 3 | 597 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 3 | 604 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 3 | 608 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 3 | 613 |
| 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 | 657 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 3 | 658 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 3 | 664 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 3 | 667 |
| 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 | 66–80 |
| AvoidDuplicateLiterals | The String literal "String" appears 4 times in this file; the first occurrence is on line 76 | 3 | 76 |
| ForLoopCanBeForeach | This for loop can be replaced by a foreach loop | 3 | 258–261 |
| 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–718 |
| TooManyMethods | This class has too many methods, consider refactoring it. | 3 | 79–718 |
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the _mapper field if you want a default access modifier | 3 | 117 |
| DefaultPackage | Use explicit scoping instead of the default package private level | 3 | 117 |
| NPathComplexity | The method 'getFilterCriteriaClauses(String, NotificationFilter)' has an NPath complexity of 4160 | 3 | 195–288 |
| CyclomaticComplexity | The method 'getFilterCriteriaClauses(String, NotificationFilter)' has a cyclomatic complexity of 14. | 3 | 195–288 |
| AvoidSynchronizedAtMethodLevel | Use block level rather than method level synchronization | 3 | 331–360 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 3 | 349 |
| ShortVariable | Avoid variables with short names like id | 3 | 384 |
| ShortVariable | Avoid variables with short names like id | 3 | 414 |
| AvoidLiteralsInIfCondition | Avoid using Literals in Conditional Statements | 3 | 423 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 501 |
| CyclomaticComplexity | The method 'loadByDemandIdTypeIdCustomerId(String, String, String, NotificationFilter)' has a cyclomatic complexity of 10. | 3 | 610–668 |
| UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 3 | 622 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 654 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 686 |
| SimplifyBooleanReturns | Avoid unnecessary if..then..else statements when returning booleans | 3 | 708–715 |
| 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 |
| MissingOverride | The method 'getDemandType(String)' is missing an @Override annotation. | 3 | 350–367 |
| FormalParameterNamingConventions | The method parameter name 'type_id' doesn't match '[a-z][a-zA-Z0-9]*' | 1 | 350 |
| 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 | 43–101 |
| RedundantFieldInitializer | Avoid using redundant field initializer for '_instance' | 3 | 47 |
| NonThreadSafeSingleton | Singleton is not thread safe | 3 | 56–59 |
| 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–784 |
| UnusedImports | Avoid unused imports such as 'java.time.LocalDateTime' | 4 | 62 |
| UnusedImports | Avoid unused imports such as 'java.time.ZoneId' | 4 | 63 |
| UnusedImports | Avoid unused imports such as 'java.time.format.DateTimeFormatter' | 4 | 64 |
| CommentRequired | Header comments are required | 3 | 69–784 |
| GodClass | Possible God Class (WMC=91, ATFD=107, TCC=11.111%) | 3 | 69–784 |
| ClassWithOnlyPrivateConstructorsShouldBeFinal | A class which only has private constructors should be final | 1 | 69–784 |
| CyclomaticComplexity | The class 'NotificationService' has a total cyclomatic complexity of 91 (highest 15). | 3 | 69–784 |
| TooManyMethods | This class has too many methods, consider refactoring it. | 3 | 70–784 |
| UnusedPrivateField | Avoid unused private fields such as 'STATUS_SUCCESS'. | 3 | 83 |
| UnusedPrivateField | Avoid unused private fields such as 'MESSAGE_MISSING_USER_ID'. | 3 | 97 |
| NonThreadSafeSingleton | Singleton is not thread safe | 3 | 124–132 |
| CyclomaticComplexity | The method 'newNotification(String)' has a cyclomatic complexity of 10. | 3 | 142–206 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 3 | 180 |
| AvoidCatchingNPE | Avoid catching NullPointerException; consider removing the cause of the NPE. | 3 | 180 |
| IdenticalCatchBranches | 'catch' branch identical to 'JsonParseException' branch | 3 | 180–183 |
| IdenticalCatchBranches | 'catch' branch identical to 'IOException' branch | 3 | 188–191 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 3 | 192 |
| IdenticalCatchBranches | 'catch' branch identical to 'IOException' branch | 3 | 192–195 |
| NPathComplexity | The method 'processCustomer(Notification, List)' has an NPath complexity of 230 | 3 | 245–314 |
| CyclomaticComplexity | The method 'processCustomer(Notification, List)' has a cyclomatic complexity of 15. | 3 | 245–314 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 280–292 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 3 | 294 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 3 | 296 |
| UseObjectForClearerAPI | Rather than using a lot of String arguments, consider using a container object for those values. | 3 | 331–332 |
| GuardLogStatement | Logger calls should be surrounded by log level guards. | 2 | 361 |
| UseCollectionIsEmpty | Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() | 3 | 372 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 3 | 391 |
| AvoidCatchingNPE | Avoid catching NullPointerException; consider removing the cause of the NPE. | 3 | 391 |
| IdenticalCatchBranches | 'catch' branch identical to 'JsonParseException' branch | 3 | 391–394 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 3 | 399 |
| IdenticalCatchBranches | 'catch' branch identical to 'IOException' branch | 3 | 399–402 |
| GuardLogStatement | Logger calls should be surrounded by log level guards. | 2 | 417 |
| AvoidCatchingNPE | Avoid catching NullPointerException; consider removing the cause of the NPE. | 3 | 426 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 3 | 426 |
| IdenticalCatchBranches | 'catch' branch identical to 'JsonParseException' branch | 3 | 426–429 |
| AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 3 | 434 |
| IdenticalCatchBranches | 'catch' branch identical to 'IOException' branch | 3 | 434–437 |
| CyclomaticComplexity | The method 'store(Notification)' has a cyclomatic complexity of 13. | 3 | 469–530 |
| ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 550–557 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 614 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 621 |
| ShortMethodName | Avoid using short method names | 3 | 643 |
| ShortVariable | Avoid variables with short names like ex | 3 | 657 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 667 |
| InsufficientStringBufferDeclaration | StringBuffer constructor is initialized with size 16, but has at least 170 characters appended. | 3 | 683 |
| ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 684 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 3 consecutive times with literals. Use a single append with a single combined String. | 3 | 684 |
| ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 685 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 685 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 3 | 686 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 686 |
| ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 686 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 3 | 687 |
| ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 687 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 687 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 688 |
| ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 688 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 3 | 688 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 689 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 693 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 3 | 693 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 694 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 3 | 700 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 700 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 701 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 3 | 701 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 3 | 702 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 702 |
| AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 703 |
| ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 3 | 703 |
| GuardLogStatement | Logger calls should be surrounded by log level guards. | 2 | 757 |
| UnnecessaryLocalBeforeReturn | Consider simply returning the value vs storing it in local variable 'notification' | 3 | 766 |
| 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–113 |
| ClassNamingConventions | The utility class name 'NotificationStoreConstants' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' | 1 | 36–113 |
| ShortVariable | Avoid variables with short names like ID | 3 | 55 |
| Rule | Violation | Priority | Ligne |
|---|---|---|---|
| ClassWithOnlyPrivateConstructorsShouldBeFinal | A class which only has private constructors should be final | 1 | 56–161 |
| FieldNamingConventions | The static field name 'hashMapTypeRef' doesn't match '_[a-z][a-zA-Z0-9]*' | 1 | 61 |
| 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 |
| 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 getItemsFromIds method if you want a default access modifier | 3 | 132 |
| DefaultPackage | Use explicit scoping instead of the default package private level | 3 | 134–137 |
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the getPluginDefaultNumberOfItemPerPage method if you want a default access modifier | 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 |
|---|---|---|---|
| DefaultPackage | Use explicit scoping instead of the default package private level | 3 | 116 |
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the getItemsFromIds method if you want a default access modifier | 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 |
| DefaultPackage | Use explicit scoping instead of the default package private level | 3 | 115 |
| CommentDefaultAccessModifier | To avoid mistakes add a comment at the beginning of the getItemsFromIds method if you want a default access modifier | 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 |
| CyclomaticComplexity | The method 'getManageDemand(HttpServletRequest)' has a cyclomatic complexity of 21. | 3 | 104–184 |
| NPathComplexity | The method 'getManageDemand(HttpServletRequest)' has an NPath complexity of 27776 | 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 |
|---|---|---|---|
| UnusedImports | Avoid unused imports such as 'com.google.common.html.HtmlEscapers' | 4 | 36 |
| UnusedImports | Avoid unused imports such as 'freemarker.template.utility.HtmlEscape' | 4 | 50 |
| UnusedImports | Avoid unused imports such as 'org.apache.tika.parser.html.HtmlParser' | 4 | 52 |
| NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 3 | 126 |
| 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 |
|---|---|---|---|
| CommentRequired | Header comments are required | 3 | 58–207 |
| MissingSerialVersionUID | Classes implementing Serializable should set a serialVersionUID | 3 | 58–207 |
| CyclomaticComplexity | The method 'getManageNotificationEvent(HttpServletRequest)' has a cyclomatic complexity of 25. | 3 | 100–197 |
| NPathComplexity | The method 'getManageNotificationEvent(HttpServletRequest)' has an NPath complexity of 46144 | 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 |
| NPathComplexity | The method 'getManageNotification(HttpServletRequest)' has an NPath complexity of 18496 | 3 | 103–190 |
| CyclomaticComplexity | The method 'getManageNotification(HttpServletRequest)' has a cyclomatic complexity of 22. | 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 | 71–227 |
| UseObjectForClearerAPI | Rather than using a lot of String arguments, consider using a container object for those values. | 3 | 87–92 |
| UseObjectForClearerAPI | Rather than using a lot of String arguments, consider using a container object for those values. | 3 | 169–173 |
| 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–80 |
| ShortVariable | Avoid variables with short names like ID | 3 | 47 |