FindBugs Report

Project Information

Project: <<unnamed project>>

FindBugs version: 1.3.2

Code analyzed:



Metrics

47992 lines of code analyzed, in 954 classes, in 26 packages.

Metric Total Density*
High Priority Warnings 1 0.02
Medium Priority Warnings 303 6.31
Low Priority Warnings 542 11.29
Total Warnings 846 17.63

(* Defects per Thousand lines of non-commenting source statements)



Contents

Summary

Warning Type Number
Bad practice Warnings 154
Correctness Warnings 23
Internationalization Warnings 22
Malicious code vulnerability Warnings 18
Multithreaded correctness Warnings 1
Performance Warnings 238
Security Warnings 139
Dodgy Warnings 251
Total 846

Warnings

Click on a warning row to see full context information.

Bad practice Warnings

Code&nbsp; Warning
DE ca.sqlpower.matchmaker.dao.hibernate.HibernateSessionContextTest.testDataSourceNotModifiedByLogin() might ignore java.lang.Exception
DE ca.sqlpower.matchmaker.munge.MungeProcessorTest.testNoCommitOnError() might ignore java.lang.Exception
DE ca.sqlpower.matchmaker.munge.MungeProcessorTest.testRollbackOnError() might ignore java.lang.Exception
DE ca.sqlpower.matchmaker.ProjectTest.testVerifyResultTableORA() might ignore java.lang.Exception
DE ca.sqlpower.matchmaker.ProjectTest.testVerifyResultTableSS() might ignore java.lang.Exception
DE new org.json.JSONObject(Object, String[]) might ignore java.lang.Exception
Dm ca.sqlpower.matchmaker.dao.hibernate.MatchMakerHibernateSessionContext$1.sessionClosing(SessionLifecycleEvent) invokes System.exit(...), which shuts down the entire virtual machine
Dm ca.sqlpower.matchmaker.swingui.LoginDialog$1.actionPerformed(ActionEvent) invokes System.exit(...), which shuts down the entire virtual machine
Dm ca.sqlpower.matchmaker.swingui.MatchMakerSwingSession$12$1.windowDeactivated(WindowEvent) invokes System.exit(...), which shuts down the entire virtual machine
DP ca.sqlpower.matchmaker.swingui.action.ExportMungePenToPDFAction.paintBorder(JComponent, Graphics) invokes reflect.Method.setAccessible(boolean), which should be invoked from within a doPrivileged block
DP ca.sqlpower.matchmaker.swingui.action.ExportMungePenToPDFAction.paintComponent(JComponent, Graphics) invokes reflect.Method.setAccessible(boolean), which should be invoked from within a doPrivileged block
Eq ca.sqlpower.matchmaker.data.WordCount defines compareTo(WordCount) and uses Object.equals()
Eq ca.sqlpower.matchmaker.munge.MungeResult defines compareTo(MungeResult) and uses Object.equals()
Eq ca.sqlpower.matchmaker.swingui.ColumnChooserTableModel$CustomTableColumn defines compareTo(ColumnChooserTableModel$CustomTableColumn) and uses Object.equals()
Eq ca.sqlpower.matchmaker.swingui.DisplayedNodeValueChooser$CustomTableColumn defines compareTo(DisplayedNodeValueChooser$CustomTableColumn) and uses Object.equals()
Eq ca.sqlpower.matchmaker.swingui.munge.StepDescription defines compareTo(StepDescription) and uses Object.equals()
ES Comparison of String objects using == or != in ca.sqlpower.matchmaker.swingui.engine.EngineSettingsPanel$11.mmPropertyChanged(MatchMakerEvent)
ES Comparison of String objects using == or != in ca.sqlpower.matchmaker.swingui.engine.EngineSettingsPanel$12.mmPropertyChanged(MatchMakerEvent)
ES Comparison of String objects using == or != in ca.sqlpower.matchmaker.swingui.TranslateWordsTableModel.setValueAt(Object, int, int)
HE org.json.JSONObject$Null defines equals and uses Object.hashCode()
Nm Confusing to have methods ca.sqlpower.matchmaker.CachableTable.setSPDataSource(String) and ca.sqlpower.matchmaker.TableMergeRules.setSpDataSource(String)
Nm Confusing to have methods ca.sqlpower.matchmaker.munge.MetaphoneMungeStepTest.testCallonNull() and ca.sqlpower.matchmaker.munge.SortWordsMungeStepTest.testCallOnNull()
Nm Confusing to have methods ca.sqlpower.matchmaker.munge.SortWordsMungeStepTest.testCallOnInteger() and ca.sqlpower.matchmaker.munge.UpperCaseMungeStepTest.testCallonInteger()
Nm The field name ca.sqlpower.matchmaker.swingui.munge.AddressCorrectionMungeComponent.HyperlinkTextSelectedListener doesn't start with a lower case letter
NP ca.sqlpower.matchmaker.munge.AbstractMungeStep.getBooleanParameter(String) has Boolean return type and returns explicit null
NP ca.sqlpower.matchmaker.munge.StubMungeStep.call() has Boolean return type and returns explicit null
ODR ca.sqlpower.matchmaker.AbstractCleanseEngineImplTest.testSimpleCall() may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testAugment() may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testConcat() may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testDeleteDup() may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testDeleteDupChild() may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testMax() may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testMin() may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testSum() may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testUnmatch() may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testUpdateDeleteOnConflict() may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testUpdateFailOnConflictOnChildTableWithNoPK() may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testUpdateFailOnConflictOnChildTableWithNoPK() may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testAugment() may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testConcat() may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testDeleteDup() may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testDeleteDupChild() may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testMax() may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testMergeOnConflict() may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testMin() may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testSum() may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testUnmatch() may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testUpdateDeleteOnConflict() may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testUpdateFailOnConflict() may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testUpdateFailOnConflictOnChildTableWithNoPK() may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testUpdateUsingSQL() may fail to close java.sql.Statement
ODR new ca.sqlpower.matchmaker.dao.hibernate.MatchMakerHibernateSessionImpl(MatchMakerSessionContext, JDBCDataSource) may fail to close database resource on exception
ODR ca.sqlpower.matchmaker.dao.hibernate.MatchMakerHibernateSessionImpl.canSelectTable(SQLTable) may fail to close database resource on exception
ODR ca.sqlpower.matchmaker.dao.hibernate.ProjectDAOOracleTest.setUp() may fail to close database resource on exception
ODR ca.sqlpower.matchmaker.dao.hibernate.ProjectDAOSQLServerTest.setUp() may fail to close database resource on exception
ODR ca.sqlpower.matchmaker.dao.hibernate.RepositoryUtil.createOrUpdateRepositorySchema(JDBCDataSource) may fail to close database resource on exception
ODR ca.sqlpower.matchmaker.dao.hibernate.RepositoryUtil.upgradeSchema(JDBCDataSource, Version, Version) may fail to close database resource on exception
ODR ca.sqlpower.matchmaker.MatchPool.clear(Aborter) may fail to close database resource on exception
ODR ca.sqlpower.matchmaker.MatchPoolTest.testStoreDropsRemovedRecords() may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.MatchPoolTest.testStoreNewRecordMatched() may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.MatchPoolTest.testStoreUpdatesOnMatch() may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.MatchPoolTest.testStoreUpdatesOnNoMatch() may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.MatchPoolTest.testStoreUpdatesOnUnmatch() may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.munge.MockJDBCCleanseTest.testDoNothing() may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.munge.MockJDBCCleanseTest.testOneUpperCaseConnection() may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.munge.SQLInputStep.refreshAndSetup(Logger, boolean) may fail to close java.sql.Statement
ODR ca.sqlpower.matchmaker.swingui.BuildExampleTableDialog$PopulateTableWorker.populateTable(SQLTable) may fail to close java.sql.PreparedStatement
ODR ca.sqlpower.matchmaker.swingui.BuildExampleTableDialog$PopulateTableWorker.populateTable(SQLTable) may fail to close java.sql.PreparedStatement
ODR ca.sqlpower.matchmaker.swingui.BuildExampleTableDialog$PopulateTableWorker.populateTable(SQLTable) may fail to close database resource on exception
ODR ca.sqlpower.matchmaker.swingui.MatchStatisticsPanel.getProjectStats(Project) may fail to close java.sql.PreparedStatement
ODR ca.sqlpower.matchmaker.swingui.MatchStatisticsPanel.getMungeProcessStats(Project, int, int) may fail to close database resource on exception
ODR ca.sqlpower.matchmaker.swingui.MatchStatisticsPanel.getMungeProcessStats(Project, int, int) may fail to close database resource on exception
ODR ca.sqlpower.matchmaker.swingui.MatchValidationStatus.getMatchStats() may fail to close java.sql.PreparedStatement
ODR ca.sqlpower.matchmaker.TestingMatchMakerSession.canSelectTable(SQLTable) may fail to close database resource on exception
OS ca.sqlpower.matchmaker.munge.GoogleAddressLookup.readURL(String) may fail to close stream on exception
OS ca.sqlpower.matchmaker.swingui.JTableExporter.writeDocumentCSV(Component, JTable, File) may fail to close stream on exception
OS ca.sqlpower.matchmaker.swingui.SwingSessionContextImpl.generatePropertiesList() may fail to close stream
RC Suspicious comparison of java.lang.Boolean references in ca.sqlpower.matchmaker.munge.SQLInputStepTest.testOutputsNullAfterEnd()
RV ca.sqlpower.matchmaker.AbstractEngine.canWriteLogFile(MatchMakerSettings) ignores exceptional return value of java.io.File.delete()
RV ca.sqlpower.matchmaker.AbstractEngine.canWriteLogFile(MatchMakerSettings) ignores exceptional return value of java.io.File.createNewFile()
RV ca.sqlpower.matchmaker.MatchMakerEngineImplTest.testCanReadLogExists() ignores exceptional return value of java.io.File.createNewFile()
RV ca.sqlpower.matchmaker.MatchMakerEngineImplTest.testCanReadLogExists() ignores exceptional return value of java.io.File.delete()
RV ca.sqlpower.matchmaker.MatchMakerEngineImplTest.testCanReadLogNonExistant() ignores exceptional return value of java.io.File.delete()
RV ca.sqlpower.matchmaker.MatchMakerEngineImplTest.testCanReadLogNonExistant() ignores exceptional return value of java.io.File.mkdir()
RV ca.sqlpower.matchmaker.MatchMakerEngineImplTest.testCanWriteLogExists() ignores exceptional return value of java.io.File.createNewFile()
RV ca.sqlpower.matchmaker.MatchMakerEngineImplTest.testCanWriteLogExists() ignores exceptional return value of java.io.File.delete()
RV ca.sqlpower.matchmaker.MatchMakerEngineImplTest.testCanWriteLogNonExistantButWritable() ignores exceptional return value of java.io.File.createNewFile()
RV ca.sqlpower.matchmaker.MatchMakerEngineImplTest.testCanWriteLogNonExistantButWritable() ignores exceptional return value of java.io.File.delete()
RV ca.sqlpower.matchmaker.MatchMakerEngineImplTest.testLogCantWrite() ignores exceptional return value of java.io.File.createNewFile()
RV ca.sqlpower.matchmaker.MatchMakerEngineImplTest.testLogCantWrite() ignores exceptional return value of java.io.File.delete()
RV ca.sqlpower.matchmaker.MatchMakerEngineImplTest.testLogCantWrite() ignores exceptional return value of java.io.File.setReadOnly()
RV ca.sqlpower.matchmaker.munge.AbstractMungeStep.removeUnusedInput() ignores exceptional return value of java.util.Queue.offer(Object)
RV ca.sqlpower.matchmaker.munge.CSVWriterMungeStepTest.tearDown() ignores exceptional return value of java.io.File.delete()
Se ca.sqlpower.matchmaker.MungeProcessPriorityComparator implements Comparator but not Serializable
Se ca.sqlpower.matchmaker.SourceTableRecordDisplayComparator implements Comparator but not Serializable
Se Class ca.sqlpower.matchmaker.swingui.action.DeleteMergeRuleAction defines non-transient non-serializable instance field mergeRule
Se Class ca.sqlpower.matchmaker.swingui.action.DeleteMungeProcessAction defines non-transient non-serializable instance field mungeProcess
Se Class ca.sqlpower.matchmaker.swingui.action.DeleteMungeStepAction defines non-transient non-serializable instance field step
Se Class ca.sqlpower.matchmaker.swingui.action.DeletePlFolderAction defines non-transient non-serializable instance field dialog
Se Class ca.sqlpower.matchmaker.swingui.action.DeleteProjectAction defines non-transient non-serializable instance field project
Se Class ca.sqlpower.matchmaker.swingui.action.DeleteTranslateGroupAction defines non-transient non-serializable instance field group
Se Class ca.sqlpower.matchmaker.swingui.action.DeriveRelatedRulesAction defines non-transient non-serializable instance field project
Se Class ca.sqlpower.matchmaker.swingui.action.DuplicateProjectAction defines non-transient non-serializable instance field cancelCall
Se Class ca.sqlpower.matchmaker.swingui.action.DuplicateProjectAction defines non-transient non-serializable instance field okCall
Se Class ca.sqlpower.matchmaker.swingui.action.DuplicateProjectAction defines non-transient non-serializable instance field project
Se ca.sqlpower.matchmaker.swingui.action.DuplicateProjectAction$2 stored into non-transient field DuplicateProjectAction.cancelCall
Se ca.sqlpower.matchmaker.swingui.action.DuplicateProjectAction$1 stored into non-transient field DuplicateProjectAction.okCall
Se Class ca.sqlpower.matchmaker.swingui.action.NewMergeRuleAction defines non-transient non-serializable instance field parent
Se Class ca.sqlpower.matchmaker.swingui.action.NewMungeProcessAction defines non-transient non-serializable instance field project
Se Class ca.sqlpower.matchmaker.swingui.action.ScriptAction defines non-transient non-serializable instance field targetObject
Se Class ca.sqlpower.matchmaker.swingui.action.ShowMatchStatisticInfoAction defines non-transient non-serializable instance field project
Se Class ca.sqlpower.matchmaker.swingui.address.AddressLabel defines non-transient non-serializable instance field comparisonAddress
Se Class ca.sqlpower.matchmaker.swingui.address.AddressLabel defines non-transient non-serializable instance field currentAddress
Se Class ca.sqlpower.matchmaker.swingui.BuildExampleTableDialog defines non-transient non-serializable instance field sourceChooser
Se Class ca.sqlpower.matchmaker.swingui.engine.RunEngineAction defines non-transient non-serializable instance field engineOutputPanel
Se Class ca.sqlpower.matchmaker.swingui.engine.RunEngineAction defines non-transient non-serializable instance field project
Se ca.sqlpower.matchmaker.swingui.FilterMakerDialog$1 stored into non-transient field FilterMakerDialog.windowsListener
Se Class ca.sqlpower.matchmaker.swingui.graphViewer.GraphViewer defines non-transient non-serializable instance field layoutCache
Se Class ca.sqlpower.matchmaker.swingui.graphViewer.GraphViewer defines non-transient non-serializable instance field mouseListener
Se ca.sqlpower.matchmaker.swingui.graphViewer.DefaultGraphLayoutCache stored into non-transient field GraphViewer.layoutCache
Se Class ca.sqlpower.matchmaker.swingui.LabelPane defines non-transient non-serializable instance field moveListener
Se ca.sqlpower.matchmaker.swingui.LabelPane$3 stored into non-transient field LabelPane.mouseAdapter
Se ca.sqlpower.matchmaker.swingui.MatchResultVisualizer$SourceTableRecordsComparator implements Comparator but not Serializable
Se ca.sqlpower.matchmaker.swingui.MatchResultVisualizer$SourceTableRecordsComparator$MatchTypeComparator implements Comparator but not Serializable
Se Class ca.sqlpower.matchmaker.swingui.MatchStatisticsPanel defines non-transient non-serializable instance field project
Se Class ca.sqlpower.matchmaker.swingui.MMSUtils$5 defines non-transient non-serializable instance field val$project
Se Class ca.sqlpower.matchmaker.swingui.munge.AddressCorrectionMungeComponent defines non-transient non-serializable instance field HyperlinkTextSelectedListener
Se Class ca.sqlpower.matchmaker.swingui.munge.AddressCorrectionMungeComponent defines non-transient non-serializable instance field preferenceListener
Se ca.sqlpower.matchmaker.swingui.munge.AddressCorrectionMungeComponent$1 stored into non-transient field AddressCorrectionMungeComponent.preferenceListener
Se ca.sqlpower.matchmaker.swingui.munge.AddressCorrectionMungeComponent$2 stored into non-transient field AddressCorrectionMungeComponent.HyperlinkTextSelectedListener
Se Class ca.sqlpower.matchmaker.swingui.munge.IOConnector defines non-transient non-serializable instance field nonSelectedStroke
Se Class ca.sqlpower.matchmaker.swingui.munge.IOConnector defines non-transient non-serializable instance field selectedStroke
Se java.awt.BasicStroke stored into non-transient field IOConnector.nonSelectedStroke
Se java.awt.BasicStroke stored into non-transient field IOConnector.selectedStroke
Se Class ca.sqlpower.matchmaker.swingui.munge.MungePen defines non-transient non-serializable instance field mungeStepListener
Se Class ca.sqlpower.matchmaker.swingui.munge.MungePen defines non-transient non-serializable instance field preview
Se Class ca.sqlpower.matchmaker.swingui.munge.MungePen defines non-transient non-serializable instance field process
Se Class ca.sqlpower.matchmaker.swingui.PotentialMatchEdgeRenderer defines non-transient non-serializable instance field edge
Se Class ca.sqlpower.matchmaker.swingui.QueryDialog defines non-transient non-serializable instance field treeListener
Se ca.sqlpower.matchmaker.swingui.QueryDialog$1 stored into non-transient field QueryDialog.treeListener
Se Class ca.sqlpower.matchmaker.swingui.QueryDialog$1$1 defines non-transient non-serializable instance field this$1
Se Class ca.sqlpower.matchmaker.undo.MMOChildrenInsertUndoableEdit defines non-transient non-serializable instance field mmo
Se Class ca.sqlpower.matchmaker.undo.MMOChildrenInsertUndoableEdit defines non-transient non-serializable instance field undoEvent
Se Class ca.sqlpower.matchmaker.undo.MMOChildrenRemoveUndoableEdit defines non-transient non-serializable instance field mmo
Se Class ca.sqlpower.matchmaker.undo.MMOChildrenRemoveUndoableEdit defines non-transient non-serializable instance field undoEvent
Se Class ca.sqlpower.matchmaker.undo.MMOPropertyChangeUndoableEdit defines non-transient non-serializable instance field undoEvent
Se Class ca.sqlpower.matchmaker.util.RefreshException defines non-transient non-serializable instance field project
SW Call to swing method in ca.sqlpower.matchmaker.swingui.TestJTextAreaUndoWrapper.main(String[]) needs to be performed in Swing event thread
SW Call to swing method in ca.sqlpower.matchmaker.swingui.TestJTextAreaUndoWrapper.main(String[]) needs to be performed in Swing event thread
UI Usage of GetResource in ca.sqlpower.matchmaker.dao.hibernate.MatchMakerHibernateSessionImpl.buildHibernateSessionFactory(JDBCDataSource) may be unsafe if class is extended
UI Usage of GetResource in new ca.sqlpower.matchmaker.swingui.LoginDialog(SwingSessionContextImpl) may be unsafe if class is extended
UI Usage of GetResource in ca.sqlpower.matchmaker.swingui.MatchMakerSplashScreen.buildUI() may be unsafe if class is extended
UI Usage of GetResource in new ca.sqlpower.matchmaker.swingui.MatchMakerTreeCellRenderer() may be unsafe if class is extended
UI Usage of GetResource in new ca.sqlpower.matchmaker.swingui.MatchResultVisualizer(Project, MatchMakerSwingSession) may be unsafe if class is extended

