Rapport SpotBugs de détection des bugs
Le document suivant contient les résultats du SpotBugs
La version de SpotBugs est 4.5.3
La limite est medium
L'effort est default
Résumé
| Classes |
Bugs |
Erreurs |
Classes Manquantes |
| 34 |
40 |
0 |
0 |
fr.paris.lutece.plugins.easyrulesbot.service.bot.BotExecutor
| Bug |
Catégorie |
Détails |
Ligne |
Priorité |
| fr.paris.lutece.plugins.easyrulesbot.service.bot.BotExecutor.getDataMap() may expose internal representation by returning BotExecutor._mapData |
MALICIOUS_CODE |
EI_EXPOSE_REP |
213 |
Medium |
| new fr.paris.lutece.plugins.easyrulesbot.service.bot.BotExecutor(EasyRulesBot, Locale) may expose internal representation by storing an externally mutable object into BotExecutor._bot |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
81 |
Medium |
| fr.paris.lutece.plugins.easyrulesbot.service.bot.BotExecutor.setCurrentRule(BotRule) may expose internal representation by storing an externally mutable object into BotExecutor._currentRule |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
172 |
Medium |
| fr.paris.lutece.plugins.easyrulesbot.service.bot.BotExecutor.traceData() makes inefficient use of keySet iterator instead of entrySet iterator |
PERFORMANCE |
WMI_WRONG_MAP_ITERATOR |
202 |
Medium |
fr.paris.lutece.plugins.easyrulesbot.service.bot.EasyRulesBot
| Bug |
Catégorie |
Détails |
Ligne |
Priorité |
| fr.paris.lutece.plugins.easyrulesbot.service.bot.EasyRulesBot.getResponseFilters() may expose internal representation by returning EasyRulesBot._listResponseFilters |
MALICIOUS_CODE |
EI_EXPOSE_REP |
139 |
Medium |
| fr.paris.lutece.plugins.easyrulesbot.service.bot.EasyRulesBot.getRulesEngine() may expose internal representation by returning EasyRulesBot._engine |
MALICIOUS_CODE |
EI_EXPOSE_REP |
106 |
Medium |
| fr.paris.lutece.plugins.easyrulesbot.service.bot.EasyRulesBot.setListResponseFilters(List) may expose internal representation by storing an externally mutable object into EasyRulesBot._listResponseFilters |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
129 |
Medium |
| fr.paris.lutece.plugins.easyrulesbot.service.bot.EasyRulesBot.setRulesEngine(RulesEngine) may expose internal representation by storing an externally mutable object into EasyRulesBot._engine |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
117 |
Medium |
fr.paris.lutece.plugins.easyrulesbot.service.bot.rules.BotRule
| Bug |
Catégorie |
Détails |
Ligne |
Priorité |
| fr.paris.lutece.plugins.easyrulesbot.service.bot.rules.BotRule.getButtons() may expose internal representation by returning BotRule._listButtons |
MALICIOUS_CODE |
EI_EXPOSE_REP |
185 |
Medium |
| fr.paris.lutece.plugins.easyrulesbot.service.bot.rules.BotRule.setButtons(List) may expose internal representation by storing an externally mutable object into BotRule._listButtons |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
196 |
Medium |
| fr.paris.lutece.plugins.easyrulesbot.service.bot.rules.BotRule.setExecutor(BotExecutor) may expose internal representation by storing an externally mutable object into BotRule._executor |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
244 |
Medium |
| fr.paris.lutece.plugins.easyrulesbot.service.bot.rules.BotRule.setListConditions(List) may expose internal representation by storing an externally mutable object into BotRule._listConditions |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
276 |
Medium |
| fr.paris.lutece.plugins.easyrulesbot.service.bot.rules.BotRule defines compareTo(Object) and uses Object.equals() |
BAD_PRACTICE |
EQ_COMPARETO_USE_OBJECT_EQUALS |
345-347 |
Medium |
| Class fr.paris.lutece.plugins.easyrulesbot.service.bot.rules.BotRule defines non-transient non-serializable instance field _listButtons |
BAD_PRACTICE |
SE_BAD_FIELD |
Non disponible |
High |
| Class fr.paris.lutece.plugins.easyrulesbot.service.bot.rules.BotRule defines non-transient non-serializable instance field _responseProcessor |
BAD_PRACTICE |
SE_BAD_FIELD |
Non disponible |
Medium |
fr.paris.lutece.plugins.easyrulesbot.service.bot.rules.conditions.AbstractCondition
| Bug |
Catégorie |
Détails |
Ligne |
Priorité |
| fr.paris.lutece.plugins.easyrulesbot.service.bot.rules.conditions.AbstractCondition.getParameters() may expose internal representation by returning AbstractCondition._listParameters |
MALICIOUS_CODE |
EI_EXPOSE_REP |
78 |
Medium |
| fr.paris.lutece.plugins.easyrulesbot.service.bot.rules.conditions.AbstractCondition.setParameters(List) may expose internal representation by storing an externally mutable object into AbstractCondition._listParameters |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
88 |
Medium |
fr.paris.lutece.plugins.easyrulesbot.service.bot.rules.conditions.ConditionsService
| Bug |
Catégorie |
Détails |
Ligne |
Priorité |
| Incorrect lazy initialization and update of static field fr.paris.lutece.plugins.easyrulesbot.service.bot.rules.conditions.ConditionsService._mapConditionFactories in fr.paris.lutece.plugins.easyrulesbot.service.bot.rules.conditions.ConditionsService.getCondition(String) |
MT_CORRECTNESS |
LI_LAZY_INIT_UPDATE_STATIC |
59-61 |
High |
fr.paris.lutece.plugins.easyrulesbot.service.response.filters.DebugFilter
| Bug |
Catégorie |
Détails |
Ligne |
Priorité |
| fr.paris.lutece.plugins.easyrulesbot.service.response.filters.DebugFilter.filterResponse(String, Locale, Map) makes inefficient use of keySet iterator instead of entrySet iterator |
PERFORMANCE |
WMI_WRONG_MAP_ITERATOR |
60 |
Medium |
fr.paris.lutece.plugins.easyrulesbot.service.response.filters.FiltersService
| Bug |
Catégorie |
Détails |
Ligne |
Priorité |
| Incorrect lazy initialization and update of static field fr.paris.lutece.plugins.easyrulesbot.service.response.filters.FiltersService._mapFilters in fr.paris.lutece.plugins.easyrulesbot.service.response.filters.FiltersService.getFilter(String) |
MT_CORRECTNESS |
LI_LAZY_INIT_UPDATE_STATIC |
58-60 |
High |
fr.paris.lutece.plugins.easyrulesbot.service.response.filters.StopOnWordFilter
| Bug |
Catégorie |
Détails |
Ligne |
Priorité |
| Random object created and used only once in fr.paris.lutece.plugins.easyrulesbot.service.response.filters.StopOnWordFilter.getStopResponseMessage(Locale) |
BAD_PRACTICE |
DMI_RANDOM_USED_ONLY_ONCE |
157 |
High |
| fr.paris.lutece.plugins.easyrulesbot.service.response.filters.StopOnWordFilter.getListStopWords() may expose internal representation by returning StopOnWordFilter._listStopWords |
MALICIOUS_CODE |
EI_EXPOSE_REP |
67 |
Medium |
| fr.paris.lutece.plugins.easyrulesbot.service.response.filters.StopOnWordFilter.setListStopWords(List) may expose internal representation by storing an externally mutable object into StopOnWordFilter._listStopWords |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
89 |
Medium |
| fr.paris.lutece.plugins.easyrulesbot.service.response.filters.StopOnWordFilter.setMapLocaleResponseMessageFile(Map) may expose internal representation by storing an externally mutable object into StopOnWordFilter._mapLocaleResponseMessageFile |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
100 |
Medium |
| fr.paris.lutece.plugins.easyrulesbot.service.response.filters.StopOnWordFilter.setMapLocaleStopWordsFile(Map) may expose internal representation by storing an externally mutable object into StopOnWordFilter._mapLocaleStopWordsFile |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
78 |
Medium |
fr.paris.lutece.plugins.easyrulesbot.service.response.processors.MultipleValuesResponseProcessor
| Bug |
Catégorie |
Détails |
Ligne |
Priorité |
| fr.paris.lutece.plugins.easyrulesbot.service.response.processors.MultipleValuesResponseProcessor.setValueTermsMap(Map) may expose internal representation by storing an externally mutable object into MultipleValuesResponseProcessor._mapMultipleValues |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
73 |
Medium |
| fr.paris.lutece.plugins.easyrulesbot.service.response.processors.MultipleValuesResponseProcessor.processResponse(String, Locale, Map) makes inefficient use of keySet iterator instead of entrySet iterator |
PERFORMANCE |
WMI_WRONG_MAP_ITERATOR |
109 |
Medium |
fr.paris.lutece.plugins.easyrulesbot.service.response.processors.ProcessorsService
| Bug |
Catégorie |
Détails |
Ligne |
Priorité |
| Incorrect lazy initialization and update of static field fr.paris.lutece.plugins.easyrulesbot.service.response.processors.ProcessorsService._mapProcessors in fr.paris.lutece.plugins.easyrulesbot.service.response.processors.ProcessorsService.getProcessor(String) |
MT_CORRECTNESS |
LI_LAZY_INIT_UPDATE_STATIC |
58-60 |
High |
fr.paris.lutece.plugins.easyrulesbot.service.yaml.YamlBotLoader
| Bug |
Catégorie |
Détails |
Ligne |
Priorité |
| Possible null pointer dereference in fr.paris.lutece.plugins.easyrulesbot.service.yaml.YamlBotLoader.loadBots() due to return value of called method |
STYLE |
NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE |
78 |
Medium |
fr.paris.lutece.plugins.easyrulesbot.service.yaml.model.YamlBot
| Bug |
Catégorie |
Détails |
Ligne |
Priorité |
| fr.paris.lutece.plugins.easyrulesbot.service.yaml.model.YamlBot.getFilters() may expose internal representation by returning YamlBot._listFilters |
MALICIOUS_CODE |
EI_EXPOSE_REP |
229 |
Medium |
| fr.paris.lutece.plugins.easyrulesbot.service.yaml.model.YamlBot.getRules() may expose internal representation by returning YamlBot._listRules |
MALICIOUS_CODE |
EI_EXPOSE_REP |
208 |
Medium |
| fr.paris.lutece.plugins.easyrulesbot.service.yaml.model.YamlBot.setFilters(List) may expose internal representation by storing an externally mutable object into YamlBot._listFilters |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
240 |
Medium |
| fr.paris.lutece.plugins.easyrulesbot.service.yaml.model.YamlBot.setRules(List) may expose internal representation by storing an externally mutable object into YamlBot._listRules |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
219 |
Medium |
fr.paris.lutece.plugins.easyrulesbot.service.yaml.model.YamlCondition
| Bug |
Catégorie |
Détails |
Ligne |
Priorité |
| fr.paris.lutece.plugins.easyrulesbot.service.yaml.model.YamlCondition.getParameters() may expose internal representation by returning YamlCondition._listParameters |
MALICIOUS_CODE |
EI_EXPOSE_REP |
76 |
Medium |
| fr.paris.lutece.plugins.easyrulesbot.service.yaml.model.YamlCondition.setParameters(List) may expose internal representation by storing an externally mutable object into YamlCondition._listParameters |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
85 |
Medium |
fr.paris.lutece.plugins.easyrulesbot.service.yaml.model.YamlRule
| Bug |
Catégorie |
Détails |
Ligne |
Priorité |
| fr.paris.lutece.plugins.easyrulesbot.service.yaml.model.YamlRule.getButtons() may expose internal representation by returning YamlRule._listButtons |
MALICIOUS_CODE |
EI_EXPOSE_REP |
146 |
Medium |
| fr.paris.lutece.plugins.easyrulesbot.service.yaml.model.YamlRule.getConditions() may expose internal representation by returning YamlRule._listConditions |
MALICIOUS_CODE |
EI_EXPOSE_REP |
230 |
Medium |
| fr.paris.lutece.plugins.easyrulesbot.service.yaml.model.YamlRule.setButtons(List) may expose internal representation by storing an externally mutable object into YamlRule._listButtons |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
157 |
Medium |
| fr.paris.lutece.plugins.easyrulesbot.service.yaml.model.YamlRule.setConditions(List) may expose internal representation by storing an externally mutable object into YamlRule._listConditions |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
241 |
Medium |
fr.paris.lutece.plugins.easyrulesbot.util.FileUtils
| Bug |
Catégorie |
Détails |
Ligne |
Priorité |
| Found reliance on default encoding in fr.paris.lutece.plugins.easyrulesbot.util.FileUtils.loadTermsFromFile(String): new java.io.FileReader(String) |
I18N |
DM_DEFAULT_ENCODING |
79 |
High |