FindBugs Bug Detector Report

The following document contains the results of FindBugs Report

FindBugs Version is 1.2.0

Threshold is Low

Effort is Default

Summary

ClassesBugsErrorsMissing Classes
75711000

Files

ClassBugs
org.jrobin.cmd.RrdCommander3
org.jrobin.cmd.RrdCreateCmd1
org.jrobin.cmd.RrdGraphCmd2
org.jrobin.cmd.RrdToolCmd1
org.jrobin.cmd.RrdXportCmd2
org.jrobin.convertor.Convertor2
org.jrobin.core.ArcDef2
org.jrobin.core.DsDef2
org.jrobin.core.FetchData5
org.jrobin.core.FetchRequest3
org.jrobin.core.RrdBackend1
org.jrobin.core.RrdDbPool1
org.jrobin.core.RrdDbPool$RrdEntry1
org.jrobin.core.RrdDef4
org.jrobin.core.RrdPrimitive4
org.jrobin.core.Sample2
org.jrobin.core.Util$Xml1
org.jrobin.core.XmlWriter1
org.jrobin.core.jrrd.Archive4
org.jrobin.core.jrrd.ConsolidationFunctionType1
org.jrobin.core.jrrd.DataSourceType1
org.jrobin.core.jrrd.Main1
org.jrobin.core.jrrd.RRDFile6
org.jrobin.core.jrrd.RRDatabase1
org.jrobin.core.timespec.TimeParser3
org.jrobin.core.timespec.TimeScanner1
org.jrobin.data.CubicSplineInterpolator6
org.jrobin.data.DataProcessor2
org.jrobin.data.LinearInterpolator5
org.jrobin.data.RpnCalculator2
org.jrobin.data.RpnCalculator$RpnStack1
org.jrobin.data.RpnCalculator$Token1
org.jrobin.graph.CommentText2
org.jrobin.graph.GifPixelsEncoder1
org.jrobin.graph.Normalizer1
org.jrobin.graph.PathIterator1
org.jrobin.graph.RrdGraph1
org.jrobin.graph.RrdGraphConstants3
org.jrobin.graph.RrdGraphDef2
org.jrobin.graph.RrdGraphDefTemplate3
org.jrobin.graph.RrdGraphInfo1
org.jrobin.graph.TimeAxis1
org.jrobin.graph.ValueAxisMrtg1
org.jrobin.inspector.ArchiveTableModel1
org.jrobin.inspector.DataTableModel3
org.jrobin.inspector.DatasourceTableModel1
org.jrobin.inspector.EditArchiveDialog1
org.jrobin.inspector.EditDatasourceDialog1
org.jrobin.inspector.GraphFrame2
org.jrobin.inspector.GraphFrame$72
org.jrobin.inspector.GraphFrame$GraphComboItem1
org.jrobin.inspector.RrdInspector1
org.jrobin.inspector.RrdInspector$122
org.jrobin.inspector.RrdInspector$152
org.jrobin.inspector.RrdInspector$21
org.jrobin.inspector.RrdInspector$41
org.jrobin.inspector.Util1

org.jrobin.cmd.RrdCommander

BugCategoryDetailsLine
Immediate dereference of the result of readLine() in org.jrobin.cmd.RrdCommander.main(String[])STYLENP_IMMEDIATE_DEREFERENCE_OF_READLINE159
Possible null pointer dereference in org.jrobin.cmd.RrdCommander.main(String[]) due to return value of called methodSTYLENP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE159
Exception is caught when Exception is not thrown in org.jrobin.cmd.RrdCommander.main(String[])STYLEREC_CATCH_EXCEPTION169

org.jrobin.cmd.RrdCreateCmd

BugCategoryDetailsLine
RrdCreateCmd.rrdDef not initialized in constructorSTYLEUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORNot available

org.jrobin.cmd.RrdGraphCmd

BugCategoryDetailsLine
Method call in org.jrobin.cmd.RrdGraphCmd.parseArea(String) passes null for unconditionally dereferenced parameter of org.jrobin.graph.RrdGraphDef.area(String, Paint, String)CORRECTNESSNP_NULL_PARAM_DEREF261
RrdGraphCmd.gdef not initialized in constructorSTYLEUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORNot available

org.jrobin.cmd.RrdToolCmd