Correctness Warnings

Code&nbsp; Warning
BC instanceof will always return false in ca.sqlpower.matchmaker.munge.MungeProcess.includeMungeStep(MungeStep), since a ca.sqlpower.matchmaker.munge.SQLInputStep can't be a ca.sqlpower.matchmaker.munge.AddressCorrectionMungeStep
DMI Invocation of toString on an array in ca.sqlpower.matchmaker.swingui.FilterMakerDialog$6.actionPerformed(ActionEvent)
MF Method ca.sqlpower.matchmaker.AbstractCleanseEngineImplTest.testSimpleCall() defines a variable that obscures field AbstractCleanseEngineImplTest.con
MF Method ca.sqlpower.matchmaker.dao.hibernate.MatchMakerTranslateGroupDAOSQLServerTest.testFindByNameWithBadSequence() defines a variable that obscures field MatchMakerTranslateGroupDAOSQLServerTest.translateGroup
MF Method ca.sqlpower.matchmaker.dao.hibernate.MatchMakerTranslateGroupDAOSQLServerTest.testIfChildrenLoadWorks() defines a variable that obscures field MatchMakerTranslateGroupDAOSQLServerTest.translateGroup
MF Method ca.sqlpower.matchmaker.dao.hibernate.MatchMakerTranslateGroupDAOSQLServerTest.testIfNullChildrenLoadWorks() defines a variable that obscures field MatchMakerTranslateGroupDAOSQLServerTest.translateGroup
MF Method ca.sqlpower.matchmaker.swingui.MatchResultVisualizerTest.setUp() defines a variable that obscures field MatchResultVisualizerTest.session
MF Method ca.sqlpower.matchmaker.TestingMatchMakerSession.getDatabase(JDBCDataSource) defines a variable that obscures field TestingMatchMakerSession.db
NP Possible null pointer dereference of ? in ca.sqlpower.matchmaker.address.parse.AddressParser.street()
NP Method call in ca.sqlpower.matchmaker.address.parse.AddressParser.street() passes null for unconditionally dereferenced parameter of String.split(String)
NP Method call in ca.sqlpower.matchmaker.AutoMatcher.actuallyDoAutoMatch(MungeProcess) passes null for unconditionally dereferenced parameter of makeAutoMatches(MungeProcess, SourceTableRecord, Set, Set)
NP Method call in ca.sqlpower.matchmaker.MatchPool.doAutoMatch(MungeProcess) passes null for unconditionally dereferenced parameter of makeAutoMatches(MungeProcess, SourceTableRecord, Set, Set)
NP Possible null pointer dereference of selectionPath in ca.sqlpower.matchmaker.swingui.data.CommonWordsFinderPanel.performSearch()
NP Method call in ca.sqlpower.matchmaker.swingui.munge.AbstractMungeComponent.reload() passes null for unconditionally dereferenced parameter of deOpaquify(Container)
RCN Nullcheck of stmt at line 882 of value previously dereferenced in ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.execSQL(Connection, String)
RCN Nullcheck of stmt at line 1015 of value previously dereferenced in ca.sqlpower.matchmaker.AbstractMergeProcessorTest.execSQL(Connection, String)
RCN Nullcheck of export at line 113 of value previously dereferenced in ca.sqlpower.matchmaker.swingui.action.ExportProjectAction.actionPerformed(ActionEvent)
RCN Nullcheck of fkTable at line 255 of value previously dereferenced in ca.sqlpower.matchmaker.swingui.DeriveRelatedRulesPanel$DeriveAction.deriveMergeRulesByFKConstraints(SQLTable, TableMergeRules, List)
RV ca.sqlpower.matchmaker.swingui.munge.NumberConstantMungeComponent$NumberValidator.validate(Object) ignores return value of new java.math.BigDecimal(String)
SQL Method ca.sqlpower.persistance.CatNap.load(Connection, String, Object, String) attempts to access a result set field with index 0
UR Uninitialized read of session in new ca.sqlpower.matchmaker.TestingMatchMakerContext()
UwF Unwritten field: ca.sqlpower.matchmaker.data.CommonWordsFinder.wordSeparator
UwF Unwritten field: ca.sqlpower.matchmaker.data.CommonWordsFinder.caseSensitive

Internationalization Warnings

Code&nbsp; Warning
Dm Use of non-localized String.toUpperCase() or String.toLowerCase
Dm Use of non-localized String.toUpperCase() or String.toLowerCase
Dm Use of non-localized String.toUpperCase() or String.toLowerCase
Dm Use of non-localized String.toUpperCase() or String.toLowerCase
Dm Use of non-localized String.toUpperCase() or String.toLowerCase
Dm Use of non-localized String.toUpperCase() or String.toLowerCase
Dm Use of non-localized String.toUpperCase() or String.toLowerCase
Dm Use of non-localized String.toUpperCase() or String.toLowerCase
Dm Use of non-localized String.toUpperCase() or String.toLowerCase
Dm Use of non-localized String.toUpperCase() or String.toLowerCase
Dm Use of non-localized String.toUpperCase() or String.toLowerCase
Dm Use of non-localized String.toUpperCase() or String.toLowerCase
Dm Use of non-localized String.toUpperCase() or String.toLowerCase
Dm Use of non-localized String.toUpperCase() or String.toLowerCase
Dm Use of non-localized String.toUpperCase() or String.toLowerCase
Dm Use of non-localized String.toUpperCase() or String.toLowerCase
Dm Use of non-localized String.toUpperCase() or String.toLowerCase
Dm Use of non-localized String.toUpperCase() or String.toLowerCase
Dm Use of non-localized String.toUpperCase() or String.toLowerCase
Dm Use of non-localized String.toUpperCase() or String.toLowerCase
Dm Use of non-localized String.toUpperCase() or String.toLowerCase
Dm Use of non-localized String.toUpperCase() or String.toLowerCase

Malicious code vulnerability Warnings

