SpotBugs Bug Detector Report

The following document contains the results of SpotBugs

SpotBugs Version is 4.8.2

Threshold is medium

Effort is default

Summary

Classes Bugs Errors Missing Classes
184 167 0 0

Files

Class Bugs
fr.inrae.agroclim.indicators.GenerateMarkdown 4
fr.inrae.agroclim.indicators.exception.ErrorMessage 2
fr.inrae.agroclim.indicators.model.AnnualPhase 4
fr.inrae.agroclim.indicators.model.Evaluation 3
fr.inrae.agroclim.indicators.model.EvaluationSettings 13
fr.inrae.agroclim.indicators.model.Knowledge 13
fr.inrae.agroclim.indicators.model.Parameter 2
fr.inrae.agroclim.indicators.model.Unit 5
fr.inrae.agroclim.indicators.model.criteria.CompositeCriteria 2
fr.inrae.agroclim.indicators.model.criteria.Criteria 2
fr.inrae.agroclim.indicators.model.criteria.FormulaCriteria 4
fr.inrae.agroclim.indicators.model.criteria.SimpleCriteria 2
fr.inrae.agroclim.indicators.model.data.DataLoadingListenerHandler 1
fr.inrae.agroclim.indicators.model.data.HourlyData 1
fr.inrae.agroclim.indicators.model.data.Resource 3
fr.inrae.agroclim.indicators.model.data.ResourceManager 5
fr.inrae.agroclim.indicators.model.data.Variable 1
fr.inrae.agroclim.indicators.model.data.climate.ClimateFileLoader 3
fr.inrae.agroclim.indicators.model.data.climate.ClimateLoaderProxy 4
fr.inrae.agroclim.indicators.model.data.climate.ClimaticDailyData 2
fr.inrae.agroclim.indicators.model.data.climate.ClimaticResource 1
fr.inrae.agroclim.indicators.model.data.phenology.AnnualStageBuilder 2
fr.inrae.agroclim.indicators.model.data.phenology.AnnualStageData 4
fr.inrae.agroclim.indicators.model.data.phenology.PhenologicalResource 2
fr.inrae.agroclim.indicators.model.data.phenology.PhenologyCalculator 2
fr.inrae.agroclim.indicators.model.data.phenology.PhenologyFileLoader 3
fr.inrae.agroclim.indicators.model.data.phenology.PhenologyLoaderProxy 9
fr.inrae.agroclim.indicators.model.data.phenology.RelativeAnnualStageCalculator 3
fr.inrae.agroclim.indicators.model.data.soil.SoilCalculator 3
fr.inrae.agroclim.indicators.model.data.soil.SoilFileLoader 1
fr.inrae.agroclim.indicators.model.data.soil.SoilLoaderProxy 5
fr.inrae.agroclim.indicators.model.function.normalization.MultiLinear 2
fr.inrae.agroclim.indicators.model.function.normalization.MultiLinearInterval 2
fr.inrae.agroclim.indicators.model.indicator.CompositeIndicator 4
fr.inrae.agroclim.indicators.model.indicator.DiffOfSum 4
fr.inrae.agroclim.indicators.model.indicator.Formula 4
fr.inrae.agroclim.indicators.model.indicator.Frequency 2
fr.inrae.agroclim.indicators.model.indicator.Indicator 12
fr.inrae.agroclim.indicators.model.indicator.IndicatorCategory 1
fr.inrae.agroclim.indicators.model.indicator.InjectedParameter 1
fr.inrae.agroclim.indicators.model.indicator.NumberOfWaves 1
fr.inrae.agroclim.indicators.model.indicator.PotentialSowingDaysFrequency 1
fr.inrae.agroclim.indicators.model.indicator.Quotient 4
fr.inrae.agroclim.indicators.model.indicator.SimpleIndicatorWithCriteria 2
fr.inrae.agroclim.indicators.model.indicator.listener.IndicatorEvent 1
fr.inrae.agroclim.indicators.model.result.EvaluationResult 1
fr.inrae.agroclim.indicators.model.result.IndicatorResult 1
fr.inrae.agroclim.indicators.model.result.PhaseResult 3
fr.inrae.agroclim.indicators.resources.Resources 1
fr.inrae.agroclim.indicators.util.PathUtils 2
fr.inrae.agroclim.indicators.util.Utf8BufferedWriter 3
fr.inrae.agroclim.indicators.xml.DtdResolver 1
fr.inrae.agroclim.indicators.xml.MarshallerBuilder 1
fr.inrae.agroclim.indicators.xml.UnmarshallerBuilder 2

fr.inrae.agroclim.indicators.GenerateMarkdown

Bug Category Details Line Priority
Exception thrown in class fr.inrae.agroclim.indicators.GenerateMarkdown at new fr.inrae.agroclim.indicators.GenerateMarkdown(Locale, TimeScale) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 150 Medium
Nullcheck of args at line 68 of value previously dereferenced in fr.inrae.agroclim.indicators.GenerateMarkdown.main(String[]) CORRECTNESS RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE 63 Medium
Format string should use %n rather than \n in fr.inrae.agroclim.indicators.GenerateMarkdown.writeErrorMdFile(Path) BAD_PRACTICE VA_FORMAT_STRING_USES_NEWLINE 168 Medium
Format string should use %n rather than \n in fr.inrae.agroclim.indicators.GenerateMarkdown.writeIndicatorsMdFiles(Path) BAD_PRACTICE VA_FORMAT_STRING_USES_NEWLINE 273 Medium

fr.inrae.agroclim.indicators.exception.ErrorMessage

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.exception.ErrorMessage.getArguments() may expose internal representation by returning ErrorMessage.arguments MALICIOUS_CODE EI_EXPOSE_REP 77 Medium
new fr.inrae.agroclim.indicators.exception.ErrorMessage(String, ErrorType, Collection) may expose internal representation by storing an externally mutable object into ErrorMessage.arguments MALICIOUS_CODE EI_EXPOSE_REP2 40 Medium