BugCategoryDetailsLine
RrdToolCmd.cmdScanner not initialized in constructorSTYLEUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORNot available

org.jrobin.cmd.RrdXportCmd

BugCategoryDetailsLine
RrdXportCmd.dproc not initialized in constructorSTYLEUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORNot available
RrdXportCmd.xports not initialized in constructorSTYLEUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORNot available

org.jrobin.convertor.Convertor

BugCategoryDetailsLine
org.jrobin.convertor.Convertor.Convertor(String[]) invokes System.exit(...), which shuts down the entire virtual machineBAD_PRACTICEDM_EXIT54
Exception is caught when Exception is not thrown in org.jrobin.convertor.Convertor.convertFile(String)STYLEREC_CATCH_EXCEPTION97

org.jrobin.core.ArcDef

BugCategoryDetailsLine
org.jrobin.core.ArcDef defines equals and uses Object.hashCode()BAD_PRACTICEHE_EQUALS_USE_HASHCODE148-152
org.jrobin.core.ArcDef.CONSOL_FUNS is a mutable arrayMALICIOUS_CODEMS_MUTABLE_ARRAY49

org.jrobin.core.DsDef

BugCategoryDetailsLine
org.jrobin.core.DsDef defines equals and uses Object.hashCode()BAD_PRACTICEHE_EQUALS_USE_HASHCODE191-195
org.jrobin.core.DsDef.DS_TYPES is a mutable arrayMALICIOUS_CODEMS_MUTABLE_ARRAY48

org.jrobin.core.FetchData

BugCategoryDetailsLine
org.jrobin.core.FetchData.getDsNames() may expose internal representation by returning FetchData.dsNamesMALICIOUS_CODEEI_EXPOSE_REP232
org.jrobin.core.FetchData.getTimestamps() may expose internal representation by returning FetchData.timestampsMALICIOUS_CODEEI_EXPOSE_REP118
org.jrobin.core.FetchData.getValues() may expose internal representation by returning FetchData.valuesMALICIOUS_CODEEI_EXPOSE_REP150
FetchData.timestamps not initialized in constructorSTYLEUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORNot available
FetchData.values not initialized in constructorSTYLEUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORNot available

org.jrobin.core.FetchRequest

BugCategoryDetailsLine
org.jrobin.core.FetchRequest.getFilter() may expose internal representation by returning FetchRequest.filterMALICIOUS_CODEEI_EXPOSE_REP109
org.jrobin.core.FetchRequest.setFilter(String[]) may expose internal representation by storing an externally mutable object into FetchRequest.filterMALICIOUS_CODEEI_EXPOSE_REP271
Method org.jrobin.core.FetchRequest.setFilter(Set) uses Collection.toArray() with zero-length array argumentPERFORMANCEITA_INEFFICIENT_TO_ARRAY85

org.jrobin.core.RrdBackend

BugCategoryDetailsLine
Write to static field org.jrobin.core.RrdBackend.instanceCreated from instance method org.jrobin.core.RrdBackend.RrdBackend(String)STYLEST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD83

org.jrobin.core.RrdDbPool

BugCategoryDetailsLine
Method org.jrobin.core.RrdDbPool.getOpenFiles() uses Collection.toArray() with zero-length array argumentPERFORMANCEITA_INEFFICIENT_TO_ARRAY224

org.jrobin.core.RrdDbPool$RrdEntry

BugCategoryDetailsLine
Should org.jrobin.core.RrdDbPool$RrdEntry be a _static_ inner class?PERFORMANCESIC_INNER_SHOULD_BE_STATICNot available

org.jrobin.core.RrdDef

BugCategoryDetailsLine
org.jrobin.core.RrdDef defines equals and uses Object.hashCode()BAD_PRACTICEHE_EQUALS_USE_HASHCODE613-658
Method org.jrobin.core.RrdDef.getArcDefs() uses Collection.toArray() with zero-length array argumentPERFORMANCEITA_INEFFICIENT_TO_ARRAY433
Method org.jrobin.core.RrdDef.getDsDefs() uses Collection.toArray() with zero-length array argumentPERFORMANCEITA_INEFFICIENT_TO_ARRAY424
Confusing to have methods org.jrobin.core.RrdDef.getDsCount() and org.jrobin.core.jrrd.Header.getDSCount()BAD_PRACTICENM_CONFUSING442