Code&nbsp; Warning
EI ca.sqlpower.matchmaker.AbstractMatchMakerObject.getCreateDate() may expose internal representation by returning AbstractMatchMakerObject.createDate
EI ca.sqlpower.matchmaker.AbstractMatchMakerObject.getLastUpdateDate() may expose internal representation by returning AbstractMatchMakerObject.lastUpdateDate
EI ca.sqlpower.matchmaker.address.AddressDatabaseDate.getDate() may expose internal representation by returning AddressDatabaseDate.date
EI ca.sqlpower.matchmaker.address.parse.AddressParser.getTokenNames() may expose internal representation by returning AddressParser.tokenNames
EI ca.sqlpower.matchmaker.dao.hibernate.MatchMakerHibernateSessionImpl.getSessionStartTime() may expose internal representation by returning MatchMakerHibernateSessionImpl.sessionStartTime
EI ca.sqlpower.matchmaker.event.MatchMakerEvent.getChangeIndices() may expose internal representation by returning MatchMakerEvent.changeIndices
EI ca.sqlpower.matchmaker.MatchMakerSettings.getLastRunDate() may expose internal representation by returning MatchMakerSettings.lastRunDate
EI ca.sqlpower.matchmaker.munge.MungeResult.getMungedData() may expose internal representation by returning MungeResult.mungedData
EI ca.sqlpower.matchmaker.TestingMatchMakerSession.getSessionStartTime() may expose internal representation by returning TestingMatchMakerSession.date
EI ca.sqlpower.matchmaker.util.AutoValidateSettingUserType.sqlTypes() may expose internal representation by returning AutoValidateSettingUserType.SQL_TYPES
EI ca.sqlpower.matchmaker.util.ListToMultiColumns.sqlTypes() may expose internal representation by returning ListToMultiColumns.types
EI ca.sqlpower.matchmaker.util.PoolFilterSettingUserType.sqlTypes() may expose internal representation by returning PoolFilterSettingUserType.SQL_TYPES
EI2 ca.sqlpower.matchmaker.address.AddressDatabaseDate.setDate(Date) may expose internal representation by storing an externally mutable object into AddressDatabaseDate.date
EI2 ca.sqlpower.matchmaker.event.MatchMakerEvent.setChangeIndices(int[]) may expose internal representation by storing an externally mutable object into MatchMakerEvent.changeIndices
EI2 ca.sqlpower.matchmaker.munge.MungeResult.setMungedData(Object[]) may expose internal representation by storing an externally mutable object into MungeResult.mungedData
EI2 ca.sqlpower.matchmaker.TestingMatchMakerSession.setSessionStartTime(Date) may expose internal representation by storing an externally mutable object into TestingMatchMakerSession.date
MS ca.sqlpower.matchmaker.address.parse.AddressParser.tokenNames should be package protected
MS ca.sqlpower.matchmaker.swingui.munge.MungePen.LABELS_LAYER isn't final but should be

Multithreaded correctness Warnings

Code&nbsp; Warning
No Using notify rather than notifyAll in ca.sqlpower.matchmaker.Project.releaseEngineLock(Monitorable)

Performance Warnings

