Fork me on GitHub

PMD Results

The following document contains the results of PMD 6.13.0.

Violations By Priority

Priority 1

fr/paris/lutece/plugins/participatorybudget/business/MyAccount.java

Rule Violation Line
FormalParameterNamingConventions The method parameter name '_strLogin' doesn't match '[a-z][a-zA-Z0-9]*' 58
FormalParameterNamingConventions The method parameter name '_strPassword' doesn't match '[a-z][a-zA-Z0-9]*' 68
FormalParameterNamingConventions The method parameter name '_strConfirmationPassword' doesn't match '[a-z][a-zA-Z0-9]*' 78

fr/paris/lutece/plugins/participatorybudget/business/MyInfosForm.java

Rule Violation Line
FormalParameterNamingConventions The method parameter name '_bAccountVerified' doesn't match '[a-z][a-zA-Z0-9]*' 315
FormalParameterNamingConventions The method parameter name '_strNickname' doesn't match '[a-z][a-zA-Z0-9]*' 325
FormalParameterNamingConventions The method parameter name '_strPostalCode' doesn't match '[a-z][a-zA-Z0-9]*' 358
FormalParameterNamingConventions The method parameter name '_dLongitude' doesn't match '[a-z][a-zA-Z0-9]*' 377
FormalParameterNamingConventions The method parameter name '_dLatitude' doesn't match '[a-z][a-zA-Z0-9]*' 396
FormalParameterNamingConventions The method parameter name '_strGeojson' doesn't match '[a-z][a-zA-Z0-9]*' 406

fr/paris/lutece/plugins/participatorybudget/business/NotifyUser.java

Rule Violation Line
FormalParameterNamingConventions The method parameter name '_strIdUser' doesn't match '[a-z][a-zA-Z0-9]*' 50
FormalParameterNamingConventions The method parameter name '_myVote' doesn't match '[a-z][a-zA-Z0-9]*' 60
FormalParameterNamingConventions The method parameter name '_nbreDocumentSpace' doesn't match '[a-z][a-zA-Z0-9]*' 70

fr/paris/lutece/plugins/participatorybudget/business/bizstat/BizStatFile.java

Rule Violation Line
FieldNamingConventions The static field name 'STATUS_REQUESTED' doesn't match '_[a-z][a-zA-Z0-9]*' 47
FieldNamingConventions The static field name 'STATUS_UNDER_TREATMENT' doesn't match '_[a-z][a-zA-Z0-9]*' 48
FieldNamingConventions The static field name 'STATUS_AVAILABLE' doesn't match '_[a-z][a-zA-Z0-9]*' 49
FieldNamingConventions The static field name 'STATUS_PURGED' doesn't match '_[a-z][a-zA-Z0-9]*' 50
FieldNamingConventions The static field name 'STATUT_ERROR' doesn't match '_[a-z][a-zA-Z0-9]*' 51
FormalParameterNamingConventions The method parameter name '_nIdBizStatFile' doesn't match '[a-z][a-zA-Z0-9]*' 71
FormalParameterNamingConventions The method parameter name '_strStatus' doesn't match '[a-z][a-zA-Z0-9]*' 81
FormalParameterNamingConventions The method parameter name '_strFileName' doesn't match '[a-z][a-zA-Z0-9]*' 91
FormalParameterNamingConventions The method parameter name '_nIdAdminUser' doesn't match '[a-z][a-zA-Z0-9]*' 101
FormalParameterNamingConventions The method parameter name '_strAdminUserAccessCode' doesn't match '[a-z][a-zA-Z0-9]*' 111
FormalParameterNamingConventions The method parameter name '_strAdminUserEmail' doesn't match '[a-z][a-zA-Z0-9]*' 121
FormalParameterNamingConventions The method parameter name '_strReason' doesn't match '[a-z][a-zA-Z0-9]*' 131
FormalParameterNamingConventions The method parameter name '_strDescription' doesn't match '[a-z][a-zA-Z0-9]*' 141
FormalParameterNamingConventions The method parameter name '_strError' doesn't match '[a-z][a-zA-Z0-9]*' 151
FormalParameterNamingConventions The method parameter name '_tsCreationDate' doesn't match '[a-z][a-zA-Z0-9]*' 161
FormalParameterNamingConventions The method parameter name '_byValue' doesn't match '[a-z][a-zA-Z0-9]*' 171
FormalParameterNamingConventions The method parameter name '_nContentSize' doesn't match '[a-z][a-zA-Z0-9]*' 181

fr/paris/lutece/plugins/participatorybudget/business/campaign/Campaign.java

Rule Violation Line
FormalParameterNamingConventions The method parameter name 'Imgs' doesn't match '[a-z][a-zA-Z0-9]*' 235

fr/paris/lutece/plugins/participatorybudget/business/campaign/CampaignPhaseType.java

Rule Violation Line
FormalParameterNamingConventions The method parameter name '_nId' doesn't match '[a-z][a-zA-Z0-9]*' 73
FormalParameterNamingConventions The method parameter name '_strCode' doesn't match '[a-z][a-zA-Z0-9]*' 83
FormalParameterNamingConventions The method parameter name '_strLabel' doesn't match '[a-z][a-zA-Z0-9]*' 93
FormalParameterNamingConventions The method parameter name '_strOrder' doesn't match '[a-z][a-zA-Z0-9]*' 103

fr/paris/lutece/plugins/participatorybudget/business/campaign/CampaignTheme.java

Rule Violation Line
FormalParameterNamingConventions The method parameter name '_fileImage' doesn't match '[a-z][a-zA-Z0-9]*' 209

fr/paris/lutece/plugins/participatorybudget/business/campaign/ICampaignDAO.java

Rule Violation Line
FormalParameterNamingConventions The method parameter name '_plugin' doesn't match '[a-z][a-zA-Z0-9]*' 96

fr/paris/lutece/plugins/participatorybudget/business/vote/UserAccessVote.java

Rule Violation Line
FormalParameterNamingConventions The method parameter name '_strId' doesn't match '[a-z][a-zA-Z0-9]*' 57

fr/paris/lutece/plugins/participatorybudget/business/vote/UserAccessVoteDAO.java

Rule Violation Line
FieldNamingConventions The constant name 'SQl_QUERY_SELECT' doesn't match '[A-Z][A-Z_0-9]*' 46

fr/paris/lutece/plugins/participatorybudget/business/vote/UserAccessVoteHome.java

Rule Violation Line
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 44–102

fr/paris/lutece/plugins/participatorybudget/business/vote/Vote.java

Rule Violation Line
FieldNamingConventions The field name 'id' doesn't match '_[a-z][a-zA-Z0-9]*' 44

fr/paris/lutece/plugins/participatorybudget/business/vote/VoteDAO.java

Rule Violation Line
FieldNamingConventions The constant name 'SQl_QUERY_SELECT' doesn't match '[A-Z][A-Z_0-9]*' 57
FieldNamingConventions The constant name 'SQl_QUERY_COUNT_VOTE_ARR' doesn't match '[A-Z][A-Z_0-9]*' 59
FieldNamingConventions The constant name 'SQl_QUERY_COUNT_VOTE' doesn't match '[A-Z][A-Z_0-9]*' 60
FieldNamingConventions The constant name 'SQl_QUERY_COUNT_VOTE_BY_CAMPAIGN' doesn't match '[A-Z][A-Z_0-9]*' 61
FieldNamingConventions The constant name 'SQl_QUERY_COUNT_VOTE_BY_DATE_BY_CAMPAIGN' doesn't match '[A-Z][A-Z_0-9]*' 63
FieldNamingConventions The constant name 'SQl_QUERY_COUNT_VOTE_BY_THEME' doesn't match '[A-Z][A-Z_0-9]*' 65
FieldNamingConventions The constant name 'SQl_QUERY_COUNT_VOTE_BY_LOCATION' doesn't match '[A-Z][A-Z_0-9]*' 67
FieldNamingConventions The constant name 'SQl_QUERY_COUNT_VOTE_BY_PROJECT_ID' doesn't match '[A-Z][A-Z_0-9]*' 70

fr/paris/lutece/plugins/participatorybudget/business/vote/VoteHistoryDAO.java

Rule Violation Line
FieldNamingConventions The constant name 'SQl_QUERY_SELECT' doesn't match '[A-Z][A-Z_0-9]*' 54
FieldNamingConventions The constant name 'SQl_QUERY_SELECT_By_PORJECT' doesn't match '[A-Z][A-Z_0-9]*' 55
FieldNamingConventions The constant name 'SQl_QUERY_COUNT_VOTE_ARR' doesn't match '[A-Z][A-Z_0-9]*' 56
FieldNamingConventions The constant name 'SQl_QUERY_COUNT_VOTE' doesn't match '[A-Z][A-Z_0-9]*' 57
FieldNamingConventions The constant name 'SQl_BY_EXPORTED_STATUS' doesn't match '[A-Z][A-Z_0-9]*' 58

fr/paris/lutece/plugins/participatorybudget/business/vote/VotePerLocation.java

Rule Violation Line
FieldNamingConventions The field name 'id' doesn't match '_[a-z][a-zA-Z0-9]*' 38

fr/paris/lutece/plugins/participatorybudget/service/BudgetSolrAddon.java

Rule Violation Line
LocalVariableNamingConventions The local variable name '_myVoteService' doesn't match '[a-z][a-zA-Z0-9]*' 98

fr/paris/lutece/plugins/participatorybudget/service/BudgetSolrListAddon.java

Rule Violation Line
LocalVariableNamingConventions The local variable name '_myVoteService' doesn't match '[a-z][a-zA-Z0-9]*' 60

fr/paris/lutece/plugins/participatorybudget/service/DocumentPageService.java

Rule Violation Line
LocalVariableNamingConventions The local variable name '_myVoteService' doesn't match '[a-z][a-zA-Z0-9]*' 76

fr/paris/lutece/plugins/participatorybudget/service/MyInfosListenerService.java

Rule Violation Line
FieldNamingConventions The public constant name 'Document_PROPERTY_RESOURCE_TYPE' doesn't match '[A-Z][A-Z_0-9]*' 58

fr/paris/lutece/plugins/participatorybudget/service/MyInfosService.java

Rule Violation Line
FieldNamingConventions The constant name 'patternPostalCode' doesn't match '[A-Z][A-Z_0-9]*' 72

fr/paris/lutece/plugins/participatorybudget/service/bizstat/BizStatService.java

Rule Violation Line
MethodNamingConventions The instance method name 'export_NumberOfNotifiableUsersWhenNotifyingOnRealization' doesn't match '[a-z][a-zA-Z0-9]*' 93–143

fr/paris/lutece/plugins/participatorybudget/service/notify/TaskNotifyDocumentbp.java

Rule Violation Line
AvoidThrowingRawExceptionTypes Avoid throwing raw exception types. 251

fr/paris/lutece/plugins/participatorybudget/service/rating/RatingValidationService.java

Rule Violation Line
LocalVariableNamingConventions The local variable name '_nbrVoteService' doesn't match '[a-z][a-zA-Z0-9]*' 85
LocalVariableNamingConventions The local variable name '_myVoteService' doesn't match '[a-z][a-zA-Z0-9]*' 86

fr/paris/lutece/plugins/participatorybudget/util/CampaignErrorJsonResponse.java

Rule Violation Line
FormalParameterNamingConventions The method parameter name '_strToken' doesn't match '[a-z][a-zA-Z0-9]*' 75

fr/paris/lutece/plugins/participatorybudget/util/CampaignResponse.java

Rule Violation Line
FormalParameterNamingConventions The method parameter name '_strToken' doesn't match '[a-z][a-zA-Z0-9]*' 72
FormalParameterNamingConventions The method parameter name '_bSuccess' doesn't match '[a-z][a-zA-Z0-9]*' 92

fr/paris/lutece/plugins/participatorybudget/util/ParticipatoryBudgetConstants.java

Rule Violation Line
ClassNamingConventions The utility class name 'ParticipatoryBudgetConstants' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' 42–124

fr/paris/lutece/plugins/participatorybudget/web/ProjectsXpage.java

Rule Violation Line
FieldNamingConventions The constant name 'strSearchSolrUrl' doesn't match '[A-Z][A-Z_0-9]*' 89
FieldNamingConventions The constant name 'strArrondissementPattern' doesn't match '[A-Z][A-Z_0-9]*' 90
FieldNamingConventions The constant name 'strUserRemoveArrFilterSelected' doesn't match '[A-Z][A-Z_0-9]*' 91
FieldNamingConventions The constant name 'strAmpSymbol' doesn't match '[A-Z][A-Z_0-9]*' 92
FieldNamingConventions The constant name 'strEqualSymbol' doesn't match '[A-Z][A-Z_0-9]*' 93
FieldNamingConventions The constant name 'strDoublePointSymbol' doesn't match '[A-Z][A-Z_0-9]*' 94

fr/paris/lutece/plugins/participatorybudget/web/includes/HeaderInclude.java

Rule Violation Line
FieldNamingConventions The constant name '_random' doesn't match '[A-Z][A-Z_0-9]*' 85

fr/paris/lutece/plugins/participatorybudget/web/vote/MyVoteXPage.java

Rule Violation Line
LocalVariableNamingConventions The local variable name 'notify_valide' doesn't match '[a-z][a-zA-Z0-9]*' 243

fr/paris/lutece/plugins/participatorybudget/web/vote/VoteDashboardJspBean.java

Rule Violation Line
FieldNamingConventions The field name 'campaign' doesn't match '_[a-z][a-zA-Z0-9]*' 79

Priority 2

fr/paris/lutece/plugins/participatorybudget/service/DocumentBodyService.java

Rule Violation Line
GuardLogStatement Logger calls should be surrounded by log level guards. 206–207
GuardLogStatement Logger calls should be surrounded by log level guards. 223
GuardLogStatement Logger calls should be surrounded by log level guards. 229
AvoidReassigningParameters Avoid reassigning parameters such as 'strPortletId' 274

fr/paris/lutece/plugins/participatorybudget/service/MyInfosService.java

Rule Violation Line
AvoidUsingVolatile Use of modifier volatile is not recommended. 103
AvoidUsingVolatile Use of modifier volatile is not recommended. 104
BooleanInstantiation Avoid instantiating Boolean objects; reference Boolean.TRUE or Boolean.FALSE or call Boolean.valueOf() instead. 202
BooleanInstantiation Avoid instantiating Boolean objects; reference Boolean.TRUE or Boolean.FALSE or call Boolean.valueOf() instead. 207
BooleanInstantiation Avoid instantiating Boolean objects; reference Boolean.TRUE or Boolean.FALSE or call Boolean.valueOf() instead. 309

fr/paris/lutece/plugins/participatorybudget/service/campaign/CampaignService.java

Rule Violation Line
GuardLogStatement Logger calls should be surrounded by log level guards. 122–123

fr/paris/lutece/plugins/participatorybudget/web/ProjectSolrSearch.java

Rule Violation Line
GuardLogStatement Logger calls should be surrounded by log level guards. 150
GuardLogStatement Logger calls should be surrounded by log level guards. 327

fr/paris/lutece/plugins/participatorybudget/web/ProjectsXpage.java

Rule Violation Line
GuardLogStatement Logger calls should be surrounded by log level guards. 184

fr/paris/lutece/plugins/participatorybudget/web/vote/MyVoteXPage.java

Rule Violation Line
BooleanInstantiation Avoid instantiating Boolean objects; reference Boolean.TRUE or Boolean.FALSE or call Boolean.valueOf() instead. 774

Priority 3

fr/paris/lutece/plugins/participatorybudget/business/Civility.java

Rule Violation Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 52
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 53

fr/paris/lutece/plugins/participatorybudget/business/MyAccount.java

Rule Violation Line
CommentRequired Public method and constructor comments are required 53–56
CommentRequired Public method and constructor comments are required 58–61
CommentRequired Public method and constructor comments are required 63–66
CommentRequired Public method and constructor comments are required 68–71
CommentRequired Public method and constructor comments are required 73–76
CommentRequired Public method and constructor comments are required 78–81

fr/paris/lutece/plugins/participatorybudget/business/MyInfosForm.java

Rule Violation Line
TooManyFields Too many fields 53–411
CloneThrowsCloneNotSupportedException clone() method should throw CloneNotSupportedException 266–276
CommentRequired Public method and constructor comments are required 320–323
CommentRequired Public method and constructor comments are required 325–328
CommentRequired Public method and constructor comments are required 339–342
CommentRequired Public method and constructor comments are required 401–404
CommentRequired Public method and constructor comments are required 406–409

fr/paris/lutece/plugins/participatorybudget/business/NotifyUser.java

Rule Violation Line
CommentRequired Header comments are required 38–75
CommentRequired Public method and constructor comments are required 45–48
CommentRequired Public method and constructor comments are required 50–53

fr/paris/lutece/plugins/participatorybudget/business/bizstat/BizStatFile.java

Rule Violation Line
TooManyFields Too many fields 44–186
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 44–186
CommentRequired Public method and constructor comments are required 66–69
CommentRequired Public method and constructor comments are required 71–74
CommentRequired Public method and constructor comments are required 76–79
CommentRequired Public method and constructor comments are required 81–84
CommentRequired Public method and constructor comments are required 86–89
CommentRequired Public method and constructor comments are required 91–94
CommentRequired Public method and constructor comments are required 96–99
CommentRequired Public method and constructor comments are required 101–104
CommentRequired Public method and constructor comments are required 106–109
CommentRequired Public method and constructor comments are required 111–114
CommentRequired Public method and constructor comments are required 116–119
CommentRequired Public method and constructor comments are required 121–124
CommentRequired Public method and constructor comments are required 126–129
CommentRequired Public method and constructor comments are required 131–134
CommentRequired Public method and constructor comments are required 136–139
CommentRequired Public method and constructor comments are required 141–144
CommentRequired Public method and constructor comments are required 146–149
CommentRequired Public method and constructor comments are required 151–154
CommentRequired Public method and constructor comments are required 156–159
CommentRequired Public method and constructor comments are required 161–164
CommentRequired Public method and constructor comments are required 166–169
MethodReturnsInternalArray Returning '_byValue' may expose an internal array. 168
CommentRequired Public method and constructor comments are required 171–174
ArrayIsStoredDirectly The user-supplied array '_byValue' is stored directly. 171
CommentRequired Public method and constructor comments are required 176–179
CommentRequired Public method and constructor comments are required 181–184

fr/paris/lutece/plugins/participatorybudget/business/bizstat/BizStatFileDAO.java

Rule Violation Line
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 153
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 184

fr/paris/lutece/plugins/participatorybudget/business/campaign/CampaignArea.java

Rule Violation Line
CommentRequired Public method and constructor comments are required 156–159
CommentRequired Public method and constructor comments are required 172–175

fr/paris/lutece/plugins/participatorybudget/business/campaign/CampaignAreaDAO.java