fr.inrae.agroclim.indicators.model.AnnualPhase

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.AnnualPhase.getEnd() may expose internal representation by returning AnnualPhase.end MALICIOUS_CODE EI_EXPOSE_REP 61 Medium
fr.inrae.agroclim.indicators.model.AnnualPhase.getStart() may expose internal representation by returning AnnualPhase.start MALICIOUS_CODE EI_EXPOSE_REP 47 Medium
fr.inrae.agroclim.indicators.model.AnnualPhase.setEnd(Date) may expose internal representation by storing an externally mutable object into AnnualPhase.end MALICIOUS_CODE EI_EXPOSE_REP2 62 Medium
fr.inrae.agroclim.indicators.model.AnnualPhase.setStart(Date) may expose internal representation by storing an externally mutable object into AnnualPhase.start MALICIOUS_CODE EI_EXPOSE_REP2 48 Medium

fr.inrae.agroclim.indicators.model.Evaluation

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.Evaluation.getResourceManager() may expose internal representation by returning Evaluation.resourceManager MALICIOUS_CODE EI_EXPOSE_REP 113 Medium
fr.inrae.agroclim.indicators.model.Evaluation.getSettings() may expose internal representation by returning Evaluation.settings MALICIOUS_CODE EI_EXPOSE_REP 130 Medium
fr.inrae.agroclim.indicators.model.Evaluation.setSettings(EvaluationSettings) may expose internal representation by storing an externally mutable object into Evaluation.settings MALICIOUS_CODE EI_EXPOSE_REP2 923 Medium

fr.inrae.agroclim.indicators.model.EvaluationSettings

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.EvaluationSettings.getClimateLoader() may expose internal representation by returning EvaluationSettings.climateLoader MALICIOUS_CODE EI_EXPOSE_REP 138 Medium
fr.inrae.agroclim.indicators.model.EvaluationSettings.getEvaluation() may expose internal representation by returning EvaluationSettings.evaluation MALICIOUS_CODE EI_EXPOSE_REP 145 Medium
fr.inrae.agroclim.indicators.model.EvaluationSettings.getKnowledge() may expose internal representation by returning EvaluationSettings.knowledge MALICIOUS_CODE EI_EXPOSE_REP 159 Medium
fr.inrae.agroclim.indicators.model.EvaluationSettings.getNotes() may expose internal representation by returning EvaluationSettings.notes MALICIOUS_CODE EI_EXPOSE_REP 232 Medium
fr.inrae.agroclim.indicators.model.EvaluationSettings.getPhenologyLoader() may expose internal representation by returning EvaluationSettings.phenologyLoader MALICIOUS_CODE EI_EXPOSE_REP 174 Medium
fr.inrae.agroclim.indicators.model.EvaluationSettings.getSoilLoader() may expose internal representation by returning EvaluationSettings.soilLoader MALICIOUS_CODE EI_EXPOSE_REP 182 Medium
fr.inrae.agroclim.indicators.model.EvaluationSettings.getSoilPhenologyCalculator() may expose internal representation by returning EvaluationSettings.soilPhenologyCalculator MALICIOUS_CODE EI_EXPOSE_REP 191 Medium
fr.inrae.agroclim.indicators.model.EvaluationSettings.setClimate(ClimateLoaderProxy) may expose internal representation by storing an externally mutable object into EvaluationSettings.climateLoader MALICIOUS_CODE EI_EXPOSE_REP2 301 Medium
fr.inrae.agroclim.indicators.model.EvaluationSettings.setEvaluation(CompositeIndicator) may expose internal representation by storing an externally mutable object into EvaluationSettings.evaluation MALICIOUS_CODE EI_EXPOSE_REP2 146 Medium
fr.inrae.agroclim.indicators.model.EvaluationSettings.setNotes(List) may expose internal representation by storing an externally mutable object into EvaluationSettings.notes MALICIOUS_CODE EI_EXPOSE_REP2 233 Medium
fr.inrae.agroclim.indicators.model.EvaluationSettings.setPhenologyLoader(PhenologyLoaderProxy) may expose internal representation by storing an externally mutable object into EvaluationSettings.phenologyLoader MALICIOUS_CODE EI_EXPOSE_REP2 175 Medium
fr.inrae.agroclim.indicators.model.EvaluationSettings.setSoilLoader(SoilLoaderProxy) may expose internal representation by storing an externally mutable object into EvaluationSettings.soilLoader MALICIOUS_CODE EI_EXPOSE_REP2 183 Medium
fr.inrae.agroclim.indicators.model.EvaluationSettings.setSoilPhenologyCalculator(PhenologyCalculator) may expose internal representation by storing an externally mutable object into EvaluationSettings.soilPhenologyCalculator MALICIOUS_CODE EI_EXPOSE_REP2 192 Medium