Code&nbsp; Warning
Bx Method ca.sqlpower.matchmaker.dao.AbstractDAOTestCase.setAllSetters(MatchMakerSession, MatchMakerObject, List) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method ca.sqlpower.matchmaker.dao.AbstractDAOTestCase.setAllSetters(MatchMakerSession, MatchMakerObject, List) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead
Bx Method ca.sqlpower.matchmaker.MatchMakerTestCase.getNewDifferentValue(MatchMakerObject, PropertyDescriptor, Object) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method ca.sqlpower.matchmaker.MatchMakerTestCase.getNewDifferentValue(MatchMakerObject, PropertyDescriptor, Object) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead
Bx Method ca.sqlpower.matchmaker.MatchMakerTestCase.modifyObject(MatchMakerObject, PropertyDescriptor, Object) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method ca.sqlpower.matchmaker.MatchMakerTestCase.modifyObject(MatchMakerObject, PropertyDescriptor, Object) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead
Bx Method ca.sqlpower.matchmaker.MatchPool.getJobSize() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method ca.sqlpower.matchmaker.MergeSettings.duplicate(MatchMakerObject, MatchMakerSession) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method ca.sqlpower.matchmaker.munge.ConcatMungeStepTest.testCallonInteger() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method ca.sqlpower.matchmaker.munge.DateToStringMungeStepTest.testCallonInteger() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method ca.sqlpower.matchmaker.munge.DoubleMetaphoneMungeStepTest.testCallonInteger() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method ca.sqlpower.matchmaker.munge.EmptyStringToNullTest.testCallOnInteger() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method ca.sqlpower.matchmaker.munge.LowerCaseMungeStepTest.testConnectIntegerInput() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method ca.sqlpower.matchmaker.munge.MetaphoneMungeStepTest.testCallonInteger() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method ca.sqlpower.matchmaker.munge.MungeProcess.duplicate(MatchMakerObject, MatchMakerSession) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method ca.sqlpower.matchmaker.munge.RefinedSoundexMungeStepTest.testCallonInteger() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method ca.sqlpower.matchmaker.munge.RetainCharactersMungeStepTest.testCallonInteger() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method ca.sqlpower.matchmaker.munge.SoundexMungeStepTest.testCallonInteger() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method ca.sqlpower.matchmaker.munge.SQLInputStepTest.setUp() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method ca.sqlpower.matchmaker.munge.StringSubstitutionMungeStepTest.testCallonInteger() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method ca.sqlpower.matchmaker.munge.SubstringByWordMungeStepTest.testCallonInteger() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method ca.sqlpower.matchmaker.munge.SubstringMungeStepTest.testCallonInteger() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method ca.sqlpower.matchmaker.munge.TranslateWordMungeStepTest.testCallonInteger() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method ca.sqlpower.matchmaker.munge.UpperCaseMungeStepTest.testCallonInteger() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method ca.sqlpower.matchmaker.munge.WordCountMungeStepTest.testCallonInteger() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method ca.sqlpower.matchmaker.MungeSettings.duplicate(MatchMakerObject, MatchMakerSession) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method ca.sqlpower.matchmaker.MungeSettings.duplicate(MatchMakerObject, MatchMakerSession) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead
Bx Method ca.sqlpower.matchmaker.MungeSettings.duplicate(MatchMakerObject, MatchMakerSession) invokes inefficient new Short(short) constructor; use Short.valueOf(short) instead
Bx Method ca.sqlpower.matchmaker.swingui.AbstractMatchMakerTableModel$TableModelEventAdapter.mmChildrenInserted(MatchMakerEvent) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method ca.sqlpower.matchmaker.swingui.AbstractMatchMakerTableModel$TableModelEventAdapter.mmChildrenRemoved(MatchMakerEvent) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method ca.sqlpower.matchmaker.swingui.BuildExampleTableDialog$PopulationMonitor.getJobSize() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method ca.sqlpower.matchmaker.swingui.ColumnChooserTableModel.setValueAt(Object, int, int) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method new ca.sqlpower.matchmaker.swingui.DisplayedNodeValueChooser$OrderedColumnChooserTableModel(DisplayedNodeValueChooser, SQLTable, List) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method ca.sqlpower.matchmaker.swingui.DisplayedNodeValueChooser$OrderedColumnChooserTableModel.setValueAt(Object, int, int) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method ca.sqlpower.matchmaker.swingui.engine.EngineSettingsPanel.applyChanges() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method ca.sqlpower.matchmaker.swingui.engine.EngineSettingsPanel$7.itemStateChanged(ItemEvent) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method new ca.sqlpower.matchmaker.swingui.JTableExporter(Component, JTable) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Primitive value is boxed and then immediately unboxed in ca.sqlpower.matchmaker.swingui.munge.MungePen.<static initializer>()
Bx Method ca.sqlpower.matchmaker.swingui.munge.MungePen.<static initializer>() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method new ca.sqlpower.matchmaker.swingui.munge.MungePen(MungeProcess, FormValidationHandler, Project) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method ca.sqlpower.matchmaker.swingui.TranslateWordsEditor$4.actionPerformed(ActionEvent) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method ca.sqlpower.matchmaker.TranslateGroupParentTest.testIsUseInBusinessModelTGFound() invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead
Bx Method org.json.JSONArray.put(double) invokes inefficient Double.valueOf(double) constructor; use JSONArray.java:[line 577] instead
Bx Method org.json.JSONArray.put(int, double) invokes inefficient Double.valueOf(double) constructor; use JSONArray.java:[line 674] instead
Bx Method org.json.JSONArray.put(int) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method org.json.JSONArray.put(int, int) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method org.json.JSONArray.put(int, long) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead
Bx Method org.json.JSONArray.put(long) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead
Bx Method org.json.JSONObject.put(String, double) invokes inefficient Double.valueOf(double) constructor; use JSONObject.java:[line 916] instead
Bx Method org.json.JSONObject.put(String, int) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method org.json.JSONObject.put(String, long) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead
Bx Method org.json.JSONTokener.nextValue() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Bx Method org.json.JSONWriter.value(double) invokes inefficient Double.valueOf(double) constructor; use JSONWriter.java:[line 293] instead
Bx Method org.json.XML.<static initializer>() invokes inefficient new Character(char) constructor; use Character.valueOf(char) instead
Dm ca.sqlpower.matchmaker.dao.AbstractDAOTestCase.setAllSetters(MatchMakerSession, MatchMakerObject, List) invokes inefficient Boolean constructor; use Boolean.valueOf(...) instead
Dm ca.sqlpower.matchmaker.MatchMakerTestCase.getNewDifferentValue(MatchMakerObject, PropertyDescriptor, Object) invokes inefficient Boolean constructor; use Boolean.valueOf(...) instead
Dm ca.sqlpower.matchmaker.MatchMakerTestCase.modifyObject(MatchMakerObject, PropertyDescriptor, Object) invokes inefficient Boolean constructor; use Boolean.valueOf(...) instead
Dm ca.sqlpower.matchmaker.MergeSettings.duplicate(MatchMakerObject, MatchMakerSession) invokes inefficient new String(String) constructor
Dm ca.sqlpower.matchmaker.munge.MungeProcess.duplicate(MatchMakerObject, MatchMakerSession) invokes inefficient new String(String) constructor
Dm ca.sqlpower.matchmaker.MungeSettings.duplicate(MatchMakerObject, MatchMakerSession) invokes inefficient new String(String) constructor
Dm ca.sqlpower.matchmaker.SourceTableRecordTest.testEqualsWhenFalse() invokes inefficient new String(String) constructor
Dm ca.sqlpower.matchmaker.SourceTableRecordTest.testEqualsWhenFalseAndKeysHaveDifferentLength() invokes inefficient new String(String) constructor
Dm ca.sqlpower.matchmaker.SourceTableRecordTest.testEqualsWhenTrue() invokes inefficient new String(String) constructor
Dm ca.sqlpower.matchmaker.util.CustomBooleanType.deepCopy(Object) invokes inefficient Boolean constructor; use Boolean.valueOf(...) instead
Dm ca.sqlpower.matchmaker.util.ViewSpec.duplicate() invokes inefficient new String(String) constructor
ITA Method ca.sqlpower.matchmaker.swingui.munge.DateToStringMungeComponent.buildUI() uses Collection.toArray() with zero-length array argument
ITA Method ca.sqlpower.matchmaker.swingui.munge.DateToStringMungeComponent.buildUI() uses Collection.toArray() with zero-length array argument
ITA Method ca.sqlpower.matchmaker.swingui.munge.MungePen.buildPopup(Map) uses Collection.toArray() with zero-length array argument
ITA Method new ca.sqlpower.matchmaker.swingui.munge.MungeStepLibrary(MungePen, Map) uses Collection.toArray() with zero-length array argument
ITA Method ca.sqlpower.matchmaker.swingui.munge.StringToDateMungeComponent.buildUI() uses Collection.toArray() with zero-length array argument
ITA Method ca.sqlpower.matchmaker.swingui.munge.StringToDateMungeComponent.buildUI() uses Collection.toArray() with zero-length array argument
ITA Method ca.sqlpower.matchmaker.swingui.munge.StringToDateMungeComponent.buildUI() uses Collection.toArray() with zero-length array argument
ITA Method ca.sqlpower.matchmaker.swingui.munge.TranslateWordMungeComponent.buildUI() uses Collection.toArray() with zero-length array argument
SBSC Method ca.sqlpower.matchmaker.munge.AbstractMungeStep.printInputs() concatenates strings using + in a loop
SBSC Method ca.sqlpower.matchmaker.munge.AbstractMungeStep.printOutputs() concatenates strings using + in a loop
SBSC Method ca.sqlpower.matchmaker.munge.StringToBooleanMungeStep.getPattern(boolean, boolean, String) concatenates strings using + in a loop
SBSC Method ca.sqlpower.matchmaker.swingui.BuildExampleTableDialog.getEmail(Random) concatenates strings using + in a loop
SIC The class ca.sqlpower.matchmaker.AbstractCleanseEngineImplTest$1 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.AbstractMatchMakerObjectTest$1 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.AbstractMatchMakerObjectTest$2 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.AbstractMatchMakerObjectTest$3 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.AbstractMatchMakerObjectTest$4 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.AbstractMatchMakerObjectTest$5 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.AbstractMatchMakerObjectTest$6 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.AbstractMatchMakerObjectTest$7 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest$1 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.AbstractMergeProcessorTest$1 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.AbstractRefreshTest$1 could be refactored into a named _static_ inner class
SIC Should ca.sqlpower.matchmaker.address.parse.AddressLexer$DFA9 be a _static_ inner class?
SIC The class ca.sqlpower.matchmaker.ColumnMergeRules$ColumnMergeRulesCachableColumn could be refactored into a _static_ inner class
SIC The class ca.sqlpower.matchmaker.ColumnMergeRules$ColumnMergeRulesImportedCachableColumn could be refactored into a _static_ inner class
SIC The class ca.sqlpower.matchmaker.event.MatchMakerEventSupportTest$1 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.event.MatchMakerEventSupportTest$3 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.event.MatchMakerEventSupportTest$4 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.event.MatchMakerEventSupportTest$5 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.event.MatchMakerEventSupportTest$6 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.event.MatchMakerEventSupportTest$7 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.event.MatchMakerEventSupportTest$8 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.MatchEngineImplTest$1 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.MatchMakerSettingsTest$1 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.MatchMakerUtilsTest$1 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.MatchMakerUtilsTest$2 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.munge.GoogleAddressLookupTest$1ErrorCounter could be refactored into a named _static_ inner class
SIC Should ca.sqlpower.matchmaker.munge.MungePreviewer$PreviewEvent be a _static_ inner class?
SIC The class ca.sqlpower.matchmaker.playground.StupidDialogTest$3 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.action.CreateRepositoryAction$1 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.action.CreateRepositoryAction$2 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.action.CreateRepositoryAction$3 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.action.CreateRepositoryAction$4 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.action.DeriveRelatedRulesAction$1 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.action.DuplicateProjectAction$2 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.action.DuplicateProjectAction$DuplicatePanel could be refactored into a _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.action.ProgressAction$1 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.BuildExampleTableDialog$4 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.BuildExampleTableDialog$6 could be refactored into a named _static_ inner class
SIC Should ca.sqlpower.matchmaker.swingui.BuildExampleTableDialog$CatalogSchemaValidator be a _static_ inner class?
SIC Should ca.sqlpower.matchmaker.swingui.BuildExampleTableDialog$TableNameValidator be a _static_ inner class?
SIC Should ca.sqlpower.matchmaker.swingui.ColumnChooserTableModel$CustomTableColumn be a _static_ inner class?
SIC Should ca.sqlpower.matchmaker.swingui.DeriveRelatedRulesPanel$PrimaryKeySelectionValidator be a _static_ inner class?
SIC Should ca.sqlpower.matchmaker.swingui.DisplayedNodeValueChooser$CustomTableColumn be a _static_ inner class?
SIC The class ca.sqlpower.matchmaker.swingui.engine.EngineSettingsPanel$10 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.engine.EngineSettingsPanel$11 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.engine.EngineSettingsPanel$12 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.engine.EngineSettingsPanel$14 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.engine.EngineSettingsPanel$15 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.engine.EngineSettingsPanel$8 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.engine.ShowCommandAction$1 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.engine.ShowCommandAction$2 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.engine.ShowCommandAction$3 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.LabelPane$16 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.MatchMakerSplashScreen$1 could be refactored into a named _static_ inner class
SIC Should ca.sqlpower.matchmaker.swingui.MatchMakerSwingSession$ColorTracker be a _static_ inner class?
SIC The class ca.sqlpower.matchmaker.swingui.MatchMakerSwingSession$DummyAction could be refactored into a _static_ inner class
SIC Should ca.sqlpower.matchmaker.swingui.MatchMakerTreeModel$ProjectActionNode be a _static_ inner class?
SIC The class ca.sqlpower.matchmaker.swingui.MatchMakerTreeMouseAndSelectionListener$7 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.MatchMakerTreeMouseAndSelectionListener$8 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.MatchResultVisualizer$6 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.MatchResultVisualizer$8 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.MatchResultVisualizer$9 could be refactored into a named _static_ inner class
SIC Should ca.sqlpower.matchmaker.swingui.MatchResultVisualizer$SourceTableRecordsComparator be a _static_ inner class?
SIC Should ca.sqlpower.matchmaker.swingui.MatchResultVisualizer$SourceTableRecordsComparator$MatchTypeComparator be a _static_ inner class?
SIC Should ca.sqlpower.matchmaker.swingui.MatchStatisticsPanel$MatchStatisticTable be a _static_ inner class?
SIC Should ca.sqlpower.matchmaker.swingui.MatchStatisticsPanel$MungeProcessStatisticTableModel be a _static_ inner class?
SIC Should ca.sqlpower.matchmaker.swingui.MatchTranslateTableModelTest$TableModelEventCounter be a _static_ inner class?
SIC Should ca.sqlpower.matchmaker.swingui.MatchValidationStatus$MatchStatsTableModel be a _static_ inner class?
SIC Should ca.sqlpower.matchmaker.swingui.MergeColumnRuleEditor$SourceColumnMergeRulesTable be a _static_ inner class?
SIC Should ca.sqlpower.matchmaker.swingui.MergeTableRuleEditor$RelatedTableMergeRulesTable be a _static_ inner class?
SIC The class ca.sqlpower.matchmaker.swingui.munge.AbstractMungeComponent$CoolJLabel could be refactored into a _static_ inner class
SIC Should ca.sqlpower.matchmaker.swingui.munge.CSVWriterMungeComponent$CharacterValidator be a _static_ inner class?
SIC The class ca.sqlpower.matchmaker.swingui.munge.MungePreviewPanel$3 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.munge.MungePreviewPanel$4 could be refactored into a named _static_ inner class
SIC Should ca.sqlpower.matchmaker.swingui.munge.MungePreviewPanel$MSOTableModel be a _static_ inner class?
SIC Should ca.sqlpower.matchmaker.swingui.munge.MungeStepLibrary$TransferableStepDescriptor be a _static_ inner class?
SIC The class ca.sqlpower.matchmaker.swingui.munge.StringToDateMungeComponent$5 could be refactored into a named _static_ inner class
SIC Should ca.sqlpower.matchmaker.swingui.MungeProcessGroupEditor$ColorRenderer be a _static_ inner class?
SIC Should ca.sqlpower.matchmaker.swingui.MungeProcessGroupEditor$MungeProcessTableModel be a _static_ inner class?
SIC Should ca.sqlpower.matchmaker.swingui.ProjectEditor$ProjectResultCatalogSchemaValidator be a _static_ inner class?
SIC Should ca.sqlpower.matchmaker.swingui.ProjectEditor$ProjectSourceTableIndexValidator be a _static_ inner class?
SIC The class ca.sqlpower.matchmaker.swingui.SourceTableRecordViewer$1 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.SwingSessionContextImpl$2 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.SwingSessionContextTest$1 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.SwingSessionContextTest$2 could be refactored into a named _static_ inner class
SIC Should ca.sqlpower.matchmaker.swingui.TranslateGroupsEditor$TranslateGroupsTableModel be a _static_ inner class?
SIC Should ca.sqlpower.matchmaker.swingui.TranslationComboBoxModelTest$ListDataEventCounter be a _static_ inner class?
SIC The class ca.sqlpower.matchmaker.swingui.ViewBuilderDialog$1 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.ViewBuilderDialog$2 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.ViewBuilderDialog$3 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.ViewBuilderDialog$5 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.ViewBuilderDialog$6 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.swingui.ViewBuilderDialog$8 could be refactored into a named _static_ inner class
SIC The class ca.sqlpower.matchmaker.util.EditableJTable$1 could be refactored into a named _static_ inner class
SS Unread field: ca.sqlpower.matchmaker.AbstractMatchMakerObjectTest.appUserName; should this field be static?
SS Unread field: ca.sqlpower.matchmaker.MatchMakerFolderTest.appUserName; should this field be static?
SS Unread field: ca.sqlpower.matchmaker.MatchMakerTranslateGroupTest.appUserName; should this field be static?
SS Unread field: ca.sqlpower.matchmaker.MatchMakerTranslateWordTest.appUserName; should this field be static?
SS Unread field: ca.sqlpower.matchmaker.MungeProcessTest.appUserName; should this field be static?
SS Unread field: ca.sqlpower.matchmaker.PlFolderTest.appUserName; should this field be static?
SS Unread field: ca.sqlpower.matchmaker.swingui.MatchMakerSwingSession.DQGURU_SUPPORT_URL; should this field be static?
SS Unread field: ca.sqlpower.matchmaker.swingui.MatchResultVisualizer$AutoMatchAction.warningMessage; should this field be static?
UPM Private method ca.sqlpower.matchmaker.address.AddressValidator.checkIfFirstPostalCodeStreetRangeInsideSecond(PostalCode, PostalCode) is never called
UPM Private method ca.sqlpower.matchmaker.address.AddressValidator.checkIfStreetErrorMatchesBothPostalCodes(Address, PostalCode, PostalCode) is never called
UPM Private method ca.sqlpower.matchmaker.address.AddressValidator.postalCodeStreetRangesCoverAddress(Address, PostalCode, PostalCode) is never called
UPM Private method ca.sqlpower.matchmaker.address.parse.AddressParser.couldBeGD() is never called
UPM Private method ca.sqlpower.matchmaker.address.parse.AddressParser.couldBeLockBox() is never called
UPM Private method ca.sqlpower.matchmaker.address.parse.AddressParser.couldBeRural() is never called
UPM Private method ca.sqlpower.matchmaker.address.parse.AddressParser.couldBeUrban() is never called
UPM Private method ca.sqlpower.matchmaker.MatchMakerTranslateWordTest.checkAppUserName() is never called
UPM Private method ca.sqlpower.matchmaker.MatchMakerTranslateWordTest.checkNull() is never called
UPM Private method ca.sqlpower.matchmaker.munge.AbstractMungeStep$Input.getParentStep() is never called
UPM Private method ca.sqlpower.matchmaker.munge.AbstractMungeStep$Input.setName(String) is never called
UPM Private method ca.sqlpower.matchmaker.munge.AbstractMungeStep$Input.setParentStep(AbstractMungeStep) is never called
UPM Private method ca.sqlpower.matchmaker.munge.AbstractMungeStep$Input.setType(Class) is never called
UPM Private method ca.sqlpower.matchmaker.swingui.MergeColumnRuleEditor.getParentTableUniqueKeyColumns() is never called
UPM Private method ca.sqlpower.matchmaker.swingui.munge.AbstractMungeComponent.getCoolJLabel(String, Class) is never called
UPM Private method ca.sqlpower.matchmaker.swingui.munge.AbstractMungeComponent.getDifferencePoint() is never called
UPM Private method ca.sqlpower.matchmaker.swingui.ProjectEditor.getParentFrame() is never called
UPM Private method ca.sqlpower.matchmaker.util.ViewSpec.create() is never called
UPM Private method ca.sqlpower.matchmaker.util.ViewSpec.drop() is never called
UPM Private method ca.sqlpower.matchmaker.util.ViewSpec.replace() is never called
UPM Private method ca.sqlpower.matchmaker.util.ViewSpec.verifyQuery() is never called
UrF Unread field: ca.sqlpower.matchmaker.dao.hibernate.MatchMakerTranslateGroupDAOOracleTest.translateGroup
UrF Unread field: ca.sqlpower.matchmaker.dao.hibernate.MatchMakerTranslateGroupDAOSQLServerTest.translateGroup
UrF Unread field: ca.sqlpower.matchmaker.dao.hibernate.MungeProcessDAOOracleTest.mungeProcess
UrF Unread field: ca.sqlpower.matchmaker.dao.hibernate.MungeProcessDAOSQLServerTest.mungeProcess
UrF Unread field: ca.sqlpower.matchmaker.dao.hibernate.ProjectDAOSQLServerTest.project
UrF Unread field: ca.sqlpower.matchmaker.graph.MatchPoolDotExport.mungeProcessesNames
UrF Unread field: ca.sqlpower.matchmaker.MatchMakerFolder.childClass
UrF Unread field: ca.sqlpower.matchmaker.MatchProcessorTest.nullDup
UrF Unread field: ca.sqlpower.matchmaker.swingui.data.CommonWordsFinderPanel.finder
UrF Unread field: ca.sqlpower.matchmaker.swingui.data.CommonWordsFinderPanel.okAction
UrF Unread field: ca.sqlpower.matchmaker.swingui.data.CommonWordsFinderPanel.panel
UrF Unread field: ca.sqlpower.matchmaker.swingui.data.CommonWordsFinderPanel.session
UrF Unread field: ca.sqlpower.matchmaker.swingui.engine.EngineOutputPanel.logger
UrF Unread field: ca.sqlpower.matchmaker.swingui.engine.EngineWorker.action
UrF Unread field: ca.sqlpower.matchmaker.swingui.engine.EngineWorker.session
UrF Unread field: ca.sqlpower.matchmaker.swingui.MatchMakerIndexBuilder.table
UrF Unread field: ca.sqlpower.matchmaker.swingui.MatchMakerSwingSession.showMatchStatisticInfoAction
UrF Unread field: ca.sqlpower.matchmaker.swingui.MatchMakerSwingSessionTest.logger
UrF Unread field: ca.sqlpower.matchmaker.swingui.MatchMakerTreeModel.backup
UrF Unread field: ca.sqlpower.matchmaker.swingui.MatchMakerTreeModel.translate
UrF Unread field: ca.sqlpower.matchmaker.swingui.MatchMakerTreeModel.session
UrF Unread field: ca.sqlpower.matchmaker.swingui.MatchResultVisualizer.exportDotFileAction
UrF Unread field: ca.sqlpower.matchmaker.swingui.MatchResultVisualizerTest.logger
UrF Unread field: ca.sqlpower.matchmaker.swingui.MatchValidationStatus.swingSession
UrF Unread field: ca.sqlpower.matchmaker.swingui.MMODuplicateValidatorDemo.items
UrF Unread field: ca.sqlpower.matchmaker.swingui.munge.AbstractMungeComponent$CoolJLabel$1.val$this$0
UrF Unread field: ca.sqlpower.matchmaker.swingui.munge.AbstractMungeComponent$MungeComponentMouseListener.startPoint
UrF Unread field: ca.sqlpower.matchmaker.util.MMTestUtils.logger
UuF Unused field: ca.sqlpower.matchmaker.ColumnMergeRules.oid
UuF Unused field: ca.sqlpower.matchmaker.ColumnMergeRuleTest.rule
UuF Unused field: ca.sqlpower.matchmaker.MatchMakerTestCase.target
UuF Unused field: ca.sqlpower.matchmaker.munge.AbstractMungeStep.oid
UuF Unused field: ca.sqlpower.matchmaker.munge.AbstractMungeStep$Input.oid
UuF Unused field: ca.sqlpower.matchmaker.munge.MungeStepOutput.oid
UuF Unused field: ca.sqlpower.matchmaker.swingui.MatchResultVisualizerTest.session
UuF Unused field: ca.sqlpower.matchmaker.swingui.MMODuplicateValidatorDemo.children
UuF Unused field: ca.sqlpower.matchmaker.TableMergeRuleTest.tableMergeRules
WMI Method ca.sqlpower.matchmaker.MatchMakerTestCase.testGettersAndSettersSideEffects() makes inefficient use of keySet iterator instead of entrySet iterator