Rule Violation Line
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 204
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 260
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 260
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 271

fr/paris/lutece/plugins/participatorybudget/business/campaign/CampaignDAO.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 52–333
CommentRequired Public method and constructor comments are required 141–154
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 183
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 266
ConfusingTernary Avoid if (x != y) ..; else ..; 286–293
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 295
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 306

fr/paris/lutece/plugins/participatorybudget/business/campaign/CampaignImageDAO.java

Rule Violation Line
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 173
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 198

fr/paris/lutece/plugins/participatorybudget/business/campaign/CampaignPhaseDAO.java

Rule Violation Line
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 182
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 209
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 238
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 257

fr/paris/lutece/plugins/participatorybudget/business/campaign/CampaignPhaseType.java

Rule Violation Line
CommentRequired Public method and constructor comments are required 68–71
CommentRequired Public method and constructor comments are required 73–76
CommentRequired Public method and constructor comments are required 78–81
CommentRequired Public method and constructor comments are required 83–86
CommentRequired Public method and constructor comments are required 88–91
CommentRequired Public method and constructor comments are required 93–96
CommentRequired Public method and constructor comments are required 98–101
CommentRequired Public method and constructor comments are required 103–106

fr/paris/lutece/plugins/participatorybudget/business/campaign/CampaignThemeDAO.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 52–325
ConfusingTernary Avoid if (x != y) ..; else ..; 107–114
ConfusingTernary Avoid if (x != y) ..; else ..; 205–212
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 226
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 247
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 283
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 305
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 305
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 316

fr/paris/lutece/plugins/participatorybudget/business/notify/TaskNotifyDocumentbpConfigDAO.java

Rule Violation Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 57–75

fr/paris/lutece/plugins/participatorybudget/business/rgpd/RGPDTreatmentLogDAO.java

Rule Violation Line
CommentRequired Header comments are required 40–62

fr/paris/lutece/plugins/participatorybudget/business/rgpd/RGPDTreatmentLogHome.java

Rule Violation Line
CommentRequired Public method and constructor comments are required 55–58

fr/paris/lutece/plugins/participatorybudget/business/vote/IUserAccessVoteDAO.java

Rule Violation Line
CommentRequired Header comments are required 38–47
CommentRequired Public method and constructor comments are required 40
CommentRequired Public method and constructor comments are required 42
CommentRequired Public method and constructor comments are required 44
CommentRequired Public method and constructor comments are required 46

fr/paris/lutece/plugins/participatorybudget/business/vote/IVoteDAO.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 45–182
UnnecessaryModifier Unnecessary modifier 'public' on method 'delete': the method is declared in an interface type 66
UnnecessaryModifier Unnecessary modifier 'public' on method 'selectVotesList': the method is declared in an interface type 75
UnnecessaryModifier Unnecessary modifier 'public' on method 'deleteAll': the method is declared in an interface type 82
UnnecessaryModifier Unnecessary modifier 'public' on method 'validateVote': the method is declared in an interface type 89
UnnecessaryModifier Unnecessary modifier 'public' on method 'selectVotes': the method is declared in an interface type 97
UnnecessaryModifier Unnecessary modifier 'public' on method 'selectVotesUser': the method is declared in an interface type 105
UnnecessaryModifier Unnecessary modifier 'public' on method 'countNbVotesUserArrondissement': the method is declared in an interface type 114
UnnecessaryModifier Unnecessary modifier 'public' on method 'countNbVotesByCampaignCode': the method is declared in an interface type 121
UnnecessaryModifier Unnecessary modifier 'public' on method 'countNbVotesByDateAllCampaigns': the method is declared in an interface type 128
UnnecessaryModifier Unnecessary modifier 'public' on method 'countNbVotesByTheme': the method is declared in an interface type 137
UnnecessaryModifier Unnecessary modifier 'public' on method 'countNbVotesByProjectId': the method is declared in an interface type 146
UnnecessaryModifier Unnecessary modifier 'public' on method 'countNbVotesByLocation': the method is declared in an interface type 155
UnnecessaryModifier Unnecessary modifier 'public' on method 'countNbVotesUser': the method is declared in an interface type 164
UnnecessaryModifier Unnecessary modifier 'public' on method 'selectVote': the method is declared in an interface type 173
UnnecessaryModifier Unnecessary modifier 'public' on method 'selectUser': the method is declared in an interface type 180

fr/paris/lutece/plugins/participatorybudget/business/vote/IVoteHistoryDAO.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'delete': the method is declared in an interface type 65
UnnecessaryModifier Unnecessary modifier 'public' on method 'deleteAll': the method is declared in an interface type 81
UnnecessaryModifier Unnecessary modifier 'public' on method 'selectVotesUser': the method is declared in an interface type 89
UnnecessaryModifier Unnecessary modifier 'public' on method 'countNbVotesUserArrondissement': the method is declared in an interface type 98
UnnecessaryModifier Unnecessary modifier 'public' on method 'countNbVotesUser': the method is declared in an interface type 107
UnnecessaryModifier Unnecessary modifier 'public' on method 'selectVoteUser': the method is declared in an interface type 116

fr/paris/lutece/plugins/participatorybudget/business/vote/IVotePerLocationDAO.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'update': the method is declared in an interface type 54
UnnecessaryModifier Unnecessary modifier 'public' on method 'getListVotes': the method is declared in an interface type 63
UnnecessaryModifier Unnecessary modifier 'public' on method 'select': the method is declared in an interface type 74

fr/paris/lutece/plugins/participatorybudget/business/vote/UserAccessVote.java

Rule Violation Line
CommentRequired Header comments are required 36–82
DefaultPackage Use explicit scoping instead of the default package private level 38
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the _strId field if you want a default access modifier 38
DefaultPackage Use explicit scoping instead of the default package private level 39
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the _bHasAccessVote field if you want a default access modifier 39

fr/paris/lutece/plugins/participatorybudget/business/vote/UserAccessVoteDAO.java

Rule Violation Line
CommentRequired Header comments are required 39–106

fr/paris/lutece/plugins/participatorybudget/business/vote/Vote.java

Rule Violation Line
ShortVariable Avoid variables with short names like id 44
CommentRequired Public method and constructor comments are required 77–80
CommentRequired Public method and constructor comments are required 82–85
ShortVariable Avoid variables with short names like id 93

fr/paris/lutece/plugins/participatorybudget/business/vote/VoteDAO.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 49–489
SimpleDateFormatNeedsLocale When instantiating a SimpleDateFormat object, specify a Locale 77
MissingOverride The method 'delete(String, int, Plugin)' is missing an @Override annotation. 118–127
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 139
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 192
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 282
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 300
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 329
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 348
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 367

fr/paris/lutece/plugins/participatorybudget/business/vote/VoteHistoryDAO.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 46–370
MissingOverride The method 'delete(String, int, Plugin)' is missing an @Override annotation. 127–135
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 162
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 202
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 257

fr/paris/lutece/plugins/participatorybudget/business/vote/VotePerLocation.java

Rule Violation Line
CommentRequired Header comments are required 36–97
ShortVariable Avoid variables with short names like id 38
ShortVariable Avoid variables with short names like id 56

fr/paris/lutece/plugins/participatorybudget/business/vote/VotePerLocationDAO.java

Rule Violation Line
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 92

fr/paris/lutece/plugins/participatorybudget/deamon/BizStatExportDaemon.java

Rule Violation Line
RedundantFieldInitializer Avoid using redundant field initializer for '_threadExport' 52
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 131
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 134

fr/paris/lutece/plugins/participatorybudget/service/BudgetAddOnService.java

Rule Violation Line
UnusedPrivateField Avoid unused private fields such as '_myVoteService'. 58
UncommentedEmptyMethodBody Document empty method body 65–67
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 75

fr/paris/lutece/plugins/participatorybudget/service/BudgetFavoriteListener.java

Rule Violation Line
CommentRequired Header comments are required 41–71
UncommentedEmptyMethodBody Document empty method body 49–51
UncommentedEmptyMethodBody Document empty method body 55–57

fr/paris/lutece/plugins/participatorybudget/service/BudgetFollowListener.java

Rule Violation Line
CommentRequired Header comments are required 41–71
UncommentedEmptyMethodBody Document empty method body 49–51
UncommentedEmptyMethodBody Document empty method body 55–57

fr/paris/lutece/plugins/participatorybudget/service/BudgetIncludeService.java

Rule Violation Line
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. 59–127
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 91
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 91
ConfusingTernary Avoid if (x != y) ..; else ..; 94
UseUnderscoresInNumericLiterals Number 75000 should separate every third digit with an underscore 105
UseUnderscoresInNumericLiterals Number 75000 should separate every third digit with an underscore 106

fr/paris/lutece/plugins/participatorybudget/service/BudgetMyInfosListener.java

Rule Violation Line
CommentRequired Header comments are required 43–96
ImmutableField Private field '_myVoteService' could be made final; it is only initialized in the declaration or constructor. 46
MissingOverride The method 'deleteVotes(HttpServletRequest)' is missing an @Override annotation. 91–94
CommentRequired Public method and constructor comments are required 91–94

fr/paris/lutece/plugins/participatorybudget/service/BudgetSolrAddon.java

Rule Violation Line
CommentRequired Header comments are required 59–186
MissingOverride The method 'buildPageAddOn(Map, HttpServletRequest)' is missing an @Override annotation. 88–122
ConfusingTernary Avoid if (x != y) ..; else ..; 109–116
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 129
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 130
ShortVariable Avoid variables with short names like h 140
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 140
UseIndexOfChar String.indexOf(char) is faster than String.indexOf(String). 172
PositionLiteralsFirstInComparisons Position literals first in String comparisons 173

fr/paris/lutece/plugins/participatorybudget/service/BudgetSolrListAddon.java

Rule Violation Line
CommentRequired Header comments are required 48–86
ConfusingTernary Avoid if (x != y) ..; else ..; 71–78

fr/paris/lutece/plugins/participatorybudget/service/BudgetStaticService.java

Rule Violation Line
CommentRequired Header comments are required 45–166
CommentRequired Public method and constructor comments are required 70–77
NonThreadSafeSingleton Singleton is not thread safe 72–75
CallSuperInConstructor It is a good practice to call super() in a constructor 79–82
CommentRequired Public method and constructor comments are required 79–82
CommentRequired Public method and constructor comments are required 84–87
MissingOverride The method 'getName()' is missing an @Override annotation. 84–87
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 144
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 144
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 149
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 149

fr/paris/lutece/plugins/participatorybudget/service/DocumentBodyService.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 37–763
GodClass Possible God Class (WMC=64, ATFD=81, TCC=13.072%) 104–763
TooManyMethods This class has too many methods, consider refactoring it. 105–763
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 150
MissingOverride The method 'getPage(HttpServletRequest, String, String, int)' is missing an @Override annotation. 176–233
PositionLiteralsFirstInCaseInsensitiveComparisons Position literals first in String comparisons for EqualsIgnoreCase 244
CyclomaticComplexity The method 'buildPage(HttpServletRequest, String, String, String, int)' has a cyclomatic complexity of 17. 274–416
ExcessiveMethodLength Avoid really long methods. 274–416
NPathComplexity The method 'buildPage(HttpServletRequest, String, String, String, int)' has an NPath complexity of 2040 274–416
NcssCount The method 'buildPage(HttpServletRequest, String, String, String, int)' has a NCSS line count of 76. 274–416
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 278
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 279
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 280
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 280
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 280
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 313
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 313
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 356
ReplaceHashtableWithMap Consider replacing this Hashtable with the newer java.util.Map 380
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 380
ConfusingTernary Avoid if (x != y) ..; else ..; 426–435
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'strPageTemplateDocument' 430
NPathComplexity The method 'getPortlet(HttpServletRequest, String, int)' has an NPath complexity of 273 453–571
ExcessiveMethodLength Avoid really long methods. 453–571
CyclomaticComplexity The method 'getPortlet(HttpServletRequest, String, int)' has a cyclomatic complexity of 12. 453–571
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 459
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 474
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 485
ReplaceHashtableWithMap Consider replacing this Hashtable with the newer java.util.Map 485
ConfusingTernary Avoid if (x != y) ..; else ..; 497–505
ConfusingTernary Avoid if (x != y) ..; else ..; 516
UnusedFormalParameter Avoid unused method parameters such as 'nPortletId'. 586
CyclomaticComplexity The method 'getRelatedDocumentsPortlet(HttpServletRequest, Document, int, int)' has a cyclomatic complexity of 10. 586–626
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 590
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 593
MissingOverride The method 'dispose()' is missing an @Override annotation. 631–633
UncommentedEmptyMethodBody Document empty method body 632–633
MissingOverride The method 'notifyElementEvicted(Ehcache, Element)' is missing an @Override annotation. 638–641
MissingOverride The method 'notifyElementExpired(Ehcache, Element)' is missing an @Override annotation. 646–649
MissingOverride The method 'notifyElementPut(Ehcache, Element)' is missing an @Override annotation. 654–656
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 654
UncommentedEmptyMethodBody Document empty method body 655–656
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 661
MissingOverride The method 'notifyElementRemoved(Ehcache, Element)' is missing an @Override annotation. 661–664
MissingOverride The method 'notifyElementUpdated(Ehcache, Element)' is missing an @Override annotation. 669–671
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 669
UncommentedEmptyMethodBody Document empty method body 670–671
MissingOverride The method 'notifyRemoveAll(Ehcache)' is missing an @Override annotation. 676–679

fr/paris/lutece/plugins/participatorybudget/service/DocumentPageProjectOPService.java

Rule Violation Line
UnnecessaryReturn Avoid unnecessary return statements 79
LinguisticNaming Linguistics Antipattern - The variable 'isVotedProject' indicates linguistically it is a boolean, but it is 'Object' 89
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 102
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 114
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 115
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 125
ShortVariable Avoid variables with short names like h 125
UseIndexOfChar String.indexOf(char) is faster than String.indexOf(String). 157
PositionLiteralsFirstInComparisons Position literals first in String comparisons 158

fr/paris/lutece/plugins/participatorybudget/service/DocumentPageService.java

Rule Violation Line
UnnecessaryReturn Avoid unnecessary return statements 69
NPathComplexity The method 'buildPageAddOn(Map, String, int, String, HttpServletRequest)' has an NPath complexity of 972 73–146
CyclomaticComplexity The method 'buildPageAddOn(Map, String, int, String, HttpServletRequest)' has a cyclomatic complexity of 13. 73–146
ConfusingTernary Avoid if (x != y) ..; else ..; 89–100

fr/paris/lutece/plugins/participatorybudget/service/FollowAddService.java

Rule Violation Line
UnusedPrivateField Avoid unused private fields such as '_followService'. 62
UnnecessaryReturn Avoid unnecessary return statements 67
UnusedLocalVariable Avoid unused local variables such as 'attr'. 76

fr/paris/lutece/plugins/participatorybudget/service/IDocumentBodyService.java

Rule Violation Line
CommentRequired Header comments are required 41–46
CommentRequired Public method and constructor comments are required 44–45
UnnecessaryModifier Unnecessary modifier 'public' on method 'getPage': the method is declared in an interface type 44–45

fr/paris/lutece/plugins/participatorybudget/service/IMyInfosListener.java

Rule Violation Line
CommentRequired Header comments are required 40–51
CommentRequired Public method and constructor comments are required 43
CommentRequired Public method and constructor comments are required 45
LinguisticNaming Linguistics Antipattern - The method 'canChangeArrond' indicates linguistically it returns a boolean, but it returns 'int' 47
CommentRequired Public method and constructor comments are required 47
CommentRequired Public method and constructor comments are required 49

fr/paris/lutece/plugins/participatorybudget/service/MyFavouritesProjects.java

Rule Violation Line
CommentRequired Header comments are required 53–127
CommentRequired Public method and constructor comments are required 61–78
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 65
CommentRequired Public method and constructor comments are required 80–92
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 83
CommentRequired Public method and constructor comments are required 94–111
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 98
CommentRequired Public method and constructor comments are required 113–125
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 116

fr/paris/lutece/plugins/participatorybudget/service/MyInfosListenerService.java

Rule Violation Line
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. 53–189
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 55
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 57
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 57
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 69–73
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 84–94
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 89
LinguisticNaming Linguistics Antipattern - The method 'canChangeArrond' indicates linguistically it returns a boolean, but it returns 'int' 151–165

fr/paris/lutece/plugins/participatorybudget/service/MyInfosService.java

Rule Violation Line
GodClass Possible God Class (WMC=61, ATFD=115, TCC=6.154%) 69–738
TooManyMethods This class has too many methods, consider refactoring it. 70–738
UnusedPrivateField Avoid unused private fields such as 'PROPERTY_ARRONDISSEMENT'. 89
UnusedPrivateField Avoid unused private fields such as 'KEY_SEND_ACCOUNT_VALIDATION_BACK_URL'. 99
UnusedPrivateField Avoid unused private fields such as 'TYPE_VALIDATE_ACCOUNT'. 102
SimplifiedTernary Ternary operators that can be simplified with || or && 207
ConfusingTernary Avoid if (x != y) ..; else ..; 207
ConfusingTernary Avoid if (x != y) ..; else ..; 252–264
NonThreadSafeSingleton Singleton is not thread safe 327–349
NonThreadSafeSingleton Singleton is not thread safe 361–382
AddEmptyString Do not add empty strings 372
UseUnderscoresInNumericLiterals Number 75001 should separate every third digit with an underscore 372
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 374
CommentRequired Public method and constructor comments are required 405–436
LinguisticNaming Linguistics Antipattern - The setter 'setAdressValid' should not return any type except void linguistically 405–436
ShortVariable Avoid variables with short names like m 413
ConfusingTernary Avoid if (x != y) ..; else ..; 515
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 590
EmptyIfStmt Avoid empty if statements 615–618
EmptyIfStmt Avoid empty if statements 662–665

fr/paris/lutece/plugins/participatorybudget/service/NbProjetArrCacheService.java

Rule Violation Line
CallSuperInConstructor It is a good practice to call super() in a constructor 46–49

fr/paris/lutece/plugins/participatorybudget/service/NoSuchPhaseException.java

Rule Violation Line
CommentRequired Header comments are required 36–68
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 36–68
CommentRequired Public method and constructor comments are required 39–42
CallSuperInConstructor It is a good practice to call super() in a constructor 39–42
CommentRequired Public method and constructor comments are required 44–48
CommentRequired Public method and constructor comments are required 50–54
CommentRequired Public method and constructor comments are required 56–60
CommentRequired Public method and constructor comments are required 62–66

fr/paris/lutece/plugins/participatorybudget/service/ProjectLaureatAddOn.java

Rule Violation Line
CommentRequired Header comments are required 47–80

fr/paris/lutece/plugins/participatorybudget/service/ProjectsRealisationSolrListAddon.java