fr.inrae.agroclim.indicators.model.Knowledge

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.Knowledge.getCulturalPractices() may expose internal representation by returning Knowledge.culturalPractices MALICIOUS_CODE EI_EXPOSE_REP 269 Medium
fr.inrae.agroclim.indicators.model.Knowledge.getEcophysiologicalProcesses() may expose internal representation by returning Knowledge.ecophysiologicalProcesses MALICIOUS_CODE EI_EXPOSE_REP 276 Medium
fr.inrae.agroclim.indicators.model.Knowledge.getIndicators() may expose internal representation by returning Knowledge.indicators MALICIOUS_CODE EI_EXPOSE_REP 235 Medium
fr.inrae.agroclim.indicators.model.Knowledge.getNotes() may expose internal representation by returning Knowledge.notes MALICIOUS_CODE EI_EXPOSE_REP 217 Medium
fr.inrae.agroclim.indicators.model.Knowledge.getParameters() may expose internal representation by returning Knowledge.parameters MALICIOUS_CODE EI_EXPOSE_REP 200 Medium
fr.inrae.agroclim.indicators.model.Knowledge.getUnits() may expose internal representation by returning Knowledge.units MALICIOUS_CODE EI_EXPOSE_REP 226 Medium
fr.inrae.agroclim.indicators.model.Knowledge.setCulturalPractices(List) may expose internal representation by storing an externally mutable object into Knowledge.culturalPractices MALICIOUS_CODE EI_EXPOSE_REP2 184 Medium
fr.inrae.agroclim.indicators.model.Knowledge.setEcophysiologicalProcesses(List) may expose internal representation by storing an externally mutable object into Knowledge.ecophysiologicalProcesses MALICIOUS_CODE EI_EXPOSE_REP2 192 Medium
fr.inrae.agroclim.indicators.model.Knowledge.setIndicators(List) may expose internal representation by storing an externally mutable object into Knowledge.indicators MALICIOUS_CODE EI_EXPOSE_REP2 236 Medium
fr.inrae.agroclim.indicators.model.Knowledge.setNotes(List) may expose internal representation by storing an externally mutable object into Knowledge.notes MALICIOUS_CODE EI_EXPOSE_REP2 218 Medium
fr.inrae.agroclim.indicators.model.Knowledge.setParameters(List) may expose internal representation by storing an externally mutable object into Knowledge.parameters MALICIOUS_CODE EI_EXPOSE_REP2 201 Medium
fr.inrae.agroclim.indicators.model.Knowledge.setUnits(List) may expose internal representation by storing an externally mutable object into Knowledge.units MALICIOUS_CODE EI_EXPOSE_REP2 227 Medium
fr.inrae.agroclim.indicators.model.Knowledge.CLASSES_FOR_JAXB should be package protected MALICIOUS_CODE MS_PKGPROTECT 85 Medium

fr.inrae.agroclim.indicators.model.Parameter

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.Parameter.getDescriptions() may expose internal representation by returning Parameter.descriptions MALICIOUS_CODE EI_EXPOSE_REP 62 Medium
fr.inrae.agroclim.indicators.model.Parameter.setDescriptions(List) may expose internal representation by storing an externally mutable object into Parameter.descriptions MALICIOUS_CODE EI_EXPOSE_REP2 63 Medium

fr.inrae.agroclim.indicators.model.Unit

Bug Category Details Line Priority
Class fr.inrae.agroclim.indicators.model.Unit implements Cloneable but does not define or use clone method BAD_PRACTICE CN_IDIOM 24-62 Medium
fr.inrae.agroclim.indicators.model.Unit.getLabels() may expose internal representation by returning Unit.labels MALICIOUS_CODE EI_EXPOSE_REP 53 Medium
fr.inrae.agroclim.indicators.model.Unit.getSymbols() may expose internal representation by returning Unit.symbols MALICIOUS_CODE EI_EXPOSE_REP 61 Medium
fr.inrae.agroclim.indicators.model.Unit.setLabels(List) may expose internal representation by storing an externally mutable object into Unit.labels MALICIOUS_CODE EI_EXPOSE_REP2 54 Medium
fr.inrae.agroclim.indicators.model.Unit.setSymbols(List) may expose internal representation by storing an externally mutable object into Unit.symbols MALICIOUS_CODE EI_EXPOSE_REP2 62 Medium

fr.inrae.agroclim.indicators.model.criteria.CompositeCriteria

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.criteria.CompositeCriteria.getCriteria() may expose internal representation by returning CompositeCriteria.criteria MALICIOUS_CODE EI_EXPOSE_REP 60 Medium
fr.inrae.agroclim.indicators.model.criteria.CompositeCriteria.setCriteria(List) may expose internal representation by storing an externally mutable object into CompositeCriteria.criteria MALICIOUS_CODE EI_EXPOSE_REP2 61 Medium

fr.inrae.agroclim.indicators.model.criteria.Criteria

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.criteria.Criteria.getParameters() may expose internal representation by returning Criteria.parameters MALICIOUS_CODE EI_EXPOSE_REP 70 Medium
fr.inrae.agroclim.indicators.model.criteria.Criteria.setParameters(List) may expose internal representation by storing an externally mutable object into Criteria.parameters MALICIOUS_CODE EI_EXPOSE_REP2 71 Medium

fr.inrae.agroclim.indicators.model.criteria.FormulaCriteria

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.criteria.FormulaCriteria.getExpressionParameters() may expose internal representation by returning FormulaCriteria.expressionParameters MALICIOUS_CODE EI_EXPOSE_REP 106 Medium
fr.inrae.agroclim.indicators.model.criteria.FormulaCriteria.getParametersValues() may expose internal representation by returning FormulaCriteria.parametersValues MALICIOUS_CODE EI_EXPOSE_REP 120 Medium
fr.inrae.agroclim.indicators.model.criteria.FormulaCriteria.setExpressionParameters(List) may expose internal representation by storing an externally mutable object into FormulaCriteria.expressionParameters MALICIOUS_CODE EI_EXPOSE_REP2 107 Medium
fr.inrae.agroclim.indicators.model.criteria.FormulaCriteria.setParametersValues(Map) may expose internal representation by storing an externally mutable object into FormulaCriteria.parametersValues MALICIOUS_CODE EI_EXPOSE_REP2 119 Medium