org.jrobin.core.RrdPrimitive

BugCategoryDetailsLine
Result of integer multiplication cast to long in org.jrobin.core.RrdPrimitive.readDouble(int)STYLEICAST_INTEGER_MULTIPLY_CAST_TO_LONG83
Result of integer multiplication cast to long in org.jrobin.core.RrdPrimitive.readDouble(int, int)STYLEICAST_INTEGER_MULTIPLY_CAST_TO_LONG88
Result of integer multiplication cast to long in org.jrobin.core.RrdPrimitive.writeDouble(int, double, int)STYLEICAST_INTEGER_MULTIPLY_CAST_TO_LONG97
Result of integer multiplication cast to long in org.jrobin.core.RrdPrimitive.writeDouble(int, double[])STYLEICAST_INTEGER_MULTIPLY_CAST_TO_LONG102

org.jrobin.core.Sample

BugCategoryDetailsLine
org.jrobin.core.Sample.getDsNames() may expose internal representation by returning Sample.dsNamesMALICIOUS_CODEEI_EXPOSE_REP167
org.jrobin.core.Sample.getValues() may expose internal representation by returning Sample.valuesMALICIOUS_CODEEI_EXPOSE_REP137

org.jrobin.core.Util$Xml

BugCategoryDetailsLine
Method org.jrobin.core.Util$Xml.getChildNodes(Node, String) uses Collection.toArray() with zero-length array argumentPERFORMANCEITA_INEFFICIENT_TO_ARRAY509

org.jrobin.core.XmlWriter

BugCategoryDetailsLine
Use of non-localized String.toUpperCase() or String.toLowerCaseI18NDM_CONVERT_CASE147

org.jrobin.core.jrrd.Archive

BugCategoryDetailsLine
org.jrobin.core.jrrd.Archive.getValues() may expose internal representation by returning Archive.valuesMALICIOUS_CODEEI_EXPOSE_REP331
org.jrobin.core.jrrd.Archive.getValues() may expose internal representation by returning Archive.valuesMALICIOUS_CODEEI_EXPOSE_REP349
Result of integer multiplication cast to long in org.jrobin.core.jrrd.Archive.getValues()STYLEICAST_INTEGER_MULTIPLY_CAST_TO_LONG336
Result of integer multiplication cast to long in org.jrobin.core.jrrd.Archive.toXml(PrintStream)STYLEICAST_INTEGER_MULTIPLY_CAST_TO_LONG247

org.jrobin.core.jrrd.ConsolidationFunctionType

BugCategoryDetailsLine
org.jrobin.core.jrrd.ConsolidationFunctionType defines equals and uses Object.hashCode()BAD_PRACTICEHE_EQUALS_USE_HASHCODE90-94

org.jrobin.core.jrrd.DataSourceType

BugCategoryDetailsLine
org.jrobin.core.jrrd.DataSourceType defines equals and uses Object.hashCode()BAD_PRACTICEHE_EQUALS_USE_HASHCODE88-92

org.jrobin.core.jrrd.Main

BugCategoryDetailsLine
org.jrobin.core.jrrd.Main.usage(int) invokes System.exit(...), which shuts down the entire virtual machineBAD_PRACTICEDM_EXIT49

org.jrobin.core.jrrd.RRDFile

BugCategoryDetailsLine
org.jrobin.core.jrrd.RRDFile.initDataLayout(File) ignores result of java.io.RandomAccessFile.read(byte[], int, int)BAD_PRACTICERR_NOT_CHECKED46
org.jrobin.core.jrrd.RRDFile.readDouble() ignores result of java.io.RandomAccessFile.read(byte[], int, int)BAD_PRACTICERR_NOT_CHECKED98
org.jrobin.core.jrrd.RRDFile.readInt(boolean) ignores result of java.io.RandomAccessFile.read(byte[], int, int)BAD_PRACTICERR_NOT_CHECKED121
org.jrobin.core.jrrd.RRDFile.readString(int) ignores result of java.io.RandomAccessFile.read(byte[], int, int)BAD_PRACTICERR_NOT_CHECKED139
org.jrobin.core.jrrd.RRDFile.align(int) ignores result of java.io.RandomAccessFile.skipBytes(int)BAD_PRACTICESR_NOT_CHECKED153
org.jrobin.core.jrrd.RRDFile.skipBytes(int) ignores result of java.io.RandomAccessFile.skipBytes(int)BAD_PRACTICESR_NOT_CHECKED145