Rule Violation Line
CommentRequired Header comments are required 42–51

fr/paris/lutece/plugins/participatorybudget/service/avatar/CampaignAvatarService.java

Rule Violation Line
CommentRequired Header comments are required 49–104
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. 50–104
CommentRequired Public method and constructor comments are required 54–71
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 60
CommentRequired Public method and constructor comments are required 73–102
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 79

fr/paris/lutece/plugins/participatorybudget/service/bizstat/BizStartExportThread.java

Rule Violation Line
CommentRequired Header comments are required 50–150
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 50
CommentRequired Public method and constructor comments are required 53–56
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 74
ShortVariable Avoid variables with short names like os 101
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 133

fr/paris/lutece/plugins/participatorybudget/service/bizstat/BizStatDescription.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'value': the method is declared in an annotation type 45

fr/paris/lutece/plugins/participatorybudget/service/bizstat/BizStatService.java

Rule Violation Line
CommentRequired Header comments are required 58–191
CommentRequired Public method and constructor comments are required 72–79
NonThreadSafeSingleton Singleton is not thread safe 74–77
UnnecessaryAnnotationValueElement Avoid the use of value in annotations when its the only element 92
SignatureDeclareThrowsException A method/constructor should not explicitly throw java.lang.Exception 93
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 95
UseUnderscoresInNumericLiterals Number 10000 should separate every third digit with an underscore 113
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 126
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 127
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 156
UnusedPrivateMethod Avoid unused private methods such as 'getAttributeTextValueSafe(Document,String)'. 177
ControlStatementBraces This statement should have braces 181
ControlStatementBraces This statement should have braces 186

fr/paris/lutece/plugins/participatorybudget/service/campaign/CampaignIncludeService.java

Rule Violation Line
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. 51–71

fr/paris/lutece/plugins/participatorybudget/service/campaign/CampaignService.java

Rule Violation Line
CommentRequired Header comments are required 65–557
GodClass Possible God Class (WMC=55, ATFD=37, TCC=0.128%) 65–557
TooManyMethods This class has too many methods, consider refactoring it. 66–557
RedundantFieldInitializer Avoid using redundant field initializer for '_cache' 71
CommentRequired Public method and constructor comments are required 80–87
NonThreadSafeSingleton Singleton is not thread safe 82–85
ControlStatementBraces This statement should have braces 97
CommentRequired Public method and constructor comments are required 107–127
MissingOverride The method 'reset()' is missing an @Override annotation. 107–127
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 111
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 111
CommentRequired Public method and constructor comments are required 164–170
MissingOverride The method 'isBeforeBeginning(String, String)' is missing an @Override annotation. 164–170
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'result' 169
MissingOverride The method 'isBeforeEnd(String, String)' is missing an @Override annotation. 172–178
CommentRequired Public method and constructor comments are required 172–178
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'result' 177
MissingOverride The method 'isDuring(String, String)' is missing an @Override annotation. 180–189
CommentRequired Public method and constructor comments are required 180–189
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'result' 188
CommentRequired Public method and constructor comments are required 191–197
MissingOverride The method 'isAfterBeginning(String, String)' is missing an @Override annotation. 191–197
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'result' 196
CommentRequired Public method and constructor comments are required 199–205
MissingOverride The method 'isAfterEnd(String, String)' is missing an @Override annotation. 199–205
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'result' 204
MissingOverride The method 'start(String, String)' is missing an @Override annotation. 207–211
CommentRequired Public method and constructor comments are required 207–211
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'timeStamp' 210
MissingOverride The method 'end(String, String)' is missing an @Override annotation. 213–217
CommentRequired Public method and constructor comments are required 213–217
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'timeStamp' 216
CommentRequired Public method and constructor comments are required 219–226
MissingOverride The method 'startStr(String, String, String, boolean)' is missing an @Override annotation. 219–226
ShortVariable Avoid variables with short names like ts 221
SimpleDateFormatNeedsLocale When instantiating a SimpleDateFormat object, specify a Locale 224
CommentRequired Public method and constructor comments are required 228–235
MissingOverride The method 'endStr(String, String, String, boolean)' is missing an @Override annotation. 228–235
ShortVariable Avoid variables with short names like ts 230
SimpleDateFormatNeedsLocale When instantiating a SimpleDateFormat object, specify a Locale 233
MissingOverride The method 'isBeforeBeginning(String)' is missing an @Override annotation. 239–242
CommentRequired Public method and constructor comments are required 239–242
MissingOverride The method 'isBeforeEnd(String)' is missing an @Override annotation. 244–247
CommentRequired Public method and constructor comments are required 244–247
MissingOverride The method 'isDuring(String)' is missing an @Override annotation. 249–252
CommentRequired Public method and constructor comments are required 249–252
MissingOverride The method 'isAfterBeginning(String)' is missing an @Override annotation. 254–257
CommentRequired Public method and constructor comments are required 254–257
MissingOverride The method 'isAfterEnd(String)' is missing an @Override annotation. 259–262
CommentRequired Public method and constructor comments are required 259–262
MissingOverride The method 'start(String)' is missing an @Override annotation. 264–267
CommentRequired Public method and constructor comments are required 264–267
MissingOverride The method 'end(String)' is missing an @Override annotation. 269–272
CommentRequired Public method and constructor comments are required 269–272
MissingOverride The method 'startStr(String, String, boolean)' is missing an @Override annotation. 274–277
CommentRequired Public method and constructor comments are required 274–277
CommentRequired Public method and constructor comments are required 279–282
MissingOverride The method 'endStr(String, String, boolean)' is missing an @Override annotation. 279–282
CommentRequired Public method and constructor comments are required 289–301
MissingOverride The method 'getAllAreas(String)' is missing an @Override annotation. 289–301
CommentRequired Public method and constructor comments are required 303–316
MissingOverride The method 'getLocalizedAreas(String)' is missing an @Override annotation. 303–316
CommentRequired Public method and constructor comments are required 318–330
MissingOverride The method 'hasWholeArea(String)' is missing an @Override annotation. 318–330
CommentRequired Public method and constructor comments are required 332–344
MissingOverride The method 'hasWholeArea(String, int)' is missing an @Override annotation. 332–344
MissingOverride The method 'getWholeArea(String)' is missing an @Override annotation. 346–358
CommentRequired Public method and constructor comments are required 346–358
CommentRequired Public method and constructor comments are required 362–365
MissingOverride The method 'getAllAreas()' is missing an @Override annotation. 362–365
CommentRequired Public method and constructor comments are required 367–370
MissingOverride The method 'getLocalizedAreas()' is missing an @Override annotation. 367–370
CommentRequired Public method and constructor comments are required 372–375
MissingOverride The method 'hasWholeArea()' is missing an @Override annotation. 372–375
CommentRequired Public method and constructor comments are required 377–380
ShortVariable Avoid variables with short names like id 377
MissingOverride The method 'hasWholeArea(int)' is missing an @Override annotation. 377–380
CommentRequired Public method and constructor comments are required 382–385
MissingOverride The method 'getWholeArea()' is missing an @Override annotation. 382–385
AddEmptyString Do not add empty strings 445
AddEmptyString Do not add empty strings 471
AddEmptyString Do not add empty strings 488
AddEmptyString Do not add empty strings 506
ConfusingTernary Avoid if (x != y) ..; else ..; 533–540
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 549

fr/paris/lutece/plugins/participatorybudget/service/campaign/CampaignSessionListener.java

Rule Violation Line
ShortVariable Avoid variables with short names like se 50
ShortVariable Avoid variables with short names like se 59

fr/paris/lutece/plugins/participatorybudget/service/campaign/CampaignUploadHandler.java

Rule Violation Line
CommentRequired Header comments are required 55–246
UseUnderscoresInNumericLiterals Number 2097152 should separate every third digit with an underscore 58
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 73
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 116
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 117
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 122
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 136
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 136
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 221
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 231

fr/paris/lutece/plugins/participatorybudget/service/campaign/ICampaignService.java

Rule Violation Line
CommentRequired Header comments are required 43–162
TooManyMethods This class has too many methods, consider refactoring it. 44–162
CommentRequired Public method and constructor comments are required 52
UnnecessaryModifier Unnecessary modifier 'public' on method 'getCampaigns': the method is declared in an interface type 52
UnnecessaryModifier Unnecessary modifier 'public' on method 'getLastCampaign': the method is declared in an interface type 56
CommentRequired Public method and constructor comments are required 56
CommentRequired Public method and constructor comments are required 63
UnnecessaryModifier Unnecessary modifier 'public' on method 'isBeforeBeginning': the method is declared in an interface type 63
CommentRequired Public method and constructor comments are required 65
UnnecessaryModifier Unnecessary modifier 'public' on method 'isBeforeEnd': the method is declared in an interface type 65
CommentRequired Public method and constructor comments are required 67
UnnecessaryModifier Unnecessary modifier 'public' on method 'isDuring': the method is declared in an interface type 67
CommentRequired Public method and constructor comments are required 69
UnnecessaryModifier Unnecessary modifier 'public' on method 'isAfterBeginning': the method is declared in an interface type 69
CommentRequired Public method and constructor comments are required 71
UnnecessaryModifier Unnecessary modifier 'public' on method 'isAfterEnd': the method is declared in an interface type 71
UnnecessaryModifier Unnecessary modifier 'public' on method 'start': the method is declared in an interface type 73
CommentRequired Public method and constructor comments are required 73
UnnecessaryModifier Unnecessary modifier 'public' on method 'end': the method is declared in an interface type 75
CommentRequired Public method and constructor comments are required 75
CommentRequired Public method and constructor comments are required 77
UnnecessaryModifier Unnecessary modifier 'public' on method 'startStr': the method is declared in an interface type 77
CommentRequired Public method and constructor comments are required 79
UnnecessaryModifier Unnecessary modifier 'public' on method 'endStr': the method is declared in an interface type 79
CommentRequired Public method and constructor comments are required 82
UnnecessaryModifier Unnecessary modifier 'public' on method 'isBeforeBeginning': the method is declared in an interface type 82
CommentRequired Public method and constructor comments are required 84
UnnecessaryModifier Unnecessary modifier 'public' on method 'isBeforeEnd': the method is declared in an interface type 84
UnnecessaryModifier Unnecessary modifier 'public' on method 'isDuring': the method is declared in an interface type 86
CommentRequired Public method and constructor comments are required 86
CommentRequired Public method and constructor comments are required 88
UnnecessaryModifier Unnecessary modifier 'public' on method 'isAfterBeginning': the method is declared in an interface type 88
CommentRequired Public method and constructor comments are required 90
UnnecessaryModifier Unnecessary modifier 'public' on method 'isAfterEnd': the method is declared in an interface type 90
CommentRequired Public method and constructor comments are required 92
UnnecessaryModifier Unnecessary modifier 'public' on method 'start': the method is declared in an interface type 92
UnnecessaryModifier Unnecessary modifier 'public' on method 'end': the method is declared in an interface type 94
CommentRequired Public method and constructor comments are required 94
UnnecessaryModifier Unnecessary modifier 'public' on method 'startStr': the method is declared in an interface type 96
CommentRequired Public method and constructor comments are required 96
UnnecessaryModifier Unnecessary modifier 'public' on method 'endStr': the method is declared in an interface type 98
CommentRequired Public method and constructor comments are required 98
CommentRequired Public method and constructor comments are required 105
UnnecessaryModifier Unnecessary modifier 'public' on method 'getAllAreas': the method is declared in an interface type 105
CommentRequired Public method and constructor comments are required 107
UnnecessaryModifier Unnecessary modifier 'public' on method 'getLocalizedAreas': the method is declared in an interface type 107
UnnecessaryModifier Unnecessary modifier 'public' on method 'hasWholeArea': the method is declared in an interface type 109
CommentRequired Public method and constructor comments are required 109
CommentRequired Public method and constructor comments are required 111
UnnecessaryModifier Unnecessary modifier 'public' on method 'hasWholeArea': the method is declared in an interface type 111
UnnecessaryModifier Unnecessary modifier 'public' on method 'getWholeArea': the method is declared in an interface type 113
CommentRequired Public method and constructor comments are required 113
UnnecessaryModifier Unnecessary modifier 'public' on method 'getAllAreas': the method is declared in an interface type 116
CommentRequired Public method and constructor comments are required 116
CommentRequired Public method and constructor comments are required 118
UnnecessaryModifier Unnecessary modifier 'public' on method 'getLocalizedAreas': the method is declared in an interface type 118
UnnecessaryModifier Unnecessary modifier 'public' on method 'hasWholeArea': the method is declared in an interface type 120
CommentRequired Public method and constructor comments are required 120
CommentRequired Public method and constructor comments are required 122
UnnecessaryModifier Unnecessary modifier 'public' on method 'hasWholeArea': the method is declared in an interface type 122
CommentRequired Public method and constructor comments are required 124
UnnecessaryModifier Unnecessary modifier 'public' on method 'getWholeArea': the method is declared in an interface type 124
UnnecessaryModifier Unnecessary modifier 'public' on method 'getThemes': the method is declared in an interface type 132
CommentRequired Public method and constructor comments are required 132
UnnecessaryModifier Unnecessary modifier 'public' on method 'getThemes': the method is declared in an interface type 135
CommentRequired Public method and constructor comments are required 135
CommentRequired Public method and constructor comments are required 138
UnnecessaryModifier Unnecessary modifier 'public' on method 'getThemesFrontRgb': the method is declared in an interface type 138
UnnecessaryModifier Unnecessary modifier 'public' on method 'clone': the method is declared in an interface type 152
UnnecessaryModifier Unnecessary modifier 'public' on method 'reset': the method is declared in an interface type 160
CommentRequired Public method and constructor comments are required 160

fr/paris/lutece/plugins/participatorybudget/service/campaign/event/CampaignEvent.java

Rule Violation Line
DataClass The class 'CampaignEvent' is suspected to be a Data Class (WOC=25.000%, NOPA=5, NOAM=2, WMC=4) 41–101
ImmutableField Private field '_mainCampaign' could be made final; it is only initialized in the declaration or constructor. 51
ImmutableField Private field '_linkedCampaign' could be made final; it is only initialized in the declaration or constructor. 52
ImmutableField Private field '_strType' could be made final; it is only initialized in the declaration or constructor. 53

fr/paris/lutece/plugins/participatorybudget/service/campaign/event/CampaignEventListernersManager.java

Rule Violation Line
CommentRequired Public method and constructor comments are required 60–68
NonThreadSafeSingleton Singleton is not thread safe 62–66

fr/paris/lutece/plugins/participatorybudget/service/notify/INotifyDocumentbpService.java

Rule Violation Line
CommentRequired Header comments are required 39–54
UnnecessaryModifier Unnecessary modifier 'public' on method 'processAction': the method is declared in an interface type 45
UnnecessaryModifier Unnecessary modifier 'public' on method 'processAction': the method is declared in an interface type 52

fr/paris/lutece/plugins/participatorybudget/service/notify/NotifyDocumentbpService.java

Rule Violation Line
CommentRequired Header comments are required 55–162
NonThreadSafeSingleton Singleton is not thread safe 72–75

fr/paris/lutece/plugins/participatorybudget/service/notify/TaskNotifyDocumentbp.java

Rule Violation Line
UnusedPrivateField Avoid unused private fields such as '_resourceExtenderHistoryService'. 107
AvoidStringBufferField StringBuffers can grow quite a lot, and so may become a source of memory leak (if the owning class has a long life time). 109
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 16, but has at least 90 characters appended. 120
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 136
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 144
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 146
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 158
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 159
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 164
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 182
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 218
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 219
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 220
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 221
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 226
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 232
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 232
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 249

fr/paris/lutece/plugins/participatorybudget/service/notify/TaskNotifyDocumentbpConfigService.java

Rule Violation Line
UselessOverridingMethod Overriding method merely calls super 52–55
UselessOverridingMethod Overriding method merely calls super 61–64
UselessOverridingMethod Overriding method merely calls super 70–73

fr/paris/lutece/plugins/participatorybudget/service/notify/WorkflowNotifyDocumentbpDaemon.java

Rule Violation Line
CommentRequired Header comments are required 39–55

fr/paris/lutece/plugins/participatorybudget/service/project/IProjectService.java

Rule Violation Line
CommentRequired Header comments are required 43–79
UnnecessaryModifier Unnecessary modifier 'public' on method 'createproject': the method is declared in an interface type 67
UnnecessaryModifier Unnecessary modifier 'public' on method 'getUniqueUserGuidsProjectFollowers': the method is declared in an interface type 77

fr/paris/lutece/plugins/participatorybudget/service/project/ProjectService.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–235
CommentRequired Header comments are required 72–235
CommentRequired Public method and constructor comments are required 89–96
NonThreadSafeSingleton Singleton is not thread safe 91–94
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 168
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 217

fr/paris/lutece/plugins/participatorybudget/service/rating/BudgetRatingService.java

Rule Violation Line
CommentRequired Header comments are required 60–318
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 69–81
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 88–99
AvoidDuplicateLiterals The String literal "Error storing vote " appears 4 times in this file; the first occurrence is on line 158 158
ShortVariable Avoid variables with short names like c 301
CommentRequired Public method and constructor comments are required 313–317

fr/paris/lutece/plugins/participatorybudget/service/rating/RatingValidationService.java

Rule Violation Line
CyclomaticComplexity The method 'validateRating(HttpServletRequest, LuteceUser, String, String, double)' has a cyclomatic complexity of 20. 67–148
NPathComplexity The method 'validateRating(HttpServletRequest, LuteceUser, String, String, double)' has an NPath complexity of 36864 67–148
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 80
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 85
UseUnderscoresInNumericLiterals Number 75000 should separate every third digit with an underscore 105
UseUnderscoresInNumericLiterals Number 75000 should separate every third digit with an underscore 106
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 119

fr/paris/lutece/plugins/participatorybudget/service/rating/VoteResourceExtender.java

Rule Violation Line
UnusedPrivateField Avoid unused private fields such as 'DSKEY_VOTE_CLOSED'. 55
UnusedPrivateField Avoid unused private fields such as '_myVoteService'. 59
UncommentedEmptyMethodBody Document empty method body 90–91
UncommentedEmptyMethodBody Document empty method body 98–99

fr/paris/lutece/plugins/participatorybudget/service/rating/VoteResourceExtenderComponent.java

Rule Violation Line
AvoidDuplicateLiterals The String literal "Not supported." appears 6 times in this file; the first occurrence is on line 54 54

fr/paris/lutece/plugins/participatorybudget/service/vote/IVoteParArrandissementService.java

Rule Violation Line
CommentRequired Header comments are required 39–50
CommentRequired Public method and constructor comments are required 41
CommentRequired Public method and constructor comments are required 43
CommentRequired Public method and constructor comments are required 45
CommentRequired Public method and constructor comments are required 47
CommentRequired Public method and constructor comments are required 49