fr.inrae.agroclim.indicators.model.criteria.SimpleCriteria

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.criteria.SimpleCriteria.isInferiorToThreshold() has Boolean return type and returns explicit null BAD_PRACTICE NP_BOOLEAN_RETURN_NULL 204 High
fr.inrae.agroclim.indicators.model.criteria.SimpleCriteria.isStrict() has Boolean return type and returns explicit null BAD_PRACTICE NP_BOOLEAN_RETURN_NULL 213 High

fr.inrae.agroclim.indicators.model.data.DataLoadingListenerHandler

Bug Category Details Line Priority
new fr.inrae.agroclim.indicators.model.data.DataLoadingListenerHandler(EventListenerList) may expose internal representation by storing an externally mutable object into DataLoadingListenerHandler.listeners MALICIOUS_CODE EI_EXPOSE_REP2 66 Medium

fr.inrae.agroclim.indicators.model.data.HourlyData

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.data.HourlyData.getDate() may expose internal representation by returning HourlyData.date MALICIOUS_CODE EI_EXPOSE_REP 154 Medium

fr.inrae.agroclim.indicators.model.data.Resource

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.data.Resource.getData() may expose internal representation by returning Resource.data MALICIOUS_CODE EI_EXPOSE_REP 44 Medium
fr.inrae.agroclim.indicators.model.data.Resource.getMissingVariables() may expose internal representation by returning Resource.missingVariables MALICIOUS_CODE EI_EXPOSE_REP 51 Medium
fr.inrae.agroclim.indicators.model.data.Resource.getYears() may expose internal representation by returning Resource.years MALICIOUS_CODE EI_EXPOSE_REP 57 Medium

fr.inrae.agroclim.indicators.model.data.ResourceManager

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.data.ResourceManager.getClimaticResource() may expose internal representation by returning ResourceManager.climaticResource MALICIOUS_CODE EI_EXPOSE_REP 74 Medium
fr.inrae.agroclim.indicators.model.data.ResourceManager.getPhenologicalResource() may expose internal representation by returning ResourceManager.phenologicalResource MALICIOUS_CODE EI_EXPOSE_REP 87 Medium
new fr.inrae.agroclim.indicators.model.data.ResourceManager(ClimaticResource, PhenologicalResource) may expose internal representation by storing an externally mutable object into ResourceManager.climaticResource MALICIOUS_CODE EI_EXPOSE_REP2 120 Medium
new fr.inrae.agroclim.indicators.model.data.ResourceManager(ClimaticResource, PhenologicalResource) may expose internal representation by storing an externally mutable object into ResourceManager.phenologicalResource MALICIOUS_CODE EI_EXPOSE_REP2 121 Medium
fr.inrae.agroclim.indicators.model.data.ResourceManager.setVariables(Set) may expose internal representation by storing an externally mutable object into ResourceManager.variables MALICIOUS_CODE EI_EXPOSE_REP2 99 Medium

fr.inrae.agroclim.indicators.model.data.Variable

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.data.Variable.getTimescales() may expose internal representation by returning Variable.timescales MALICIOUS_CODE EI_EXPOSE_REP 160 Medium

fr.inrae.agroclim.indicators.model.data.climate.ClimateFileLoader

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.data.climate.ClimateFileLoader.getHeaders() may expose internal representation by returning ClimateFileLoader.headers MALICIOUS_CODE EI_EXPOSE_REP 98 Medium
new fr.inrae.agroclim.indicators.model.data.climate.ClimateFileLoader(String, String[], String) may expose internal representation by storing an externally mutable object into ClimateFileLoader.headers MALICIOUS_CODE EI_EXPOSE_REP2 161 Medium
fr.inrae.agroclim.indicators.model.data.climate.ClimateFileLoader.setHeaders(String[]) may expose internal representation by storing an externally mutable object into ClimateFileLoader.headers MALICIOUS_CODE EI_EXPOSE_REP2 99 Medium

fr.inrae.agroclim.indicators.model.data.climate.ClimateLoaderProxy

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.data.climate.ClimateLoaderProxy.getFile() may expose internal representation by returning ClimateLoaderProxy.file MALICIOUS_CODE EI_EXPOSE_REP 70 Medium
fr.inrae.agroclim.indicators.model.data.climate.ClimateLoaderProxy.setFile(ClimateFileLoader) may expose internal representation by storing an externally mutable object into ClimateLoaderProxy.file MALICIOUS_CODE EI_EXPOSE_REP2 71 Medium
Redundant nullcheck of this$etpCalculator, which is known to be non-null in fr.inrae.agroclim.indicators.model.data.climate.ClimateLoaderProxy.equals(Object) STYLE RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE 51 Medium
Redundant nullcheck of $etpCalculator, which is known to be non-null in fr.inrae.agroclim.indicators.model.data.climate.ClimateLoaderProxy.hashCode() STYLE RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE 51 Medium

fr.inrae.agroclim.indicators.model.data.climate.ClimaticDailyData

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.data.climate.ClimaticDailyData.getErrors() may expose internal representation by returning ClimaticDailyData.errors MALICIOUS_CODE EI_EXPOSE_REP 179 Medium
fr.inrae.agroclim.indicators.model.data.climate.ClimaticDailyData.getWarnings() may expose internal representation by returning ClimaticDailyData.warnings MALICIOUS_CODE EI_EXPOSE_REP 264 Medium

fr.inrae.agroclim.indicators.model.data.climate.ClimaticResource

Bug Category Details Line Priority
Overridable method getData is called from method clone() in class fr.inrae.agroclim.indicators.model.data.climate.ClimaticResource. MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CLONE 61 Medium

fr.inrae.agroclim.indicators.model.data.phenology.AnnualStageBuilder

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.data.phenology.AnnualStageBuilder.setDoys(Map) may expose internal representation by storing an externally mutable object into AnnualStageBuilder.doys MALICIOUS_CODE EI_EXPOSE_REP2 63 Medium
fr.inrae.agroclim.indicators.model.data.phenology.AnnualStageBuilder.setYears(List) may expose internal representation by storing an externally mutable object into AnnualStageBuilder.years MALICIOUS_CODE EI_EXPOSE_REP2 57 Medium

