FindBugs Bug Detector Report

The following document contains the results of FindBugs

FindBugs Version is 3.0.1

Threshold is

Effort is min

Summary

Classes Bugs Errors Missing Classes 113 51 0 150

Files

Class Bugs com.wakaleo.schemaspy.HelpMojo 1 com.wakaleo.schemaspy.SchemaSpyReport 1 net.sourceforge.schemaspy.Config 7 net.sourceforge.schemaspy.DbAnalyzer 1 net.sourceforge.schemaspy.MultipleSchemaAnalyzer$ProcessOutputReader 1 net.sourceforge.schemaspy.Revision 3 net.sourceforge.schemaspy.SchemaAnalyzer 2 net.sourceforge.schemaspy.model.Database 1 net.sourceforge.schemaspy.model.Database$BasicTableMeta 1 net.sourceforge.schemaspy.model.ForeignKeyConstraint 1 net.sourceforge.schemaspy.model.Table 2 net.sourceforge.schemaspy.model.Table$ByColumnIdComparator 1 net.sourceforge.schemaspy.model.TableColumn 1 net.sourceforge.schemaspy.model.TableColumn$ColumnComparator 1 net.sourceforge.schemaspy.model.TableIndex 1 net.sourceforge.schemaspy.ui.DbConfigPanel$1 1 net.sourceforge.schemaspy.util.DOMUtil 1 net.sourceforge.schemaspy.util.Dot 4 net.sourceforge.schemaspy.util.Dot$DotFailure 1 net.sourceforge.schemaspy.util.Dot$ProcessOutputReader 1 net.sourceforge.schemaspy.util.LogFormatter 1 net.sourceforge.schemaspy.util.PasswordReader$IOError 1 net.sourceforge.schemaspy.util.ResourceWriter 2 net.sourceforge.schemaspy.util.Version 1 net.sourceforge.schemaspy.view.HtmlColumnsPage$ByColumnComparator 1 net.sourceforge.schemaspy.view.HtmlColumnsPage$ByTableComparator 1 net.sourceforge.schemaspy.view.HtmlColumnsPage$ColumnInfo 1 net.sourceforge.schemaspy.view.HtmlConstraintsPage 1 net.sourceforge.schemaspy.view.HtmlTableDiagrammer 1 net.sourceforge.schemaspy.view.HtmlTablePage 3 net.sourceforge.schemaspy.view.ImageWriter 1 net.sourceforge.schemaspy.view.StyleSheet 2 net.sourceforge.schemaspy.view.XmlTableFormatter 2

com.wakaleo.schemaspy.HelpMojo

Bug Category Details Line Priority Redundant nullcheck of is, which is known to be non-null in com.wakaleo.schemaspy.HelpMojo.build() STYLE RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE 78 Medium

com.wakaleo.schemaspy.SchemaSpyReport

Bug Category Details Line Priority Exceptional return value of java.io.File.mkdirs() ignored in com.wakaleo.schemaspy.SchemaSpyReport.executeReport(Locale) BAD_PRACTICE RV_RETURN_VALUE_IGNORED_BAD_PRACTICE 392 Medium

net.sourceforge.schemaspy.Config

Bug Category Details Line Priority net.sourceforge.schemaspy.Config.getFontSize() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead PERFORMANCE DM_NUMBER_CTOR 602 Medium net.sourceforge.schemaspy.Config.getMaxDbThreads() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead PERFORMANCE DM_NUMBER_CTOR 686 Medium net.sourceforge.schemaspy.Config.getMaxDetailedTables() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead PERFORMANCE DM_NUMBER_CTOR 442 Medium net.sourceforge.schemaspy.Config.setFontSize(int) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead PERFORMANCE DM_NUMBER_CTOR 588 Medium net.sourceforge.schemaspy.Config.setMaxDbThreads(int) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead PERFORMANCE DM_NUMBER_CTOR 653 Medium net.sourceforge.schemaspy.Config.setMaxDetailedTabled(int) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead PERFORMANCE DM_NUMBER_CTOR 432 Medium net.sourceforge.schemaspy.Config.asList() makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 1609 Medium

net.sourceforge.schemaspy.DbAnalyzer

Bug Category Details Line Priority net.sourceforge.schemaspy.DbAnalyzer.getTablesWithIncrementingColumnNames(Collection) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead PERFORMANCE DM_NUMBER_CTOR 245 Medium

net.sourceforge.schemaspy.MultipleSchemaAnalyzer$ProcessOutputReader

Bug Category Details Line Priority Found reliance on default encoding in new net.sourceforge.schemaspy.MultipleSchemaAnalyzer$ProcessOutputReader(InputStream, PrintStream): new java.io.InputStreamReader(InputStream) I18N DM_DEFAULT_ENCODING 175 High

net.sourceforge.schemaspy.Revision