fr/paris/lutece/plugins/participatorybudget/service/vote/MyVoteService.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–310
UnusedPrivateField Avoid unused private fields such as '_configService'. 95
UnusedPrivateField Avoid unused private fields such as '_ratingSecurityService'. 97
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 116
UseUnderscoresInNumericLiterals Number 75000 should separate every third digit with an underscore 167
UseUnderscoresInNumericLiterals Number 75000 should separate every third digit with an underscore 168
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 172
UseUnderscoresInNumericLiterals Number 75000 should separate every third digit with an underscore 172
ShortVariable Avoid variables with short names like p 200
ShortVariable Avoid variables with short names like m 201
ControlStatementBraces This statement should have braces 203
AddEmptyString Do not add empty strings 217
ConfusingTernary Avoid if (x != y) ..; else ..; 219–238
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 265–269
CommentRequired Public method and constructor comments are required 274–309
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 277
UseEqualsToCompareStrings Use equals() to compare strings instead of '==' or '!=' 298
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 298

fr/paris/lutece/plugins/participatorybudget/service/vote/VoteParArrandissementService.java

Rule Violation Line
CommentRequired Header comments are required 42–101
CommentRequired Public method and constructor comments are required 48–57
NonThreadSafeSingleton Singleton is not thread safe 50–54

fr/paris/lutece/plugins/participatorybudget/service/vote/VoteStatService.java

Rule Violation Line
CommentRequired Header comments are required 46–145
CommentRequired Public method and constructor comments are required 58–65
NonThreadSafeSingleton Singleton is not thread safe 60–63
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 132
AddEmptyString Do not add empty strings 133
AddEmptyString Do not add empty strings 137

fr/paris/lutece/plugins/participatorybudget/util/BudgetUtils.java

Rule Violation Line
CommentRequired Header comments are required 42–88
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. 43–88

fr/paris/lutece/plugins/participatorybudget/util/CampaignErrorJsonResponse.java

Rule Violation Line
CommentRequired Public method and constructor comments are required 49–52
CommentRequired Public method and constructor comments are required 54–58

fr/paris/lutece/plugins/participatorybudget/util/CampaignResponse.java

Rule Violation Line
CommentRequired Public method and constructor comments are required 50–55

fr/paris/lutece/plugins/participatorybudget/util/ModelUtils.java

Rule Violation Line
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 82

fr/paris/lutece/plugins/participatorybudget/web/FavouritesProjectsXPage.java

Rule Violation Line
UnusedPrivateField Avoid unused private fields such as 'MARK_ARRONDISSEMENT'. 74
ImmutableField Private field '_myFavouriteService' could be made final; it is only initialized in the declaration or constructor. 84
ImmutableField Private field '_myVoteService' could be made final; it is only initialized in the declaration or constructor. 85

fr/paris/lutece/plugins/participatorybudget/web/MyInfosXPage.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–935
UnusedPrivateField Avoid unused private fields such as 'INFO_VALIDATION_MAIL_SEND'. 111
UnusedPrivateField Avoid unused private fields such as 'ERROR_DURING_VALIDATION_MAIL_SEND'. 112
UnusedPrivateField Avoid unused private fields such as 'CAMPAIGN_BP_APP_CODE'. 164
UnusedPrivateField Avoid unused private fields such as 'JSON_ERROR_DURING_SEND_AVIS'. 172
UnusedPrivateField Avoid unused private fields such as 'IDS_KEY_USER_ADDRESS'. 183
UnusedPrivateField Avoid unused private fields such as 'IDS_KEY_USER_ADDRESS_POSTAL_CODE'. 184
UnusedPrivateField Avoid unused private fields such as 'IDS_KEY_USER_ADDRESS_CITY'. 185
UnusedPrivateField Avoid unused private fields such as 'IDS_KEY_USER_ADDRESS_DETAIL'. 186
UnusedPrivateField Avoid unused private fields such as 'MARK_IDS_ATTRIBUTES'. 188
UnusedPrivateField Avoid unused private fields such as 'MARK_LABEL_IDS_ADDRESS'. 193
UnusedPrivateField Avoid unused private fields such as 'COMMA'. 195
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 197
UnusedPrivateField Avoid unused private fields such as 'MAP_IDS_ATTRIBUTES'. 197
NonStaticInitializer Non-static initializers are confusing 199–204
AccessorMethodGeneration Avoid autogenerated methods to access private fields and methods of inner / outer classes 200
AccessorMethodGeneration Avoid autogenerated methods to access private fields and methods of inner / outer classes 201
AccessorMethodGeneration Avoid autogenerated methods to access private fields and methods of inner / outer classes 202
AccessorMethodGeneration Avoid autogenerated methods to access private fields and methods of inner / outer classes 203
UnusedPrivateField Avoid unused private fields such as 'MAP_CIVILITY'. 207
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 207
NonStaticInitializer Non-static initializers are confusing 209–213
SingularField Perhaps '_patternAddress' could be replaced by a local variable. 218
UnusedPrivateField Avoid unused private fields such as '_patternAddress'. 218
ImmutableField Private field '_patternAddress' could be made final; it is only initialized in the declaration or constructor. 218
UnnecessaryAnnotationValueElement Avoid the use of value in annotations when its the only element 245
ConfusingTernary Avoid if (x != y) ..; else ..; 260–281
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 363
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 364
CyclomaticComplexity The method 'getMyInfos(HttpServletRequest, boolean)' has a cyclomatic complexity of 10. 394–493
ConfusingTernary Avoid if (x != y) ..; else ..; 406–414
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 409
ConfusingTernary Avoid if (x != y) ..; else ..; 420–429
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 423
EmptyIfStmt Avoid empty if statements 435–437
ExcessiveMethodLength Avoid really long methods. 506–661
NPathComplexity The method 'doSave(HttpServletRequest)' has an NPath complexity of 15122 506–661
NcssCount The method 'doSave(HttpServletRequest)' has a NCSS line count of 72. 506–661
CyclomaticComplexity The method 'doSave(HttpServletRequest)' has a cyclomatic complexity of 27. 506–661
ConfusingTernary Avoid if (x != y) ..; else ..; 573–584
EmptyIfStmt Avoid empty if statements 574–578
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 583
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 599
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 599
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 608
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 613
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 615
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 615
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 628
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 628
LinguisticNaming Linguistics Antipattern - The method 'isUserValid' indicates linguistically it returns a boolean, but it returns 'String' 686–729
ConfusingTernary Avoid if (x != y) ..; else ..; 705–718
ConfusingTernary Avoid if (x != y) ..; else ..; 711–718
CyclomaticComplexity The method 'doSaveForAjax(HttpServletRequest)' has a cyclomatic complexity of 13. 832–897
CollapsibleIfStatements These nested if statements could be combined 912–915

fr/paris/lutece/plugins/participatorybudget/web/ProjectSolrSearch.java

Rule Violation Line
CommentRequired Header comments are required 58–364
CyclomaticComplexity The method 'doGet(HttpServletRequest, HttpServletResponse)' has a cyclomatic complexity of 10. 98–157
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 43, but has at least 87 characters appended. 102
AvoidDuplicateLiterals The String literal "&fq=type:" appears 7 times in this file; the first occurrence is on line 119 119
ControlStatementBraces This statement should have braces 146
NcssCount The method 'doGetOld(HttpServletRequest, HttpServletResponse)' has a NCSS line count of 79. 171–334
CyclomaticComplexity The method 'doGetOld(HttpServletRequest, HttpServletResponse)' has a cyclomatic complexity of 28. 171–334
NPathComplexity The method 'doGetOld(HttpServletRequest, HttpServletResponse)' has an NPath complexity of 819 171–334
ExcessiveMethodLength Avoid really long methods. 171–334
UnusedLocalVariable Avoid unused local variables such as 'sdfXml'. 230
SimpleDateFormatNeedsLocale When instantiating a SimpleDateFormat object, specify a Locale 230
InefficientStringBuffering Avoid concatenating nonliterals in a StringBuffer/StringBuilder constructor or append(). 245
InefficientStringBuffering Avoid concatenating nonliterals in a StringBuffer/StringBuilder constructor or append(). 250
ShortVariable Avoid variables with short names like i 254
ShortVariable Avoid variables with short names like i 277
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 293
EmptyIfStmt Avoid empty if statements 297–301
EmptyIfStmt Avoid empty if statements 304–309
InefficientStringBuffering Avoid concatenating nonliterals in a StringBuffer/StringBuilder constructor or append(). 312
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 324
ShortVariable Avoid variables with short names like p 350
ShortVariable Avoid variables with short names like m 351
ControlStatementBraces This statement should have braces 353

fr/paris/lutece/plugins/participatorybudget/web/ProjectsXpage.java

Rule Violation Line
CyclomaticComplexity The method 'solrProjectSearch(HttpServletRequest)' has a cyclomatic complexity of 22. 97–194
CommentRequired Public method and constructor comments are required 97–194
NPathComplexity The method 'solrProjectSearch(HttpServletRequest)' has an NPath complexity of 8064 97–194
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 141
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 147
InefficientStringBuffering Avoid concatenating nonliterals in a StringBuffer/StringBuilder constructor or append(). 156
InefficientStringBuffering Avoid concatenating nonliterals in a StringBuffer/StringBuilder constructor or append(). 166
InefficientStringBuffering Avoid concatenating nonliterals in a StringBuffer/StringBuilder constructor or append(). 177
ShortVariable Avoid variables with short names like p 207
ShortVariable Avoid variables with short names like m 208

fr/paris/lutece/plugins/participatorybudget/web/bizstat/BizStatJspBean.java

Rule Violation Line
ShortVariable Avoid variables with short names like o1 115
ShortVariable Avoid variables with short names like o2 115
ShortVariable Avoid variables with short names like a1 117
ShortVariable Avoid variables with short names like a2 118
ShortVariable Avoid variables with short names like v1 120
ShortVariable Avoid variables with short names like v2 121
ShortVariable Avoid variables with short names like o1 133
ShortVariable Avoid variables with short names like o2 133
SignatureDeclareThrowsException A method/constructor should not explicitly throw java.lang.Exception 152
ConfusingTernary Avoid if (x != y) ..; else ..; 171–186
SignatureDeclareThrowsException A method/constructor should not explicitly throw java.lang.Exception 203

fr/paris/lutece/plugins/participatorybudget/web/campaign/CampaignAreaJspBean.java

Rule Violation Line
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 115
ConfusingTernary Avoid if (x != y) ..; else ..; 132

fr/paris/lutece/plugins/participatorybudget/web/campaign/CampaignChronoJspBean.java

Rule Violation Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 64–218
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 110
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 114
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 114
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 115
ControlStatementBraces This statement should have braces 119
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 133
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 133
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 134
ControlStatementBraces This statement should have braces 138
AddEmptyString Do not add empty strings 211
AddEmptyString Do not add empty strings 211

fr/paris/lutece/plugins/participatorybudget/web/campaign/CampaignImageJspBean.java

Rule Violation Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 54–246
UnusedPrivateField Avoid unused private fields such as 'PROPERTY_DEFAULT_LIST_CAMPAIGNIMAGE_PER_PAGE'. 81
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 114
ConfusingTernary Avoid if (x != y) ..; else ..; 131

fr/paris/lutece/plugins/participatorybudget/web/campaign/CampaignJspBean.java

Rule Violation Line
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 128
ConfusingTernary Avoid if (x != y) ..; else ..; 145

fr/paris/lutece/plugins/participatorybudget/web/campaign/CampaignPhaseJspBean.java

Rule Violation Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 57–330
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 120
ConfusingTernary Avoid if (x != y) ..; else ..; 137

fr/paris/lutece/plugins/participatorybudget/web/campaign/CampaignThemeJspBean.java

Rule Violation Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 54–246
UnusedPrivateField Avoid unused private fields such as 'PROPERTY_DEFAULT_LIST_CAMPAIGNTHEME_PER_PAGE'. 81
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 114
ConfusingTernary Avoid if (x != y) ..; else ..; 131

fr/paris/lutece/plugins/participatorybudget/web/campaign/ManageCampaignJspBean.java

Rule Violation Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 50–85
SingularField Perhaps '_nDefaultItemsPerPage' could be replaced by a local variable. 61
CommentRequired Protected method constructor comments are required 65–84
AddEmptyString Do not add empty strings 79

fr/paris/lutece/plugins/participatorybudget/web/includes/HeaderInclude.java

Rule Violation Line
ImmutableField Private field '_myVoteService' could be made final; it is only initialized in the declaration or constructor. 80

fr/paris/lutece/plugins/participatorybudget/web/notify/NotifyDocumentbpTaskComponent.java

Rule Violation Line
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 108
UnusedLocalVariable Avoid unused local variables such as 'strFollowers'. 108
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 151
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 151

fr/paris/lutece/plugins/participatorybudget/web/rs/AbstractServiceRest.java

Rule Violation Line
CommentRequired Header comments are required 75–116
AbstractClassWithoutAbstractMethod This abstract class does not have any abstract methods 75–116
CommentRequired Protected method constructor comments are required 100–103
CommentRequired Protected method constructor comments are required 105–114

fr/paris/lutece/plugins/participatorybudget/web/rs/CampaignRest.java

Rule Violation Line
AvoidDuplicateLiterals The String literal "campaign" appears 11 times in this file; the first occurrence is on line 85 85
CommentRequired Header comments are required 86–671
AvoidDuplicateLiterals The String literal "phase" appears 10 times in this file; the first occurrence is on line 137 137
LinguisticNaming Linguistics Antipattern - The method 'isBeforeBeginning' indicates linguistically it returns a boolean, but it returns 'String' 137–155
AvoidDuplicateLiterals The String literal " ==> " appears 10 times in this file; the first occurrence is on line 148 148
LinguisticNaming Linguistics Antipattern - The method 'isBeforeBeginningLastCampaign' indicates linguistically it returns a boolean, but it returns 'String' 166–183
LinguisticNaming Linguistics Antipattern - The method 'isAfterBeginning' indicates linguistically it returns a boolean, but it returns 'String' 194–212
LinguisticNaming Linguistics Antipattern - The method 'isAfterBeginning' indicates linguistically it returns a boolean, but it returns 'String' 223–240
LinguisticNaming Linguistics Antipattern - The method 'isDuring' indicates linguistically it returns a boolean, but it returns 'String' 251–269
LinguisticNaming Linguistics Antipattern - The method 'isDuring' indicates linguistically it returns a boolean, but it returns 'String' 280–297
LinguisticNaming Linguistics Antipattern - The method 'isBeforeEnd' indicates linguistically it returns a boolean, but it returns 'String' 308–326
LinguisticNaming Linguistics Antipattern - The method 'isBeforeEnd' indicates linguistically it returns a boolean, but it returns 'String' 337–354
LinguisticNaming Linguistics Antipattern - The method 'isAfterEnd' indicates linguistically it returns a boolean, but it returns 'String' 365–383
LinguisticNaming Linguistics Antipattern - The method 'isAfterEnd' indicates linguistically it returns a boolean, but it returns 'String' 394–411
PositionLiteralsFirstInComparisons Position literals first in String comparisons 572

fr/paris/lutece/plugins/participatorybudget/web/rs/MyInfosRest.java

Rule Violation Line
CommentRequired Header comments are required 87–156
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 122
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 149

fr/paris/lutece/plugins/participatorybudget/web/vote/MyVoteXPage.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–820
GodClass Possible God Class (WMC=59, ATFD=115, TCC=19.231%) 110–820
UnusedPrivateField Avoid unused private fields such as 'MESSAGE_INFO_VOTE'. 157
UnusedPrivateField Avoid unused private fields such as 'PARAMETER_COMPLETE_INFOS'. 165
UnusedPrivateField Avoid unused private fields such as 'JSON_ERROR_CODE_USER_NOT_SIGNED'. 169
UnusedPrivateField Avoid unused private fields such as 'VOTE_TITLE_SEPARATOR'. 180
UnusedPrivateField Avoid unused private fields such as 'KEY_ERROR_CODE_USER_NOT_SIGNED'. 191
ImmutableField Private field '_myVoteService' could be made final; it is only initialized in the declaration or constructor. 202
ImmutableField Private field '_ratingService' could be made final; it is only initialized in the declaration or constructor. 203
ImmutableField Private field '_ratingSecurityService' could be made final; it is only initialized in the declaration or constructor. 204
ImmutableField Private field '_nbrVoteService' could be made final; it is only initialized in the declaration or constructor. 206
UnusedPrivateField Avoid unused private fields such as 'MESSAGE_INFO_USER_MUST_COMPLETE_PROFILE'. 209
UnusedPrivateField Avoid unused private fields such as '_captchaService'. 211
ImmutableField Private field '_captchaService' could be made final; it is only initialized in the declaration or constructor. 211
ImmutableField Private field '_followService' could be made final; it is only initialized in the declaration or constructor. 214
ImmutableField Private field '_resourceExtenderService' could be made final; it is only initialized in the declaration or constructor. 216
AvoidDuplicateLiterals The String literal "VOTE" appears 4 times in this file; the first occurrence is on line 232 232
CommentRequired Public method and constructor comments are required 278–289
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 305
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 305
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 307
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 308
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 309
ConfusingTernary Avoid if (x != y) ..; else ..; 338–345
ExcessiveMethodLength Avoid really long methods. 372–510
NPathComplexity The method 'doVote(HttpServletRequest)' has an NPath complexity of 168192 372–510
CyclomaticComplexity The method 'doVote(HttpServletRequest)' has a cyclomatic complexity of 25. 372–510
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 391
UseUnderscoresInNumericLiterals Number 75000 should separate every third digit with an underscore 444
UseUnderscoresInNumericLiterals Number 75000 should separate every third digit with an underscore 445
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 490
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 502
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 502
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 521
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 522
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 560
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 560
UseUnderscoresInNumericLiterals Number 75000 should separate every third digit with an underscore 593
UseUnderscoresInNumericLiterals Number 75000 should separate every third digit with an underscore 594
UnnecessaryAnnotationValueElement Avoid the use of value in annotations when its the only element 617
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 682
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 682–685
SimpleDateFormatNeedsLocale When instantiating a SimpleDateFormat object, specify a Locale 723
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 728
ConfusingTernary Avoid if (x != y) ..; else ..; 730
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 730
UnusedPrivateMethod Avoid unused private methods such as 'isEnableCaptcha()'. 772
UnusedPrivateMethod Avoid unused private methods such as 'isArrondissementValide(HttpServletRequest,LuteceUser)'. 783
LinguisticNaming Linguistics Antipattern - The method 'isArrondissementValide' indicates linguistically it returns a boolean, but it returns 'String' 783–802
ConfusingTernary Avoid if (x != y) ..; else ..; 790–801