fr.inrae.agroclim.indicators.model.data.phenology.AnnualStageData

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.data.phenology.AnnualStageData.getErrors() may expose internal representation by returning AnnualStageData.errors MALICIOUS_CODE EI_EXPOSE_REP 197 Medium
fr.inrae.agroclim.indicators.model.data.phenology.AnnualStageData.getStages() may expose internal representation by returning AnnualStageData.stages MALICIOUS_CODE EI_EXPOSE_REP 72 Medium
fr.inrae.agroclim.indicators.model.data.phenology.AnnualStageData.getWarnings() may expose internal representation by returning AnnualStageData.warnings MALICIOUS_CODE EI_EXPOSE_REP 223 Medium
fr.inrae.agroclim.indicators.model.data.phenology.AnnualStageData.setStages(List) may expose internal representation by storing an externally mutable object into AnnualStageData.stages MALICIOUS_CODE EI_EXPOSE_REP2 73 Medium

fr.inrae.agroclim.indicators.model.data.phenology.PhenologicalResource

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.data.phenology.PhenologicalResource.getPhases() may expose internal representation by returning PhenologicalResource.phases MALICIOUS_CODE EI_EXPOSE_REP 124 Medium
fr.inrae.agroclim.indicators.model.data.phenology.PhenologicalResource.getStages() may expose internal representation by returning PhenologicalResource.stages MALICIOUS_CODE EI_EXPOSE_REP 144 Medium

fr.inrae.agroclim.indicators.model.data.phenology.PhenologyCalculator

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.data.phenology.PhenologyCalculator.getClimaticDailyData() may expose internal representation by returning PhenologyCalculator.climaticDailyData MALICIOUS_CODE EI_EXPOSE_REP 341 Medium
fr.inrae.agroclim.indicators.model.data.phenology.PhenologyCalculator.setClimaticDailyData(List) may expose internal representation by storing an externally mutable object into PhenologyCalculator.climaticDailyData MALICIOUS_CODE EI_EXPOSE_REP2 342 Medium

fr.inrae.agroclim.indicators.model.data.phenology.PhenologyFileLoader

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.data.phenology.PhenologyFileLoader.getHeaders() may expose internal representation by returning PhenologyFileLoader.headers MALICIOUS_CODE EI_EXPOSE_REP 81 Medium
fr.inrae.agroclim.indicators.model.data.phenology.PhenologyFileLoader.setHeaders(String[]) may expose internal representation by storing an externally mutable object into PhenologyFileLoader.headers MALICIOUS_CODE EI_EXPOSE_REP2 216 Medium
Redundant nullcheck of fr.inrae.agroclim.indicators.model.data.FileLoader.getFile(), which is known to be non-null in fr.inrae.agroclim.indicators.model.data.phenology.PhenologyFileLoader.getConfigurationErrors() STYLE RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE 147 Medium

fr.inrae.agroclim.indicators.model.data.phenology.PhenologyLoaderProxy

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.data.phenology.PhenologyLoaderProxy.getAnnualStageBuilder() may expose internal representation by returning PhenologyLoaderProxy.annualStageBuilder MALICIOUS_CODE EI_EXPOSE_REP 67 Medium
fr.inrae.agroclim.indicators.model.data.phenology.PhenologyLoaderProxy.getCalculator() may expose internal representation by returning PhenologyLoaderProxy.calculator MALICIOUS_CODE EI_EXPOSE_REP 118 Medium
fr.inrae.agroclim.indicators.model.data.phenology.PhenologyLoaderProxy.getDeltas() may expose internal representation by returning PhenologyLoaderProxy.deltas MALICIOUS_CODE EI_EXPOSE_REP 89 Medium
fr.inrae.agroclim.indicators.model.data.phenology.PhenologyLoaderProxy.getFile() may expose internal representation by returning PhenologyLoaderProxy.fileLoader MALICIOUS_CODE EI_EXPOSE_REP 135 Medium
fr.inrae.agroclim.indicators.model.data.phenology.PhenologyLoaderProxy.getUserHeader() may expose internal representation by returning PhenologyLoaderProxy.userHeader MALICIOUS_CODE EI_EXPOSE_REP 162 Medium
fr.inrae.agroclim.indicators.model.data.phenology.PhenologyLoaderProxy.setAnnualStageBuilder(AnnualStageBuilder) may expose internal representation by storing an externally mutable object into PhenologyLoaderProxy.annualStageBuilder MALICIOUS_CODE EI_EXPOSE_REP2 68 Medium
fr.inrae.agroclim.indicators.model.data.phenology.PhenologyLoaderProxy.setCalculator(PhenologyCalculator) may expose internal representation by storing an externally mutable object into PhenologyLoaderProxy.calculator MALICIOUS_CODE EI_EXPOSE_REP2 189 Medium
fr.inrae.agroclim.indicators.model.data.phenology.PhenologyLoaderProxy.setDeltas(List) may expose internal representation by storing an externally mutable object into PhenologyLoaderProxy.deltas MALICIOUS_CODE EI_EXPOSE_REP2 90 Medium
fr.inrae.agroclim.indicators.model.data.phenology.PhenologyLoaderProxy.setFile(PhenologyFileLoader) may expose internal representation by storing an externally mutable object into PhenologyLoaderProxy.fileLoader MALICIOUS_CODE EI_EXPOSE_REP2 197 Medium