org.jrobin.core.jrrd.RRDatabase

BugCategoryDetailsLine
org.jrobin.core.jrrd.RRDatabase.getLastUpdate() may expose internal representation by returning RRDatabase.lastUpdateMALICIOUS_CODEEI_EXPOSE_REP130

org.jrobin.core.timespec.TimeParser

BugCategoryDetailsLine
Switch statement found in org.jrobin.core.timespec.TimeParser.day() where one case falls through to the next caseSTYLESF_SWITCH_FALLTHROUGH212-215
Switch statement found in org.jrobin.core.timespec.TimeParser.plusMinus(int) where one case falls through to the next caseSTYLESF_SWITCH_FALLTHROUGH109-112
Switch statement found in org.jrobin.core.timespec.TimeParser.parse() where one case falls through to the next caseSTYLESF_SWITCH_FALLTHROUGH329-332

org.jrobin.core.timespec.TimeScanner

BugCategoryDetailsLine
TimeScanner.token not initialized in constructorSTYLEUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORNot available

org.jrobin.data.CubicSplineInterpolator

BugCategoryDetailsLine
org.jrobin.data.CubicSplineInterpolator.CubicSplineInterpolator(double[], double[]) may expose internal representation by storing an externally mutable object into CubicSplineInterpolator.xMALICIOUS_CODEEI_EXPOSE_REP2116
org.jrobin.data.CubicSplineInterpolator.CubicSplineInterpolator(double[], double[]) may expose internal representation by storing an externally mutable object into CubicSplineInterpolator.yMALICIOUS_CODEEI_EXPOSE_REP2117
org.jrobin.data.CubicSplineInterpolator.CubicSplineInterpolator(long[], double[]) may expose internal representation by storing an externally mutable object into CubicSplineInterpolator.yMALICIOUS_CODEEI_EXPOSE_REP264
org.jrobin.data.CubicSplineInterpolator.CubicSplineInterpolator(Calendar[], double[]) may expose internal representation by storing an externally mutable object into CubicSplineInterpolator.yMALICIOUS_CODEEI_EXPOSE_REP2102
org.jrobin.data.CubicSplineInterpolator.CubicSplineInterpolator(Date[], double[]) may expose internal representation by storing an externally mutable object into CubicSplineInterpolator.yMALICIOUS_CODEEI_EXPOSE_REP283
Computation of average could overflow in org.jrobin.data.CubicSplineInterpolator.getValue(double)STYLEIM_AVERAGE_COMPUTATION_COULD_OVERFLOW177

org.jrobin.data.DataProcessor

BugCategoryDetailsLine
org.jrobin.data.DataProcessor.getTimestamps() may expose internal representation by returning DataProcessor.timestampsMALICIOUS_CODEEI_EXPOSE_REP256
Method org.jrobin.data.DataProcessor.getSourceNames() uses Collection.toArray() with zero-length array argumentPERFORMANCEITA_INEFFICIENT_TO_ARRAY375

org.jrobin.data.LinearInterpolator

BugCategoryDetailsLine
org.jrobin.data.LinearInterpolator.LinearInterpolator(long[], double[]) may expose internal representation by storing an externally mutable object into LinearInterpolator.timestampsMALICIOUS_CODEEI_EXPOSE_REP283
org.jrobin.data.LinearInterpolator.LinearInterpolator(long[], double[]) may expose internal representation by storing an externally mutable object into LinearInterpolator.valuesMALICIOUS_CODEEI_EXPOSE_REP284
org.jrobin.data.LinearInterpolator.LinearInterpolator(Calendar[], double[]) may expose internal representation by storing an externally mutable object into LinearInterpolator.valuesMALICIOUS_CODEEI_EXPOSE_REP2114
org.jrobin.data.LinearInterpolator.LinearInterpolator(Date[], double[]) may expose internal representation by storing an externally mutable object into LinearInterpolator.valuesMALICIOUS_CODEEI_EXPOSE_REP297
Switch statement found in org.jrobin.data.LinearInterpolator.setInterpolationMethod(int) where one case falls through to the next caseSTYLESF_SWITCH_FALLTHROUGH164-168

