The following document contains the results of FindBugs Report
FindBugs Version is 1.3.8
Threshold is Low
Effort is Default
| Classes | Bugs | Errors | Missing Classes |
|---|---|---|---|
| 2257 | 219 | 52 | 8 |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Confusing to have methods ca.sqlpower.wabit.WabitDataSource.getUUID() and ca.sqlpower.wabit.enterprise.client.WorkspaceLocation.getUuid() | BAD_PRACTICE | NM_CONFUSING | 102-103 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Use of non-localized String.toUpperCase() or String.toLowerCase | I18N | DM_CONVERT_CASE | 92 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.WabitSessionContextImpl$1.sessionClosing(SessionLifecycleEvent) invokes System.exit(...), which shuts down the entire virtual machine | BAD_PRACTICE | DM_EXIT | 155 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Method ca.sqlpower.wabit.WabitVersion.<static initializer>() may fail to clean up stream or resource of type java.io.InputStream | EXPERIMENTAL | OBL_UNSATISFIED_OBLIGATION | 36 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| instanceof will always return true in ca.sqlpower.wabit.WabitWorkspace.addDataSource(WabitDataSource, int), since all ca.sqlpower.wabit.WabitDataSource are instances of ca.sqlpower.wabit.WabitDataSource | STYLE | BC_VACUOUS_INSTANCEOF | 279 | Medium |
| instanceof will always return true in ca.sqlpower.wabit.WabitWorkspace.dsAlreadyAdded(SPDataSource), since all ca.sqlpower.wabit.WabitDataSource are instances of ca.sqlpower.wabit.WabitDataSource | STYLE | BC_VACUOUS_INSTANCEOF | 634 | Medium |
| instanceof will always return true in ca.sqlpower.wabit.WabitWorkspace.removeDataSource(WabitDataSource), since all ca.sqlpower.wabit.WabitDataSource are instances of ca.sqlpower.wabit.WabitDataSource | STYLE | BC_VACUOUS_INSTANCEOF | 290 | Medium |
| Dead store to offset in ca.sqlpower.wabit.WabitWorkspace.childPositionOffset(Class) | STYLE | DLS_DEAD_LOCAL_STORE | 487 | Low |
| Method ca.sqlpower.wabit.WabitWorkspace.addDataSource(WabitDataSource, int) does an unnecessary type check using instanceof operator when it can be determined statically | CORRECTNESS | SIO_SUPERFLUOUS_INSTANCEOF | 279 | Low |
| Method ca.sqlpower.wabit.WabitWorkspace.dsAlreadyAdded(SPDataSource) does an unnecessary type check using instanceof operator when it can be determined statically | CORRECTNESS | SIO_SUPERFLUOUS_INSTANCEOF | 634 | Low |
| Method ca.sqlpower.wabit.WabitWorkspace.removeDataSource(WabitDataSource) does an unnecessary type check using instanceof operator when it can be determined statically | CORRECTNESS | SIO_SUPERFLUOUS_INSTANCEOF | 290 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.dao.PersistedWabitObject.equals(Object) does not check for null argument | BAD_PRACTICE | NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT | 106 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.dao.RemovedWabitObject.equals(Object) does not check for null argument | BAD_PRACTICE | NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT | 52 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.dao.WabitObjectComparator implements Comparator but not Serializable | BAD_PRACTICE | SE_COMPARATOR_SHOULD_BE_SERIALIZABLE | 77-175 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.dao.WabitObjectProperty.equals(Object) does not check for null argument | BAD_PRACTICE | NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT | 111 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Redundant nullcheck of oldValue, which is known to be non-null in ca.sqlpower.wabit.dao.WabitSessionPersister.persistPropertyHelper(String, String, SPPersister$DataType, Object, Object, boolean) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE | 1574 | Low |
| Repeated conditional test in ca.sqlpower.wabit.dao.WabitSessionPersister.persistPropertyHelper(String, String, SPPersister$DataType, Object, Object, boolean) | CORRECTNESS | RpC_REPEATED_CONDITIONAL_TEST | 1574 | Low |
| Unconditional wait in ca.sqlpower.wabit.dao.WabitSessionPersister.loadWabitObject(PersistedWabitObject) | MT_CORRECTNESS | UW_UNCOND_WAIT | 884 | Low |
| Wait not in loop in ca.sqlpower.wabit.dao.WabitSessionPersister.loadWabitObject(PersistedWabitObject) | MT_CORRECTNESS | WA_NOT_IN_LOOP | 884 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to initialView in ca.sqlpower.wabit.dao.WorkspaceSAXHandler.endElementImpl(String, String, String, ByteArrayOutputStream) | STYLE | DLS_DEAD_LOCAL_STORE | 1393 | Low |
| Useless control flow in ca.sqlpower.wabit.dao.WorkspaceSAXHandler.startElementImpl(String, String, String, Attributes) | STYLE | UCF_USELESS_CONTROL_FLOW | 699 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception is caught when Exception is not thrown in ca.sqlpower.wabit.enterprise.client.ServerInfoProvider.getWatermarkMessage(String, String, String, String, String) | STYLE | REC_CATCH_EXCEPTION | 170 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception is caught when Exception is not thrown in ca.sqlpower.wabit.enterprise.client.WabitClientSession$DataSourceCollectionUpdater.postPropertiesToServer(SPDataSource, List) | STYLE | REC_CATCH_EXCEPTION | 363 | Medium |
| Exception is caught when Exception is not thrown in ca.sqlpower.wabit.enterprise.client.WabitClientSession$DataSourceCollectionUpdater.databaseRemoved(DatabaseListChangeEvent) | STYLE | REC_CATCH_EXCEPTION | 407 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Method new ca.sqlpower.wabit.enterprise.client.WabitClientSession$Updater(WabitClientSession, String, SPJSONMessageDecoder) creates a thread using the default empty run method | MT_CORRECTNESS | DM_USELESS_THREAD | 654 | Low |
| Exception is caught when Exception is not thrown in ca.sqlpower.wabit.enterprise.client.WabitClientSession$Updater.run() | STYLE | REC_CATCH_EXCEPTION | 694 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception is caught when Exception is not thrown in ca.sqlpower.wabit.report.CellSetRenderer.init() | STYLE | REC_CATCH_EXCEPTION | 212 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| int division result cast to double or float in ca.sqlpower.wabit.report.ChartRenderer.renderError(Graphics2D, ContentBox, String[]) | STYLE | ICAST_IDIV_CAST_TO_DOUBLE | 142 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Test for floating point equality in ca.sqlpower.wabit.report.Guide.dragSnappedEdges(double, double) | STYLE | FE_FLOATING_POINT_EQUALITY | 113 | High |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Switch statement found in ca.sqlpower.wabit.report.ImageRenderer.renderReportContent(Graphics2D, ContentBox, double, int, boolean) where default case is missing | STYLE | SF_SWITCH_NO_DEFAULT | 169-174 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Unchecked/unconfirmed cast from java.awt.Graphics to java.awt.Graphics2D in ca.sqlpower.wabit.report.Layout.print(Graphics, PageFormat, int) | STYLE | BC_UNCONFIRMED_CAST | 206 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Should ca.sqlpower.wabit.report.Layout$LayoutVarContext be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 83-102 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Primitive value is boxed and then immediately unboxed in ca.sqlpower.wabit.report.Page.getRightMarginOffset() | PERFORMANCE | BX_BOXING_IMMEDIATELY_UNBOXED | 475 | Medium |
| Method ca.sqlpower.wabit.report.Page.getRightMarginOffset() invokes inefficient Double.valueOf(double) constructor; use Page.java:[line 475] instead | PERFORMANCE | DM_FP_NUMBER_CTOR | 475 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to oldUnfilteredResults in ca.sqlpower.wabit.report.chart.Chart.setUnfilteredResultSet(CachedRowSet) | STYLE | DLS_DEAD_LOCAL_STORE | 321 | Low |
| Private method ca.sqlpower.wabit.report.chart.Chart.removeAllColumns() is never called | PERFORMANCE | UPM_UNCALLED_PRIVATE_METHOD | 379-382 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.report.chart.ComparableCategoryRow defines compareTo(ComparableCategoryRow) and uses Object.equals() | BAD_PRACTICE | EQ_COMPARETO_USE_OBJECT_EQUALS | 48-74 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Method ca.sqlpower.wabit.report.chart.DatasetUtil.createCategoryDataset(List, ResultSet, List) uses Collection.toArray() with zero-length array argument | PERFORMANCE | ITA_INEFFICIENT_TO_ARRAY | 121 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to sectionTotals in ca.sqlpower.wabit.report.resultset.ReportPositionRenderer.createResultSetLayout(Graphics2D, ResultSet, List, ContentBox, boolean) | STYLE | DLS_DEAD_LOCAL_STORE | 150 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| new ca.sqlpower.wabit.rs.ResultSetAndUpdateCountCollection(Statement, boolean, boolean, int, WabitSession) invokes Thread.start() | MT_CORRECTNESS | SC_START_IN_CTOR | 176 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Method new ca.sqlpower.wabit.rs.ResultSetAndUpdateCountCollection$1(ResultSetAndUpdateCountCollection, CachedRowSet, ResultSet, int, WabitSession) creates a thread using the default empty run method | MT_CORRECTNESS | DM_USELESS_THREAD | 158 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.rs.olap.MemberHierarchyComparator implements Comparator but not Serializable | BAD_PRACTICE | SE_COMPARATOR_SHOULD_BE_SERIALIZABLE | 29-69 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Inconsistent synchronization of ca.sqlpower.wabit.rs.olap.OlapQuery.mdxQuery; locked 88% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 1378 | High |
| Exception is caught when Exception is not thrown in ca.sqlpower.wabit.rs.olap.OlapQuery.init() | STYLE | REC_CATCH_EXCEPTION | 774 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Redundant nullcheck of rs which is known to be null in ca.sqlpower.wabit.rs.query.QueryCache.executeStatement(boolean) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE | 466 | Medium |
| Method ca.sqlpower.wabit.rs.query.QueryCache.executeStatement(boolean) passes a nonconstant String to an execute method on an SQL statement | SECURITY | SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE | 439 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.swingui.InsertVariableButton$1 stored into non-transient field InsertVariableButton.clickHandler | BAD_PRACTICE | SE_BAD_FIELD_STORE | 57 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| int division result cast to double or float in ca.sqlpower.wabit.swingui.NewWorkspaceScreen.showFrame() | STYLE | ICAST_IDIV_CAST_TO_DOUBLE | 162 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception is caught when Exception is not thrown in ca.sqlpower.wabit.swingui.NewWorkspaceScreen$2.windowClosed(WindowEvent) | STYLE | REC_CATCH_EXCEPTION | 129 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Check for sign of bitwise operation in ca.sqlpower.wabit.swingui.QueryPanel$13.hierarchyChanged(HierarchyEvent) | BAD_PRACTICE | BIT_SIGNED_CHECK | 928 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.QueryPanel$3 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 550-553 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to db in ca.sqlpower.wabit.swingui.QueryPanel$8.doStuff() | STYLE | DLS_DEAD_LOCAL_STORE | 684 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to name in ca.sqlpower.wabit.swingui.QueryPanel$9.dragGestureRecognized(DragGestureEvent) | STYLE | DLS_DEAD_LOCAL_STORE | 730 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Should ca.sqlpower.wabit.swingui.QueryPanel$RowListModel be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 240-247 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.swingui.ServerListMenu$3 stored into non-transient field ServerListMenu.refillMenu | BAD_PRACTICE | SE_BAD_FIELD_STORE | 149 | Medium |
| ca.sqlpower.wabit.swingui.ServerListMenu$4 stored into non-transient field ServerListMenu.serviceListener | BAD_PRACTICE | SE_BAD_FIELD_STORE | 167 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.StackedTabComponent defines non-transient non-serializable instance field selectedTab | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.StackedTabComponent$StackedTab$1 defines non-transient non-serializable instance field this$1 | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.StackedTabComponent$StackedTab$2 defines non-transient non-serializable instance field this$1 | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.swingui.WabitImagePanel$3.drop(DropTargetDropEvent) may fail to close stream | BAD_PRACTICE | OS_OPEN_STREAM | 152 | Medium |
| Exception is caught when Exception is not thrown in ca.sqlpower.wabit.swingui.WabitImagePanel$3.drop(DropTargetDropEvent) | STYLE | REC_CATCH_EXCEPTION | 163 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.swingui.WabitSwingSessionContextImpl.close() invokes System.exit(...), which shuts down the entire virtual machine | BAD_PRACTICE | DM_EXIT | 1914 | Medium |
| Load of known null value in ca.sqlpower.wabit.swingui.WabitSwingSessionContextImpl.objectsMenu(JPopupMenu, String, String, JMenuItem, boolean, SPAccessManager$Permission) | STYLE | NP_LOAD_OF_KNOWN_NULL_VALUE | 2263 | Medium |
| Method ca.sqlpower.wabit.swingui.WabitSwingSessionContextImpl.getDatasourceDependencies(SPObject) concatenates strings using + in a loop | PERFORMANCE | SBSC_USE_STRINGBUFFER_CONCATENATION | 1309 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception is caught when Exception is not thrown in ca.sqlpower.wabit.swingui.WabitSwingSessionContextImpl$22.run() | STYLE | REC_CATCH_EXCEPTION | 2185 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Should ca.sqlpower.wabit.swingui.WabitSwingSessionContextImpl$SearchTreeCellRenderer be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 789-801 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.WabitSwingSessionImpl$5 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 651-657 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.WabitToolBarBuilder$ExpandLayout$PopupAction defines non-transient non-serializable instance field this$1 | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to serverListMenuItemFactory in ca.sqlpower.wabit.swingui.WabitWelcomeScreen$3.actionPerformed(ActionEvent) | STYLE | DLS_DEAD_LOCAL_STORE | 143 | High |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.WabitWelcomeScreen$5 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 202-204 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.swingui.WorkspacePanel.addJDBCDataSource(JDBCDataSource, WabitSwingSession) might ignore java.lang.Exception | BAD_PRACTICE | DE_MIGHT_IGNORE | 327 | Low |
| ca.sqlpower.wabit.swingui.WorkspacePanel.addOlap4jDataSource(Olap4jDataSource, WabitSwingSession) might ignore java.lang.Exception | BAD_PRACTICE | DE_MIGHT_IGNORE | 364 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Load of known null value in ca.sqlpower.wabit.swingui.WorkspaceTreeListener.objectsMenu(JPopupMenu, String, String, JMenuItem, boolean, SPAccessManager$Permission) | STYLE | NP_LOAD_OF_KNOWN_NULL_VALUE | 676 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.WorkspaceTreeListener$3 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 502-504 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.action.AboutAction$1 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 75-78 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| int division result cast to double or float in ca.sqlpower.wabit.swingui.action.CreateLayoutFromQueryAction.createDefaultLayout(WabitWorkspace, ReportContentRenderer, String) | STYLE | ICAST_IDIV_CAST_TO_DOUBLE | 118 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.action.DeleteFromTreeAction$3 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 176-177 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.swingui.action.ExportSQLScriptAction.actionPerformed(ActionEvent) may fail to close stream on exception | BAD_PRACTICE | OS_OPEN_STREAM_EXCEPTION_PATH | 85 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception is caught when Exception is not thrown in ca.sqlpower.wabit.swingui.action.HelpAction.actionPerformed(ActionEvent) | STYLE | REC_CATCH_EXCEPTION | 61 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.action.ImportWorkspaceAction$1 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 90-141 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception is caught when Exception is not thrown in ca.sqlpower.wabit.swingui.action.OpenWorkspaceAction.loadFiles(WabitSwingSessionContext, URI[]) | STYLE | REC_CATCH_EXCEPTION | 129 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.action.RenameWabitServerWorkspaceAction$1 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 59-61 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.action.RenameWabitServerWorkspaceAction$2 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 66-67 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception is caught when Exception is not thrown in ca.sqlpower.wabit.swingui.chart.ChartPanel.updateChartPreview() | STYLE | REC_CATCH_EXCEPTION | 586 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.swingui.chart.WabitDrawingSupplier.SERIES_COLOURS should be package protected | MALICIOUS_CODE | MS_PKGPROTECT | 42 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Unchecked/unconfirmed cast from java.awt.Graphics to java.awt.Graphics2D in ca.sqlpower.wabit.swingui.chart.WabitJFreeChartPanel.paintComponent(Graphics) | STYLE | BC_UNCONFIRMED_CAST | 51 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Unread field: ca.sqlpower.wabit.swingui.chart.effect.PieChartAnimator.finalAngle; should this field be static? | PERFORMANCE | SS_SHOULD_BE_STATIC | 33 | Medium |
| Unread field: ca.sqlpower.wabit.swingui.chart.effect.PieChartAnimator.initialAngle; should this field be static? | PERFORMANCE | SS_SHOULD_BE_STATIC | 34 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Primitive value is boxed and then immediately unboxed in new ca.sqlpower.wabit.swingui.enterprise.GrantPanel(WabitWorkspace, WabitWorkspace, String, String, String) | PERFORMANCE | BX_BOXING_IMMEDIATELY_UNBOXED | 320 | Medium |
| Method new ca.sqlpower.wabit.swingui.enterprise.GrantPanel(WabitWorkspace, WabitWorkspace, String, String, String) invokes inefficient Float.valueOf(float) constructor; use GrantPanel.java:[line 320] instead | PERFORMANCE | DM_FP_NUMBER_CTOR | 320 | Low |
| Possible null pointer dereference of grant in ca.sqlpower.wabit.swingui.enterprise.GrantPanel.updateGrantSettings() | CORRECTNESS | NP_NULL_ON_SOME_PATH | 372 | Medium |
| Redundant nullcheck of xobjectUuid, which is known to be non-null in new ca.sqlpower.wabit.swingui.enterprise.GrantPanel(WabitWorkspace, WabitWorkspace, String, String, String) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE | 119 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.enterprise.GrantPanel$2 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 145-150 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception is caught when Exception is not thrown in ca.sqlpower.wabit.swingui.enterprise.GrantPanel$8.run() | STYLE | REC_CATCH_EXCEPTION | 534 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.enterprise.GroupPanel$2 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 129-134 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.enterprise.GroupPanel$3 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 147-152 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception is caught when Exception is not thrown in ca.sqlpower.wabit.swingui.enterprise.GroupPanel$6.run() | STYLE | REC_CATCH_EXCEPTION | 334 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.enterprise.ServerInfoManager$6 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 162-164 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.enterprise.ServerInfoManager$8 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 213-214 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.enterprise.UserPanel$5 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 218-223 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.enterprise.UserPanel$6 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 236-241 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception is caught when Exception is not thrown in ca.sqlpower.wabit.swingui.enterprise.UserPanel$9.run() | STYLE | REC_CATCH_EXCEPTION | 438 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.enterprise.UsersAndGroupsListModel$1 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 70-71 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.enterprise.UsersAndGroupsListModel$2 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 78-79 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.olap.CellSetTableHeaderComponent defines non-transient non-serializable instance field dropTargetListener | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.olap.CellSetTableHeaderComponent$1 defines non-transient non-serializable instance field DASHED_STROKE | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception is caught when Exception is not thrown in ca.sqlpower.wabit.swingui.olap.CellSetTableHeaderComponent$CellSetTableHeaderDropTargetListener.importData(JComponent, Transferable, Point) | STYLE | REC_CATCH_EXCEPTION | 349 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| instanceof will always return true in ca.sqlpower.wabit.swingui.olap.CellSetTableHeaderComponent$HierarchyComponent$MouseHandler.maybeShowPopup(MouseEvent, Member), since all org.olap4j.metadata.Measure are instances of org.olap4j.metadata.Measure | STYLE | BC_VACUOUS_INSTANCEOF | 833 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception is caught when Exception is not thrown in ca.sqlpower.wabit.swingui.olap.CellSetViewer.updateCellSetViewer(OlapQuery, CellSet) | STYLE | REC_CATCH_EXCEPTION | 302 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.olap.CellSetViewer$1 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 117-122 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.olap.CellSetViewer$2 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 187-193 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.olap.CellSetViewer$3 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 198-204 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception is caught when Exception is not thrown in ca.sqlpower.wabit.swingui.olap.Olap4JTreeCellRenderer.configureJLabel(JLabel, Object) | STYLE | REC_CATCH_EXCEPTION | 109 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Should ca.sqlpower.wabit.swingui.olap.Olap4jTreeModel$OlapTreeRoot be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 74-92 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.swingui.olap.OlapMetadataTransferable.getTransferData(DataFlavor) may expose internal representation by returning OlapMetadataTransferable.transferData | MALICIOUS_CODE | EI_EXPOSE_REP | 53 | Medium |
| new ca.sqlpower.wabit.swingui.olap.OlapMetadataTransferable(Object[]) may expose internal representation by storing an externally mutable object into OlapMetadataTransferable.transferData | MALICIOUS_CODE | EI_EXPOSE_REP2 | 45 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception is caught when Exception is not thrown in ca.sqlpower.wabit.swingui.olap.OlapQueryPanel$12.actionPerformed(ActionEvent) | STYLE | REC_CATCH_EXCEPTION | 537 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.olap.OlapQueryPanel$6 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 339-346 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception is caught when Exception is not thrown in ca.sqlpower.wabit.swingui.olap.OlapQueryPanel$8.actionPerformed(ActionEvent) | STYLE | REC_CATCH_EXCEPTION | 392 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.olap.OlapQueryPanel$CubeTreeDragGestureListener$1 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 133 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| instanceof will always return true in ca.sqlpower.wabit.swingui.olap.SlicerPanel.updatePanel(), since all org.olap4j.metadata.Measure are instances of org.olap4j.metadata.Measure | STYLE | BC_VACUOUS_INSTANCEOF | 116 | Medium |
| Class ca.sqlpower.wabit.swingui.olap.SlicerPanel defines non-transient non-serializable instance field mouseHandler | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Class ca.sqlpower.wabit.swingui.olap.SlicerPanel defines non-transient non-serializable instance field slicerPanelDropTargetListener | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception is caught when Exception is not thrown in ca.sqlpower.wabit.swingui.olap.SlicerPanel$SlicerPanelDropTargetListener.importData(Transferable, Point) | STYLE | REC_CATCH_EXCEPTION | 250 | Medium |
| Exception is caught when Exception is not thrown in ca.sqlpower.wabit.swingui.olap.SlicerPanel$SlicerPanelDropTargetListener.importData(Transferable, Point) | STYLE | REC_CATCH_EXCEPTION | 250 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.report.CellSetSwingRenderer$1 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 64-72 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.report.ChartSwingRenderer$1 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 53-58 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.report.ContentBoxNode defines non-transient non-serializable instance field inputHandler | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Class ca.sqlpower.wabit.swingui.report.ContentBoxNode defines non-transient non-serializable instance field modelRepaintListener | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Class ca.sqlpower.wabit.swingui.report.ContentBoxNode defines non-transient non-serializable instance field swingRenderer | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| ca.sqlpower.wabit.swingui.report.ContentBoxNode$1 stored into non-transient field ContentBoxNode.inputHandler | BAD_PRACTICE | SE_BAD_FIELD_STORE | 92 | Medium |
| ca.sqlpower.wabit.swingui.report.ContentBoxNode$2 stored into non-transient field ContentBoxNode.modelRepaintListener | BAD_PRACTICE | SE_BAD_FIELD_STORE | 217 | Medium |
| ca.sqlpower.wabit.swingui.report.CellSetSwingRenderer stored into non-transient field ContentBoxNode.swingRenderer | BAD_PRACTICE | SE_BAD_FIELD_STORE | 280 | Low |
| ca.sqlpower.wabit.swingui.report.ChartSwingRenderer stored into non-transient field ContentBoxNode.swingRenderer | BAD_PRACTICE | SE_BAD_FIELD_STORE | 286 | Low |
| ca.sqlpower.wabit.swingui.report.ImageSwingRenderer stored into non-transient field ContentBoxNode.swingRenderer | BAD_PRACTICE | SE_BAD_FIELD_STORE | 284 | Low |
| ca.sqlpower.wabit.swingui.report.ResultSetSwingRenderer stored into non-transient field ContentBoxNode.swingRenderer | BAD_PRACTICE | SE_BAD_FIELD_STORE | 282 | Low |
| ca.sqlpower.wabit.swingui.report.SwingLabel stored into non-transient field ContentBoxNode.swingRenderer | BAD_PRACTICE | SE_BAD_FIELD_STORE | 288 | Low |
| ca.sqlpower.wabit.swingui.report.ContentBoxNode is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | 66-472 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.report.ContentBoxNode$1$1 defines non-transient non-serializable instance field this$1 | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.report.ContentBoxNode$1$2 defines non-transient non-serializable instance field this$1 | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.report.ContentBoxNode$1$3 defines non-transient non-serializable instance field this$1 | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.report.ContentBoxNode$1$4 defines non-transient non-serializable instance field this$1 | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.swingui.report.GuideAwareBoundsHandle is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | 52-120 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.report.GuideNode defines non-transient non-serializable instance field inputEventHandler | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium |
| Class ca.sqlpower.wabit.swingui.report.GuideNode defines non-transient non-serializable instance field marginStroke | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium |
| ca.sqlpower.wabit.swingui.report.GuideNode is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | 57-328 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.report.GuideNode$GuideMouseEventHandler$1 defines non-transient non-serializable instance field this$1 | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Switch statement found in new ca.sqlpower.wabit.swingui.report.ImageSwingRenderer$ImageEntryPanel(WabitWorkspace, ImageRenderer) where default case is missing | STYLE | SF_SWITCH_NO_DEFAULT | 91-95 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| int division result cast to double or float in ca.sqlpower.wabit.swingui.report.LayoutPanel.zoomToFit() | STYLE | ICAST_IDIV_CAST_TO_DOUBLE | 601 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.report.LayoutPanel$10 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 472-477 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Use of non-localized String.toUpperCase() or String.toLowerCase | I18N | DM_CONVERT_CASE | 105 | Low |
| Exception is caught when Exception is not thrown in ca.sqlpower.wabit.swingui.report.PDFAction.actionPerformed(ActionEvent) | STYLE | REC_CATCH_EXCEPTION | 200 | Low |
| Class ca.sqlpower.wabit.swingui.report.PDFAction defines non-transient non-serializable instance field watermarker | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.report.PDFAction$1 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 134-140 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.report.PDFAction$2 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 145-158 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.report.PDFAction$3 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 163-167 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Unchecked/unconfirmed cast from edu.umd.cs.piccolo.PNode to ca.sqlpower.wabit.swingui.WabitNode in ca.sqlpower.wabit.swingui.report.PageNode.addChild(int, PNode) | STYLE | BC_UNCONFIRMED_CAST | 115 | Low |
| ca.sqlpower.wabit.swingui.report.PageNode is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | 42-130 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.report.PrintAction$1 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 121-127 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.report.PrintAction$2 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 132-145 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.report.PrintAction$3 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 150-154 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Should ca.sqlpower.wabit.swingui.report.PrintAction$PrintWorker be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 55-83 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.swingui.report.PrintPreviewAction$5 stored into non-transient field PrintPreviewAction.closeListener | BAD_PRACTICE | SE_BAD_FIELD_STORE | 206 | Medium |
| ca.sqlpower.wabit.swingui.report.PrintPreviewAction$2 stored into non-transient field PrintPreviewAction.keyListener | BAD_PRACTICE | SE_BAD_FIELD_STORE | 79 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.swingui.report.PrintPreviewAction$2.keyReleased(KeyEvent) might ignore java.lang.Exception | BAD_PRACTICE | DE_MIGHT_IGNORE | 89 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception is caught when Exception is not thrown in ca.sqlpower.wabit.swingui.report.ReportPrintPreviewPanel.paintComponent(Graphics) | STYLE | REC_CATCH_EXCEPTION | 86 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.swingui.report.ReportQueryTransferable.getTransferData(DataFlavor) may expose internal representation by returning ReportQueryTransferable.queries | MALICIOUS_CODE | EI_EXPOSE_REP | 59 | Medium |
| new ca.sqlpower.wabit.swingui.report.ReportQueryTransferable(WabitObject[]) may expose internal representation by storing an externally mutable object into ReportQueryTransferable.queries | MALICIOUS_CODE | EI_EXPOSE_REP2 | 49 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.report.ResultSetSwingRenderer$1 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 138-141 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.report.SwingLabel$1 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 120-123 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.report.SwingLabel$2 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 138-141 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Unchecked/unconfirmed cast from java.awt.Graphics to java.awt.Graphics2D in ca.sqlpower.wabit.swingui.report.TemplatePreviewIcon.paintIcon(Component, Graphics, int, int) | STYLE | BC_UNCONFIRMED_CAST | 67 | Low |
| int division result cast to double or float in ca.sqlpower.wabit.swingui.report.TemplatePreviewIcon.paintIcon(Component, Graphics, int, int) | STYLE | ICAST_IDIV_CAST_TO_DOUBLE | 90 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.swingui.tree.FolderNode.toString() may return null | BAD_PRACTICE | NP_TOSTRING_COULD_RETURN_NULL | 179 | Medium |
| Switch statement found in ca.sqlpower.wabit.swingui.tree.FolderNode.getChildren() where default case is missing | STYLE | SF_SWITCH_NO_DEFAULT | 141-144 | Low |
| Switch statement found in ca.sqlpower.wabit.swingui.tree.FolderNode.toString() where default case is missing | STYLE | SF_SWITCH_NO_DEFAULT | 176-179 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.swingui.tree.SmartTreeTransferable.getTransferData(DataFlavor) ignores exceptional return value of java.io.File.mkdir() | BAD_PRACTICE | RV_RETURN_VALUE_IGNORED_BAD_PRACTICE | 174 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| WorkspaceTreeCellEditor.textField not initialized in constructor | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Unchecked argument of type Object provided where type ca.sqlpower.object.SPObject is expected in ca.sqlpower.wabit.swingui.tree.WorkspaceTreeModel.getIndexOfChild(Object, Object) | BAD_PRACTICE | GC_UNCHECKED_TYPE_IN_GENERIC_CALL | 351 | Low |
| Unchecked argument of type Object provided where type FolderNode is expected in ca.sqlpower.wabit.swingui.tree.WorkspaceTreeModel.getIndexOfChild(Object, Object) | BAD_PRACTICE | GC_UNCHECKED_TYPE_IN_GENERIC_CALL | 333 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Should ca.sqlpower.wabit.swingui.tree.WorkspaceTreeModel$Olap4jTreeObject be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 404-422 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to index in ca.sqlpower.wabit.swingui.tree.WorkspaceTreeModel$WabitTreeModelEventAdapter.getCorrectIndex(WabitObject, int) | STYLE | DLS_DEAD_LOCAL_STORE | 638 | Low |
| Private method ca.sqlpower.wabit.swingui.tree.WorkspaceTreeModel$WabitTreeModelEventAdapter.getCorrectIndex(WabitObject, int) is never called | PERFORMANCE | UPM_UNCALLED_PRIVATE_METHOD | 612-641 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.jfree.chart.plot.PiePlot3DGradient doesn't override PiePlot3D.equals(Object) | STYLE | EQ_DOESNT_OVERRIDE_EQUALS | 1014-1027 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| PiePlot3DGradient.faceGradient not initialized in constructor | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Use of non-localized String.toUpperCase() or String.toLowerCase | I18N | DM_CONVERT_CASE | 77 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Method org.json.JSONArray.put(double) invokes inefficient Double.valueOf(double) constructor; use JSONArray.java:[line 635] instead | PERFORMANCE | DM_FP_NUMBER_CTOR | 635 | Low |
| Method org.json.JSONArray.put(int, double) invokes inefficient Double.valueOf(double) constructor; use JSONArray.java:[line 732] instead | PERFORMANCE | DM_FP_NUMBER_CTOR | 732 | Low |
| Method new org.json.JSONArray(JSONTokener) invokes inefficient new Character(char) constructor; use Character.valueOf(char) instead | PERFORMANCE | DM_NUMBER_CTOR | 139 | Medium |
| Method org.json.JSONArray.put(int) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead | PERFORMANCE | DM_NUMBER_CTOR | 649 | Medium |
| Method org.json.JSONArray.put(int, int) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead | PERFORMANCE | DM_NUMBER_CTOR | 747 | Medium |
| Method org.json.JSONArray.put(int, long) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead | PERFORMANCE | DM_NUMBER_CTOR | 762 | Medium |
| Method org.json.JSONArray.put(long) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead | PERFORMANCE | DM_NUMBER_CTOR | 661 | Medium |
| org.json.JSONArray.toString() may return null | BAD_PRACTICE | NP_TOSTRING_COULD_RETURN_NULL | 860 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| instanceof will always return true in org.json.JSONObject.valueToString(Object), since all String are instances of String | STYLE | BC_VACUOUS_INSTANCEOF | 1452 | Medium |
| instanceof will always return true in org.json.JSONObject.valueToString(Object, int, int), since all String are instances of String | STYLE | BC_VACUOUS_INSTANCEOF | 1499 | Medium |
| new org.json.JSONObject(Object, String[]) might ignore java.lang.Exception | BAD_PRACTICE | DE_MIGHT_IGNORE | 403 | Low |
| Use of non-localized String.toUpperCase() or String.toLowerCase | I18N | DM_CONVERT_CASE | 337 | Low |
| Method org.json.JSONObject.put(String, double) invokes inefficient Double.valueOf(double) constructor; use JSONObject.java:[line 1010] instead | PERFORMANCE | DM_FP_NUMBER_CTOR | 1010 | Low |
| Method org.json.JSONObject.put(String, int) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead | PERFORMANCE | DM_NUMBER_CTOR | 1024 | Medium |
| Method org.json.JSONObject.put(String, long) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead | PERFORMANCE | DM_NUMBER_CTOR | 1038 | Medium |
| Method org.json.JSONObject.stringToValue(String) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead | PERFORMANCE | DM_NUMBER_CTOR | 1239 | Medium |
| Call to equals() with null argument in org.json.JSONObject.valueToString(Object) | CORRECTNESS | EC_NULL_ARG | 1442 | Medium |
| Call to equals() with null argument in org.json.JSONObject.valueToString(Object, int, int) | CORRECTNESS | EC_NULL_ARG | 1493 | Medium |
| org.json.JSONObject.toString() may return null | BAD_PRACTICE | NP_TOSTRING_COULD_RETURN_NULL | 1341 | Medium |
| Should org.json.JSONObject.getNames(Object) return a zero length array rather than null? | STYLE | PZLA_PREFER_ZERO_LENGTH_ARRAYS | 663 | Low |
| Should org.json.JSONObject.getNames(JSONObject) return a zero length array rather than null? | STYLE | PZLA_PREFER_ZERO_LENGTH_ARRAYS | 643 | Low |
| Exception is caught when Exception is not thrown in org.json.JSONObject.populateInternalMap(Object, boolean) | STYLE | REC_CATCH_EXCEPTION | 364 | Medium |
| Exception is caught when Exception is not thrown in new org.json.JSONObject(Object, String[]) | STYLE | REC_CATCH_EXCEPTION | 403 | Low |
| Exception is caught when Exception is not thrown in org.json.JSONObject.optDouble(String, double) | STYLE | REC_CATCH_EXCEPTION | 860 | Low |
| Exception is caught when Exception is not thrown in org.json.JSONObject.stringToValue(String) | STYLE | REC_CATCH_EXCEPTION | 1263 | Low |
| Exception is caught when Exception is not thrown in org.json.JSONObject.toString() | STYLE | REC_CATCH_EXCEPTION | 1340 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.json.JSONObject$Null.equals(Object) is unusual | STYLE | EQ_UNUSUAL | 115 | Medium |
| org.json.JSONObject$Null defines equals and uses Object.hashCode() | BAD_PRACTICE | HE_EQUALS_USE_HASHCODE | 115 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.json.JSONStringer.toString() may return null | BAD_PRACTICE | NP_TOSTRING_COULD_RETURN_NULL | 76 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Method org.json.JSONWriter.value(double) invokes inefficient Double.valueOf(double) constructor; use JSONWriter.java:[line 298] instead | PERFORMANCE | DM_FP_NUMBER_CTOR | 298 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception is caught when Exception is not thrown in org.json.Test.main(String[]) | STYLE | REC_CATCH_EXCEPTION | 631 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to s in org.json.XML.toString(Object, String) | STYLE | DLS_DEAD_LOCAL_STORE | 358 | Low |
| Method org.json.XML.<static initializer>() invokes inefficient new Character(char) constructor; use Character.valueOf(char) instead | PERFORMANCE | DM_NUMBER_CTOR | 39 | Medium |