fr.inrae.agroclim.indicators.model.data.phenology.RelativeAnnualStageCalculator

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.data.phenology.RelativeAnnualStageCalculator.getAnnualStageDatas() may expose internal representation by returning RelativeAnnualStageCalculator.annualStageDatas MALICIOUS_CODE EI_EXPOSE_REP 47 Medium
fr.inrae.agroclim.indicators.model.data.phenology.RelativeAnnualStageCalculator.setAnnualStageDatas(List) may expose internal representation by storing an externally mutable object into RelativeAnnualStageCalculator.annualStageDatas MALICIOUS_CODE EI_EXPOSE_REP2 48 Medium
fr.inrae.agroclim.indicators.model.data.phenology.RelativeAnnualStageCalculator.setDeltas(List) may expose internal representation by storing an externally mutable object into RelativeAnnualStageCalculator.deltas MALICIOUS_CODE EI_EXPOSE_REP2 41 Medium

fr.inrae.agroclim.indicators.model.data.soil.SoilCalculator

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.data.soil.SoilCalculator.setClimaticDailyData(List) may expose internal representation by storing an externally mutable object into SoilCalculator.climaticDailyData MALICIOUS_CODE EI_EXPOSE_REP2 78 Medium
fr.inrae.agroclim.indicators.model.data.soil.SoilCalculator.setStages(List) may expose internal representation by storing an externally mutable object into SoilCalculator.stages MALICIOUS_CODE EI_EXPOSE_REP2 575 Medium
Suspicious comparison of Integer references in fr.inrae.agroclim.indicators.model.data.soil.SoilCalculator.load() CORRECTNESS RC_REF_COMPARISON 534 High

fr.inrae.agroclim.indicators.model.data.soil.SoilFileLoader

Bug Category Details Line Priority
new fr.inrae.agroclim.indicators.model.data.soil.SoilFileLoader(File, String[], String) may expose internal representation by storing an externally mutable object into SoilFileLoader.headers MALICIOUS_CODE EI_EXPOSE_REP2 81 Medium

fr.inrae.agroclim.indicators.model.data.soil.SoilLoaderProxy

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.data.soil.SoilLoaderProxy.getHeaders() may expose internal representation by returning SoilLoaderProxy.headers MALICIOUS_CODE EI_EXPOSE_REP 79 Medium
fr.inrae.agroclim.indicators.model.data.soil.SoilLoaderProxy.getStages() may expose internal representation by returning SoilLoaderProxy.stages MALICIOUS_CODE EI_EXPOSE_REP 138 Medium
fr.inrae.agroclim.indicators.model.data.soil.SoilLoaderProxy.setClimaticDailyData(List) may expose internal representation by storing an externally mutable object into SoilLoaderProxy.climaticDailyData MALICIOUS_CODE EI_EXPOSE_REP2 257 Medium
fr.inrae.agroclim.indicators.model.data.soil.SoilLoaderProxy.setHeaders(String[]) may expose internal representation by storing an externally mutable object into SoilLoaderProxy.headers MALICIOUS_CODE EI_EXPOSE_REP2 80 Medium
fr.inrae.agroclim.indicators.model.data.soil.SoilLoaderProxy.setStages(List) may expose internal representation by storing an externally mutable object into SoilLoaderProxy.stages MALICIOUS_CODE EI_EXPOSE_REP2 295 Medium

fr.inrae.agroclim.indicators.model.function.normalization.MultiLinear

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.function.normalization.MultiLinear.getIntervals() may expose internal representation by returning MultiLinear.intervals MALICIOUS_CODE EI_EXPOSE_REP 53 Medium
fr.inrae.agroclim.indicators.model.function.normalization.MultiLinear.setIntervals(List) may expose internal representation by storing an externally mutable object into MultiLinear.intervals MALICIOUS_CODE EI_EXPOSE_REP2 54 Medium

fr.inrae.agroclim.indicators.model.function.normalization.MultiLinearInterval

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.function.normalization.MultiLinearInterval.getLinear() may expose internal representation by returning MultiLinearInterval.linear MALICIOUS_CODE EI_EXPOSE_REP 62 Medium
fr.inrae.agroclim.indicators.model.function.normalization.MultiLinearInterval.setLinear(Linear) may expose internal representation by storing an externally mutable object into MultiLinearInterval.linear MALICIOUS_CODE EI_EXPOSE_REP2 63 Medium

fr.inrae.agroclim.indicators.model.indicator.CompositeIndicator

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.indicator.CompositeIndicator.clone() does not call super.clone() BAD_PRACTICE CN_IDIOM_NO_SUPER_CALL 243 High
fr.inrae.agroclim.indicators.model.indicator.CompositeIndicator.getAggregationFunction() may expose internal representation by returning CompositeIndicator.aggregationFunction MALICIOUS_CODE EI_EXPOSE_REP 109 Medium
fr.inrae.agroclim.indicators.model.indicator.CompositeIndicator.getIndicators() may expose internal representation by returning CompositeIndicator.indicators MALICIOUS_CODE EI_EXPOSE_REP 123 Medium
fr.inrae.agroclim.indicators.model.indicator.CompositeIndicator.setAggregationFunction(AggregationFunction) may expose internal representation by storing an externally mutable object into CompositeIndicator.aggregationFunction MALICIOUS_CODE EI_EXPOSE_REP2 110 Medium

fr.inrae.agroclim.indicators.model.indicator.DiffOfSum

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.indicator.DiffOfSum.getSumVariable1() may expose internal representation by returning DiffOfSum.sumVariable1 MALICIOUS_CODE EI_EXPOSE_REP 62 Medium
fr.inrae.agroclim.indicators.model.indicator.DiffOfSum.getSumVariable2() may expose internal representation by returning DiffOfSum.sumVariable2 MALICIOUS_CODE EI_EXPOSE_REP 69 Medium
fr.inrae.agroclim.indicators.model.indicator.DiffOfSum.setSumVariable1(Sum) may expose internal representation by storing an externally mutable object into DiffOfSum.sumVariable1 MALICIOUS_CODE EI_EXPOSE_REP2 63 Medium
fr.inrae.agroclim.indicators.model.indicator.DiffOfSum.setSumVariable2(Sum) may expose internal representation by storing an externally mutable object into DiffOfSum.sumVariable2 MALICIOUS_CODE EI_EXPOSE_REP2 70 Medium