Security Warnings

Code&nbsp; Warning
SQL Method ca.sqlpower.matchmaker.AbstractCleanseEngineImplTest.execSQL(Connection, String) passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractCleanseEngineImplTest.testSimpleCall() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractEngine.getNumRowsToProcess() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.execSQL(Connection, String) passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testAugment() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testAugment() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testConcat() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testConcat() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testDeleteDup() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testDeleteDup() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testDeleteDupChild() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testDeleteDupChild() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testDeleteDupChild() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testDeleteDupChild() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testMax() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testMax() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testMin() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testMin() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testSum() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testSum() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testUnmatch() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testUpdateDeleteOnConflict() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testUpdateDeleteOnConflict() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testUpdateDeleteOnConflict() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testUpdateDeleteOnConflict() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testUpdateDeleteOnConflict() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testUpdateFailOnConflictOnChildTableWithNoPK() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testUpdateFailOnConflictOnChildTableWithNoPK() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testUpdateFailOnConflictOnChildTableWithNoPK() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testUpdateFailOnConflictOnChildTableWithNoPK() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testUpdateFailOnConflictOnChildTableWithNoPK() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.testUpdateFailOnConflictOnChildTableWithNoPK() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.execSQL(Connection, String) passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testAugment() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testAugment() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testConcat() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testConcat() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testDeleteDup() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testDeleteDup() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testDeleteDupChild() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testDeleteDupChild() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testDeleteDupChild() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testMax() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testMax() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testMergeOnConflict() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testMergeOnConflict() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testMergeOnConflict() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testMergeOnConflict() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testMin() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testMin() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testSum() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testSum() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testUnmatch() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testUpdateDeleteOnConflict() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testUpdateDeleteOnConflict() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testUpdateDeleteOnConflict() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testUpdateDeleteOnConflict() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testUpdateFailOnConflict() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testUpdateFailOnConflict() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testUpdateFailOnConflict() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testUpdateFailOnConflict() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testUpdateFailOnConflictOnChildTableWithNoPK() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testUpdateFailOnConflictOnChildTableWithNoPK() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testUpdateFailOnConflictOnChildTableWithNoPK() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testUpdateFailOnConflictOnChildTableWithNoPK() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testUpdateUsingSQL() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testUpdateUsingSQL() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testUpdateUsingSQL() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.testUpdateUsingSQL() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.address.AddressPool.clear() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.address.AddressPool.getNumRowsToProcess() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.address.AddressPool.load(Logger) passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.CleanseEngineImpl.call() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.dao.AbstractMatchMakerTranslateGroupDAOTestCase.testIfChildrenLoadWorks() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.dao.AbstractMatchMakerTranslateGroupDAOTestCase.testIfChildrenLoadWorks() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.dao.AbstractMatchMakerTranslateGroupDAOTestCase.testIfNullChildrenLoadWorks() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.dao.AbstractMatchMakerTranslateGroupDAOTestCase.testIfNullChildrenLoadWorks() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.dao.AbstractProjectDAOTestCase.testResultTableColumnsExistAfterSave() passes a nonconstant String to an execute method on an SQL statement
SQL Method new ca.sqlpower.matchmaker.dao.hibernate.MatchMakerHibernateSessionImpl(MatchMakerSessionContext, JDBCDataSource) passes a nonconstant String to an execute method on an SQL statement
SQL Method new ca.sqlpower.matchmaker.dao.hibernate.MatchMakerHibernateSessionImpl(MatchMakerSessionContext, JDBCDataSource) passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.dao.hibernate.MatchMakerHibernateSessionImpl.canSelectTable(SQLTable) passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.dao.hibernate.MatchMakerTranslateGroupDAOSQLServerTest.testFindByNameWithBadSequence() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.dao.hibernate.MatchMakerTranslateGroupDAOSQLServerTest.testFindByNameWithBadSequence() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.dao.hibernate.MatchMakerTranslateGroupDAOSQLServerTest.testFindByNameWithBadSequence() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.dao.hibernate.MatchMakerTranslateGroupDAOSQLServerTest.testIfChildrenLoadWorks() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.dao.hibernate.MatchMakerTranslateGroupDAOSQLServerTest.testIfChildrenLoadWorks() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.dao.hibernate.MatchMakerTranslateGroupDAOSQLServerTest.testIfChildrenLoadWorks() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.dao.hibernate.MatchMakerTranslateGroupDAOSQLServerTest.testIfNullChildrenLoadWorks() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.dao.hibernate.MatchMakerTranslateGroupDAOSQLServerTest.testIfNullChildrenLoadWorks() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.dao.hibernate.MatchMakerTranslateGroupDAOSQLServerTest.testIfNullChildrenLoadWorks() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.dao.hibernate.RepositoryUtil.createRepositorySchema(JDBCDataSource) passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.dao.hibernate.RepositoryUtil.invalidateSchemaVersion(JDBCDataSource) passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.dao.hibernate.RepositoryUtil.upgradeSchema(JDBCDataSource, Version, Version) passes a nonconstant String to an execute method on an SQL statement
SQL A prepared statement is generated from a nonconstant String at ca.sqlpower.matchmaker.dao.hibernate.TestingConnection.prepareStatement(String)
SQL A prepared statement is generated from a nonconstant String at ca.sqlpower.matchmaker.dao.hibernate.TestingConnection.prepareStatement(String, int)
SQL A prepared statement is generated from a nonconstant String at ca.sqlpower.matchmaker.dao.hibernate.TestingConnection.prepareStatement(String, int, int)
SQL A prepared statement is generated from a nonconstant String at ca.sqlpower.matchmaker.dao.hibernate.TestingConnection.prepareStatement(String, int, int, int)
SQL A prepared statement is generated from a nonconstant String at ca.sqlpower.matchmaker.dao.hibernate.TestingConnection.prepareStatement(String, int[])
SQL A prepared statement is generated from a nonconstant String at ca.sqlpower.matchmaker.dao.hibernate.TestingConnection.prepareStatement(String, String[])
SQL Method ca.sqlpower.matchmaker.data.CommonWordsFinder.countWords(SQLColumn) passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.graph.MatchPoolDotExport.exportDotFile() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.MatchEngineImplTest.setUp() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.MatchEngineImplTest.setUp() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.MatchEngineImplTest.setUp() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.MatchEngineImplTest.setUp() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.MatchPool.findAll(List) passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.MatchPool.clear(Aborter) passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.MatchPoolTest.insertSourceTableRecord(Connection, String) passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.MatchPoolTest.testStoreDropsRemovedRecords() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.MatchPoolTest.testStoreDropsRemovedRecords() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.MatchPoolTest.testStoreNewRecordMatched() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.MatchPoolTest.testStoreUpdatesOnMatch() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.MatchPoolTest.testStoreUpdatesOnNoMatch() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.MatchPoolTest.testStoreUpdatesOnUnmatch() passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.MergeProcessor.findChildRowsByParentRow(MergeProcessor$ResultRow, TableMergeRules) passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.MergeProcessor.findRowByWhereStatement(TableMergeRules, String) passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.MergeProcessor.insertRow(SQLTable, MergeProcessor$ResultRow) passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.MergeProcessor.mergeRows(MergeProcessor$ResultRow, MergeProcessor$ResultRow, TableMergeRules) passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.MergeProcessor.updateRow(SQLTable, MergeProcessor$ResultRow) passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.MergeProcessor.deleteRowByUniqueKey(SQLTable, MergeProcessor$ResultRow) passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.MergeProcessor.findUpdateValueByUniqueKey(SQLTable, String, MergeProcessor$ResultRow) passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.MergeProcessor.isRowUnique(SQLTable, MergeProcessor$ResultRow) passes a nonconstant String to an execute method on an SQL statement
SQL A prepared statement is generated from a nonconstant String at ca.sqlpower.matchmaker.munge.CleanseResultStep.getUpdateStatment(List)
SQL Method ca.sqlpower.matchmaker.munge.SQLInputStep.refreshAndSetup(Logger, boolean) passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.ProjectTest.execSQL(Connection, String) passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.SourceTableRecord.fetchValues(List) passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.swingui.action.CreateRepositoryAction$3.actionPerformed(ActionEvent) passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.swingui.BuildExampleTableDialog$5.actionPerformed(ActionEvent) passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.swingui.BuildExampleTableDialog$PopulateTableWorker.populateTable(SQLTable) passes a nonconstant String to an execute method on an SQL statement
SQL A prepared statement is generated from a nonconstant String at ca.sqlpower.matchmaker.swingui.BuildExampleTableDialog$PopulateTableWorker.populateTable(SQLTable)
SQL A prepared statement is generated from a nonconstant String at ca.sqlpower.matchmaker.swingui.BuildExampleTableDialog$PopulateTableWorker.populateTable(SQLTable)
SQL Method ca.sqlpower.matchmaker.swingui.FilterMakerDialog$6.actionPerformed(ActionEvent) passes a nonconstant String to an execute method on an SQL statement
SQL A prepared statement is generated from a nonconstant String at ca.sqlpower.matchmaker.swingui.MatchValidationStatus.getMatchStats()
SQL Method ca.sqlpower.matchmaker.swingui.MMSUtils$5.actionPerformed(ActionEvent) passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.matchmaker.TestingMatchMakerSession.canSelectTable(SQLTable) passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.persistance.CatNap.insert(Connection, Object, String) passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.persistance.CatNap.update(Connection, Object, String, String) passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.persistance.CatNap.delete(Connection, String, String) passes a nonconstant String to an execute method on an SQL statement
SQL Method ca.sqlpower.persistance.CatNap.load(Connection, String, Object, String) passes a nonconstant String to an execute method on an SQL statement

Dodgy Warnings