fr/paris/lutece/plugins/participatorybudget/web/vote/VoteDashboardJspBean.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–235
AddEmptyString Do not add empty strings 141
UnnecessaryAnnotationValueElement Avoid the use of value in annotations when its the only element 160
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 196
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 198
AddEmptyString Do not add empty strings 213
AvoidUsingHardCodedIP Do not hard code the IP address 228

fr/paris/lutece/plugins/participatorybudget/web/vote/VoteParArrandJspBean.java

Rule Violation Line
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 122
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 126

Priority 4

fr/paris/lutece/plugins/participatorybudget/business/MyInfosForm.java

Rule Violation Line
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 246–249

fr/paris/lutece/plugins/participatorybudget/business/campaign/Campaign.java

Rule Violation Line
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 144–147

fr/paris/lutece/plugins/participatorybudget/business/campaign/CampaignArea.java

Rule Violation Line
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 156–159

fr/paris/lutece/plugins/participatorybudget/business/campaign/CampaignTheme.java

Rule Violation Line
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 164–167

fr/paris/lutece/plugins/participatorybudget/business/vote/Vote.java

Rule Violation Line
ShortClassName Avoid short class names like Vote 41–341

fr/paris/lutece/plugins/participatorybudget/service/BudgetIncludeService.java

Rule Violation Line
OneDeclarationPerLine Use one line for each declaration, it enhances code readability. 95

Files

fr/paris/lutece/plugins/participatorybudget/business/Civility.java

Rule Violation Priority Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 52
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 53

fr/paris/lutece/plugins/participatorybudget/business/MyAccount.java

Rule Violation Priority Line
CommentRequired Public method and constructor comments are required 3 53–56
CommentRequired Public method and constructor comments are required 3 58–61
FormalParameterNamingConventions The method parameter name '_strLogin' doesn't match '[a-z][a-zA-Z0-9]*' 1 58
CommentRequired Public method and constructor comments are required 3 63–66
FormalParameterNamingConventions The method parameter name '_strPassword' doesn't match '[a-z][a-zA-Z0-9]*' 1 68
CommentRequired Public method and constructor comments are required 3 68–71
CommentRequired Public method and constructor comments are required 3 73–76
FormalParameterNamingConventions The method parameter name '_strConfirmationPassword' doesn't match '[a-z][a-zA-Z0-9]*' 1 78
CommentRequired Public method and constructor comments are required 3 78–81

fr/paris/lutece/plugins/participatorybudget/business/MyInfosForm.java

Rule Violation Priority Line
TooManyFields Too many fields 3 53–411
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 4 246–249
CloneThrowsCloneNotSupportedException clone() method should throw CloneNotSupportedException 3 266–276
FormalParameterNamingConventions The method parameter name '_bAccountVerified' doesn't match '[a-z][a-zA-Z0-9]*' 1 315
CommentRequired Public method and constructor comments are required 3 320–323
FormalParameterNamingConventions The method parameter name '_strNickname' doesn't match '[a-z][a-zA-Z0-9]*' 1 325
CommentRequired Public method and constructor comments are required 3 325–328
CommentRequired Public method and constructor comments are required 3 339–342
FormalParameterNamingConventions The method parameter name '_strPostalCode' doesn't match '[a-z][a-zA-Z0-9]*' 1 358
FormalParameterNamingConventions The method parameter name '_dLongitude' doesn't match '[a-z][a-zA-Z0-9]*' 1 377
FormalParameterNamingConventions The method parameter name '_dLatitude' doesn't match '[a-z][a-zA-Z0-9]*' 1 396
CommentRequired Public method and constructor comments are required 3 401–404
CommentRequired Public method and constructor comments are required 3 406–409
FormalParameterNamingConventions The method parameter name '_strGeojson' doesn't match '[a-z][a-zA-Z0-9]*' 1 406

fr/paris/lutece/plugins/participatorybudget/business/NotifyUser.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 38–75
CommentRequired Public method and constructor comments are required 3 45–48
CommentRequired Public method and constructor comments are required 3 50–53
FormalParameterNamingConventions The method parameter name '_strIdUser' doesn't match '[a-z][a-zA-Z0-9]*' 1 50
FormalParameterNamingConventions The method parameter name '_myVote' doesn't match '[a-z][a-zA-Z0-9]*' 1 60
FormalParameterNamingConventions The method parameter name '_nbreDocumentSpace' doesn't match '[a-z][a-zA-Z0-9]*' 1 70

fr/paris/lutece/plugins/participatorybudget/business/bizstat/BizStatFile.java

Rule Violation Priority Line
TooManyFields Too many fields 3 44–186
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 44–186
FieldNamingConventions The static field name 'STATUS_REQUESTED' doesn't match '_[a-z][a-zA-Z0-9]*' 1 47
FieldNamingConventions The static field name 'STATUS_UNDER_TREATMENT' doesn't match '_[a-z][a-zA-Z0-9]*' 1 48
FieldNamingConventions The static field name 'STATUS_AVAILABLE' doesn't match '_[a-z][a-zA-Z0-9]*' 1 49
FieldNamingConventions The static field name 'STATUS_PURGED' doesn't match '_[a-z][a-zA-Z0-9]*' 1 50
FieldNamingConventions The static field name 'STATUT_ERROR' doesn't match '_[a-z][a-zA-Z0-9]*' 1 51
CommentRequired Public method and constructor comments are required 3 66–69
CommentRequired Public method and constructor comments are required 3 71–74
FormalParameterNamingConventions The method parameter name '_nIdBizStatFile' doesn't match '[a-z][a-zA-Z0-9]*' 1 71
CommentRequired Public method and constructor comments are required 3 76–79
FormalParameterNamingConventions The method parameter name '_strStatus' doesn't match '[a-z][a-zA-Z0-9]*' 1 81
CommentRequired Public method and constructor comments are required 3 81–84
CommentRequired Public method and constructor comments are required 3 86–89
FormalParameterNamingConventions The method parameter name '_strFileName' doesn't match '[a-z][a-zA-Z0-9]*' 1 91
CommentRequired Public method and constructor comments are required 3 91–94
CommentRequired Public method and constructor comments are required 3 96–99
CommentRequired Public method and constructor comments are required 3 101–104
FormalParameterNamingConventions The method parameter name '_nIdAdminUser' doesn't match '[a-z][a-zA-Z0-9]*' 1 101
CommentRequired Public method and constructor comments are required 3 106–109
FormalParameterNamingConventions The method parameter name '_strAdminUserAccessCode' doesn't match '[a-z][a-zA-Z0-9]*' 1 111
CommentRequired Public method and constructor comments are required 3 111–114
CommentRequired Public method and constructor comments are required 3 116–119
CommentRequired Public method and constructor comments are required 3 121–124
FormalParameterNamingConventions The method parameter name '_strAdminUserEmail' doesn't match '[a-z][a-zA-Z0-9]*' 1 121
CommentRequired Public method and constructor comments are required 3 126–129
CommentRequired Public method and constructor comments are required 3 131–134
FormalParameterNamingConventions The method parameter name '_strReason' doesn't match '[a-z][a-zA-Z0-9]*' 1 131
CommentRequired Public method and constructor comments are required 3 136–139
FormalParameterNamingConventions The method parameter name '_strDescription' doesn't match '[a-z][a-zA-Z0-9]*' 1 141
CommentRequired Public method and constructor comments are required 3 141–144
CommentRequired Public method and constructor comments are required 3 146–149
CommentRequired Public method and constructor comments are required 3 151–154
FormalParameterNamingConventions The method parameter name '_strError' doesn't match '[a-z][a-zA-Z0-9]*' 1 151
CommentRequired Public method and constructor comments are required 3 156–159
FormalParameterNamingConventions The method parameter name '_tsCreationDate' doesn't match '[a-z][a-zA-Z0-9]*' 1 161
CommentRequired Public method and constructor comments are required 3 161–164
CommentRequired Public method and constructor comments are required 3 166–169
MethodReturnsInternalArray Returning '_byValue' may expose an internal array. 3 168
FormalParameterNamingConventions The method parameter name '_byValue' doesn't match '[a-z][a-zA-Z0-9]*' 1 171
CommentRequired Public method and constructor comments are required 3 171–174
ArrayIsStoredDirectly The user-supplied array '_byValue' is stored directly. 3 171
CommentRequired Public method and constructor comments are required 3 176–179
FormalParameterNamingConventions The method parameter name '_nContentSize' doesn't match '[a-z][a-zA-Z0-9]*' 1 181
CommentRequired Public method and constructor comments are required 3 181–184

fr/paris/lutece/plugins/participatorybudget/business/bizstat/BizStatFileDAO.java

Rule Violation Priority Line
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 153
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 184

fr/paris/lutece/plugins/participatorybudget/business/campaign/Campaign.java

Rule Violation Priority Line
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 4 144–147
FormalParameterNamingConventions The method parameter name 'Imgs' doesn't match '[a-z][a-zA-Z0-9]*' 1 235

fr/paris/lutece/plugins/participatorybudget/business/campaign/CampaignArea.java

Rule Violation Priority Line
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 4 156–159
CommentRequired Public method and constructor comments are required 3 156–159
CommentRequired Public method and constructor comments are required 3 172–175

fr/paris/lutece/plugins/participatorybudget/business/campaign/CampaignAreaDAO.java

Rule Violation Priority Line
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 204
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 260
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 260
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 271

fr/paris/lutece/plugins/participatorybudget/business/campaign/CampaignDAO.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 52–333
CommentRequired Public method and constructor comments are required 3 141–154
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 183
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 266
ConfusingTernary Avoid if (x != y) ..; else ..; 3 286–293
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 295
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 306

fr/paris/lutece/plugins/participatorybudget/business/campaign/CampaignImageDAO.java

Rule Violation Priority Line
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 173
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 198

fr/paris/lutece/plugins/participatorybudget/business/campaign/CampaignPhaseDAO.java

Rule Violation Priority Line
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 182
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 209
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 238
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 257

fr/paris/lutece/plugins/participatorybudget/business/campaign/CampaignPhaseType.java

Rule Violation Priority Line
CommentRequired Public method and constructor comments are required 3 68–71
FormalParameterNamingConventions The method parameter name '_nId' doesn't match '[a-z][a-zA-Z0-9]*' 1 73
CommentRequired Public method and constructor comments are required 3 73–76
CommentRequired Public method and constructor comments are required 3 78–81
CommentRequired Public method and constructor comments are required 3 83–86
FormalParameterNamingConventions The method parameter name '_strCode' doesn't match '[a-z][a-zA-Z0-9]*' 1 83
CommentRequired Public method and constructor comments are required 3 88–91
FormalParameterNamingConventions The method parameter name '_strLabel' doesn't match '[a-z][a-zA-Z0-9]*' 1 93
CommentRequired Public method and constructor comments are required 3 93–96
CommentRequired Public method and constructor comments are required 3 98–101
FormalParameterNamingConventions The method parameter name '_strOrder' doesn't match '[a-z][a-zA-Z0-9]*' 1 103
CommentRequired Public method and constructor comments are required 3 103–106

fr/paris/lutece/plugins/participatorybudget/business/campaign/CampaignTheme.java

Rule Violation Priority Line
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 4 164–167
FormalParameterNamingConventions The method parameter name '_fileImage' doesn't match '[a-z][a-zA-Z0-9]*' 1 209

fr/paris/lutece/plugins/participatorybudget/business/campaign/CampaignThemeDAO.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 52–325
ConfusingTernary Avoid if (x != y) ..; else ..; 3 107–114
ConfusingTernary Avoid if (x != y) ..; else ..; 3 205–212
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 226
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 247
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 283
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 305
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 305
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 316

fr/paris/lutece/plugins/participatorybudget/business/campaign/ICampaignDAO.java

Rule Violation Priority Line
FormalParameterNamingConventions The method parameter name '_plugin' doesn't match '[a-z][a-zA-Z0-9]*' 1 96

fr/paris/lutece/plugins/participatorybudget/business/notify/TaskNotifyDocumentbpConfigDAO.java

Rule Violation Priority Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 57–75

fr/paris/lutece/plugins/participatorybudget/business/rgpd/RGPDTreatmentLogDAO.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 40–62

fr/paris/lutece/plugins/participatorybudget/business/rgpd/RGPDTreatmentLogHome.java

Rule Violation Priority Line
CommentRequired Public method and constructor comments are required 3 55–58

fr/paris/lutece/plugins/participatorybudget/business/vote/IUserAccessVoteDAO.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 38–47
CommentRequired Public method and constructor comments are required 3 40
CommentRequired Public method and constructor comments are required 3 42
CommentRequired Public method and constructor comments are required 3 44
CommentRequired Public method and constructor comments are required 3 46

fr/paris/lutece/plugins/participatorybudget/business/vote/IVoteDAO.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 45–182
UnnecessaryModifier Unnecessary modifier 'public' on method 'delete': the method is declared in an interface type 3 66
UnnecessaryModifier Unnecessary modifier 'public' on method 'selectVotesList': the method is declared in an interface type 3 75
UnnecessaryModifier Unnecessary modifier 'public' on method 'deleteAll': the method is declared in an interface type 3 82
UnnecessaryModifier Unnecessary modifier 'public' on method 'validateVote': the method is declared in an interface type 3 89
UnnecessaryModifier Unnecessary modifier 'public' on method 'selectVotes': the method is declared in an interface type 3 97
UnnecessaryModifier Unnecessary modifier 'public' on method 'selectVotesUser': the method is declared in an interface type 3 105
UnnecessaryModifier Unnecessary modifier 'public' on method 'countNbVotesUserArrondissement': the method is declared in an interface type 3 114
UnnecessaryModifier Unnecessary modifier 'public' on method 'countNbVotesByCampaignCode': the method is declared in an interface type 3 121
UnnecessaryModifier Unnecessary modifier 'public' on method 'countNbVotesByDateAllCampaigns': the method is declared in an interface type 3 128
UnnecessaryModifier Unnecessary modifier 'public' on method 'countNbVotesByTheme': the method is declared in an interface type 3 137
UnnecessaryModifier Unnecessary modifier 'public' on method 'countNbVotesByProjectId': the method is declared in an interface type 3 146
UnnecessaryModifier Unnecessary modifier 'public' on method 'countNbVotesByLocation': the method is declared in an interface type 3 155
UnnecessaryModifier Unnecessary modifier 'public' on method 'countNbVotesUser': the method is declared in an interface type 3 164
UnnecessaryModifier Unnecessary modifier 'public' on method 'selectVote': the method is declared in an interface type 3 173
UnnecessaryModifier Unnecessary modifier 'public' on method 'selectUser': the method is declared in an interface type 3 180

fr/paris/lutece/plugins/participatorybudget/business/vote/IVoteHistoryDAO.java

Rule Violation Priority Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'delete': the method is declared in an interface type 3 65
UnnecessaryModifier Unnecessary modifier 'public' on method 'deleteAll': the method is declared in an interface type 3 81
UnnecessaryModifier Unnecessary modifier 'public' on method 'selectVotesUser': the method is declared in an interface type 3 89
UnnecessaryModifier Unnecessary modifier 'public' on method 'countNbVotesUserArrondissement': the method is declared in an interface type 3 98
UnnecessaryModifier Unnecessary modifier 'public' on method 'countNbVotesUser': the method is declared in an interface type 3 107
UnnecessaryModifier Unnecessary modifier 'public' on method 'selectVoteUser': the method is declared in an interface type 3 116

fr/paris/lutece/plugins/participatorybudget/business/vote/IVotePerLocationDAO.java

Rule Violation Priority Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'update': the method is declared in an interface type 3 54
UnnecessaryModifier Unnecessary modifier 'public' on method 'getListVotes': the method is declared in an interface type 3 63
UnnecessaryModifier Unnecessary modifier 'public' on method 'select': the method is declared in an interface type 3 74

fr/paris/lutece/plugins/participatorybudget/business/vote/UserAccessVote.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 36–82
DefaultPackage Use explicit scoping instead of the default package private level 3 38
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the _strId field if you want a default access modifier 3 38
DefaultPackage Use explicit scoping instead of the default package private level 3 39
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the _bHasAccessVote field if you want a default access modifier 3 39
FormalParameterNamingConventions The method parameter name '_strId' doesn't match '[a-z][a-zA-Z0-9]*' 1 57

fr/paris/lutece/plugins/participatorybudget/business/vote/UserAccessVoteDAO.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 39–106
FieldNamingConventions The constant name 'SQl_QUERY_SELECT' doesn't match '[A-Z][A-Z_0-9]*' 1 46

fr/paris/lutece/plugins/participatorybudget/business/vote/UserAccessVoteHome.java

Rule Violation Priority Line
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 1 44–102

fr/paris/lutece/plugins/participatorybudget/business/vote/Vote.java

Rule Violation Priority Line
ShortClassName Avoid short class names like Vote 4 41–341
ShortVariable Avoid variables with short names like id 3 44
FieldNamingConventions The field name 'id' doesn't match '_[a-z][a-zA-Z0-9]*' 1 44
CommentRequired Public method and constructor comments are required 3 77–80
CommentRequired Public method and constructor comments are required 3 82–85
ShortVariable Avoid variables with short names like id 3 93

fr/paris/lutece/plugins/participatorybudget/business/vote/VoteDAO.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 49–489
FieldNamingConventions The constant name 'SQl_QUERY_SELECT' doesn't match '[A-Z][A-Z_0-9]*' 1 57
FieldNamingConventions The constant name 'SQl_QUERY_COUNT_VOTE_ARR' doesn't match '[A-Z][A-Z_0-9]*' 1 59
FieldNamingConventions The constant name 'SQl_QUERY_COUNT_VOTE' doesn't match '[A-Z][A-Z_0-9]*' 1 60
FieldNamingConventions The constant name 'SQl_QUERY_COUNT_VOTE_BY_CAMPAIGN' doesn't match '[A-Z][A-Z_0-9]*' 1 61
FieldNamingConventions The constant name 'SQl_QUERY_COUNT_VOTE_BY_DATE_BY_CAMPAIGN' doesn't match '[A-Z][A-Z_0-9]*' 1 63
FieldNamingConventions The constant name 'SQl_QUERY_COUNT_VOTE_BY_THEME' doesn't match '[A-Z][A-Z_0-9]*' 1 65
FieldNamingConventions The constant name 'SQl_QUERY_COUNT_VOTE_BY_LOCATION' doesn't match '[A-Z][A-Z_0-9]*' 1 67
FieldNamingConventions The constant name 'SQl_QUERY_COUNT_VOTE_BY_PROJECT_ID' doesn't match '[A-Z][A-Z_0-9]*' 1 70
SimpleDateFormatNeedsLocale When instantiating a SimpleDateFormat object, specify a Locale 3 77
MissingOverride The method 'delete(String, int, Plugin)' is missing an @Override annotation. 3 118–127
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 139
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 192
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 282
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 300
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 329
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 348
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 367