Bug Category Details Line Priority Found reliance on default encoding in net.sourceforge.schemaspy.Revision.initialize(): new java.io.InputStreamReader(InputStream) I18N DM_DEFAULT_ENCODING 48 High Found reliance on default encoding in net.sourceforge.schemaspy.Revision.main(String[]): new java.io.FileReader(File) I18N DM_DEFAULT_ENCODING 71 High Found reliance on default encoding in net.sourceforge.schemaspy.Revision.main(String[]): new java.io.FileWriter(File) I18N DM_DEFAULT_ENCODING 82 High

net.sourceforge.schemaspy.SchemaAnalyzer

Bug Category Details Line Priority Exceptional return value of java.io.File.delete() ignored in net.sourceforge.schemaspy.SchemaAnalyzer.analyze(Config) BAD_PRACTICE RV_RETURN_VALUE_IGNORED_BAD_PRACTICE 310 Medium Exceptional return value of java.io.File.mkdirs() ignored in net.sourceforge.schemaspy.SchemaAnalyzer.analyze(Config) BAD_PRACTICE RV_RETURN_VALUE_IGNORED_BAD_PRACTICE 193 Medium

net.sourceforge.schemaspy.model.Database

Bug Category Details Line Priority net.sourceforge.schemaspy.model.Database.getInvalidIdentifierPattern() concatenates strings using + in a loop PERFORMANCE SBSC_USE_STRINGBUFFER_CONCATENATION 874 Medium

net.sourceforge.schemaspy.model.Database$BasicTableMeta

Bug Category Details Line Priority Should net.sourceforge.schemaspy.model.Database$BasicTableMeta be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 323-330 Medium

net.sourceforge.schemaspy.model.ForeignKeyConstraint

Bug Category Details Line Priority net.sourceforge.schemaspy.model.ForeignKeyConstraint defines compareTo(ForeignKeyConstraint) and uses Object.equals() BAD_PRACTICE EQ_COMPARETO_USE_OBJECT_EQUALS 299-315 Medium

net.sourceforge.schemaspy.model.Table

Bug Category Details Line Priority net.sourceforge.schemaspy.model.Table defines compareTo(Table) and uses Object.equals() BAD_PRACTICE EQ_COMPARETO_USE_OBJECT_EQUALS 1110-1126 Medium Redundant nullcheck of StringBuilder.toString(), which is known to be non-null in new net.sourceforge.schemaspy.model.Table(Database, String, String, String, Properties, Pattern, Pattern) STYLE RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE 85 Medium

net.sourceforge.schemaspy.model.Table$ByColumnIdComparator

Bug Category Details Line Priority net.sourceforge.schemaspy.model.Table$ByColumnIdComparator implements Comparator but not Serializable BAD_PRACTICE SE_COMPARATOR_SHOULD_BE_SERIALIZABLE 1134-1140 Medium

net.sourceforge.schemaspy.model.TableColumn

Bug Category Details Line Priority new net.sourceforge.schemaspy.model.TableColumn(Table, ResultSet, Pattern, Pattern) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead PERFORMANCE DM_NUMBER_CTOR 93 Medium

net.sourceforge.schemaspy.model.TableColumn$ColumnComparator

Bug Category Details Line Priority Should net.sourceforge.schemaspy.model.TableColumn$ColumnComparator be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 478-483 Medium

net.sourceforge.schemaspy.model.TableIndex

Bug Category Details Line Priority net.sourceforge.schemaspy.model.TableIndex defines compareTo(TableIndex) and uses Object.equals() BAD_PRACTICE EQ_COMPARETO_USE_OBJECT_EQUALS 145-156 Medium

net.sourceforge.schemaspy.ui.DbConfigPanel$1

Bug Category Details Line Priority Hard coded reference to an absolute pathname in new net.sourceforge.schemaspy.ui.DbConfigPanel$1(DbConfigPanel, TableModel) STYLE DMI_HARDCODED_ABSOLUTE_FILENAME 66 Medium

net.sourceforge.schemaspy.util.DOMUtil

Bug Category Details Line Priority net.sourceforge.schemaspy.util.DOMUtil.printDOM(Node, LineWriter) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead PERFORMANCE DM_NUMBER_CTOR 39 Medium

net.sourceforge.schemaspy.util.Dot

Bug Category Details Line Priority Found reliance on default encoding in new net.sourceforge.schemaspy.util.Dot(): new java.io.InputStreamReader(InputStream) I18N DM_DEFAULT_ENCODING 55 High Found reliance on default encoding in net.sourceforge.schemaspy.util.Dot.generateDiagram(File, File): new java.io.InputStreamReader(InputStream) I18N DM_DEFAULT_ENCODING 267 High Found reliance on default encoding in net.sourceforge.schemaspy.util.Dot.supportsRenderer(String): new java.io.InputStreamReader(InputStream) I18N DM_DEFAULT_ENCODING 203 High Exceptional return value of java.io.File.delete() ignored in net.sourceforge.schemaspy.util.Dot.generateDiagram(File, File) BAD_PRACTICE RV_RETURN_VALUE_IGNORED_BAD_PRACTICE 284 Medium

net.sourceforge.schemaspy.util.Dot$DotFailure