fr.inrae.agroclim.indicators.model.indicator.Formula

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.indicator.Formula.getExpressionParameters() may expose internal representation by returning Formula.expressionParameters MALICIOUS_CODE EI_EXPOSE_REP 119 Medium
fr.inrae.agroclim.indicators.model.indicator.Formula.getParametersValues() may expose internal representation by returning Formula.parametersValues MALICIOUS_CODE EI_EXPOSE_REP 133 Medium
fr.inrae.agroclim.indicators.model.indicator.Formula.setExpressionParameters(List) may expose internal representation by storing an externally mutable object into Formula.expressionParameters MALICIOUS_CODE EI_EXPOSE_REP2 120 Medium
fr.inrae.agroclim.indicators.model.indicator.Formula.setParametersValues(Map) may expose internal representation by storing an externally mutable object into Formula.parametersValues MALICIOUS_CODE EI_EXPOSE_REP2 132 Medium

fr.inrae.agroclim.indicators.model.indicator.Frequency

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.indicator.Frequency.getNumberOfDays() may expose internal representation by returning Frequency.numberOfDays MALICIOUS_CODE EI_EXPOSE_REP 50 Medium
fr.inrae.agroclim.indicators.model.indicator.Frequency.setNumberOfDays(NumberOfDays) may expose internal representation by storing an externally mutable object into Frequency.numberOfDays MALICIOUS_CODE EI_EXPOSE_REP2 51 Medium

fr.inrae.agroclim.indicators.model.indicator.Indicator

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.indicator.Indicator.getDescriptions() may expose internal representation by returning Indicator.descriptions MALICIOUS_CODE EI_EXPOSE_REP 109 Medium
fr.inrae.agroclim.indicators.model.indicator.Indicator.getNames() may expose internal representation by returning Indicator.names MALICIOUS_CODE EI_EXPOSE_REP 141 Medium
fr.inrae.agroclim.indicators.model.indicator.Indicator.getNotes() may expose internal representation by returning Indicator.notes MALICIOUS_CODE EI_EXPOSE_REP 197 Medium
fr.inrae.agroclim.indicators.model.indicator.Indicator.getParameters() may expose internal representation by returning Indicator.parameters MALICIOUS_CODE EI_EXPOSE_REP 166 Medium
fr.inrae.agroclim.indicators.model.indicator.Indicator.getParent() may expose internal representation by returning Indicator.parent MALICIOUS_CODE EI_EXPOSE_REP 174 Medium
fr.inrae.agroclim.indicators.model.indicator.Indicator.getUnit() may expose internal representation by returning Indicator.unit MALICIOUS_CODE EI_EXPOSE_REP 208 Medium
fr.inrae.agroclim.indicators.model.indicator.Indicator.setDescriptions(List) may expose internal representation by storing an externally mutable object into Indicator.descriptions MALICIOUS_CODE EI_EXPOSE_REP2 110 Medium
fr.inrae.agroclim.indicators.model.indicator.Indicator.setNames(List) may expose internal representation by storing an externally mutable object into Indicator.names MALICIOUS_CODE EI_EXPOSE_REP2 142 Medium
fr.inrae.agroclim.indicators.model.indicator.Indicator.setNotes(List) may expose internal representation by storing an externally mutable object into Indicator.notes MALICIOUS_CODE EI_EXPOSE_REP2 198 Medium
fr.inrae.agroclim.indicators.model.indicator.Indicator.setParameters(List) may expose internal representation by storing an externally mutable object into Indicator.parameters MALICIOUS_CODE EI_EXPOSE_REP2 167 Medium
fr.inrae.agroclim.indicators.model.indicator.Indicator.setParent(Indicator) may expose internal representation by storing an externally mutable object into Indicator.parent MALICIOUS_CODE EI_EXPOSE_REP2 175 Medium
fr.inrae.agroclim.indicators.model.indicator.Indicator.setUnit(Unit) may expose internal representation by storing an externally mutable object into Indicator.unit MALICIOUS_CODE EI_EXPOSE_REP2 209 Medium

fr.inrae.agroclim.indicators.model.indicator.IndicatorCategory

Bug Category Details Line Priority
Redundant nullcheck of cat, which is known to be non-null in fr.inrae.agroclim.indicators.model.indicator.IndicatorCategory.getChildCategory(String) STYLE RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE 64 Medium

fr.inrae.agroclim.indicators.model.indicator.InjectedParameter

Bug Category Details Line Priority
Redundant nullcheck of fr.inrae.agroclim.indicators.model.indicator.InjectedParameter.getParameters(), which is known to be non-null in fr.inrae.agroclim.indicators.model.indicator.InjectedParameter.getParameterDefaults() STYLE RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE 87 Medium

fr.inrae.agroclim.indicators.model.indicator.NumberOfWaves

Bug Category Details Line Priority
Redundant nullcheck of fr.inrae.agroclim.indicators.model.indicator.SimpleIndicatorWithCriteria.getParameters(), which is known to be non-null in fr.inrae.agroclim.indicators.model.indicator.NumberOfWaves.getParameterDefaults() STYLE RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE 110 Medium

fr.inrae.agroclim.indicators.model.indicator.PotentialSowingDaysFrequency

Bug Category Details Line Priority
Dead store to percent in fr.inrae.agroclim.indicators.model.indicator.PotentialSowingDaysFrequency.computeSingleValue(Resource) STYLE DLS_DEAD_LOCAL_STORE 185 Medium