fr/paris/lutece/plugins/participatorybudget/business/vote/VoteHistoryDAO.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 46–370
FieldNamingConventions The constant name 'SQl_QUERY_SELECT' doesn't match '[A-Z][A-Z_0-9]*' 1 54
FieldNamingConventions The constant name 'SQl_QUERY_SELECT_By_PORJECT' doesn't match '[A-Z][A-Z_0-9]*' 1 55
FieldNamingConventions The constant name 'SQl_QUERY_COUNT_VOTE_ARR' doesn't match '[A-Z][A-Z_0-9]*' 1 56
FieldNamingConventions The constant name 'SQl_QUERY_COUNT_VOTE' doesn't match '[A-Z][A-Z_0-9]*' 1 57
FieldNamingConventions The constant name 'SQl_BY_EXPORTED_STATUS' doesn't match '[A-Z][A-Z_0-9]*' 1 58
MissingOverride The method 'delete(String, int, Plugin)' is missing an @Override annotation. 3 127–135
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 162
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 202
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 257

fr/paris/lutece/plugins/participatorybudget/business/vote/VotePerLocation.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 36–97
FieldNamingConventions The field name 'id' doesn't match '_[a-z][a-zA-Z0-9]*' 1 38
ShortVariable Avoid variables with short names like id 3 38
ShortVariable Avoid variables with short names like id 3 56

fr/paris/lutece/plugins/participatorybudget/business/vote/VotePerLocationDAO.java

Rule Violation Priority Line
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 92

fr/paris/lutece/plugins/participatorybudget/deamon/BizStatExportDaemon.java

Rule Violation Priority Line
RedundantFieldInitializer Avoid using redundant field initializer for '_threadExport' 3 52
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 131
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 134

fr/paris/lutece/plugins/participatorybudget/service/BudgetAddOnService.java

Rule Violation Priority Line
UnusedPrivateField Avoid unused private fields such as '_myVoteService'. 3 58
UncommentedEmptyMethodBody Document empty method body 3 65–67
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 75

fr/paris/lutece/plugins/participatorybudget/service/BudgetFavoriteListener.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 41–71
UncommentedEmptyMethodBody Document empty method body 3 49–51
UncommentedEmptyMethodBody Document empty method body 3 55–57

fr/paris/lutece/plugins/participatorybudget/service/BudgetFollowListener.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 41–71
UncommentedEmptyMethodBody Document empty method body 3 49–51
UncommentedEmptyMethodBody Document empty method body 3 55–57

fr/paris/lutece/plugins/participatorybudget/service/BudgetIncludeService.java

Rule Violation Priority Line
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 59–127
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 91
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 91
ConfusingTernary Avoid if (x != y) ..; else ..; 3 94
OneDeclarationPerLine Use one line for each declaration, it enhances code readability. 4 95
UseUnderscoresInNumericLiterals Number 75000 should separate every third digit with an underscore 3 105
UseUnderscoresInNumericLiterals Number 75000 should separate every third digit with an underscore 3 106

fr/paris/lutece/plugins/participatorybudget/service/BudgetMyInfosListener.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 43–96
ImmutableField Private field '_myVoteService' could be made final; it is only initialized in the declaration or constructor. 3 46
MissingOverride The method 'deleteVotes(HttpServletRequest)' is missing an @Override annotation. 3 91–94
CommentRequired Public method and constructor comments are required 3 91–94

fr/paris/lutece/plugins/participatorybudget/service/BudgetSolrAddon.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 59–186
MissingOverride The method 'buildPageAddOn(Map, HttpServletRequest)' is missing an @Override annotation. 3 88–122
LocalVariableNamingConventions The local variable name '_myVoteService' doesn't match '[a-z][a-zA-Z0-9]*' 1 98
ConfusingTernary Avoid if (x != y) ..; else ..; 3 109–116
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 129
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 130
ShortVariable Avoid variables with short names like h 3 140
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 140
UseIndexOfChar String.indexOf(char) is faster than String.indexOf(String). 3 172
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 173

fr/paris/lutece/plugins/participatorybudget/service/BudgetSolrListAddon.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 48–86
LocalVariableNamingConventions The local variable name '_myVoteService' doesn't match '[a-z][a-zA-Z0-9]*' 1 60
ConfusingTernary Avoid if (x != y) ..; else ..; 3 71–78

fr/paris/lutece/plugins/participatorybudget/service/BudgetStaticService.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 45–166
CommentRequired Public method and constructor comments are required 3 70–77
NonThreadSafeSingleton Singleton is not thread safe 3 72–75
CallSuperInConstructor It is a good practice to call super() in a constructor 3 79–82
CommentRequired Public method and constructor comments are required 3 79–82
CommentRequired Public method and constructor comments are required 3 84–87
MissingOverride The method 'getName()' is missing an @Override annotation. 3 84–87
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 144
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 144
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 149
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 149

fr/paris/lutece/plugins/participatorybudget/service/DocumentBodyService.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 37–763
GodClass Possible God Class (WMC=64, ATFD=81, TCC=13.072%) 3 104–763
TooManyMethods This class has too many methods, consider refactoring it. 3 105–763
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 150
MissingOverride The method 'getPage(HttpServletRequest, String, String, int)' is missing an @Override annotation. 3 176–233
GuardLogStatement Logger calls should be surrounded by log level guards. 2 206–207
GuardLogStatement Logger calls should be surrounded by log level guards. 2 223
GuardLogStatement Logger calls should be surrounded by log level guards. 2 229
PositionLiteralsFirstInCaseInsensitiveComparisons Position literals first in String comparisons for EqualsIgnoreCase 3 244
CyclomaticComplexity The method 'buildPage(HttpServletRequest, String, String, String, int)' has a cyclomatic complexity of 17. 3 274–416
ExcessiveMethodLength Avoid really long methods. 3 274–416
NPathComplexity The method 'buildPage(HttpServletRequest, String, String, String, int)' has an NPath complexity of 2040 3 274–416
NcssCount The method 'buildPage(HttpServletRequest, String, String, String, int)' has a NCSS line count of 76. 3 274–416
AvoidReassigningParameters Avoid reassigning parameters such as 'strPortletId' 2 274
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 278
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 279
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 280
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 280
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 280
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 313
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 313
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 356
ReplaceHashtableWithMap Consider replacing this Hashtable with the newer java.util.Map 3 380
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 380
ConfusingTernary Avoid if (x != y) ..; else ..; 3 426–435
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'strPageTemplateDocument' 3 430
NPathComplexity The method 'getPortlet(HttpServletRequest, String, int)' has an NPath complexity of 273 3 453–571
ExcessiveMethodLength Avoid really long methods. 3 453–571
CyclomaticComplexity The method 'getPortlet(HttpServletRequest, String, int)' has a cyclomatic complexity of 12. 3 453–571
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 459
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 474
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 485
ReplaceHashtableWithMap Consider replacing this Hashtable with the newer java.util.Map 3 485
ConfusingTernary Avoid if (x != y) ..; else ..; 3 497–505
ConfusingTernary Avoid if (x != y) ..; else ..; 3 516
UnusedFormalParameter Avoid unused method parameters such as 'nPortletId'. 3 586
CyclomaticComplexity The method 'getRelatedDocumentsPortlet(HttpServletRequest, Document, int, int)' has a cyclomatic complexity of 10. 3 586–626
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 590
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 593
MissingOverride The method 'dispose()' is missing an @Override annotation. 3 631–633
UncommentedEmptyMethodBody Document empty method body 3 632–633
MissingOverride The method 'notifyElementEvicted(Ehcache, Element)' is missing an @Override annotation. 3 638–641
MissingOverride The method 'notifyElementExpired(Ehcache, Element)' is missing an @Override annotation. 3 646–649
MissingOverride The method 'notifyElementPut(Ehcache, Element)' is missing an @Override annotation. 3 654–656
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 3 654
UncommentedEmptyMethodBody Document empty method body 3 655–656
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 3 661
MissingOverride The method 'notifyElementRemoved(Ehcache, Element)' is missing an @Override annotation. 3 661–664
MissingOverride The method 'notifyElementUpdated(Ehcache, Element)' is missing an @Override annotation. 3 669–671
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 3 669
UncommentedEmptyMethodBody Document empty method body 3 670–671
MissingOverride The method 'notifyRemoveAll(Ehcache)' is missing an @Override annotation. 3 676–679

fr/paris/lutece/plugins/participatorybudget/service/DocumentPageProjectOPService.java

Rule Violation Priority Line
UnnecessaryReturn Avoid unnecessary return statements 3 79
LinguisticNaming Linguistics Antipattern - The variable 'isVotedProject' indicates linguistically it is a boolean, but it is 'Object' 3 89
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 102
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 114
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 115
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 125
ShortVariable Avoid variables with short names like h 3 125
UseIndexOfChar String.indexOf(char) is faster than String.indexOf(String). 3 157
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 158

fr/paris/lutece/plugins/participatorybudget/service/DocumentPageService.java

Rule Violation Priority Line
UnnecessaryReturn Avoid unnecessary return statements 3 69
NPathComplexity The method 'buildPageAddOn(Map, String, int, String, HttpServletRequest)' has an NPath complexity of 972 3 73–146
CyclomaticComplexity The method 'buildPageAddOn(Map, String, int, String, HttpServletRequest)' has a cyclomatic complexity of 13. 3 73–146
LocalVariableNamingConventions The local variable name '_myVoteService' doesn't match '[a-z][a-zA-Z0-9]*' 1 76
ConfusingTernary Avoid if (x != y) ..; else ..; 3 89–100

fr/paris/lutece/plugins/participatorybudget/service/FollowAddService.java

Rule Violation Priority Line
UnusedPrivateField Avoid unused private fields such as '_followService'. 3 62
UnnecessaryReturn Avoid unnecessary return statements 3 67
UnusedLocalVariable Avoid unused local variables such as 'attr'. 3 76

fr/paris/lutece/plugins/participatorybudget/service/IDocumentBodyService.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 41–46
CommentRequired Public method and constructor comments are required 3 44–45
UnnecessaryModifier Unnecessary modifier 'public' on method 'getPage': the method is declared in an interface type 3 44–45

fr/paris/lutece/plugins/participatorybudget/service/IMyInfosListener.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 40–51
CommentRequired Public method and constructor comments are required 3 43
CommentRequired Public method and constructor comments are required 3 45
LinguisticNaming Linguistics Antipattern - The method 'canChangeArrond' indicates linguistically it returns a boolean, but it returns 'int' 3 47
CommentRequired Public method and constructor comments are required 3 47
CommentRequired Public method and constructor comments are required 3 49

fr/paris/lutece/plugins/participatorybudget/service/MyFavouritesProjects.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 53–127
CommentRequired Public method and constructor comments are required 3 61–78
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 65
CommentRequired Public method and constructor comments are required 3 80–92
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 83
CommentRequired Public method and constructor comments are required 3 94–111
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 98
CommentRequired Public method and constructor comments are required 3 113–125
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 116

fr/paris/lutece/plugins/participatorybudget/service/MyInfosListenerService.java

Rule Violation Priority Line
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 53–189
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 55
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 57
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 57
FieldNamingConventions The public constant name 'Document_PROPERTY_RESOURCE_TYPE' doesn't match '[A-Z][A-Z_0-9]*' 1 58
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 69–73
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 84–94
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 89
LinguisticNaming Linguistics Antipattern - The method 'canChangeArrond' indicates linguistically it returns a boolean, but it returns 'int' 3 151–165

fr/paris/lutece/plugins/participatorybudget/service/MyInfosService.java

Rule Violation Priority Line
GodClass Possible God Class (WMC=61, ATFD=115, TCC=6.154%) 3 69–738
TooManyMethods This class has too many methods, consider refactoring it. 3 70–738
FieldNamingConventions The constant name 'patternPostalCode' doesn't match '[A-Z][A-Z_0-9]*' 1 72
UnusedPrivateField Avoid unused private fields such as 'PROPERTY_ARRONDISSEMENT'. 3 89
UnusedPrivateField Avoid unused private fields such as 'KEY_SEND_ACCOUNT_VALIDATION_BACK_URL'. 3 99
UnusedPrivateField Avoid unused private fields such as 'TYPE_VALIDATE_ACCOUNT'. 3 102
AvoidUsingVolatile Use of modifier volatile is not recommended. 2 103
AvoidUsingVolatile Use of modifier volatile is not recommended. 2 104
BooleanInstantiation Avoid instantiating Boolean objects; reference Boolean.TRUE or Boolean.FALSE or call Boolean.valueOf() instead. 2 202
BooleanInstantiation Avoid instantiating Boolean objects; reference Boolean.TRUE or Boolean.FALSE or call Boolean.valueOf() instead. 2 207
SimplifiedTernary Ternary operators that can be simplified with || or && 3 207
ConfusingTernary Avoid if (x != y) ..; else ..; 3 207
ConfusingTernary Avoid if (x != y) ..; else ..; 3 252–264
BooleanInstantiation Avoid instantiating Boolean objects; reference Boolean.TRUE or Boolean.FALSE or call Boolean.valueOf() instead. 2 309
NonThreadSafeSingleton Singleton is not thread safe 3 327–349
NonThreadSafeSingleton Singleton is not thread safe 3 361–382
AddEmptyString Do not add empty strings 3 372
UseUnderscoresInNumericLiterals Number 75001 should separate every third digit with an underscore 3 372
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 374
CommentRequired Public method and constructor comments are required 3 405–436
LinguisticNaming Linguistics Antipattern - The setter 'setAdressValid' should not return any type except void linguistically 3 405–436
ShortVariable Avoid variables with short names like m 3 413
ConfusingTernary Avoid if (x != y) ..; else ..; 3 515
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 3 590
EmptyIfStmt Avoid empty if statements 3 615–618
EmptyIfStmt Avoid empty if statements 3 662–665

fr/paris/lutece/plugins/participatorybudget/service/NbProjetArrCacheService.java

Rule Violation Priority Line
CallSuperInConstructor It is a good practice to call super() in a constructor 3 46–49

fr/paris/lutece/plugins/participatorybudget/service/NoSuchPhaseException.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 36–68
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 36–68
CommentRequired Public method and constructor comments are required 3 39–42
CallSuperInConstructor It is a good practice to call super() in a constructor 3 39–42
CommentRequired Public method and constructor comments are required 3 44–48
CommentRequired Public method and constructor comments are required 3 50–54
CommentRequired Public method and constructor comments are required 3 56–60
CommentRequired Public method and constructor comments are required 3 62–66

fr/paris/lutece/plugins/participatorybudget/service/ProjectLaureatAddOn.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 47–80

fr/paris/lutece/plugins/participatorybudget/service/ProjectsRealisationSolrListAddon.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 42–51

fr/paris/lutece/plugins/participatorybudget/service/avatar/CampaignAvatarService.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 49–104
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 50–104
CommentRequired Public method and constructor comments are required 3 54–71
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 3 60
CommentRequired Public method and constructor comments are required 3 73–102
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 3 79

fr/paris/lutece/plugins/participatorybudget/service/bizstat/BizStartExportThread.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 50–150
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 50
CommentRequired Public method and constructor comments are required 3 53–56
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 74
ShortVariable Avoid variables with short names like os 3 101
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 133

fr/paris/lutece/plugins/participatorybudget/service/bizstat/BizStatDescription.java

Rule Violation Priority Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'value': the method is declared in an annotation type 3 45

fr/paris/lutece/plugins/participatorybudget/service/bizstat/BizStatService.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 58–191
CommentRequired Public method and constructor comments are required 3 72–79
NonThreadSafeSingleton Singleton is not thread safe 3 74–77
UnnecessaryAnnotationValueElement Avoid the use of value in annotations when its the only element 3 92
MethodNamingConventions The instance method name 'export_NumberOfNotifiableUsersWhenNotifyingOnRealization' doesn't match '[a-z][a-zA-Z0-9]*' 1 93–143
SignatureDeclareThrowsException A method/constructor should not explicitly throw java.lang.Exception 3 93
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 95
UseUnderscoresInNumericLiterals Number 10000 should separate every third digit with an underscore 3 113
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 126
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 127
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 156
UnusedPrivateMethod Avoid unused private methods such as 'getAttributeTextValueSafe(Document,String)'. 3 177
ControlStatementBraces This statement should have braces 3 181
ControlStatementBraces This statement should have braces 3 186

fr/paris/lutece/plugins/participatorybudget/service/campaign/CampaignIncludeService.java

Rule Violation Priority Line
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 51–71

