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 |
|---|---|---|---|
| 2195 | 175 | 60 | 11 |
| 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 | 286 | 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 | 641 | 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 | 297 | Medium |
| Dead store to offset in ca.sqlpower.wabit.WabitWorkspace.childPositionOffset(Class) | STYLE | DLS_DEAD_LOCAL_STORE | 494 | 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 | 286 | 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 | 641 | 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 | 297 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Should ca.sqlpower.wabit.WabitWorkspace$WorkspaceVariableResolver be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 157-165 | 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 |
|---|---|---|---|---|
| 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 | 1579 | Low |
| Repeated conditional test in ca.sqlpower.wabit.dao.WabitSessionPersister.persistPropertyHelper(String, String, SPPersister$DataType, Object, Object, boolean) | CORRECTNESS | RpC_REPEATED_CONDITIONAL_TEST | 1579 | Low |
| Unconditional wait in ca.sqlpower.wabit.dao.WabitSessionPersister.loadWabitObject(PersistedSPObject) | MT_CORRECTNESS | UW_UNCOND_WAIT | 889 | Low |
| Wait not in loop in ca.sqlpower.wabit.dao.WabitSessionPersister.loadWabitObject(PersistedSPObject) | MT_CORRECTNESS | WA_NOT_IN_LOOP | 889 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Useless control flow in ca.sqlpower.wabit.dao.WorkspaceSAXHandler.startElementImpl(String, String, String, Attributes) | STYLE | UCF_USELESS_CONTROL_FLOW | 688 | 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 | 199 | Low |
| 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 |
|---|---|---|---|---|
| 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 | 152 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Redundant nullcheck of ca.sqlpower.wabit.rs.ResultSetAndUpdateCountCollection.streamingThread which is known to be null in new ca.sqlpower.wabit.rs.ResultSetAndUpdateCountCollection(Statement, boolean, int, WabitSession) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE | 163 | Medium |
| new ca.sqlpower.wabit.rs.ResultSetAndUpdateCountCollection(Statement, boolean, int, WabitSession) invokes Thread.start() | MT_CORRECTNESS | SC_START_IN_CTOR | 167 | 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 | 147 | 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 |
|---|---|---|---|---|
| Exception is caught when Exception is not thrown in ca.sqlpower.wabit.rs.olap.OlapQuery.init() | STYLE | REC_CATCH_EXCEPTION | 847 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception is caught when Exception is not thrown in ca.sqlpower.wabit.rs.olap.OlapQuery$OlapVariableResolver.updateVars(boolean) | STYLE | REC_CATCH_EXCEPTION | 166 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| QueryCache.executionInProgress not guarded against concurrent access; locked 66% of time | MT_CORRECTNESS | IS_FIELD_NOT_GUARDED | 651 | 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$14.hierarchyChanged(HierarchyEvent) | BAD_PRACTICE | BIT_SIGNED_CHECK | 950 | 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 | 545-548 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.QueryPanel$7 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 636-655 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Should ca.sqlpower.wabit.swingui.QueryPanel$RowListModel be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 235-242 | 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 | 1918 | 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 | 2267 | Medium |
| Method ca.sqlpower.wabit.swingui.WabitSwingSessionContextImpl.getDatasourceDependencies(SPObject) concatenates strings using + in a loop | PERFORMANCE | SBSC_USE_STRINGBUFFER_CONCATENATION | 1312 | 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 | 2189 | 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$6 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 683-689 | 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 |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.WabitWelcomeScreen$5 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 191-193 | 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 | 71-74 | 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 | 577 | 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 | 835 | 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 | 124-130 | 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 | 135-148 | 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 | 153-157 | 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 | 57-86 | 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 | 87-96 | 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 | 161-164 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.report.SwingLabel$3 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 179-182 | 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 | 342 | 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 | 328 | 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 | 395-413 | Medium |
| 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 |