org.jrobin.data.RpnCalculator

BugCategoryDetailsLine
Test for floating point equality in org.jrobin.data.RpnCalculator.calculateValues()STYLEFE_FLOATING_POINT_EQUALITY374
int value cast to float and then passed to Math.round in org.jrobin.data.RpnCalculator.calculateValues()CORRECTNESSICAST_INT_CAST_TO_FLOAT_PASSED_TO_ROUND416

org.jrobin.data.RpnCalculator$RpnStack

BugCategoryDetailsLine
Should org.jrobin.data.RpnCalculator$RpnStack be a _static_ inner class?PERFORMANCESIC_INNER_SHOULD_BE_STATICNot available

org.jrobin.data.RpnCalculator$Token

BugCategoryDetailsLine
Should org.jrobin.data.RpnCalculator$Token be a _static_ inner class?PERFORMANCESIC_INNER_SHOULD_BE_STATICNot available

org.jrobin.graph.CommentText

BugCategoryDetailsLine
CommentText.marker not initialized in constructorSTYLEUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORNot available
CommentText.resolvedText not initialized in constructorSTYLEUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORNot available

org.jrobin.graph.GifPixelsEncoder

BugCategoryDetailsLine
The field name org.jrobin.graph.GifPixelsEncoder.ClearCode doesn't start with an lower case letterBAD_PRACTICENM_FIELD_NAMING_CONVENTIONNot available

org.jrobin.graph.Normalizer

BugCategoryDetailsLine
int division result cast to double or float in org.jrobin.graph.Normalizer.Normalizer(long, long, int)STYLEICAST_IDIV_CAST_TO_DOUBLE39

org.jrobin.graph.PathIterator

BugCategoryDetailsLine
Should org.jrobin.graph.PathIterator.getNextPath() return a zero length array rather than null?STYLEPZLA_PREFER_ZERO_LENGTH_ARRAYS52

org.jrobin.graph.RrdGraph

BugCategoryDetailsLine
int division result cast to double or float in org.jrobin.graph.RrdGraph.identifySiUnit()STYLEICAST_IDIV_CAST_TO_DOUBLE459

org.jrobin.graph.RrdGraphConstants

BugCategoryDetailsLine
Use of non-localized String.toUpperCase() or String.toLowerCaseI18NDM_CONVERT_CASE259
org.jrobin.graph.RrdGraphConstants.COLOR_NAMES should be moved out of an interface and made package protectedMALICIOUS_CODEMS_OOI_PKGPROTECT142
org.jrobin.graph.RrdGraphConstants.MARKERS should be moved out of an interface and made package protectedMALICIOUS_CODEMS_OOI_PKGPROTECT221

org.jrobin.graph.RrdGraphDef

BugCategoryDetailsLine
Usage of GetResource in org.jrobin.graph.RrdGraphDef.getFontFromResourceName(String) may be unsafe if class is extendedBAD_PRACTICEUI_INHERITANCE_UNSAFE_GETRESOURCE163
Unread field: org.jrobin.graph.RrdGraphDef.interlacedPERFORMANCEURF_UNREAD_FIELD84

org.jrobin.graph.RrdGraphDefTemplate

BugCategoryDetailsLine
Dead store to NOT_SET in org.jrobin.graph.RrdGraphDefTemplate.resolveTimeGrid(Node)STYLEDLS_DEAD_LOCAL_STORE911
Use of non-localized String.toUpperCase() or String.toLowerCaseI18NDM_CONVERT_CASE842
RrdGraphDefTemplate.rrdGraphDef not initialized in constructorSTYLEUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORNot available

org.jrobin.graph.RrdGraphInfo

BugCategoryDetailsLine
org.jrobin.graph.RrdGraphInfo.getBytes() may expose internal representation by returning RrdGraphInfo.bytesMALICIOUS_CODEEI_EXPOSE_REP82

org.jrobin.graph.TimeAxis

BugCategoryDetailsLine
int division result cast to double or float in org.jrobin.graph.TimeAxis.TimeAxis(RrdGraph)STYLEICAST_IDIV_CAST_TO_DOUBLE60