fr/paris/lutece/plugins/participatorybudget/service/campaign/CampaignService.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 65–557
GodClass Possible God Class (WMC=55, ATFD=37, TCC=0.128%) 3 65–557
TooManyMethods This class has too many methods, consider refactoring it. 3 66–557
RedundantFieldInitializer Avoid using redundant field initializer for '_cache' 3 71
CommentRequired Public method and constructor comments are required 3 80–87
NonThreadSafeSingleton Singleton is not thread safe 3 82–85
ControlStatementBraces This statement should have braces 3 97
CommentRequired Public method and constructor comments are required 3 107–127
MissingOverride The method 'reset()' is missing an @Override annotation. 3 107–127
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 111
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 111
GuardLogStatement Logger calls should be surrounded by log level guards. 2 122–123
CommentRequired Public method and constructor comments are required 3 164–170
MissingOverride The method 'isBeforeBeginning(String, String)' is missing an @Override annotation. 3 164–170
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'result' 3 169
MissingOverride The method 'isBeforeEnd(String, String)' is missing an @Override annotation. 3 172–178
CommentRequired Public method and constructor comments are required 3 172–178
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'result' 3 177
MissingOverride The method 'isDuring(String, String)' is missing an @Override annotation. 3 180–189
CommentRequired Public method and constructor comments are required 3 180–189
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'result' 3 188
CommentRequired Public method and constructor comments are required 3 191–197
MissingOverride The method 'isAfterBeginning(String, String)' is missing an @Override annotation. 3 191–197
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'result' 3 196
CommentRequired Public method and constructor comments are required 3 199–205
MissingOverride The method 'isAfterEnd(String, String)' is missing an @Override annotation. 3 199–205
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'result' 3 204
MissingOverride The method 'start(String, String)' is missing an @Override annotation. 3 207–211
CommentRequired Public method and constructor comments are required 3 207–211
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'timeStamp' 3 210
MissingOverride The method 'end(String, String)' is missing an @Override annotation. 3 213–217
CommentRequired Public method and constructor comments are required 3 213–217
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'timeStamp' 3 216
CommentRequired Public method and constructor comments are required 3 219–226
MissingOverride The method 'startStr(String, String, String, boolean)' is missing an @Override annotation. 3 219–226
ShortVariable Avoid variables with short names like ts 3 221
SimpleDateFormatNeedsLocale When instantiating a SimpleDateFormat object, specify a Locale 3 224
CommentRequired Public method and constructor comments are required 3 228–235
MissingOverride The method 'endStr(String, String, String, boolean)' is missing an @Override annotation. 3 228–235
ShortVariable Avoid variables with short names like ts 3 230
SimpleDateFormatNeedsLocale When instantiating a SimpleDateFormat object, specify a Locale 3 233
MissingOverride The method 'isBeforeBeginning(String)' is missing an @Override annotation. 3 239–242
CommentRequired Public method and constructor comments are required 3 239–242
MissingOverride The method 'isBeforeEnd(String)' is missing an @Override annotation. 3 244–247
CommentRequired Public method and constructor comments are required 3 244–247
MissingOverride The method 'isDuring(String)' is missing an @Override annotation. 3 249–252
CommentRequired Public method and constructor comments are required 3 249–252
MissingOverride The method 'isAfterBeginning(String)' is missing an @Override annotation. 3 254–257
CommentRequired Public method and constructor comments are required 3 254–257
MissingOverride The method 'isAfterEnd(String)' is missing an @Override annotation. 3 259–262
CommentRequired Public method and constructor comments are required 3 259–262
MissingOverride The method 'start(String)' is missing an @Override annotation. 3 264–267
CommentRequired Public method and constructor comments are required 3 264–267
MissingOverride The method 'end(String)' is missing an @Override annotation. 3 269–272
CommentRequired Public method and constructor comments are required 3 269–272
MissingOverride The method 'startStr(String, String, boolean)' is missing an @Override annotation. 3 274–277
CommentRequired Public method and constructor comments are required 3 274–277
CommentRequired Public method and constructor comments are required 3 279–282
MissingOverride The method 'endStr(String, String, boolean)' is missing an @Override annotation. 3 279–282
CommentRequired Public method and constructor comments are required 3 289–301
MissingOverride The method 'getAllAreas(String)' is missing an @Override annotation. 3 289–301
CommentRequired Public method and constructor comments are required 3 303–316
MissingOverride The method 'getLocalizedAreas(String)' is missing an @Override annotation. 3 303–316
CommentRequired Public method and constructor comments are required 3 318–330
MissingOverride The method 'hasWholeArea(String)' is missing an @Override annotation. 3 318–330
CommentRequired Public method and constructor comments are required 3 332–344
MissingOverride The method 'hasWholeArea(String, int)' is missing an @Override annotation. 3 332–344
MissingOverride The method 'getWholeArea(String)' is missing an @Override annotation. 3 346–358
CommentRequired Public method and constructor comments are required 3 346–358
CommentRequired Public method and constructor comments are required 3 362–365
MissingOverride The method 'getAllAreas()' is missing an @Override annotation. 3 362–365
CommentRequired Public method and constructor comments are required 3 367–370
MissingOverride The method 'getLocalizedAreas()' is missing an @Override annotation. 3 367–370
CommentRequired Public method and constructor comments are required 3 372–375
MissingOverride The method 'hasWholeArea()' is missing an @Override annotation. 3 372–375
CommentRequired Public method and constructor comments are required 3 377–380
ShortVariable Avoid variables with short names like id 3 377
MissingOverride The method 'hasWholeArea(int)' is missing an @Override annotation. 3 377–380
CommentRequired Public method and constructor comments are required 3 382–385
MissingOverride The method 'getWholeArea()' is missing an @Override annotation. 3 382–385
AddEmptyString Do not add empty strings 3 445
AddEmptyString Do not add empty strings 3 471
AddEmptyString Do not add empty strings 3 488
AddEmptyString Do not add empty strings 3 506
ConfusingTernary Avoid if (x != y) ..; else ..; 3 533–540
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 549

fr/paris/lutece/plugins/participatorybudget/service/campaign/CampaignSessionListener.java

Rule Violation Priority Line
ShortVariable Avoid variables with short names like se 3 50
ShortVariable Avoid variables with short names like se 3 59

fr/paris/lutece/plugins/participatorybudget/service/campaign/CampaignUploadHandler.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 55–246
UseUnderscoresInNumericLiterals Number 2097152 should separate every third digit with an underscore 3 58
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 73
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 116
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 117
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 3 122
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 3 136
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 3 136
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 221
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 231

fr/paris/lutece/plugins/participatorybudget/service/campaign/ICampaignService.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 43–162
TooManyMethods This class has too many methods, consider refactoring it. 3 44–162
CommentRequired Public method and constructor comments are required 3 52
UnnecessaryModifier Unnecessary modifier 'public' on method 'getCampaigns': the method is declared in an interface type 3 52
UnnecessaryModifier Unnecessary modifier 'public' on method 'getLastCampaign': the method is declared in an interface type 3 56
CommentRequired Public method and constructor comments are required 3 56
CommentRequired Public method and constructor comments are required 3 63
UnnecessaryModifier Unnecessary modifier 'public' on method 'isBeforeBeginning': the method is declared in an interface type 3 63
CommentRequired Public method and constructor comments are required 3 65
UnnecessaryModifier Unnecessary modifier 'public' on method 'isBeforeEnd': the method is declared in an interface type 3 65
CommentRequired Public method and constructor comments are required 3 67
UnnecessaryModifier Unnecessary modifier 'public' on method 'isDuring': the method is declared in an interface type 3 67
CommentRequired Public method and constructor comments are required 3 69
UnnecessaryModifier Unnecessary modifier 'public' on method 'isAfterBeginning': the method is declared in an interface type 3 69
CommentRequired Public method and constructor comments are required 3 71
UnnecessaryModifier Unnecessary modifier 'public' on method 'isAfterEnd': the method is declared in an interface type 3 71
UnnecessaryModifier Unnecessary modifier 'public' on method 'start': the method is declared in an interface type 3 73
CommentRequired Public method and constructor comments are required 3 73
UnnecessaryModifier Unnecessary modifier 'public' on method 'end': the method is declared in an interface type 3 75
CommentRequired Public method and constructor comments are required 3 75
CommentRequired Public method and constructor comments are required 3 77
UnnecessaryModifier Unnecessary modifier 'public' on method 'startStr': the method is declared in an interface type 3 77
CommentRequired Public method and constructor comments are required 3 79
UnnecessaryModifier Unnecessary modifier 'public' on method 'endStr': the method is declared in an interface type 3 79
CommentRequired Public method and constructor comments are required 3 82
UnnecessaryModifier Unnecessary modifier 'public' on method 'isBeforeBeginning': the method is declared in an interface type 3 82
CommentRequired Public method and constructor comments are required 3 84
UnnecessaryModifier Unnecessary modifier 'public' on method 'isBeforeEnd': the method is declared in an interface type 3 84
UnnecessaryModifier Unnecessary modifier 'public' on method 'isDuring': the method is declared in an interface type 3 86
CommentRequired Public method and constructor comments are required 3 86
CommentRequired Public method and constructor comments are required 3 88
UnnecessaryModifier Unnecessary modifier 'public' on method 'isAfterBeginning': the method is declared in an interface type 3 88
CommentRequired Public method and constructor comments are required 3 90
UnnecessaryModifier Unnecessary modifier 'public' on method 'isAfterEnd': the method is declared in an interface type 3 90
CommentRequired Public method and constructor comments are required 3 92
UnnecessaryModifier Unnecessary modifier 'public' on method 'start': the method is declared in an interface type 3 92
UnnecessaryModifier Unnecessary modifier 'public' on method 'end': the method is declared in an interface type 3 94
CommentRequired Public method and constructor comments are required 3 94
UnnecessaryModifier Unnecessary modifier 'public' on method 'startStr': the method is declared in an interface type 3 96
CommentRequired Public method and constructor comments are required 3 96
UnnecessaryModifier Unnecessary modifier 'public' on method 'endStr': the method is declared in an interface type 3 98
CommentRequired Public method and constructor comments are required 3 98
CommentRequired Public method and constructor comments are required 3 105
UnnecessaryModifier Unnecessary modifier 'public' on method 'getAllAreas': the method is declared in an interface type 3 105
CommentRequired Public method and constructor comments are required 3 107
UnnecessaryModifier Unnecessary modifier 'public' on method 'getLocalizedAreas': the method is declared in an interface type 3 107
UnnecessaryModifier Unnecessary modifier 'public' on method 'hasWholeArea': the method is declared in an interface type 3 109
CommentRequired Public method and constructor comments are required 3 109
CommentRequired Public method and constructor comments are required 3 111
UnnecessaryModifier Unnecessary modifier 'public' on method 'hasWholeArea': the method is declared in an interface type 3 111
UnnecessaryModifier Unnecessary modifier 'public' on method 'getWholeArea': the method is declared in an interface type 3 113
CommentRequired Public method and constructor comments are required 3 113
UnnecessaryModifier Unnecessary modifier 'public' on method 'getAllAreas': the method is declared in an interface type 3 116
CommentRequired Public method and constructor comments are required 3 116
CommentRequired Public method and constructor comments are required 3 118
UnnecessaryModifier Unnecessary modifier 'public' on method 'getLocalizedAreas': the method is declared in an interface type 3 118
UnnecessaryModifier Unnecessary modifier 'public' on method 'hasWholeArea': the method is declared in an interface type 3 120
CommentRequired Public method and constructor comments are required 3 120
CommentRequired Public method and constructor comments are required 3 122
UnnecessaryModifier Unnecessary modifier 'public' on method 'hasWholeArea': the method is declared in an interface type 3 122
CommentRequired Public method and constructor comments are required 3 124
UnnecessaryModifier Unnecessary modifier 'public' on method 'getWholeArea': the method is declared in an interface type 3 124
UnnecessaryModifier Unnecessary modifier 'public' on method 'getThemes': the method is declared in an interface type 3 132
CommentRequired Public method and constructor comments are required 3 132
UnnecessaryModifier Unnecessary modifier 'public' on method 'getThemes': the method is declared in an interface type 3 135
CommentRequired Public method and constructor comments are required 3 135
CommentRequired Public method and constructor comments are required 3 138
UnnecessaryModifier Unnecessary modifier 'public' on method 'getThemesFrontRgb': the method is declared in an interface type 3 138
UnnecessaryModifier Unnecessary modifier 'public' on method 'clone': the method is declared in an interface type 3 152
UnnecessaryModifier Unnecessary modifier 'public' on method 'reset': the method is declared in an interface type 3 160
CommentRequired Public method and constructor comments are required 3 160

fr/paris/lutece/plugins/participatorybudget/service/campaign/event/CampaignEvent.java

Rule Violation Priority Line
DataClass The class 'CampaignEvent' is suspected to be a Data Class (WOC=25.000%, NOPA=5, NOAM=2, WMC=4) 3 41–101
ImmutableField Private field '_mainCampaign' could be made final; it is only initialized in the declaration or constructor. 3 51
ImmutableField Private field '_linkedCampaign' could be made final; it is only initialized in the declaration or constructor. 3 52
ImmutableField Private field '_strType' could be made final; it is only initialized in the declaration or constructor. 3 53

fr/paris/lutece/plugins/participatorybudget/service/campaign/event/CampaignEventListernersManager.java

Rule Violation Priority Line
CommentRequired Public method and constructor comments are required 3 60–68
NonThreadSafeSingleton Singleton is not thread safe 3 62–66

fr/paris/lutece/plugins/participatorybudget/service/notify/INotifyDocumentbpService.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 39–54
UnnecessaryModifier Unnecessary modifier 'public' on method 'processAction': the method is declared in an interface type 3 45
UnnecessaryModifier Unnecessary modifier 'public' on method 'processAction': the method is declared in an interface type 3 52

fr/paris/lutece/plugins/participatorybudget/service/notify/NotifyDocumentbpService.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 55–162
NonThreadSafeSingleton Singleton is not thread safe 3 72–75

fr/paris/lutece/plugins/participatorybudget/service/notify/TaskNotifyDocumentbp.java

Rule Violation Priority Line
UnusedPrivateField Avoid unused private fields such as '_resourceExtenderHistoryService'. 3 107
AvoidStringBufferField StringBuffers can grow quite a lot, and so may become a source of memory leak (if the owning class has a long life time). 3 109
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 16, but has at least 90 characters appended. 3 120
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 3 136
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 144
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 146
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 3 158
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 3 159
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 3 164
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 182
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 218
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 219
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 220
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 221
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 226
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 232
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 232
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 249
AvoidThrowingRawExceptionTypes Avoid throwing raw exception types. 1 251

fr/paris/lutece/plugins/participatorybudget/service/notify/TaskNotifyDocumentbpConfigService.java

Rule Violation Priority Line
UselessOverridingMethod Overriding method merely calls super 3 52–55
UselessOverridingMethod Overriding method merely calls super 3 61–64
UselessOverridingMethod Overriding method merely calls super 3 70–73

fr/paris/lutece/plugins/participatorybudget/service/notify/WorkflowNotifyDocumentbpDaemon.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 39–55

fr/paris/lutece/plugins/participatorybudget/service/project/IProjectService.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 43–79
UnnecessaryModifier Unnecessary modifier 'public' on method 'createproject': the method is declared in an interface type 3 67
UnnecessaryModifier Unnecessary modifier 'public' on method 'getUniqueUserGuidsProjectFollowers': the method is declared in an interface type 3 77

fr/paris/lutece/plugins/participatorybudget/service/project/ProjectService.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–235
CommentRequired Header comments are required 3 72–235
CommentRequired Public method and constructor comments are required 3 89–96
NonThreadSafeSingleton Singleton is not thread safe 3 91–94
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 168
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 217

fr/paris/lutece/plugins/participatorybudget/service/rating/BudgetRatingService.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 60–318
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 69–81
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 88–99
AvoidDuplicateLiterals The String literal "Error storing vote " appears 4 times in this file; the first occurrence is on line 158 3 158
ShortVariable Avoid variables with short names like c 3 301
CommentRequired Public method and constructor comments are required 3 313–317

fr/paris/lutece/plugins/participatorybudget/service/rating/RatingValidationService.java

Rule Violation Priority Line
CyclomaticComplexity The method 'validateRating(HttpServletRequest, LuteceUser, String, String, double)' has a cyclomatic complexity of 20. 3 67–148
NPathComplexity The method 'validateRating(HttpServletRequest, LuteceUser, String, String, double)' has an NPath complexity of 36864 3 67–148
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 80
LocalVariableNamingConventions The local variable name '_nbrVoteService' doesn't match '[a-z][a-zA-Z0-9]*' 1 85
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 85
LocalVariableNamingConventions The local variable name '_myVoteService' doesn't match '[a-z][a-zA-Z0-9]*' 1 86
UseUnderscoresInNumericLiterals Number 75000 should separate every third digit with an underscore 3 105
UseUnderscoresInNumericLiterals Number 75000 should separate every third digit with an underscore 3 106
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 119

fr/paris/lutece/plugins/participatorybudget/service/rating/VoteResourceExtender.java

Rule Violation Priority Line
UnusedPrivateField Avoid unused private fields such as 'DSKEY_VOTE_CLOSED'. 3 55
UnusedPrivateField Avoid unused private fields such as '_myVoteService'. 3 59
UncommentedEmptyMethodBody Document empty method body 3 90–91
UncommentedEmptyMethodBody Document empty method body 3 98–99

fr/paris/lutece/plugins/participatorybudget/service/rating/VoteResourceExtenderComponent.java

Rule Violation Priority Line
AvoidDuplicateLiterals The String literal "Not supported." appears 6 times in this file; the first occurrence is on line 54 3 54

fr/paris/lutece/plugins/participatorybudget/service/vote/IVoteParArrandissementService.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 39–50
CommentRequired Public method and constructor comments are required 3 41
CommentRequired Public method and constructor comments are required 3 43
CommentRequired Public method and constructor comments are required 3 45
CommentRequired Public method and constructor comments are required 3 47
CommentRequired Public method and constructor comments are required 3 49

fr/paris/lutece/plugins/participatorybudget/service/vote/MyVoteService.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–310
UnusedPrivateField Avoid unused private fields such as '_configService'. 3 95
UnusedPrivateField Avoid unused private fields such as '_ratingSecurityService'. 3 97
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 116
UseUnderscoresInNumericLiterals Number 75000 should separate every third digit with an underscore 3 167
UseUnderscoresInNumericLiterals Number 75000 should separate every third digit with an underscore 3 168
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 172
UseUnderscoresInNumericLiterals Number 75000 should separate every third digit with an underscore 3 172
ShortVariable Avoid variables with short names like p 3 200
ShortVariable Avoid variables with short names like m 3 201
ControlStatementBraces This statement should have braces 3 203
AddEmptyString Do not add empty strings 3 217
ConfusingTernary Avoid if (x != y) ..; else ..; 3 219–238
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 3 265–269
CommentRequired Public method and constructor comments are required 3 274–309
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 277
UseEqualsToCompareStrings Use equals() to compare strings instead of '==' or '!=' 3 298
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 298

fr/paris/lutece/plugins/participatorybudget/service/vote/VoteParArrandissementService.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 42–101
CommentRequired Public method and constructor comments are required 3 48–57
NonThreadSafeSingleton Singleton is not thread safe 3 50–54

fr/paris/lutece/plugins/participatorybudget/service/vote/VoteStatService.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 46–145
CommentRequired Public method and constructor comments are required 3 58–65
NonThreadSafeSingleton Singleton is not thread safe 3 60–63
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 132
AddEmptyString Do not add empty strings 3 133
AddEmptyString Do not add empty strings 3 137

fr/paris/lutece/plugins/participatorybudget/util/BudgetUtils.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 42–88
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 43–88

fr/paris/lutece/plugins/participatorybudget/util/CampaignErrorJsonResponse.java

Rule Violation Priority Line
CommentRequired Public method and constructor comments are required 3 49–52
CommentRequired Public method and constructor comments are required 3 54–58
FormalParameterNamingConventions The method parameter name '_strToken' doesn't match '[a-z][a-zA-Z0-9]*' 1 75

fr/paris/lutece/plugins/participatorybudget/util/CampaignResponse.java

Rule Violation Priority Line
CommentRequired Public method and constructor comments are required 3 50–55
FormalParameterNamingConventions The method parameter name '_strToken' doesn't match '[a-z][a-zA-Z0-9]*' 1 72
FormalParameterNamingConventions The method parameter name '_bSuccess' doesn't match '[a-z][a-zA-Z0-9]*' 1 92

fr/paris/lutece/plugins/participatorybudget/util/ModelUtils.java

Rule Violation Priority Line
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 3 82

fr/paris/lutece/plugins/participatorybudget/util/ParticipatoryBudgetConstants.java

Rule Violation Priority Line
ClassNamingConventions The utility class name 'ParticipatoryBudgetConstants' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' 1 42–124

fr/paris/lutece/plugins/participatorybudget/web/FavouritesProjectsXPage.java

