FindBugs Bug Detector Report
The following document contains the results of FindBugs
FindBugs Version is 3.0.1
Threshold is
Effort is max
Summary
Classes |
Bugs |
Errors |
Missing Classes |
142 |
54 |
0 |
0 |
fr.paris.lutece.plugins.participatorybudget.business.bizstat.BizStatFile
Bug |
Category |
Details |
Line |
Priority |
fr.paris.lutece.plugins.participatorybudget.business.bizstat.BizStatFile.getCreationDate() may expose internal representation by returning BizStatFile._tsCreationDate |
MALICIOUS_CODE |
EI_EXPOSE_REP |
158 |
Medium |
fr.paris.lutece.plugins.participatorybudget.business.bizstat.BizStatFile.getValue() may expose internal representation by returning BizStatFile._byValue |
MALICIOUS_CODE |
EI_EXPOSE_REP |
168 |
Medium |
fr.paris.lutece.plugins.participatorybudget.business.bizstat.BizStatFile.setCreationDate(Timestamp) may expose internal representation by storing an externally mutable object into BizStatFile._tsCreationDate |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
163 |
Medium |
fr.paris.lutece.plugins.participatorybudget.business.bizstat.BizStatFile.setValue(byte[]) may expose internal representation by storing an externally mutable object into BizStatFile._byValue |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
173 |
Medium |
fr.paris.lutece.plugins.participatorybudget.business.bizstat.BizStatFile.STATUS_AVAILABLE isn't final but should be |
MALICIOUS_CODE |
MS_SHOULD_BE_FINAL |
49 |
High |
fr.paris.lutece.plugins.participatorybudget.business.bizstat.BizStatFile.STATUS_PURGED isn't final but should be |
MALICIOUS_CODE |
MS_SHOULD_BE_FINAL |
50 |
High |
fr.paris.lutece.plugins.participatorybudget.business.bizstat.BizStatFile.STATUS_REQUESTED isn't final but should be |
MALICIOUS_CODE |
MS_SHOULD_BE_FINAL |
47 |
High |
fr.paris.lutece.plugins.participatorybudget.business.bizstat.BizStatFile.STATUS_UNDER_TREATMENT isn't final but should be |
MALICIOUS_CODE |
MS_SHOULD_BE_FINAL |
48 |
High |
fr.paris.lutece.plugins.participatorybudget.business.bizstat.BizStatFile.STATUT_ERROR isn't final but should be |
MALICIOUS_CODE |
MS_SHOULD_BE_FINAL |
51 |
High |
fr.paris.lutece.plugins.participatorybudget.business.campaign.CampaignDAO
Bug |
Category |
Details |
Line |
Priority |
Null passed for non-null parameter of loadImagesIds(Campaign, Plugin) in fr.paris.lutece.plugins.participatorybudget.business.campaign.CampaignDAO.load(int, Plugin) |
CORRECTNESS |
NP_NULL_PARAM_DEREF |
174 |
Medium |
Null passed for non-null parameter of loadImagesIds(Campaign, Plugin) in fr.paris.lutece.plugins.participatorybudget.business.campaign.CampaignDAO.selectLastCampaign(Plugin) |
CORRECTNESS |
NP_NULL_PARAM_DEREF |
256 |
Medium |
fr.paris.lutece.plugins.participatorybudget.business.campaign.CampaignPhase
Bug |
Category |
Details |
Line |
Priority |
fr.paris.lutece.plugins.participatorybudget.business.campaign.CampaignPhase.getEnd() may expose internal representation by returning CampaignPhase._dateEnd |
MALICIOUS_CODE |
EI_EXPOSE_REP |
156 |
Medium |
fr.paris.lutece.plugins.participatorybudget.business.campaign.CampaignPhase.getStart() may expose internal representation by returning CampaignPhase._dateStart |
MALICIOUS_CODE |
EI_EXPOSE_REP |
135 |
Medium |
fr.paris.lutece.plugins.participatorybudget.business.campaign.CampaignPhase.setEnd(Timestamp) may expose internal representation by storing an externally mutable object into CampaignPhase._dateEnd |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
167 |
Medium |
fr.paris.lutece.plugins.participatorybudget.business.campaign.CampaignPhase.setStart(Timestamp) may expose internal representation by storing an externally mutable object into CampaignPhase._dateStart |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
146 |
Medium |
fr.paris.lutece.plugins.participatorybudget.business.vote.MyVote
Bug |
Category |
Details |
Line |
Priority |
fr.paris.lutece.plugins.participatorybudget.business.vote.MyVote.getDateVote() may expose internal representation by returning MyVote._dateVote |
MALICIOUS_CODE |
EI_EXPOSE_REP |
125 |
Medium |
new fr.paris.lutece.plugins.participatorybudget.business.vote.MyVote(Document, Date, int) may expose internal representation by storing an externally mutable object into MyVote._dateVote |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
74 |
Medium |
new fr.paris.lutece.plugins.participatorybudget.business.vote.MyVote(Document, Date, int, int, int) may expose internal representation by storing an externally mutable object into MyVote._dateVote |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
91 |
Medium |
fr.paris.lutece.plugins.participatorybudget.business.vote.MyVote.setDateVote(Date) may expose internal representation by storing an externally mutable object into MyVote._dateVote |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
136 |
Medium |
fr.paris.lutece.plugins.participatorybudget.business.vote.Vote
Bug |
Category |
Details |
Line |
Priority |
fr.paris.lutece.plugins.participatorybudget.business.vote.Vote.getDateVote() may expose internal representation by returning Vote._dateVote |
MALICIOUS_CODE |
EI_EXPOSE_REP |
105 |
Medium |
fr.paris.lutece.plugins.participatorybudget.business.vote.Vote.setDateVote(Timestamp) may expose internal representation by storing an externally mutable object into Vote._dateVote |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
116 |
Medium |
fr.paris.lutece.plugins.participatorybudget.service.BudgetSolrAddon
Bug |
Category |
Details |
Line |
Priority |
fr.paris.lutece.plugins.participatorybudget.service.BudgetSolrAddon.getGeolocModel(List) makes inefficient use of keySet iterator instead of entrySet iterator |
PERFORMANCE |
WMI_WRONG_MAP_ITERATOR |
141 |
Medium |
fr.paris.lutece.plugins.participatorybudget.service.DocumentBodyService
Bug |
Category |
Details |
Line |
Priority |
Useless object stored in variable mapXslParams of method fr.paris.lutece.plugins.participatorybudget.service.DocumentBodyService.buildPage(HttpServletRequest, String, String, String, int) |
STYLE |
UC_USELESS_OBJECT |
280 |
Medium |
fr.paris.lutece.plugins.participatorybudget.service.DocumentPageProjectOPService
Bug |
Category |
Details |
Line |
Priority |
fr.paris.lutece.plugins.participatorybudget.service.DocumentPageProjectOPService.getGeolocModel(List) makes inefficient use of keySet iterator instead of entrySet iterator |
PERFORMANCE |
WMI_WRONG_MAP_ITERATOR |
126 |
Medium |
fr.paris.lutece.plugins.participatorybudget.service.FollowAddService
Bug |
Category |
Details |
Line |
Priority |
Dead store to attr in fr.paris.lutece.plugins.participatorybudget.service.FollowAddService.buildPageAddOn(Map, String, int, String, HttpServletRequest) |
STYLE |
DLS_DEAD_LOCAL_STORE |
76 |
Medium |
fr.paris.lutece.plugins.participatorybudget.service.MyFavouritesProjects
Bug |
Category |
Details |
Line |
Priority |
Dead store to listResourceHistory in fr.paris.lutece.plugins.participatorybudget.service.MyFavouritesProjects.getFavorisListResourceExtender(LuteceUser) |
STYLE |
DLS_DEAD_LOCAL_STORE |
83 |
Medium |
Dead store to listResourceHistory in fr.paris.lutece.plugins.participatorybudget.service.MyFavouritesProjects.getFollowerListResourceExtender(LuteceUser) |
STYLE |
DLS_DEAD_LOCAL_STORE |
116 |
Medium |
fr.paris.lutece.plugins.participatorybudget.service.MyInfosService
Bug |
Category |
Details |
Line |
Priority |
Possible exposure of partially initialized object in fr.paris.lutece.plugins.participatorybudget.service.MyInfosService.getArrondissements() |
MT_CORRECTNESS |
DC_PARTIALLY_CONSTRUCTED |
334 |
Medium |
Possible exposure of partially initialized object in fr.paris.lutece.plugins.participatorybudget.service.MyInfosService.getPostalCodes() |
MT_CORRECTNESS |
DC_PARTIALLY_CONSTRUCTED |
368 |
Medium |
fr.paris.lutece.plugins.participatorybudget.service.MyInfosService.isAccountVerified(LuteceUser) invokes inefficient Boolean constructor; use Boolean.valueOf(...) instead |
PERFORMANCE |
DM_BOOLEAN_CTOR |
202 |
Medium |
fr.paris.lutece.plugins.participatorybudget.service.MyInfosService.mustSendAccountValidationMail(String, MyInfosForm) invokes inefficient Boolean constructor; use Boolean.valueOf(...) instead |
PERFORMANCE |
DM_BOOLEAN_CTOR |
309 |
Medium |
fr.paris.lutece.plugins.participatorybudget.service.bizstat.BizStartExportThread
Bug |
Category |
Details |
Line |
Priority |
Found reliance on default encoding in fr.paris.lutece.plugins.participatorybudget.service.bizstat.BizStartExportThread.process(): new java.io.OutputStreamWriter(OutputStream) |
I18N |
DM_DEFAULT_ENCODING |
108 |
High |
fr.paris.lutece.plugins.participatorybudget.service.campaign.event.CampaignEventListernersManager
Bug |
Category |
Details |
Line |
Priority |
Write to static field fr.paris.lutece.plugins.participatorybudget.service.campaign.event.CampaignEventListernersManager._listEventListeners from instance method fr.paris.lutece.plugins.participatorybudget.service.campaign.event.CampaignEventListernersManager.setListeners(List) |
STYLE |
ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD |
96 |
High |
fr.paris.lutece.plugins.participatorybudget.service.notify.NotifyDocumentbpService
Bug |
Category |
Details |
Line |
Priority |
Nullcheck of workflow at line 124 of value previously dereferenced in fr.paris.lutece.plugins.participatorybudget.service.notify.NotifyDocumentbpService.processAction(Workflow, Document) |
CORRECTNESS |
RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE |
122 |
Medium |
fr.paris.lutece.plugins.participatorybudget.service.vote.VoteStatService
Bug |
Category |
Details |
Line |
Priority |
fr.paris.lutece.plugins.participatorybudget.service.vote.VoteStatService.getNbVotesByProject(int) makes inefficient use of keySet iterator instead of entrySet iterator |
PERFORMANCE |
WMI_WRONG_MAP_ITERATOR |
137 |
Medium |
fr.paris.lutece.plugins.participatorybudget.web.FavouritesProjectsXPage
Bug |
Category |
Details |
Line |
Priority |
Class fr.paris.lutece.plugins.participatorybudget.web.FavouritesProjectsXPage defines non-transient non-serializable instance field _myFavouriteService |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
Class fr.paris.lutece.plugins.participatorybudget.web.FavouritesProjectsXPage defines non-transient non-serializable instance field _myVoteService |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
fr.paris.lutece.plugins.participatorybudget.web.MyInfosXPage
Bug |
Category |
Details |
Line |
Priority |
Class fr.paris.lutece.plugins.participatorybudget.web.MyInfosXPage defines non-transient non-serializable instance field _accountForm |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
Useless condition: it's known that bIsValid == false at this point |
STYLE |
UC_USELESS_CONDITION |
713 |
High |
fr.paris.lutece.plugins.participatorybudget.web.ProjectSolrSearch
Bug |
Category |
Details |
Line |
Priority |
Dead store to sdfXml in fr.paris.lutece.plugins.participatorybudget.web.ProjectSolrSearch.doGetOld(HttpServletRequest, HttpServletResponse) |
STYLE |
DLS_DEAD_LOCAL_STORE |
230 |
Medium |
fr.paris.lutece.plugins.participatorybudget.web.bizstat.BizStatJspBean
Bug |
Category |
Details |
Line |
Priority |
Found reliance on default encoding in fr.paris.lutece.plugins.participatorybudget.web.bizstat.BizStatJspBean.doDownloadCSV(HttpServletRequest): new String(byte[]) |
I18N |
DM_DEFAULT_ENCODING |
218 |
High |
Redundant nullcheck of method, which is known to be non-null in fr.paris.lutece.plugins.participatorybudget.web.bizstat.BizStatJspBean.doExportCSV(HttpServletRequest) |
STYLE |
RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE |
171 |
Medium |
fr.paris.lutece.plugins.participatorybudget.web.includes.HeaderInclude
Bug |
Category |
Details |
Line |
Priority |
Bad attempt to compute absolute value of signed random integer in fr.paris.lutece.plugins.participatorybudget.web.includes.HeaderInclude.fillTemplate(Map, PageData, int, HttpServletRequest) |
CORRECTNESS |
RV_ABSOLUTE_VALUE_OF_RANDOM_INT |
124 |
High |
fr.paris.lutece.plugins.participatorybudget.web.notify.NotifyDocumentbpTaskComponent
Bug |
Category |
Details |
Line |
Priority |
Dead store to strFollowers in fr.paris.lutece.plugins.participatorybudget.web.notify.NotifyDocumentbpTaskComponent.doSaveConfig(HttpServletRequest, Locale, ITask) |
STYLE |
DLS_DEAD_LOCAL_STORE |
108 |
Medium |
fr.paris.lutece.plugins.participatorybudget.web.vote.MyVoteXPage
Bug |
Category |
Details |
Line |
Priority |
fr.paris.lutece.plugins.participatorybudget.web.vote.MyVoteXPage.isEnableCaptcha() invokes inefficient Boolean constructor; use Boolean.valueOf(...) instead |
PERFORMANCE |
DM_BOOLEAN_CTOR |
774 |
Medium |
Redundant nullcheck of userInfoForm, which is known to be non-null in fr.paris.lutece.plugins.participatorybudget.web.vote.MyVoteXPage.sendConfirmationVoteEmail(LuteceUser) |
STYLE |
RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE |
730 |
Medium |
Class fr.paris.lutece.plugins.participatorybudget.web.vote.MyVoteXPage defines non-transient non-serializable instance field _captchaService |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
Class fr.paris.lutece.plugins.participatorybudget.web.vote.MyVoteXPage defines non-transient non-serializable instance field _followService |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
Class fr.paris.lutece.plugins.participatorybudget.web.vote.MyVoteXPage defines non-transient non-serializable instance field _myVoteService |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
Class fr.paris.lutece.plugins.participatorybudget.web.vote.MyVoteXPage defines non-transient non-serializable instance field _nbrVoteService |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
Class fr.paris.lutece.plugins.participatorybudget.web.vote.MyVoteXPage defines non-transient non-serializable instance field _ratingSecurityService |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
Class fr.paris.lutece.plugins.participatorybudget.web.vote.MyVoteXPage defines non-transient non-serializable instance field _ratingService |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
Class fr.paris.lutece.plugins.participatorybudget.web.vote.MyVoteXPage defines non-transient non-serializable instance field _resourceExtenderService |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
fr.paris.lutece.plugins.participatorybudget.web.vote.VoteDashboardJspBean
Bug |
Category |
Details |
Line |
Priority |
int value cast to float and then passed to Math.round in fr.paris.lutece.plugins.participatorybudget.web.vote.VoteDashboardJspBean.getGenerateRandomVoteData(HttpServletRequest) |
CORRECTNESS |
ICAST_INT_CAST_TO_FLOAT_PASSED_TO_ROUND |
221 |
Medium |