Code&nbsp; Warning
BC Unchecked/unconfirmed cast from java.awt.Graphics to java.awt.Graphics2D in ca.sqlpower.matchmaker.swingui.graphViewer.GraphViewer.paintComponent(Graphics)
BC Unchecked/unconfirmed cast from java.awt.Graphics to java.awt.Graphics2D in ca.sqlpower.matchmaker.swingui.munge.MungePen.paint(Graphics)
DB Method ca.sqlpower.matchmaker.address.parse.AddressParser.diTypeAndName() uses the same code for two switch clauses
DB Method ca.sqlpower.matchmaker.address.parse.AddressParser.diTypeAndName() uses the same code for two switch clauses
DB Method ca.sqlpower.matchmaker.address.parse.AddressParser.diTypeAndName() uses the same code for two switch clauses
DB Method ca.sqlpower.matchmaker.address.parse.AddressParser.diTypeAndName() uses the same code for two switch clauses
DB Method ca.sqlpower.matchmaker.address.parse.AddressParser.street() uses the same code for two switch clauses
DB Method ca.sqlpower.matchmaker.address.parse.AddressParser.street() uses the same code for two switch clauses
DB Method ca.sqlpower.matchmaker.address.parse.AddressParser.street() uses the same code for two switch clauses
DB Method ca.sqlpower.matchmaker.swingui.MatchMakerSwingSession.close() uses the same code for two switch clauses
DB Method ca.sqlpower.matchmaker.swingui.MungeProcessGroupEditor$MungeProcessTableModel.getColumnClass(int) uses the same code for two switch clauses
DB Method ca.sqlpower.matchmaker.swingui.ViewBuilderWizard$1.actionPerformed(ActionEvent) uses the same code for two switch clauses
DB Method ca.sqlpower.matchmaker.swingui.ViewBuilderWizard$2.actionPerformed(ActionEvent) uses the same code for two switch clauses
DLS Dead store to bestSuggestion in ca.sqlpower.matchmaker.address.AddressValidator.generateSuggestions(Address, Municipality, List)
DLS Dead store to smallestErrorPostalCode in ca.sqlpower.matchmaker.address.AddressValidator.generateSuggestions(Address, Municipality, List)
DLS Dead store to LA22_5 in ca.sqlpower.matchmaker.address.parse.AddressParser.diTypeAndName()
DLS Dead store to LA17_7 in ca.sqlpower.matchmaker.address.parse.AddressParser.generalDeliveryAddress()
DLS Dead store to LA13_1 in ca.sqlpower.matchmaker.address.parse.AddressParser.ruralRouteSuffix()
DLS Dead store to LA13_3 in ca.sqlpower.matchmaker.address.parse.AddressParser.ruralRouteSuffix()
DLS Dead store to LA1_10 in ca.sqlpower.matchmaker.address.parse.AddressParser$DFA1.specialStateTransition(int, IntStream)
DLS Dead store to LA1_11 in ca.sqlpower.matchmaker.address.parse.AddressParser$DFA1.specialStateTransition(int, IntStream)
DLS Dead store to LA1_12 in ca.sqlpower.matchmaker.address.parse.AddressParser$DFA1.specialStateTransition(int, IntStream)
DLS Dead store to LA1_13 in ca.sqlpower.matchmaker.address.parse.AddressParser$DFA1.specialStateTransition(int, IntStream)
DLS Dead store to LA1_15 in ca.sqlpower.matchmaker.address.parse.AddressParser$DFA1.specialStateTransition(int, IntStream)
DLS Dead store to LA1_6 in ca.sqlpower.matchmaker.address.parse.AddressParser$DFA1.specialStateTransition(int, IntStream)
DLS Dead store to LA1_7 in ca.sqlpower.matchmaker.address.parse.AddressParser$DFA1.specialStateTransition(int, IntStream)
DLS Dead store to LA1_8 in ca.sqlpower.matchmaker.address.parse.AddressParser$DFA1.specialStateTransition(int, IntStream)
DLS Dead store to LA1_9 in ca.sqlpower.matchmaker.address.parse.AddressParser$DFA1.specialStateTransition(int, IntStream)
DLS Dead store to LA1_14 in ca.sqlpower.matchmaker.address.parse.AddressParser$DFA1.specialStateTransition(int, IntStream)
DLS Dead store to LA8_3 in ca.sqlpower.matchmaker.address.parse.AddressParser$DFA8.specialStateTransition(int, IntStream)
DLS Dead store to LA8_4 in ca.sqlpower.matchmaker.address.parse.AddressParser$DFA8.specialStateTransition(int, IntStream)
DLS Dead store to LA8_2 in ca.sqlpower.matchmaker.address.parse.AddressParser$DFA8.specialStateTransition(int, IntStream)
DLS Dead store to typeShortForm in ca.sqlpower.matchmaker.address.steps.ValidateStepUtil.isStreetTypePrefix(AddressDatabase, Address, PostalCode)
DLS Dead store to oldVal in ca.sqlpower.matchmaker.CachableColumn.getColumn()
DLS Dead store to dao in ca.sqlpower.matchmaker.dao.AbstractDAOTestCase.testSave()
DLS Dead store to $L2 in ca.sqlpower.matchmaker.dao.AbstractMatchMakerTranslateGroupDAOTestCase.createNewObjectUnderTest()
DLS Dead store to saveMSO2 in ca.sqlpower.matchmaker.dao.AbstractMungeProcessDAOTestCase.testSaveAndLoadInTwoSessionsWithEmptyInput()
DLS Dead store to $L2 in ca.sqlpower.matchmaker.dao.AbstractMungeProcessDAOTestCase.createNewObjectUnderTest()
DLS Dead store to resultTable in ca.sqlpower.matchmaker.dao.AbstractProjectDAOTestCase.testResultTableColumnsExistAfterSave()
DLS Dead store to $L2 in ca.sqlpower.matchmaker.dao.AbstractProjectDAOTestCase.createNewObjectUnderTest()
DLS Dead store to $L3 in ca.sqlpower.matchmaker.dao.AbstractTableMergeRulesDAOTestCase.createColumnMergeRules(TableMergeRules)
DLS Dead store to cmr2 in ca.sqlpower.matchmaker.dao.AbstractTableMergeRulesDAOTestCase.testSaveAndLoadInTwoSessionsWithChildren()
DLS Dead store to $L2 in ca.sqlpower.matchmaker.dao.AbstractTableMergeRulesDAOTestCase.createNewObjectUnderTest()
DLS Dead store to defaultRepository in ca.sqlpower.matchmaker.dao.hibernate.MatchMakerHibernateSessionContext.ensureDefaultRepositoryDefined()
DLS Dead store of null to keysRS in ca.sqlpower.matchmaker.dao.hibernate.MatchMakerTranslateGroupDAOSQLServerTest.testFindByNameWithBadSequence()
DLS Dead store of null to keysRS in ca.sqlpower.matchmaker.dao.hibernate.MatchMakerTranslateGroupDAOSQLServerTest.testIfChildrenLoadWorks()
DLS Dead store of null to keysRS in ca.sqlpower.matchmaker.dao.hibernate.MatchMakerTranslateGroupDAOSQLServerTest.testIfNullChildrenLoadWorks()
DLS Dead store to oldValue in ca.sqlpower.matchmaker.munge.AddressCorrectionMungeStep.setAddressDB(AddressDatabase)
DLS Dead store to colName in ca.sqlpower.matchmaker.munge.CleanseResultStep.refreshInputs()
DLS Dead store to i in ca.sqlpower.matchmaker.munge.CSVWriterMungeStepTest.testCallOnAbsolutePath()
DLS Dead store to i in ca.sqlpower.matchmaker.munge.CSVWriterMungeStepTest.testCallOnAppend()
DLS Dead store to i in ca.sqlpower.matchmaker.munge.CSVWriterMungeStepTest.testCallOnRollback()
DLS Dead store to i in ca.sqlpower.matchmaker.munge.CSVWriterMungeStepTest.testCallOnSeparator()
DLS Dead store to i in ca.sqlpower.matchmaker.munge.CSVWriterMungeStepTest.testCallOnStringAndNull()
DLS Dead store to x in ca.sqlpower.matchmaker.swingui.address.AddressLabel.paintComponent(Graphics)
DLS Dead store to col in ca.sqlpower.matchmaker.swingui.data.CommonWordsFinderPanel.performSearch()
DLS Dead store to $L3 in ca.sqlpower.matchmaker.swingui.munge.RegexValidator.validate(Object)
DLS Dead store to s in org.json.XML.toString(Object, String)
IM Check for oddness that won't work for negative numbers in ca.sqlpower.matchmaker.address.PostalCode.contains(Address)
IM Check for oddness that won't work for negative numbers in ca.sqlpower.matchmaker.address.steps.StreetNumberSequenceCodeStep.validate(PostalCode, Address, Address, ValidateState)
NP Load of known null value in ca.sqlpower.matchmaker.dao.hibernate.MatchMakerTranslateGroupDAOHibernate.findAll()
NP Load of known null value in ca.sqlpower.matchmaker.dao.hibernate.MatchMakerTranslateGroupDAOHibernate.findByOID(long)
NP Load of known null value in ca.sqlpower.matchmaker.MatchMakerTestCase.testAllSettersGenerateEvents()
NP Possible null pointer dereference of x on path that might be infeasible in ca.sqlpower.matchmaker.util.StringsToViewSpec.equals(Object, Object)
PZLA Should org.json.JSONObject.getNames(Object) return a zero length array rather than null?
PZLA Should org.json.JSONObject.getNames(JSONObject) return a zero length array rather than null?
RCN Redundant nullcheck of ?, which is known to be non-null in ca.sqlpower.matchmaker.MatchMakerTranslateWord.equals(Object)
RCN Redundant nullcheck of ?, which is known to be non-null in ca.sqlpower.matchmaker.MatchMakerTranslateWord.equals(Object)
RCN Redundant nullcheck of ?, which is known to be non-null in ca.sqlpower.matchmaker.MatchMakerTranslateWord.hashCode()
RCN Redundant nullcheck of ?, which is known to be non-null in ca.sqlpower.matchmaker.MatchMakerTranslateWord.hashCode()
RCN Redundant nullcheck of pmrH2ToH3, which is known to be non-null in ca.sqlpower.matchmaker.MatchPoolTest.testMasterOfAllTakesNewDuplicateDuplicates()
RCN Redundant nullcheck of pmrN1ToN4, which is known to be non-null in ca.sqlpower.matchmaker.MatchPoolTest.testNoMatchToOtherDuplicate()
RCN Redundant nullcheck of in, which is known to be non-null in ca.sqlpower.matchmaker.munge.ConcatMungeStep.doCall()
RCN Redundant nullcheck of thisData, which is known to be non-null in ca.sqlpower.matchmaker.munge.MungeResult.compareTo(MungeResult)
RCN Redundant nullcheck of p, which is known to be non-null in ca.sqlpower.matchmaker.swingui.action.ShowMatchStatisticInfoAction.actionPerformed(ActionEvent)
RCN Redundant nullcheck of stmt which is known to be null in ca.sqlpower.matchmaker.swingui.MatchValidationStatus.getMatchStats()
RCN Redundant nullcheck of obj, which is known to be non-null in ca.sqlpower.matchmaker.TableMergeRules.equals(Object)
RCN Redundant nullcheck of obj, which is known to be non-null in ca.sqlpower.matchmaker.TableMergeRules.equals(Object)
RCN Redundant nullcheck of obj, which is known to be non-null in ca.sqlpower.matchmaker.TableMergeRules.equals(Object)
REC Exception is caught when Exception is not thrown in ca.sqlpower.matchmaker.address.AddressPool.store(Logger, boolean, boolean)
REC Exception is caught when Exception is not thrown in ca.sqlpower.matchmaker.dao.xml.ProjectDAOXML.findAll()
REC Exception is caught when Exception is not thrown in ca.sqlpower.matchmaker.dao.xml.ProjectSAXHandler.startElement(String, String, String, Attributes)
REC Exception is caught when Exception is not thrown in ca.sqlpower.matchmaker.munge.AbstractMungeStep.duplicate(MatchMakerObject, MatchMakerSession)
REC Exception is caught when Exception is not thrown in ca.sqlpower.matchmaker.munge.MungePreviewer.refreshPreview()
REC Exception is caught when Exception is not thrown in ca.sqlpower.matchmaker.munge.MungePreviewer.setRefreshEnabled(boolean)
REC Exception is caught when Exception is not thrown in ca.sqlpower.matchmaker.swingui.action.CreateRepositoryAction.actionPerformed(ActionEvent)
REC Exception is caught when Exception is not thrown in ca.sqlpower.matchmaker.swingui.action.ScriptAction.actionPerformed(ActionEvent)
REC Exception is caught when Exception is not thrown in ca.sqlpower.matchmaker.swingui.BuildExampleTableDialog$PopulateTableWorker.populateTable(SQLTable)
REC Exception is caught when Exception is not thrown in ca.sqlpower.matchmaker.swingui.DeriveRelatedRulesPanel$DeriveAction.doStuff()
REC Exception is caught when Exception is not thrown in ca.sqlpower.matchmaker.swingui.engine.RunEngineAction.actionPerformed(ActionEvent)
REC Exception is caught when Exception is not thrown in ca.sqlpower.matchmaker.swingui.MatchResultVisualizer.updateMatchTable()
REC Exception is caught when Exception is not thrown in ca.sqlpower.matchmaker.swingui.MatchResultVisualizer$1.actionPerformed(ActionEvent)
REC Exception is caught when Exception is not thrown in ca.sqlpower.matchmaker.swingui.ProjectEditor.applyChanges()
REC Exception is caught when Exception is not thrown in ca.sqlpower.matchmaker.swingui.SwingSessionContextImpl.handleRepositoryVersionException(JDBCDataSource, RepositoryVersionException)
REC Exception is caught when Exception is not thrown in new org.json.JSONObject(Object)
REC Exception is caught when Exception is not thrown in new org.json.JSONObject(Object, String[])
REC Exception is caught when Exception is not thrown in org.json.JSONObject.optDouble(String, double)
REC Exception is caught when Exception is not thrown in org.json.JSONObject.toString()
REC Exception is caught when Exception is not thrown in org.json.Test.main(String[])
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.ds from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.project from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.cccmr_date from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.cccmr_gparent_id from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.cccmr_id from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.cccmr_number from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.cccmr_string from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.ccmr_date from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.ccmr_id from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.ccmr_number from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.ccmr_parent_id from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.ccmr_string from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.cctmr from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.cmr_date from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.cmr_id from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.cmr_number from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.cmr_string from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.con from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.ctmr from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.db from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.rCon from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.sCon from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.session from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.tmr from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorTest.ds from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorTest.project from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorTest.cccmr_date from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorTest.cccmr_gparent_id from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorTest.cccmr_id from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorTest.cccmr_number from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorTest.cccmr_parent_id from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorTest.cccmr_string from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorTest.ccmr_date from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorTest.ccmr_id from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorTest.ccmr_number from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorTest.ccmr_parent_id from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorTest.ccmr_string from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorTest.cctmr from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorTest.cmr_date from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorTest.cmr_id from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorTest.cmr_number from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorTest.cmr_string from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorTest.con from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorTest.ctmr from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorTest.db from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorTest.rCon from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorTest.sCon from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorTest.session from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorTest.tmr from instance method ca.sqlpower.matchmaker.AbstractMergeProcessorTest.setUp()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.childTable from instance method ca.sqlpower.matchmaker.MergeProcessorOnBetterDataModelOracleTest.createTables()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.grandChildTable from instance method ca.sqlpower.matchmaker.MergeProcessorOnBetterDataModelOracleTest.createTables()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.sourceTable from instance method ca.sqlpower.matchmaker.MergeProcessorOnBetterDataModelOracleTest.createTables()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.childTable from instance method ca.sqlpower.matchmaker.MergeProcessorOnBetterDataModelSQLServerTest.createTables()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.grandChildTable from instance method ca.sqlpower.matchmaker.MergeProcessorOnBetterDataModelSQLServerTest.createTables()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorOnBetterDataModelTest.sourceTable from instance method ca.sqlpower.matchmaker.MergeProcessorOnBetterDataModelSQLServerTest.createTables()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorTest.childTable from instance method ca.sqlpower.matchmaker.MergeProcessorOracleTest.createTables()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorTest.grandChildTable from instance method ca.sqlpower.matchmaker.MergeProcessorOracleTest.createTables()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorTest.sourceTable from instance method ca.sqlpower.matchmaker.MergeProcessorOracleTest.createTables()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorTest.childTable from instance method ca.sqlpower.matchmaker.MergeProcessorSQLServerTest.createTables()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorTest.grandChildTable from instance method ca.sqlpower.matchmaker.MergeProcessorSQLServerTest.createTables()
ST Write to static field ca.sqlpower.matchmaker.AbstractMergeProcessorTest.sourceTable from instance method ca.sqlpower.matchmaker.MergeProcessorSQLServerTest.createTables()
ST Write to static field ca.sqlpower.matchmaker.munge.AddressCorrectionMungeStep.logger from instance method ca.sqlpower.matchmaker.munge.AddressCorrectionMungeStep.doOpen(MatchMakerEngine$EngineMode, Logger)
ST Write to static field ca.sqlpower.matchmaker.undo.MMOChangeUndoWatcher.undoCount from instance method new ca.sqlpower.matchmaker.undo.MMOChangeUndoWatcher(MatchMakerObject, AbstractUndoableEditorPane, MatchMakerSwingSession)
UwF AbstractEngine.project not initialized in constructor
UwF AbstractEngine.session not initialized in constructor
UwF AbstractMatchMakerObjectTest.test not initialized in constructor
UwF MatchMakerHibernateSessionConnectionProvider.session not initialized in constructor
UwF ProjectDAOOracleTest.project not initialized in constructor
UwF RepositoryUtil$1.currentText not initialized in constructor
UwF ProjectSAXHandler.columnMergeRules not initialized in constructor
UwF ProjectSAXHandler.locator not initialized in constructor
UwF ProjectSAXHandler.process not initialized in constructor
UwF ProjectSAXHandler.project not initialized in constructor
UwF ProjectSAXHandler.step not initialized in constructor
UwF ProjectSAXHandler.steps not initialized in constructor
UwF ProjectSAXHandler.tableMergeRules not initialized in constructor
UwF ProjectXMLDAOTest.daoOut not initialized in constructor
UwF ProjectXMLDAOTest.db not initialized in constructor
UwF ProjectXMLDAOTest.out not initialized in constructor
UwF MatchMakerEventSupportTest.support not initialized in constructor
UwF MatchMakerEngineImplTest.context not initialized in constructor
UwF MatchMakerEngineImplTest.matchMakerEngine not initialized in constructor
UwF MatchMakerTranslateWordTest.target not initialized in constructor
UwF MatchPoolTest.con not initialized in constructor
UwF MatchPoolTest.mungeProcessOne not initialized in constructor
UwF MatchPoolTest.mungeProcessTwo not initialized in constructor
UwF MatchPoolTest.pool not initialized in constructor
UwF MatchPoolTest.project not initialized in constructor
UwF MatchProcessorTest.con not initialized in constructor
UwF MatchProcessorTest.matcher not initialized in constructor
UwF MatchProcessorTest.pool not initialized in constructor
UwF MergeProcessor.stmt not initialized in constructor
UwF AbstractMungeStepTest.mungeStep not initialized in constructor
UwF BooleanConstantMungeStepTest.step not initialized in constructor
UwF CleanseResultStep.inputStep not initialized in constructor
UwF CleanseResultStep.table not initialized in constructor
UwF CleanseResultStepRefreshTest.resultStep not initialized in constructor
UwF DateConstantMungeStepTest.step not initialized in constructor
UwF DeDupeResultStep.indexValues not initialized in constructor
UwF DeDupeResultStep.inputStep not initialized in constructor
UwF EmptyStringToNullTest.step not initialized in constructor
UwF MungeProcessGraphModelTest.a not initialized in constructor
UwF MungeProcessGraphModelTest.b not initialized in constructor
UwF MungeProcessGraphModelTest.c not initialized in constructor
UwF MungeProcessGraphModelTest.gm not initialized in constructor
UwF MungeProcessor.processOrder not initialized in constructor
UwF MungeResult.mungedData not initialized in constructor
UwF MungeResult.sourceTableRecord not initialized in constructor
UwF MungeResultTest.mungedData1 not initialized in constructor
UwF MungeResultTest.mungedData2 not initialized in constructor
UwF MungeResultTest.r1 not initialized in constructor
UwF MungeResultTest.r2 not initialized in constructor
UwF NumberToStringMungeStepTest.step not initialized in constructor
UwF StringConstantMungeStepTest.step not initialized in constructor
UwF StringToNumberMungeStepTest.step not initialized in constructor
UwF TrimSpacesMungeStepTest.step not initialized in constructor
UwF MungeSettingsTest.ms not initialized in constructor
UwF PotentialMatchRecordTest.pmr not initialized in constructor
UwF ProjectSQLTableHelperTest.project not initialized in constructor
UwF ProjectSQLTableHelperTest.session not initialized in constructor
UwF ProjectTest.project not initialized in constructor
UwF ProjectTest.session not initialized in constructor
UwF DeleteFolderDialog.dialog not initialized in constructor
UwF MatchMakerTreeModelTest.counter not initialized in constructor
UwF MatchMakerTreeModelTest.currentFoldersNode not initialized in constructor
UwF MatchMakerTreeModelTest.treeModel not initialized in constructor
UwF MatchTranslateTableModelTest.ec not initialized in constructor
UwF MatchTranslateTableModelTest.translateGroup not initialized in constructor
UwF AddressCorrectionMungeComponent.addressDataRequired not initialized in constructor
UwF DateConstantMungeComponent.date not initialized in constructor
UwF DateConstantMungeComponent.dc not initialized in constructor
UwF DateConstantMungeComponent.opts not initialized in constructor
UwF DateConstantMungeComponent.retNull not initialized in constructor
UwF DateConstantMungeComponent.useCurrent not initialized in constructor
UwF SwingSessionContextTest.context not initialized in constructor
UwF TranslationComboBoxModelTest.counter not initialized in constructor
UwF TranslationComboBoxModelTest.tcbm not initialized in constructor
UwF TranslationComboBoxModelTest.tgp not initialized in constructor
UwF TranslateGroupParentTest.cg not initialized in constructor
UwF TranslateGroupParentTest.tgp not initialized in constructor
UwF FileNameToLogTest.allLogs not initialized in constructor
UwF FileNameToLogTest.data not initialized in constructor
UwF FileNameToLogTest.rs not initialized in constructor
UwF FileNameToLogTest.userType not initialized in constructor
UwF ListToSQLIndexTest.index not initialized in constructor
UwF ListToSQLIndexTest.index2 not initialized in constructor
UwF ListToSQLIndexTest.rs not initialized in constructor
UwF ListToSQLIndexTest.userType not initialized in constructor
UwF StringsToViewSpecTest.data not initialized in constructor
UwF StringsToViewSpecTest.rs not initialized in constructor
UwF StringsToViewSpecTest.testViewSpecs not initialized in constructor
UwF StringsToViewSpecTest.userType not initialized in constructor