Rule Violation Priority Line
UnusedPrivateField Avoid unused private fields such as 'MARK_ARRONDISSEMENT'. 3 74
ImmutableField Private field '_myFavouriteService' could be made final; it is only initialized in the declaration or constructor. 3 84
ImmutableField Private field '_myVoteService' could be made final; it is only initialized in the declaration or constructor. 3 85

fr/paris/lutece/plugins/participatorybudget/web/MyInfosXPage.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–935
UnusedPrivateField Avoid unused private fields such as 'INFO_VALIDATION_MAIL_SEND'. 3 111
UnusedPrivateField Avoid unused private fields such as 'ERROR_DURING_VALIDATION_MAIL_SEND'. 3 112
UnusedPrivateField Avoid unused private fields such as 'CAMPAIGN_BP_APP_CODE'. 3 164
UnusedPrivateField Avoid unused private fields such as 'JSON_ERROR_DURING_SEND_AVIS'. 3 172
UnusedPrivateField Avoid unused private fields such as 'IDS_KEY_USER_ADDRESS'. 3 183
UnusedPrivateField Avoid unused private fields such as 'IDS_KEY_USER_ADDRESS_POSTAL_CODE'. 3 184
UnusedPrivateField Avoid unused private fields such as 'IDS_KEY_USER_ADDRESS_CITY'. 3 185
UnusedPrivateField Avoid unused private fields such as 'IDS_KEY_USER_ADDRESS_DETAIL'. 3 186
UnusedPrivateField Avoid unused private fields such as 'MARK_IDS_ATTRIBUTES'. 3 188
UnusedPrivateField Avoid unused private fields such as 'MARK_LABEL_IDS_ADDRESS'. 3 193
UnusedPrivateField Avoid unused private fields such as 'COMMA'. 3 195
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 197
UnusedPrivateField Avoid unused private fields such as 'MAP_IDS_ATTRIBUTES'. 3 197
NonStaticInitializer Non-static initializers are confusing 3 199–204
AccessorMethodGeneration Avoid autogenerated methods to access private fields and methods of inner / outer classes 3 200
AccessorMethodGeneration Avoid autogenerated methods to access private fields and methods of inner / outer classes 3 201
AccessorMethodGeneration Avoid autogenerated methods to access private fields and methods of inner / outer classes 3 202
AccessorMethodGeneration Avoid autogenerated methods to access private fields and methods of inner / outer classes 3 203
UnusedPrivateField Avoid unused private fields such as 'MAP_CIVILITY'. 3 207
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 207
NonStaticInitializer Non-static initializers are confusing 3 209–213
SingularField Perhaps '_patternAddress' could be replaced by a local variable. 3 218
UnusedPrivateField Avoid unused private fields such as '_patternAddress'. 3 218
ImmutableField Private field '_patternAddress' could be made final; it is only initialized in the declaration or constructor. 3 218
UnnecessaryAnnotationValueElement Avoid the use of value in annotations when its the only element 3 245
ConfusingTernary Avoid if (x != y) ..; else ..; 3 260–281
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 363
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 364
CyclomaticComplexity The method 'getMyInfos(HttpServletRequest, boolean)' has a cyclomatic complexity of 10. 3 394–493
ConfusingTernary Avoid if (x != y) ..; else ..; 3 406–414
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 409
ConfusingTernary Avoid if (x != y) ..; else ..; 3 420–429
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 423
EmptyIfStmt Avoid empty if statements 3 435–437
ExcessiveMethodLength Avoid really long methods. 3 506–661
NPathComplexity The method 'doSave(HttpServletRequest)' has an NPath complexity of 15122 3 506–661
NcssCount The method 'doSave(HttpServletRequest)' has a NCSS line count of 72. 3 506–661
CyclomaticComplexity The method 'doSave(HttpServletRequest)' has a cyclomatic complexity of 27. 3 506–661
ConfusingTernary Avoid if (x != y) ..; else ..; 3 573–584
EmptyIfStmt Avoid empty if statements 3 574–578
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 583
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 599
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 599
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 608
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 613
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 615
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 615
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 628
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 628
LinguisticNaming Linguistics Antipattern - The method 'isUserValid' indicates linguistically it returns a boolean, but it returns 'String' 3 686–729
ConfusingTernary Avoid if (x != y) ..; else ..; 3 705–718
ConfusingTernary Avoid if (x != y) ..; else ..; 3 711–718
CyclomaticComplexity The method 'doSaveForAjax(HttpServletRequest)' has a cyclomatic complexity of 13. 3 832–897
CollapsibleIfStatements These nested if statements could be combined 3 912–915

fr/paris/lutece/plugins/participatorybudget/web/ProjectSolrSearch.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 58–364
CyclomaticComplexity The method 'doGet(HttpServletRequest, HttpServletResponse)' has a cyclomatic complexity of 10. 3 98–157
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 43, but has at least 87 characters appended. 3 102
AvoidDuplicateLiterals The String literal "&fq=type:" appears 7 times in this file; the first occurrence is on line 119 3 119
ControlStatementBraces This statement should have braces 3 146
GuardLogStatement Logger calls should be surrounded by log level guards. 2 150
NcssCount The method 'doGetOld(HttpServletRequest, HttpServletResponse)' has a NCSS line count of 79. 3 171–334
CyclomaticComplexity The method 'doGetOld(HttpServletRequest, HttpServletResponse)' has a cyclomatic complexity of 28. 3 171–334
NPathComplexity The method 'doGetOld(HttpServletRequest, HttpServletResponse)' has an NPath complexity of 819 3 171–334
ExcessiveMethodLength Avoid really long methods. 3 171–334
UnusedLocalVariable Avoid unused local variables such as 'sdfXml'. 3 230
SimpleDateFormatNeedsLocale When instantiating a SimpleDateFormat object, specify a Locale 3 230
InefficientStringBuffering Avoid concatenating nonliterals in a StringBuffer/StringBuilder constructor or append(). 3 245
InefficientStringBuffering Avoid concatenating nonliterals in a StringBuffer/StringBuilder constructor or append(). 3 250
ShortVariable Avoid variables with short names like i 3 254
ShortVariable Avoid variables with short names like i 3 277
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 293
EmptyIfStmt Avoid empty if statements 3 297–301
EmptyIfStmt Avoid empty if statements 3 304–309
InefficientStringBuffering Avoid concatenating nonliterals in a StringBuffer/StringBuilder constructor or append(). 3 312
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 324
GuardLogStatement Logger calls should be surrounded by log level guards. 2 327
ShortVariable Avoid variables with short names like p 3 350
ShortVariable Avoid variables with short names like m 3 351
ControlStatementBraces This statement should have braces 3 353

fr/paris/lutece/plugins/participatorybudget/web/ProjectsXpage.java

Rule Violation Priority Line
FieldNamingConventions The constant name 'strSearchSolrUrl' doesn't match '[A-Z][A-Z_0-9]*' 1 89
FieldNamingConventions The constant name 'strArrondissementPattern' doesn't match '[A-Z][A-Z_0-9]*' 1 90
FieldNamingConventions The constant name 'strUserRemoveArrFilterSelected' doesn't match '[A-Z][A-Z_0-9]*' 1 91
FieldNamingConventions The constant name 'strAmpSymbol' doesn't match '[A-Z][A-Z_0-9]*' 1 92
FieldNamingConventions The constant name 'strEqualSymbol' doesn't match '[A-Z][A-Z_0-9]*' 1 93
FieldNamingConventions The constant name 'strDoublePointSymbol' doesn't match '[A-Z][A-Z_0-9]*' 1 94
CyclomaticComplexity The method 'solrProjectSearch(HttpServletRequest)' has a cyclomatic complexity of 22. 3 97–194
CommentRequired Public method and constructor comments are required 3 97–194
NPathComplexity The method 'solrProjectSearch(HttpServletRequest)' has an NPath complexity of 8064 3 97–194
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 141
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 3 147
InefficientStringBuffering Avoid concatenating nonliterals in a StringBuffer/StringBuilder constructor or append(). 3 156
InefficientStringBuffering Avoid concatenating nonliterals in a StringBuffer/StringBuilder constructor or append(). 3 166
InefficientStringBuffering Avoid concatenating nonliterals in a StringBuffer/StringBuilder constructor or append(). 3 177
GuardLogStatement Logger calls should be surrounded by log level guards. 2 184
ShortVariable Avoid variables with short names like p 3 207
ShortVariable Avoid variables with short names like m 3 208

fr/paris/lutece/plugins/participatorybudget/web/bizstat/BizStatJspBean.java

Rule Violation Priority Line
ShortVariable Avoid variables with short names like o1 3 115
ShortVariable Avoid variables with short names like o2 3 115
ShortVariable Avoid variables with short names like a1 3 117
ShortVariable Avoid variables with short names like a2 3 118
ShortVariable Avoid variables with short names like v1 3 120
ShortVariable Avoid variables with short names like v2 3 121
ShortVariable Avoid variables with short names like o1 3 133
ShortVariable Avoid variables with short names like o2 3 133
SignatureDeclareThrowsException A method/constructor should not explicitly throw java.lang.Exception 3 152
ConfusingTernary Avoid if (x != y) ..; else ..; 3 171–186
SignatureDeclareThrowsException A method/constructor should not explicitly throw java.lang.Exception 3 203

fr/paris/lutece/plugins/participatorybudget/web/campaign/CampaignAreaJspBean.java

Rule Violation Priority Line
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 115
ConfusingTernary Avoid if (x != y) ..; else ..; 3 132

fr/paris/lutece/plugins/participatorybudget/web/campaign/CampaignChronoJspBean.java

Rule Violation Priority Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 64–218
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 110
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 114
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 114
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 115
ControlStatementBraces This statement should have braces 3 119
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 133
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 133
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 134
ControlStatementBraces This statement should have braces 3 138
AddEmptyString Do not add empty strings 3 211
AddEmptyString Do not add empty strings 3 211

fr/paris/lutece/plugins/participatorybudget/web/campaign/CampaignImageJspBean.java

Rule Violation Priority Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 54–246
UnusedPrivateField Avoid unused private fields such as 'PROPERTY_DEFAULT_LIST_CAMPAIGNIMAGE_PER_PAGE'. 3 81
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 114
ConfusingTernary Avoid if (x != y) ..; else ..; 3 131

fr/paris/lutece/plugins/participatorybudget/web/campaign/CampaignJspBean.java

Rule Violation Priority Line
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 128
ConfusingTernary Avoid if (x != y) ..; else ..; 3 145

fr/paris/lutece/plugins/participatorybudget/web/campaign/CampaignPhaseJspBean.java

Rule Violation Priority Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 57–330
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 120
ConfusingTernary Avoid if (x != y) ..; else ..; 3 137

fr/paris/lutece/plugins/participatorybudget/web/campaign/CampaignThemeJspBean.java

Rule Violation Priority Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 54–246
UnusedPrivateField Avoid unused private fields such as 'PROPERTY_DEFAULT_LIST_CAMPAIGNTHEME_PER_PAGE'. 3 81
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 114
ConfusingTernary Avoid if (x != y) ..; else ..; 3 131

fr/paris/lutece/plugins/participatorybudget/web/campaign/ManageCampaignJspBean.java

Rule Violation Priority Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 50–85
SingularField Perhaps '_nDefaultItemsPerPage' could be replaced by a local variable. 3 61
CommentRequired Protected method constructor comments are required 3 65–84
AddEmptyString Do not add empty strings 3 79

fr/paris/lutece/plugins/participatorybudget/web/includes/HeaderInclude.java

Rule Violation Priority Line
ImmutableField Private field '_myVoteService' could be made final; it is only initialized in the declaration or constructor. 3 80
FieldNamingConventions The constant name '_random' doesn't match '[A-Z][A-Z_0-9]*' 1 85

fr/paris/lutece/plugins/participatorybudget/web/notify/NotifyDocumentbpTaskComponent.java

Rule Violation Priority Line
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 108
UnusedLocalVariable Avoid unused local variables such as 'strFollowers'. 3 108
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 151
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 151

fr/paris/lutece/plugins/participatorybudget/web/rs/AbstractServiceRest.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 75–116
AbstractClassWithoutAbstractMethod This abstract class does not have any abstract methods 3 75–116
CommentRequired Protected method constructor comments are required 3 100–103
CommentRequired Protected method constructor comments are required 3 105–114

fr/paris/lutece/plugins/participatorybudget/web/rs/CampaignRest.java

Rule Violation Priority Line
AvoidDuplicateLiterals The String literal "campaign" appears 11 times in this file; the first occurrence is on line 85 3 85
CommentRequired Header comments are required 3 86–671
AvoidDuplicateLiterals The String literal "phase" appears 10 times in this file; the first occurrence is on line 137 3 137
LinguisticNaming Linguistics Antipattern - The method 'isBeforeBeginning' indicates linguistically it returns a boolean, but it returns 'String' 3 137–155
AvoidDuplicateLiterals The String literal " ==> " appears 10 times in this file; the first occurrence is on line 148 3 148
LinguisticNaming Linguistics Antipattern - The method 'isBeforeBeginningLastCampaign' indicates linguistically it returns a boolean, but it returns 'String' 3 166–183
LinguisticNaming Linguistics Antipattern - The method 'isAfterBeginning' indicates linguistically it returns a boolean, but it returns 'String' 3 194–212
LinguisticNaming Linguistics Antipattern - The method 'isAfterBeginning' indicates linguistically it returns a boolean, but it returns 'String' 3 223–240
LinguisticNaming Linguistics Antipattern - The method 'isDuring' indicates linguistically it returns a boolean, but it returns 'String' 3 251–269
LinguisticNaming Linguistics Antipattern - The method 'isDuring' indicates linguistically it returns a boolean, but it returns 'String' 3 280–297
LinguisticNaming Linguistics Antipattern - The method 'isBeforeEnd' indicates linguistically it returns a boolean, but it returns 'String' 3 308–326
LinguisticNaming Linguistics Antipattern - The method 'isBeforeEnd' indicates linguistically it returns a boolean, but it returns 'String' 3 337–354
LinguisticNaming Linguistics Antipattern - The method 'isAfterEnd' indicates linguistically it returns a boolean, but it returns 'String' 3 365–383
LinguisticNaming Linguistics Antipattern - The method 'isAfterEnd' indicates linguistically it returns a boolean, but it returns 'String' 3 394–411
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 572

fr/paris/lutece/plugins/participatorybudget/web/rs/MyInfosRest.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 87–156
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 122
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 149

fr/paris/lutece/plugins/participatorybudget/web/vote/MyVoteXPage.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–820
GodClass Possible God Class (WMC=59, ATFD=115, TCC=19.231%) 3 110–820
UnusedPrivateField Avoid unused private fields such as 'MESSAGE_INFO_VOTE'. 3 157
UnusedPrivateField Avoid unused private fields such as 'PARAMETER_COMPLETE_INFOS'. 3 165
UnusedPrivateField Avoid unused private fields such as 'JSON_ERROR_CODE_USER_NOT_SIGNED'. 3 169
UnusedPrivateField Avoid unused private fields such as 'VOTE_TITLE_SEPARATOR'. 3 180
UnusedPrivateField Avoid unused private fields such as 'KEY_ERROR_CODE_USER_NOT_SIGNED'. 3 191
ImmutableField Private field '_myVoteService' could be made final; it is only initialized in the declaration or constructor. 3 202
ImmutableField Private field '_ratingService' could be made final; it is only initialized in the declaration or constructor. 3 203
ImmutableField Private field '_ratingSecurityService' could be made final; it is only initialized in the declaration or constructor. 3 204
ImmutableField Private field '_nbrVoteService' could be made final; it is only initialized in the declaration or constructor. 3 206
UnusedPrivateField Avoid unused private fields such as 'MESSAGE_INFO_USER_MUST_COMPLETE_PROFILE'. 3 209
UnusedPrivateField Avoid unused private fields such as '_captchaService'. 3 211
ImmutableField Private field '_captchaService' could be made final; it is only initialized in the declaration or constructor. 3 211
ImmutableField Private field '_followService' could be made final; it is only initialized in the declaration or constructor. 3 214
ImmutableField Private field '_resourceExtenderService' could be made final; it is only initialized in the declaration or constructor. 3 216
AvoidDuplicateLiterals The String literal "VOTE" appears 4 times in this file; the first occurrence is on line 232 3 232
LocalVariableNamingConventions The local variable name 'notify_valide' doesn't match '[a-z][a-zA-Z0-9]*' 1 243
CommentRequired Public method and constructor comments are required 3 278–289
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 305
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 305
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 307
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 308
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 309
ConfusingTernary Avoid if (x != y) ..; else ..; 3 338–345
ExcessiveMethodLength Avoid really long methods. 3 372–510
NPathComplexity The method 'doVote(HttpServletRequest)' has an NPath complexity of 168192 3 372–510
CyclomaticComplexity The method 'doVote(HttpServletRequest)' has a cyclomatic complexity of 25. 3 372–510
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 391
UseUnderscoresInNumericLiterals Number 75000 should separate every third digit with an underscore 3 444
UseUnderscoresInNumericLiterals Number 75000 should separate every third digit with an underscore 3 445
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 490
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 502
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 502
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 521
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 522
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 560
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 560
UseUnderscoresInNumericLiterals Number 75000 should separate every third digit with an underscore 3 593
UseUnderscoresInNumericLiterals Number 75000 should separate every third digit with an underscore 3 594
UnnecessaryAnnotationValueElement Avoid the use of value in annotations when its the only element 3 617
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 3 682
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 3 682–685
SimpleDateFormatNeedsLocale When instantiating a SimpleDateFormat object, specify a Locale 3 723
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 728
ConfusingTernary Avoid if (x != y) ..; else ..; 3 730
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 730
UnusedPrivateMethod Avoid unused private methods such as 'isEnableCaptcha()'. 3 772
BooleanInstantiation Avoid instantiating Boolean objects; reference Boolean.TRUE or Boolean.FALSE or call Boolean.valueOf() instead. 2 774
UnusedPrivateMethod Avoid unused private methods such as 'isArrondissementValide(HttpServletRequest,LuteceUser)'. 3 783
LinguisticNaming Linguistics Antipattern - The method 'isArrondissementValide' indicates linguistically it returns a boolean, but it returns 'String' 3 783–802
ConfusingTernary Avoid if (x != y) ..; else ..; 3 790–801

fr/paris/lutece/plugins/participatorybudget/web/vote/VoteDashboardJspBean.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–235
FieldNamingConventions The field name 'campaign' doesn't match '_[a-z][a-zA-Z0-9]*' 1 79
AddEmptyString Do not add empty strings 3 141
UnnecessaryAnnotationValueElement Avoid the use of value in annotations when its the only element 3 160
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 196
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 198
AddEmptyString Do not add empty strings 3 213
AvoidUsingHardCodedIP Do not hard code the IP address 3 228

fr/paris/lutece/plugins/participatorybudget/web/vote/VoteParArrandJspBean.java

Rule Violation Priority Line
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 122
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 126