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 |
|---|---|---|---|
| 2451 | 303 | 0 | 0 |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.AbstractWabitObject defines equals and uses Object.hashCode() | BAD_PRACTICE | HE_EQUALS_USE_HASHCODE | 506-511 | Medium |
| Confusing to have methods ca.sqlpower.wabit.AbstractWabitObject.getUUID() and ca.sqlpower.wabit.enterprise.client.WorkspaceLocation.getUuid() | BAD_PRACTICE | NM_CONFUSING | 369 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.QueryCache inherits equals and uses Object.hashCode() | BAD_PRACTICE | HE_INHERITS_EQUALS_USE_HASHCODE | 65-1280 | Medium |
| Redundant nullcheck of rs which is known to be null in ca.sqlpower.wabit.QueryCache.executeStatement(boolean) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE | 450 | Medium |
| Method ca.sqlpower.wabit.QueryCache.executeStatement(boolean) passes a nonconstant String to an execute method on an SQL statement | SECURITY | SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE | 423 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| new ca.sqlpower.wabit.ResultSetAndUpdateCountCollection(Statement, boolean, boolean, int, AbstractWabitObject) invokes Thread.start() | MT_CORRECTNESS | SC_START_IN_CTOR | 173 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Method new ca.sqlpower.wabit.ResultSetAndUpdateCountCollection$1(ResultSetAndUpdateCountCollection, CachedRowSet, ResultSet, int, AbstractWabitObject) creates a thread using the default empty run method | MT_CORRECTNESS | DM_USELESS_THREAD | 155 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.ResultSetAndUpdateCountCollection$CachedRowSetWithForegroundEvents is serializable but also an inner class of a non-serializable class | BAD_PRACTICE | SE_BAD_FIELD_INNER_CLASS | 50-63 | Low |
| ca.sqlpower.wabit.ResultSetAndUpdateCountCollection$CachedRowSetWithForegroundEvents is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | 50-63 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.WabitColumnItem inherits equals and uses Object.hashCode() | BAD_PRACTICE | HE_INHERITS_EQUALS_USE_HASHCODE | 30-31 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.WabitConstantItem inherits equals and uses Object.hashCode() | BAD_PRACTICE | HE_INHERITS_EQUALS_USE_HASHCODE | 30-31 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.WabitConstantsContainer inherits equals and uses Object.hashCode() | BAD_PRACTICE | HE_INHERITS_EQUALS_USE_HASHCODE | 31-54 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.WabitJoin inherits equals and uses Object.hashCode() | BAD_PRACTICE | HE_INHERITS_EQUALS_USE_HASHCODE | 38-243 | Medium |
| 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 |
|---|---|---|---|---|
| ca.sqlpower.wabit.WabitTableContainer inherits equals and uses Object.hashCode() | BAD_PRACTICE | HE_INHERITS_EQUALS_USE_HASHCODE | 31-98 | 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 | 252 | 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 | 608 | 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 | 263 | Medium |
| Dead store to offset in ca.sqlpower.wabit.WabitWorkspace.childPositionOffset(Class) | STYLE | DLS_DEAD_LOCAL_STORE | 460 | Low |
| ca.sqlpower.wabit.WabitWorkspace inherits equals and uses Object.hashCode() | BAD_PRACTICE | HE_INHERITS_EQUALS_USE_HASHCODE | 55-983 | Medium |
| 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 | 252 | 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 | 608 | 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 | 263 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.dao.PersistedWabitObject defines equals and uses Object.hashCode() | BAD_PRACTICE | HE_EQUALS_USE_HASHCODE | 105-111 | High |
| ca.sqlpower.wabit.dao.PersistedWabitObject.equals(Object) does not check for null argument | BAD_PRACTICE | NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT | 105 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.dao.RemovedWabitObject defines equals and uses Object.hashCode() | BAD_PRACTICE | HE_EQUALS_USE_HASHCODE | 52-58 | High |
| 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 | 79-179 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.dao.WabitObjectProperty defines equals and uses Object.hashCode() | BAD_PRACTICE | HE_EQUALS_USE_HASHCODE | 111-122 | High |
| 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, WabitPersister$DataType, Object, Object, boolean) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE | 1231 | Low |
| Repeated conditional test in ca.sqlpower.wabit.dao.WabitSessionPersister.persistPropertyHelper(String, String, WabitPersister$DataType, Object, Object, boolean) | CORRECTNESS | RpC_REPEATED_CONDITIONAL_TEST | 1231 | Low |
| Unconditional wait in ca.sqlpower.wabit.dao.WabitSessionPersister.loadWabitObject(PersistedWabitObject) | MT_CORRECTNESS | UW_UNCOND_WAIT | 568 | Low |
| Wait not in loop in ca.sqlpower.wabit.dao.WabitSessionPersister.loadWabitObject(PersistedWabitObject) | MT_CORRECTNESS | WA_NOT_IN_LOOP | 568 | 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 | 1392 | Low |
| Useless control flow in ca.sqlpower.wabit.dao.WorkspaceSAXHandler.startElementImpl(String, String, String, Attributes) | STYLE | UCF_USELESS_CONTROL_FLOW | 698 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.dao.json.JSONHttpMessageSender$1 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 68-77 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Unchecked/unconfirmed cast from ca.sqlpower.query.Container to ca.sqlpower.query.TableContainer in ca.sqlpower.wabit.dao.session.ContainerConverter.convertToSimpleType(Container, Object[]) | STYLE | BC_UNCONFIRMED_CAST | 105 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Useless control flow in ca.sqlpower.wabit.dao.session.WorkspacePersisterListener.persistChild(WabitObject, WabitObject, Class, int) | STYLE | UCF_USELESS_CONTROL_FLOW | 793 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.enterprise.client.Grant inherits equals and uses Object.hashCode() | BAD_PRACTICE | HE_INHERITS_EQUALS_USE_HASHCODE | 51-178 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to offset in ca.sqlpower.wabit.enterprise.client.Group.childPositionOffset(Class) | STYLE | DLS_DEAD_LOCAL_STORE | 65 | Medium |
| ca.sqlpower.wabit.enterprise.client.Group inherits equals and uses Object.hashCode() | BAD_PRACTICE | HE_INHERITS_EQUALS_USE_HASHCODE | 31-163 | Medium |
| ca.sqlpower.wabit.enterprise.client.Group is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | 31-163 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.enterprise.client.GroupMember inherits equals and uses Object.hashCode() | BAD_PRACTICE | HE_INHERITS_EQUALS_USE_HASHCODE | 32-72 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.enterprise.client.ReportTask inherits equals and uses Object.hashCode() | BAD_PRACTICE | HE_INHERITS_EQUALS_USE_HASHCODE | 105-258 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.enterprise.client.User.getAuthorities() may expose internal representation by returning User.authorities | MALICIOUS_CODE | EI_EXPOSE_REP | 148 | Medium |
| ca.sqlpower.wabit.enterprise.client.User.setAuthorities(GrantedAuthority[]) may expose internal representation by storing an externally mutable object into User.authorities | MALICIOUS_CODE | EI_EXPOSE_REP2 | 153 | Medium |
| ca.sqlpower.wabit.enterprise.client.User inherits equals and uses Object.hashCode() | BAD_PRACTICE | HE_INHERITS_EQUALS_USE_HASHCODE | 32-178 | Medium |
| ca.sqlpower.wabit.enterprise.client.User is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | 32-178 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Method new ca.sqlpower.wabit.enterprise.client.WabitServerSession$Updater(WabitServerSession, String, WabitJSONMessageDecoder) creates a thread using the default empty run method | MT_CORRECTNESS | DM_USELESS_THREAD | 372 | Low |
| Exception is caught when Exception is not thrown in ca.sqlpower.wabit.enterprise.client.WabitServerSession$Updater.run() | STYLE | REC_CATCH_EXCEPTION | 412 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.image.WabitImage inherits equals and uses Object.hashCode() | BAD_PRACTICE | HE_INHERITS_EQUALS_USE_HASHCODE | 50-122 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.olap.MemberHierarchyComparator implements Comparator but not Serializable | BAD_PRACTICE | SE_COMPARATOR_SHOULD_BE_SERIALIZABLE | 29-69 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Call to equals() comparing unrelated class and interface in ca.sqlpower.wabit.olap.OlapQuery.removeDependency(WabitObject) | CORRECTNESS | EC_UNRELATED_CLASS_AND_INTERFACE | 744 | Medium |
| ca.sqlpower.wabit.olap.OlapQuery inherits equals and uses Object.hashCode() | BAD_PRACTICE | HE_INHERITS_EQUALS_USE_HASHCODE | 113-1467 | Medium |
| Inconsistent synchronization of ca.sqlpower.wabit.olap.OlapQuery.mdxQuery; locked 88% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 1375 | High |
| Exception is caught when Exception is not thrown in ca.sqlpower.wabit.olap.OlapQuery.init() | STYLE | REC_CATCH_EXCEPTION | 773 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.olap.OlapResultSet is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | 104-293 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.olap.WabitOlapAxis inherits equals and uses Object.hashCode() | BAD_PRACTICE | HE_INHERITS_EQUALS_USE_HASHCODE | 40-336 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.olap.WabitOlapDimension inherits equals and uses Object.hashCode() | BAD_PRACTICE | HE_INHERITS_EQUALS_USE_HASHCODE | 42-416 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.olap.WabitOlapExclusion inherits equals and uses Object.hashCode() | BAD_PRACTICE | HE_INHERITS_EQUALS_USE_HASHCODE | 33-63 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.olap.WabitOlapInclusion inherits equals and uses Object.hashCode() | BAD_PRACTICE | HE_INHERITS_EQUALS_USE_HASHCODE | 32-62 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.report.CellSetRenderer inherits equals and uses Object.hashCode() | BAD_PRACTICE | HE_INHERITS_EQUALS_USE_HASHCODE | 68-711 | Medium |
| Exception is caught when Exception is not thrown in ca.sqlpower.wabit.report.CellSetRenderer.init() | STYLE | REC_CATCH_EXCEPTION | 211 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.report.ChartRenderer inherits equals and uses Object.hashCode() | BAD_PRACTICE | HE_INHERITS_EQUALS_USE_HASHCODE | 49-197 | Medium |
| int division result cast to double or float in ca.sqlpower.wabit.report.ChartRenderer.renderError(Graphics2D, ContentBox, String[]) | STYLE | ICAST_IDIV_CAST_TO_DOUBLE | 137 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.report.ColumnInfo inherits equals and uses Object.hashCode() | BAD_PRACTICE | HE_INHERITS_EQUALS_USE_HASHCODE | 60-201 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.report.ContentBox inherits equals and uses Object.hashCode() | BAD_PRACTICE | HE_INHERITS_EQUALS_USE_HASHCODE | 47-328 | 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 | 112 | High |
| ca.sqlpower.wabit.report.Guide inherits equals and uses Object.hashCode() | BAD_PRACTICE | HE_INHERITS_EQUALS_USE_HASHCODE | 30-136 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.report.ImageRenderer inherits equals and uses Object.hashCode() | BAD_PRACTICE | HE_INHERITS_EQUALS_USE_HASHCODE | 45-275 | Medium |
| 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 | 152-157 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.report.Label inherits equals and uses Object.hashCode() | BAD_PRACTICE | HE_INHERITS_EQUALS_USE_HASHCODE | 42-242 | Medium |
| 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 | 204 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Should ca.sqlpower.wabit.report.Layout$LayoutVarContext be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 81-100 | 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 | 434 | Medium |
| Method ca.sqlpower.wabit.report.Page.getRightMarginOffset() invokes inefficient Double.valueOf(double) constructor; use Page.java:[line 434] instead | PERFORMANCE | DM_FP_NUMBER_CTOR | 434 | Low |
| ca.sqlpower.wabit.report.Page inherits equals and uses Object.hashCode() | BAD_PRACTICE | HE_INHERITS_EQUALS_USE_HASHCODE | 47-619 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.report.Report inherits equals and uses Object.hashCode() | BAD_PRACTICE | HE_INHERITS_EQUALS_USE_HASHCODE | 29-60 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| instanceof will always return true in ca.sqlpower.wabit.report.ResultSetRenderer.executeQuery(), since all ca.sqlpower.sql.CachedRowSet are instances of ca.sqlpower.sql.CachedRowSet | STYLE | BC_VACUOUS_INSTANCEOF | 408 | Medium |
| ca.sqlpower.wabit.report.ResultSetRenderer inherits equals and uses Object.hashCode() | BAD_PRACTICE | HE_INHERITS_EQUALS_USE_HASHCODE | 69-1005 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.report.Template inherits equals and uses Object.hashCode() | BAD_PRACTICE | HE_INHERITS_EQUALS_USE_HASHCODE | 26-57 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to oldUnfilteredResults in ca.sqlpower.wabit.report.chart.Chart.setUnfilteredResultSet(CachedRowSet) | STYLE | DLS_DEAD_LOCAL_STORE | 320 | Low |
| ca.sqlpower.wabit.report.chart.Chart inherits equals and uses Object.hashCode() | BAD_PRACTICE | HE_INHERITS_EQUALS_USE_HASHCODE | 53-798 | Medium |
| Private method ca.sqlpower.wabit.report.chart.Chart.removeAllColumns() is never called | PERFORMANCE | UPM_UNCALLED_PRIVATE_METHOD | 375-378 | 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 |
|---|---|---|---|---|
| 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 |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.LogInToServerAction defines non-transient non-serializable instance field serviceInfo | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| 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 | 921 | 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 | 543-546 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to db in ca.sqlpower.wabit.swingui.QueryPanel$8.doStuff() | STYLE | DLS_DEAD_LOCAL_STORE | 677 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to name in ca.sqlpower.wabit.swingui.QueryPanel$9.dragGestureRecognized(DragGestureEvent) | STYLE | DLS_DEAD_LOCAL_STORE | 723 | 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 | 159 | Medium |
| ca.sqlpower.wabit.swingui.ServerListMenu$4 stored into non-transient field ServerListMenu.serviceListener | BAD_PRACTICE | SE_BAD_FIELD_STORE | 177 | 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 | 153 | Medium |
| Exception is caught when Exception is not thrown in ca.sqlpower.wabit.swingui.WabitImagePanel$3.drop(DropTargetDropEvent) | STYLE | REC_CATCH_EXCEPTION | 164 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| instanceof will always return true in ca.sqlpower.wabit.swingui.WabitSwingSessionContextImpl.createEditorPanel(WabitObject), since all ca.sqlpower.wabit.WabitObject are instances of ca.sqlpower.wabit.WabitObject | STYLE | BC_VACUOUS_INSTANCEOF | 1720 | Medium |
| ca.sqlpower.wabit.swingui.WabitSwingSessionContextImpl.close() invokes System.exit(...), which shuts down the entire virtual machine | BAD_PRACTICE | DM_EXIT | 1839 | Medium |
| Method ca.sqlpower.wabit.swingui.WabitSwingSessionContextImpl.loadPlDotIni() may fail to clean up stream or resource of type java.io.InputStream | EXPERIMENTAL | OBL_UNSATISFIED_OBLIGATION | 239 | Medium |
| Method ca.sqlpower.wabit.swingui.WabitSwingSessionContextImpl.getDatasourceDependencies(WabitObject) concatenates strings using + in a loop | PERFORMANCE | SBSC_USE_STRINGBUFFER_CONCATENATION | 1298 | Medium |
| Method ca.sqlpower.wabit.swingui.WabitSwingSessionContextImpl.createEditorPanel(WabitObject) does an unnecessary type check using instanceof operator when it can be determined statically | CORRECTNESS | SIO_SUPERFLUOUS_INSTANCEOF | 1720 | Low |
| 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 | 2110 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Should ca.sqlpower.wabit.swingui.WabitSwingSessionContextImpl$SearchTreeCellRenderer be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 778-790 | 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 | 650-656 | 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$4 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 182-184 | 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 |
|---|---|---|---|---|
| The class ca.sqlpower.wabit.swingui.WorkspaceTreeListener$3 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 308-310 | 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 |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.action.AddDataSourceAction defines non-transient non-serializable instance field workspace | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.action.CopyImageAction defines non-transient non-serializable instance field image | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.action.CopyOlapDatasource defines non-transient non-serializable instance field wds | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.action.CopyReportAction defines non-transient non-serializable instance field layout | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.action.CopyReportTaskAction defines non-transient non-serializable instance field task | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.action.CopyTemplateAction defines non-transient non-serializable instance field layout | BAD_PRACTICE | SE_BAD_FIELD | Not available | 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 |
| Class ca.sqlpower.wabit.swingui.action.CreateLayoutFromQueryAction defines non-transient non-serializable instance field workspace | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.action.DeleteFromTreeAction defines non-transient non-serializable instance field workspace | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| 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 | 175-176 | 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 |
| Class ca.sqlpower.wabit.swingui.action.ExportSQLScriptAction defines non-transient non-serializable instance field query | 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.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 |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.action.NewOLAPQueryAction defines non-transient non-serializable instance field ds | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.action.NewQueryAction defines non-transient non-serializable instance field ds | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Class ca.sqlpower.wabit.swingui.action.NewQueryAction defines non-transient non-serializable instance field workspace | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.action.NewReportTaskAction defines non-transient non-serializable instance field report | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.action.NewServerWorkspaceAction defines non-transient non-serializable instance field serviceInfo | 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.action.OpenWorkspaceAction.loadFiles(WabitSwingSessionContext, URI[]) | STYLE | REC_CATCH_EXCEPTION | 129 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.action.RenameWabitServerWorkspaceAction defines non-transient non-serializable instance field session | BAD_PRACTICE | SE_BAD_FIELD | Not available | 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 |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.action.ReportFromTemplateAction defines non-transient non-serializable instance field template | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.action.SaveWorkspaceAsAction$SaveAsPrompt$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.action.ScheduleReportAction defines non-transient non-serializable instance field report | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.action.SecurityAction defines non-transient non-serializable instance field systemWorkspace | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Class ca.sqlpower.wabit.swingui.action.SecurityAction defines non-transient non-serializable instance field workspace | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.action.ShowEditorAction defines non-transient non-serializable instance field workspace | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.action.ShowQueryPropertiesAction defines non-transient non-serializable instance field query | 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.chart.ChartPanel.updateChartPreview() | STYLE | REC_CATCH_EXCEPTION | 586 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.chart.ChartTableCellRenderer defines non-transient non-serializable instance field chart | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.chart.RefreshDataAction defines non-transient non-serializable instance field chart | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.chart.RevertToDefaultsAction defines non-transient non-serializable instance field chartPanel | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| ca.sqlpower.wabit.swingui.chart.WabitDrawingSupplier.SERIES_COLOURS should be package protected | MALICIOUS_CODE | MS_PKGPROTECT | 41 | 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 |
| ca.sqlpower.wabit.enterprise.client.Grant is incompatible with expected argument type String in ca.sqlpower.wabit.swingui.enterprise.GrantPanel.applyChanges() | CORRECTNESS | GC_UNRELATED_TYPES | 398 | High |
| 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-163 | 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 | 219-224 | 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 | 237-242 | 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 | 439 | 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 |
| Class ca.sqlpower.wabit.swingui.olap.CellSetTableHeaderComponent defines non-transient non-serializable instance field query | 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 olapQuery | 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 contentBox | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium |
| Class ca.sqlpower.wabit.swingui.report.ContentBoxNode defines non-transient non-serializable instance field parentPanel | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium |
| Class ca.sqlpower.wabit.swingui.report.ContentBoxNode defines non-transient non-serializable instance field workspace | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium |
| Class ca.sqlpower.wabit.swingui.report.ContentBoxNode defines non-transient non-serializable instance field contentRendererListener | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| 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 session | 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$3 stored into non-transient field ContentBoxNode.contentRendererListener | BAD_PRACTICE | SE_BAD_FIELD_STORE | 238 | Medium |
| 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 |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.report.GuideAwareBoundsHandle defines non-transient non-serializable instance field transactionObject | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| 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 |
| Class ca.sqlpower.wabit.swingui.report.GuideNode defines non-transient non-serializable instance field model | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium |
| Class ca.sqlpower.wabit.swingui.report.GuideNode defines non-transient non-serializable instance field modelChangeHandler | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| ca.sqlpower.wabit.swingui.report.GuideNode$2 stored into non-transient field GuideNode.modelChangeHandler | BAD_PRACTICE | SE_BAD_FIELD_STORE | 222 | Medium |
| ca.sqlpower.wabit.swingui.report.GuideNode$1 stored into non-transient field GuideNode.parentChangeHandler | BAD_PRACTICE | SE_BAD_FIELD_STORE | 134 | Medium |
| ca.sqlpower.wabit.swingui.report.GuideNode is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | 56-289 | 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 | 100 | 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 | 129-135 | 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 | 140-153 | 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 | 158-162 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.report.PageFormatAction defines non-transient non-serializable instance field page | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class ca.sqlpower.wabit.swingui.report.PageNode defines non-transient non-serializable instance field page | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium |
| Class ca.sqlpower.wabit.swingui.report.PageNode defines non-transient non-serializable instance field pageChangeHandler | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
| ca.sqlpower.wabit.swingui.report.PageNode$1 stored into non-transient field PageNode.pageChangeHandler | BAD_PRACTICE | SE_BAD_FIELD_STORE | 48 | Medium |
| ca.sqlpower.wabit.swingui.report.PageNode is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | 39-116 | 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 | 207 | Medium |
| ca.sqlpower.wabit.swingui.report.PrintPreviewAction$2 stored into non-transient field PrintPreviewAction.keyListener | BAD_PRACTICE | SE_BAD_FIELD_STORE | 80 | Medium |
| ca.sqlpower.wabit.swingui.report.PrintPreviewAction$1 stored into non-transient field PrintPreviewAction.pageIndexListener | BAD_PRACTICE | SE_BAD_FIELD_STORE | 66 | 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 | 90 | 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 | 178 | Medium |
| Switch statement found in ca.sqlpower.wabit.swingui.tree.FolderNode.getChildren() where default case is missing | STYLE | SF_SWITCH_NO_DEFAULT | 140-143 | Low |
| Switch statement found in ca.sqlpower.wabit.swingui.tree.FolderNode.toString() where default case is missing | STYLE | SF_SWITCH_NO_DEFAULT | 175-178 | 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.wabit.WabitObject is expected in ca.sqlpower.wabit.swingui.tree.WorkspaceTreeModel.getIndexOfChild(Object, Object) | BAD_PRACTICE | GC_UNCHECKED_TYPE_IN_GENERIC_CALL | 350 | 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 | 332 | 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 | 403-421 | 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 | 637 | Low |
| Private method ca.sqlpower.wabit.swingui.tree.WorkspaceTreeModel$WabitTreeModelEventAdapter.getCorrectIndex(WabitObject, int) is never called | PERFORMANCE | UPM_UNCALLED_PRIVATE_METHOD | 611-640 | 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 |