org.jrobin.graph.ValueAxisMrtg

BugCategoryDetailsLine
Test for floating point equality in org.jrobin.graph.ValueAxisMrtg.draw()STYLEFE_FLOATING_POINT_EQUALITY60

org.jrobin.inspector.ArchiveTableModel

BugCategoryDetailsLine
ArchiveTableModel.file not initialized in constructorSTYLEUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORNot available

org.jrobin.inspector.DataTableModel

BugCategoryDetailsLine
Exception is caught when Exception is not thrown in org.jrobin.inspector.DataTableModel.setValueAt(Object, int, int)STYLEREC_CATCH_EXCEPTION92
DataTableModel.file not initialized in constructorSTYLEUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORNot available
DataTableModel.values not initialized in constructorSTYLEUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORNot available

org.jrobin.inspector.DatasourceTableModel

BugCategoryDetailsLine
DatasourceTableModel.file not initialized in constructorSTYLEUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORNot available

org.jrobin.inspector.EditArchiveDialog

BugCategoryDetailsLine
Class org.jrobin.inspector.EditArchiveDialog defines non-transient non-serializable instance field arcDefBAD_PRACTICESE_BAD_FIELDNot available

org.jrobin.inspector.EditDatasourceDialog

BugCategoryDetailsLine
Class org.jrobin.inspector.EditDatasourceDialog defines non-transient non-serializable instance field dsDefBAD_PRACTICESE_BAD_FIELDNot available

org.jrobin.inspector.GraphFrame

BugCategoryDetailsLine
Use of non-localized String.toUpperCase() or String.toLowerCaseI18NDM_CONVERT_CASE245
Class org.jrobin.inspector.GraphFrame defines non-transient non-serializable instance field rrdGraphBAD_PRACTICESE_BAD_FIELDNot available

org.jrobin.inspector.GraphFrame$7

BugCategoryDetailsLine
Use of non-localized String.toUpperCase() or String.toLowerCaseI18NDM_CONVERT_CASE232
The class org.jrobin.inspector.GraphFrame$7 could be refactored into a named _static_ inner classPERFORMANCESIC_INNER_SHOULD_BE_STATIC_ANONNot available

org.jrobin.inspector.GraphFrame$GraphComboItem

BugCategoryDetailsLine
Should org.jrobin.inspector.GraphFrame$GraphComboItem be a _static_ inner class?PERFORMANCESIC_INNER_SHOULD_BE_STATICNot available

org.jrobin.inspector.RrdInspector

BugCategoryDetailsLine
Class org.jrobin.inspector.RrdInspector defines non-transient non-serializable instance field inspectorModelBAD_PRACTICESE_BAD_FIELDNot available

org.jrobin.inspector.RrdInspector$12

BugCategoryDetailsLine
org.jrobin.inspector.RrdInspector$12.actionPerformed(ActionEvent) invokes System.exit(...), which shuts down the entire virtual machineBAD_PRACTICEDM_EXIT242
The class org.jrobin.inspector.RrdInspector$12 could be refactored into a named _static_ inner classPERFORMANCESIC_INNER_SHOULD_BE_STATIC_ANONNot available

org.jrobin.inspector.RrdInspector$15

BugCategoryDetailsLine
Use of non-localized String.toUpperCase() or String.toLowerCaseI18NDM_CONVERT_CASE316
The class org.jrobin.inspector.RrdInspector$15 could be refactored into a named _static_ inner classPERFORMANCESIC_INNER_SHOULD_BE_STATIC_ANONNot available

org.jrobin.inspector.RrdInspector$2

BugCategoryDetailsLine
The class org.jrobin.inspector.RrdInspector$2 could be refactored into a named _static_ inner classPERFORMANCESIC_INNER_SHOULD_BE_STATIC_ANONNot available

org.jrobin.inspector.RrdInspector$4

BugCategoryDetailsLine
The class org.jrobin.inspector.RrdInspector$4 could be refactored into a named _static_ inner classPERFORMANCESIC_INNER_SHOULD_BE_STATIC_ANONNot available

org.jrobin.inspector.Util

BugCategoryDetailsLine
org.jrobin.inspector.Util.dismissWindow(Window) invokes System.exit(...), which shuts down the entire virtual machineBAD_PRACTICEDM_EXIT70