Details

BC_IMPOSSIBLE_INSTANCEOF: instanceof will always return false

This instanceof test will always return false. Although this is safe, make sure it isn't an indication of some misunderstanding or some other logic error.

BC_UNCONFIRMED_CAST: Unchecked/unconfirmed cast

This cast is unchecked, and not all instances of the type casted from can be cast to the type it is being cast to. Ensure that your program logic ensures that this cast will not fail.

DM_FP_NUMBER_CTOR: Method invokes inefficient floating-point Number constructor; use static valueOf instead

Using new Double(double) is guaranteed to always result in a new object whereas Double.valueOf(double) allows caching of values to be done by the compiler, class library, or JVM. Using of cached values avoids object allocation and the code will be faster.

Unless the class must be compatible with JVMs predating Java 1.5, use either autoboxing or the valueOf() method when creating instances of Double and Float.

DM_NUMBER_CTOR: Method invokes inefficient Number constructor; use static valueOf instead

Using new Integer(int) is guaranteed to always result in a new object whereas Integer.valueOf(int) allows caching of values to be done by the compiler, class library, or JVM. Using of cached values avoids object allocation and the code will be faster.

Values between -128 and 127 are guaranteed to have corresponding cached instances and using valueOf is approximately 3.5 times faster than using constructor. For values outside the constant range the performance of both styles is the same.

Unless the class must be compatible with JVMs predating Java 1.5, use either autoboxing or the valueOf() method when creating instances of Long, Integer, Short, Character, and Byte.

BX_BOXING_IMMEDIATELY_UNBOXED: Primitive value is boxed and then immediately unboxed

A primitive is boxed, and then immediately unboxed. This probably is due to a manual boxing in a place where an unboxed value is required, thus forcing the compiler to immediately undue the work of the boxing.

DB_DUPLICATE_SWITCH_CLAUSES: Method uses the same code for two switch clauses

This method uses the same code to implement two clauses of a switch statement. This could be a case of duplicate code, but it might also indicate a coding mistake.

DE_MIGHT_IGNORE: Method might ignore exception

This method might ignore an exception.  In general, exceptions should be handled or reported in some way, or they should be thrown out of the method.

DLS_DEAD_LOCAL_STORE_OF_NULL: Dead store of null to local variable

The code stores null into a local variable, and stored value is not read. This store may have been introduced in assist the garbage collector, but as of Java SE 6.0, this is no longer needed or useful.

DLS_DEAD_LOCAL_STORE: Dead store to local variable

This instruction assigns a value to a local variable, but the value is not read by any subsequent instruction. Often, this indicates an error, because the value computed is never used.

Note that Sun's javac compiler often generates dead stores for final local variables. Because FindBugs is a bytecode-based tool, there is no easy way to eliminate these false positives.

DM_CONVERT_CASE: Consider using Locale parameterized version of invoked method

A String is being converted to upper or lowercase, using the platform's default encoding. This may result in improper conversions when used with international characters. Use the

String.toUpperCase( Locale l )
String.toLowerCase( Locale l )

versions instead.

DM_BOOLEAN_CTOR: Method invokes inefficient Boolean constructor; use Boolean.valueOf(...) instead

Creating new instances of java.lang.Boolean wastes memory, since Boolean objects are immutable and there are only two useful values of this type.  Use the Boolean.valueOf() method (or Java 1.5 autoboxing) to create Boolean objects instead.

DM_STRING_CTOR: Method invokes inefficient new String(String) constructor

Using the java.lang.String(String) constructor wastes memory because the object so constructed will be functionally indistinguishable from the String passed as a parameter.  Just use the argument String directly.

DM_EXIT: Method invokes System.exit(...)

Invoking System.exit shuts down the entire Java virtual machine. This should only been done when it is appropriate. Such calls make it hard or impossible for your code to be invoked by other code. Consider throwing a RuntimeException instead.

DMI_INVOKING_TOSTRING_ON_ANONYMOUS_ARRAY: Invocation of toString on an array