fr.inrae.agroclim.indicators.model.indicator.Quotient

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.indicator.Quotient.getDividend() may expose internal representation by returning Quotient.dividend MALICIOUS_CODE EI_EXPOSE_REP 64 Medium
fr.inrae.agroclim.indicators.model.indicator.Quotient.getDivisor() may expose internal representation by returning Quotient.divisor MALICIOUS_CODE EI_EXPOSE_REP 71 Medium
fr.inrae.agroclim.indicators.model.indicator.Quotient.setDividend(SimpleIndicator) may expose internal representation by storing an externally mutable object into Quotient.dividend MALICIOUS_CODE EI_EXPOSE_REP2 65 Medium
fr.inrae.agroclim.indicators.model.indicator.Quotient.setDivisor(SimpleIndicator) may expose internal representation by storing an externally mutable object into Quotient.divisor MALICIOUS_CODE EI_EXPOSE_REP2 72 Medium

fr.inrae.agroclim.indicators.model.indicator.SimpleIndicatorWithCriteria

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.indicator.SimpleIndicatorWithCriteria.getCriteria() may expose internal representation by returning SimpleIndicatorWithCriteria.criteria MALICIOUS_CODE EI_EXPOSE_REP 63 Medium
fr.inrae.agroclim.indicators.model.indicator.SimpleIndicatorWithCriteria.setCriteria(Criteria) may expose internal representation by storing an externally mutable object into SimpleIndicatorWithCriteria.criteria MALICIOUS_CODE EI_EXPOSE_REP2 162 Medium

fr.inrae.agroclim.indicators.model.indicator.listener.IndicatorEvent

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.indicator.listener.IndicatorEvent.getSource() may expose internal representation by returning IndicatorEvent.source MALICIOUS_CODE EI_EXPOSE_REP 120 Medium

fr.inrae.agroclim.indicators.model.result.EvaluationResult

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.result.EvaluationResult.getPhaseResults() may expose internal representation by returning EvaluationResult.phaseResults MALICIOUS_CODE EI_EXPOSE_REP 40 Medium

fr.inrae.agroclim.indicators.model.result.IndicatorResult

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.result.IndicatorResult.getIndicatorResults() may expose internal representation by returning IndicatorResult.indicatorResults MALICIOUS_CODE EI_EXPOSE_REP 57 Medium

fr.inrae.agroclim.indicators.model.result.PhaseResult

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.model.result.PhaseResult.getAnnualPhase() may expose internal representation by returning PhaseResult.annualPhase MALICIOUS_CODE EI_EXPOSE_REP 42 Medium
fr.inrae.agroclim.indicators.model.result.PhaseResult.getIndicatorResults() may expose internal representation by returning PhaseResult.indicatorResults MALICIOUS_CODE EI_EXPOSE_REP 49 Medium
fr.inrae.agroclim.indicators.model.result.PhaseResult.setAnnualPhase(AnnualPhase) may expose internal representation by storing an externally mutable object into PhaseResult.annualPhase MALICIOUS_CODE EI_EXPOSE_REP2 43 Medium

fr.inrae.agroclim.indicators.resources.Resources

Bug Category Details Line Priority
new fr.inrae.agroclim.indicators.resources.Resources(ResourceBundle) may expose internal representation by storing an externally mutable object into Resources.resourceBundle MALICIOUS_CODE EI_EXPOSE_REP2 67 Medium

fr.inrae.agroclim.indicators.util.PathUtils

Bug Category Details Line Priority
Possible null pointer dereference in fr.inrae.agroclim.indicators.util.PathUtils.relativize(String, String) due to return value of called method STYLE NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE 60 Medium
Possible null pointer dereference in fr.inrae.agroclim.indicators.util.PathUtils.relativize(String, String) due to return value of called method STYLE NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE 64 Medium

fr.inrae.agroclim.indicators.util.Utf8BufferedWriter

Bug Category Details Line Priority
Exception thrown in class fr.inrae.agroclim.indicators.util.Utf8BufferedWriter at new fr.inrae.agroclim.indicators.util.Utf8BufferedWriter(File) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 28 Medium
Exception thrown in class fr.inrae.agroclim.indicators.util.Utf8BufferedWriter at new fr.inrae.agroclim.indicators.util.Utf8BufferedWriter(String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 48 Medium
Exception thrown in class fr.inrae.agroclim.indicators.util.Utf8BufferedWriter at new fr.inrae.agroclim.indicators.util.Utf8BufferedWriter(Path) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 38 Medium

fr.inrae.agroclim.indicators.xml.DtdResolver

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.xml.DtdResolver.setDtds(Map) may expose internal representation by storing an externally mutable object into DtdResolver.dtds MALICIOUS_CODE EI_EXPOSE_REP2 46 Medium

fr.inrae.agroclim.indicators.xml.MarshallerBuilder

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.xml.MarshallerBuilder.setClassesToBeBound(Class[]) may expose internal representation by storing an externally mutable object into MarshallerBuilder.classesToBeBound MALICIOUS_CODE EI_EXPOSE_REP2 45 Medium

fr.inrae.agroclim.indicators.xml.UnmarshallerBuilder

Bug Category Details Line Priority
fr.inrae.agroclim.indicators.xml.UnmarshallerBuilder.setClassesToBeBound(Class[]) may expose internal representation by storing an externally mutable object into UnmarshallerBuilder.classesToBeBound MALICIOUS_CODE EI_EXPOSE_REP2 59 Medium
fr.inrae.agroclim.indicators.xml.UnmarshallerBuilder.setDtds(Map) may expose internal representation by storing an externally mutable object into UnmarshallerBuilder.dtds MALICIOUS_CODE EI_EXPOSE_REP2 53 Medium