Bug Category Details Line Priority Should net.sourceforge.schemaspy.util.Dot$DotFailure be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 301-303 Medium

net.sourceforge.schemaspy.util.Dot$ProcessOutputReader

Bug Category Details Line Priority Found reliance on default encoding in new net.sourceforge.schemaspy.util.Dot$ProcessOutputReader(String, InputStream): new java.io.InputStreamReader(InputStream) I18N DM_DEFAULT_ENCODING 321 High

net.sourceforge.schemaspy.util.LogFormatter

Bug Category Details Line Priority Unread field: net.sourceforge.schemaspy.util.LogFormatter.MAX_LEVEL_LEN; should this field be static? PERFORMANCE SS_SHOULD_BE_STATIC 36 Medium

net.sourceforge.schemaspy.util.PasswordReader$IOError

Bug Category Details Line Priority Should net.sourceforge.schemaspy.util.PasswordReader$IOError be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 173-175 Medium

net.sourceforge.schemaspy.util.ResourceWriter

Bug Category Details Line Priority Exceptional return value of java.io.File.mkdirs() ignored in net.sourceforge.schemaspy.util.ResourceWriter.writeResource(String, File) BAD_PRACTICE RV_RETURN_VALUE_IGNORED_BAD_PRACTICE 45 Medium Usage of GetResource in net.sourceforge.schemaspy.util.ResourceWriter.writeResource(String, File) may be unsafe if class is extended BAD_PRACTICE UI_INHERITANCE_UNSAFE_GETRESOURCE 46 High

net.sourceforge.schemaspy.util.Version

Bug Category Details Line Priority new net.sourceforge.schemaspy.util.Version(String) invokes inefficient new Integer(String) constructor; use Integer.valueOf(String) instead PERFORMANCE DM_NUMBER_CTOR 45 Medium

net.sourceforge.schemaspy.view.HtmlColumnsPage$ByColumnComparator

Bug Category Details Line Priority Should net.sourceforge.schemaspy.view.HtmlColumnsPage$ByColumnComparator be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 256-261 Medium

net.sourceforge.schemaspy.view.HtmlColumnsPage$ByTableComparator

Bug Category Details Line Priority Should net.sourceforge.schemaspy.view.HtmlColumnsPage$ByTableComparator be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 265-270 Medium

net.sourceforge.schemaspy.view.HtmlColumnsPage$ColumnInfo

Bug Category Details Line Priority Should net.sourceforge.schemaspy.view.HtmlColumnsPage$ColumnInfo be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 79-108 Medium

net.sourceforge.schemaspy.view.HtmlConstraintsPage

Bug Category Details Line Priority net.sourceforge.schemaspy.view.HtmlConstraintsPage.writeCheckConstraints(Table, LineWriter) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 245 Medium

net.sourceforge.schemaspy.view.HtmlTableDiagrammer

Bug Category Details Line Priority Exceptional return value of java.io.File.delete() ignored in net.sourceforge.schemaspy.view.HtmlTableDiagrammer.write(Table, File, LineWriter) BAD_PRACTICE RV_RETURN_VALUE_IGNORED_BAD_PRACTICE 70 Medium

net.sourceforge.schemaspy.view.HtmlTablePage

Bug Category Details Line Priority Exceptional return value of java.io.File.delete() ignored in net.sourceforge.schemaspy.view.HtmlTablePage.generateDots(Table, File, WriteStats) BAD_PRACTICE RV_RETURN_VALUE_IGNORED_BAD_PRACTICE 474 Medium Useless object stored in variable tables of method net.sourceforge.schemaspy.view.HtmlTablePage.writeView(Table, Database, LineWriter) STYLE UC_USELESS_OBJECT 414 Medium net.sourceforge.schemaspy.view.HtmlTablePage.writeCheckConstraints(Table, LineWriter) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 314 Medium

net.sourceforge.schemaspy.view.ImageWriter

Bug Category Details Line Priority Exceptional return value of java.io.File.mkdir() ignored in net.sourceforge.schemaspy.view.ImageWriter.writeImages(File) BAD_PRACTICE RV_RETURN_VALUE_IGNORED_BAD_PRACTICE 36 Medium

net.sourceforge.schemaspy.view.StyleSheet

Bug Category Details Line Priority Found reliance on default encoding in net.sourceforge.schemaspy.view.StyleSheet.getReader(String): new java.io.FileReader(File) I18N DM_DEFAULT_ENCODING 146 High Found reliance on default encoding in net.sourceforge.schemaspy.view.StyleSheet.getReader(String): new java.io.InputStreamReader(InputStream) I18N DM_DEFAULT_ENCODING 155 High

net.sourceforge.schemaspy.view.XmlTableFormatter

Bug Category Details Line Priority Found reliance on default encoding in net.sourceforge.schemaspy.view.XmlTableFormatter.asBinary(String): String.getBytes() I18N DM_DEFAULT_ENCODING 283 High net.sourceforge.schemaspy.view.XmlTableFormatter.appendCheckConstraints(Element, Table) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 213 Medium