The code invokes toString on an array, which will generate a fairly useless result such as [C@16f0472. Consider using Arrays.toString to convert the array into a readable String that gives the contents of the array. See Programming Puzzlers, chapter 3, puzzle 12.

DP_DO_INSIDE_DO_PRIVILEGED: Method invoked that should be only be invoked inside a doPrivileged block

This code invokes a method that requires a security permission check. If this code will be granted security permissions, but might be invoked by code that does not have security permissions, then the invocation needs to occur inside a doPrivileged block.

EI_EXPOSE_REP: May expose internal representation by returning reference to mutable object

Returning a reference to a mutable object value stored in one of the object's fields exposes the internal representation of the object.  If instances are accessed by untrusted code, and unchecked changes to the mutable object would compromise security or other important properties, you will need to do something different. Returning a new copy of the object is better approach in many situations.

EI_EXPOSE_REP2: May expose internal representation by incorporating reference to mutable object

This code stores a reference to an externally mutable object into the internal representation of the object.  If instances are accessed by untrusted code, and unchecked changes to the mutable object would compromise security or other important properties, you will need to do something different. Storing a copy of the object is better approach in many situations.

EQ_COMPARETO_USE_OBJECT_EQUALS: Class defines compareTo(...) and uses Object.equals()

This class defines a compareTo(...) method but inherits its equals() method from java.lang.Object. Generally, the value of compareTo should return zero if and only if equals returns true. If this is violated, weird and unpredictable failures will occur in classes such as PriorityQueue. In Java 5 the PriorityQueue.remove method uses the compareTo method, while in Java 6 it uses the equals method.

From the JavaDoc for the compareTo method in the Comparable interface:

It is strongly recommended, but not strictly required that (x.compareTo(y)==0) == (x.equals(y)). Generally speaking, any class that implements the Comparable interface and violates this condition should clearly indicate this fact. The recommended language is "Note: this class has a natural ordering that is inconsistent with equals."

ES_COMPARING_STRINGS_WITH_EQ: Comparison of String objects using == or !=

This code compares java.lang.String objects for reference equality using the == or != operators. Unless both strings are either constants in a source file, or have been interned using the String.intern() method, the same string value may be represented by two different String objects. Consider using the equals(Object) method instead.

HE_EQUALS_USE_HASHCODE: Class defines equals() and uses Object.hashCode()

This class overrides equals(Object), but does not override hashCode(), and inherits the implementation of hashCode() from java.lang.Object (which returns the identity hash code, an arbitrary value assigned to the object by the VM).  Therefore, the class is very likely to violate the invariant that equal objects must have equal hashcodes.

If you don't think instances of this class will ever be inserted into a HashMap/HashTable, the recommended hashCode implementation to use is:

public int hashCode() {
  assert false : "hashCode not designed";
  return 42; // any arbitrary constant will do 
  }

IM_BAD_CHECK_FOR_ODD: Check for oddness that won't work for negative numbers

The code uses x % 2 == 1 to check to see if a value is odd, but this won't work for negative numbers (e.g., (-5) % 2 == -1). If this code is intending to check for oddness, consider using x & 1 == 1, or x % 2 != 0.

ITA_INEFFICIENT_TO_ARRAY: Method uses toArray() with zero-length array argument

This method uses the toArray() method of a collection derived class, and passes in a zero-length prototype array argument. It is more efficient to use myCollection.toArray(new Foo[myCollection.size()]) If the array passed in is big enough to store all of the elements of the collection, then it is populated and returned directly. This avoids the need to create a second array (by reflection) to return as the result.

MF_METHOD_MASKS_FIELD: Method defines a variable that obscures a field

This method defines a local variable with the same name as a field in this class or a superclass. This may cause the method to read an uninitialized value from the field, leave the field uninitialized, or both.

MS_SHOULD_BE_FINAL: Field isn't final but should be

A mutable static field could be changed by malicious code or by accident from another package. The field could be made final to avoid this vulnerability.

MS_PKGPROTECT: Field should be package protected

A mutable static field could be changed by malicious code or by accident. The field could be made package protected to avoid this vulnerability.

NM_CONFUSING: Confusing method names

The referenced methods have names that differ only by capitalization.

NM_FIELD_NAMING_CONVENTION: Field names should start with a lower case letter

Names of fields that are not final should be in mixed case with a lowercase first letter and the first letters of subsequent words capitalized.

NO_NOTIFY_NOT_NOTIFYALL: Using notify() rather than notifyAll()

This method calls notify() rather than notifyAll().  Java monitors are often used for multiple conditions.  Calling notify() only wakes up one thread, meaning that the thread woken up might not be the one waiting for the condition that the caller just satisfied.

NP_LOAD_OF_KNOWN_NULL_VALUE: Load of known null value

The variable referenced at this point is known to be null due to an earlier check against null. Although this is valid, it might be a mistake (perhaps you intended to refer to a different variable, or perhaps the earlier check to see if the variable is null should have been a check to see if it was nonnull.

NP_NULL_PARAM_DEREF: Method call passes null for unconditionally dereferenced parameter

This method call passes a null value to a method which might dereference it unconditionally.

NP_BOOLEAN_RETURN_NULL: Method with Boolean return type returns explicit null

A method that returns either Boolean.TRUE, Boolean.FALSE or null is an accident waiting to happen. This method can be invoked as though it returned a value of type boolean, and the compiler will insert automatic unboxing of the Boolean value. If a null value is returned, this will result in a NullPointerException.

NP_NULL_ON_SOME_PATH: Possible null pointer dereference

There is a branch of statement that, if executed, guarantees that a null value will be dereferenced, which would generate a NullPointerException when the code is executed. Of course, the problem might be that the branch or statement is infeasible and that the null pointer exception can't ever be executed; deciding that is beyond the ability of FindBugs.

NP_NULL_ON_SOME_PATH_MIGHT_BE_INFEASIBLE: Possible null pointer dereference on path that might be infeasible

There is a branch of statement that, if executed, guarantees that a null value will be dereferenced, which would generate a NullPointerException when the code is executed. Of course, the problem might be that the branch or statement is infeasible and that the null pointer exception can't ever be executed; deciding that is beyond the ability of FindBugs. Due to the fact that this value had been previously tested for nullness, this is a definite possiblity.

ODR_OPEN_DATABASE_RESOURCE: Method may fail to close database resource

The method creates a database resource (such as a database connection or row set), does not assign it to any fields, pass it to other methods, or return it, and does not appear to close the object on all paths out of the method.  Failure to close database resources on all paths out of a method may result in poor performance, and could cause the application to have problems communicating with the database.

ODR_OPEN_DATABASE_RESOURCE_EXCEPTION_PATH: Method may fail to close database resource on exception

The method creates a database resource (such as a database connection or row set), does not assign it to any fields, pass it to other methods, or return it, and does not appear to close the object on all exception paths out of the method.  Failure to close database resources on all paths out of a method may result in poor performance, and could cause the application to have problems communicating with the database.

OS_OPEN_STREAM: Method may fail to close stream

The method creates an IO stream object, does not assign it to any fields, pass it to other methods that might close it, or return it, and does not appear to close the stream on all paths out of the method.  This may result in a file descriptor leak.  It is generally a good idea to use a finally block to ensure that streams are closed.

OS_OPEN_STREAM_EXCEPTION_PATH: Method may fail to close stream on exception

The method creates an IO stream object, does not assign it to any fields, pass it to other methods, or return it, and does not appear to close it on all possible exception paths out of the method.  This may result in a file descriptor leak.  It is generally a good idea to use a finally block to ensure that streams are closed.

PZLA_PREFER_ZERO_LENGTH_ARRAYS: Consider returning a zero length array rather than null

It is often a better design to return a length zero array rather than a null reference to indicate that there are no results (i.e., an empty list of results). This way, no explicit check for null is needed by clients of the method.

On the other hand, using null to indicate "there is no answer to this question", then it is probably appropriate. For example, File.listFiles() returns an empty list if given a directory containing no files, and returns null if the file is not a directory.

RC_REF_COMPARISON: Suspicious reference comparison

This method compares two reference values using the == or != operator, where the correct way to compare instances of this type is generally with the equals() method. Examples of classes which should generally not be compared by reference are java.lang.Integer, java.lang.Float, etc.

RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE: Nullcheck of value previously dereferenced

A value is checked here to see whether it is null, but this value can't be null because it was previously dereferenced and if it were null a null pointer exception would have occurred at the earlier dereference. Essentially, this code and the previous dereference disagree as to whether this value is allowed to be null. Either the check is redundant or the previous dereference is erroneous.

RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE: Redundant nullcheck of value known to be non-null

This method contains a redundant check of a known non-null value against the constant null.

RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE: Redundant nullcheck of value known to be null

This method contains a redundant check of a known null value against the constant null.

REC_CATCH_EXCEPTION: Exception is caught when Exception is not thrown

This method uses a try-catch block that catches Exception objects, but Exception is not thrown within the try block, and RuntimeException is not explicitly caught. It is a common bug pattern to say try { ... } catch (Exception e) { something } as a shorthand for catching a number of types of exception each of whose catch blocks is identical, but this construct also accidentally catches RuntimeException as well, masking potential bugs.

RV_RETURN_VALUE_IGNORED_BAD_PRACTICE: Method ignores exceptional return value

This method returns a value that is not checked. The return value should be checked since it can indication an unusual or unexpected function execution. For example, the File.delete() method returns false if the file could not be successfully deleted (rather than throwing an Exception). If you don't check the result, you won't notice if the method invocation signals unexpected behavior by returning an atypical return value.

RV_RETURN_VALUE_IGNORED: Method ignores return value

The return value of this method should be checked. One common cause of this warning is to invoke a method on an immutable object, thinking that it updates the object. For example, in the following code fragment,

String dateString = getHeaderField(name);
dateString.trim();

the programmer seems to be thinking that the trim() method will update the String referenced by dateString. But since Strings are immutable, the trim() function returns a new String value, which is being ignored here. The code should be corrected to:

String dateString = getHeaderField(name);
dateString = dateString.trim();

SBSC_USE_STRINGBUFFER_CONCATENATION: Method concatenates strings using + in a loop

The method seems to be building a String using concatenation in a loop. In each iteration, the String is converted to a StringBuffer/StringBuilder, appended to, and converted back to a String. This can lead to a cost quadratic in the number of iterations, as the growing string is recopied in each iteration.

Better performance can be obtained by using a StringBuffer (or StringBuilder in Java 1.5) explicitly.

For example:

  // This is bad
  String s = "";
  for (int i = 0; i < field.length; ++i) {
    s = s + field[i];
  }

  // This is better
  StringBuffer buf = new StringBuffer();
  for (int i = 0; i < field.length; ++i) {
    buf.append(field[i]);
  }
  String s = buf.toString();

SE_COMPARATOR_SHOULD_BE_SERIALIZABLE: Comparator doesn't implement Serializable

This class implements the Comparator interface. You should consider whether or not it should also implement the Serializable interface. If a comparator is used to construct an ordered collection such as a TreeMap, then the TreeMap will be serializable only if the comparator is also serializable. As most comparators have little or no state, making them serializable is generally easy and good defensive programming.

SE_BAD_FIELD_STORE: Non-serializable value stored into instance field of a serializable class

A non-serializable value is stored into a non-transient field of a serializable class.

SE_BAD_FIELD: Non-transient non-serializable instance field in serializable class

This Serializable class defines a non-primitive instance field which is neither transient, Serializable, or java.lang.Object, and does not appear to implement the Externalizable interface or the readObject() and writeObject() methods.  Objects of this class will not be deserialized correctly if a non-Serializable object is stored in this field.

SIC_INNER_SHOULD_BE_STATIC_ANON: Could be refactored into a named static inner class

This class is an inner class, but does not use its embedded reference to the object which created it.  This reference makes the instances of the class larger, and may keep the reference to the creator object alive longer than necessary.  If possible, the class should be made into a static inner class. Since anonymous inner classes cannot be marked as static, doing this will requiring refactoring the inner class so that it is a named inner class.

SIC_INNER_SHOULD_BE_STATIC_NEEDS_THIS: Could be refactored into a static inner class

This class is an inner class, but does not use its embedded reference to the object which created it except during construction of the inner object.  This reference makes the instances of the class larger, and may keep the reference to the creator object alive longer than necessary.  If possible, the class should be made into a static inner class. Since the reference to the outer object is required during construction of the inner instance, the inner class will need to be refactored so as to pass a reference to the outer instance to the constructor for the inner class.

SIC_INNER_SHOULD_BE_STATIC: Should be a static inner class

This class is an inner class, but does not use its embedded reference to the object which created it.  This reference makes the instances of the class larger, and may keep the reference to the creator object alive longer than necessary.  If possible, the class should be made static.

SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING: A prepared statement is generated from a nonconstant String

The code creates an SQL prepared statement from a nonconstant String. If unchecked, tainted data from a user is used in building this String, SQL injection could be used to make the prepared statement do something unexpected and undesirable.

SQL_BAD_RESULTSET_ACCESS: Method attempts to access a result set field with index 0

A call to getXXX or updateXXX methods of a result set was made where the field index is 0. As ResultSet fields start at index 1, this is always a mistake.

SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE: Nonconstant string passed to execute method on an SQL statement

The method invokes the execute method on an SQL statement with a String that seems to be dynamically generated. Consider using a prepared statement instead. It is more efficient and less vulnerable to SQL injection attacks.

SS_SHOULD_BE_STATIC: Unread field: should this field be static?

This class contains an instance final field that is initialized to a compile-time static value. Consider making the field static.

ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD: Write to static field from instance method

This instance method writes to a static field. This is tricky to get correct if multiple instances are being manipulated, and generally bad practice.

SW_SWING_METHODS_INVOKED_IN_SWING_THREAD: Certain swing methods needs to be invoked in Swing thread

(From JDC Tech Tip): The Swing methods show(), setVisible(), and pack() will create the associated peer for the frame. With the creation of the peer, the system creates the event dispatch thread. This makes things problematic because the event dispatch thread could be notifying listeners while pack and validate are still processing. This situation could result in two threads going through the Swing component-based GUI -- it's a serious flaw that could result in deadlocks or other related threading issues. A pack call causes components to be realized. As they are being realized (that is, not necessarily visible), they could trigger listener notification on the event dispatch thread.

UI_INHERITANCE_UNSAFE_GETRESOURCE: Usage of GetResource may be unsafe if class is extended

Calling this.getClass().getResource(...) could give results other than expected if this class is extended by a class in another package.

UPM_UNCALLED_PRIVATE_METHOD: Private method is never called

This private method is never called. Although it is possible that the method will be invoked through reflection, it is more likely that the method is never used, and should be removed.

UR_UNINIT_READ: Uninitialized read of field in constructor

This constructor reads a field which has not yet been assigned a value.  This is often caused when the programmer mistakenly uses the field instead of one of the constructor's parameters.

URF_UNREAD_FIELD: Unread field

This field is never read.  Consider removing it from the class.

UUF_UNUSED_FIELD: Unused field

This field is never used.  Consider removing it from the class.

UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR: Field not initialized in constructor

This field is never initialized within any constructor, and is therefore could be null after the object is constructed. This could be a either an error or a questionable design, since it means a null pointer exception will be generated if that field is dereferenced before being initialized.

UWF_UNWRITTEN_FIELD: Unwritten field

This field is never written.  All reads of it will return the default value. Check for errors (should it have been initialized?), or remove it if it is useless.

WMI_WRONG_MAP_ITERATOR: Inefficient use of keySet iterator instead of entrySet iterator

This method accesses the value of a Map entry, using a key that was retrieved from a keySet iterator. It is more efficient to use an iterator on the entrySet of the map, to avoid the Map.get(key) lookup.