The following document contains the results of FindBugs Report
FindBugs Version is 1.3.9
Threshold is medium
Effort is min
Classes | Bugs | Errors | Missing Classes |
---|---|---|---|
758 | 85 | 0 | 4 |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.kuali.student.common.ui.client.application.ViewContext defines compareTo(ViewContext) and uses Object.equals() | BAD_PRACTICE | EQ_COMPARETO_USE_OBJECT_EQUALS | 82-86 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.kuali.student.common.ui.client.configurable.mvc.binding.HasDataValueBinding.INSTANCE isn't final but should be | MALICIOUS_CODE | MS_SHOULD_BE_FINAL | 51 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.kuali.student.common.ui.client.configurable.mvc.binding.HasTextBinding.INSTANCE isn't final but should be | MALICIOUS_CODE | MS_SHOULD_BE_FINAL | 29 | High |
Exception is caught when Exception is not thrown in org.kuali.student.common.ui.client.configurable.mvc.binding.HasTextBinding.setModelValue(HasText, DataModel, String) | STYLE | REC_CATCH_EXCEPTION | 104 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.kuali.student.common.ui.client.configurable.mvc.binding.HasValueBinding.INSTANCE isn't final but should be | MALICIOUS_CODE | MS_SHOULD_BE_FINAL | 30 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Method org.kuali.student.common.ui.client.configurable.mvc.binding.ListToTextBinding.getStringList(DataModel, String) concatenates strings using + in a loop | PERFORMANCE | SBSC_USE_STRINGBUFFER_CONCATENATION | 51 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Suspicious comparison of Integer references in org.kuali.student.common.ui.client.configurable.mvc.binding.ModelWidgetBindingSupport.nullsafeEquals(Data, Data) | CORRECTNESS | RC_REF_COMPARISON | 95 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.kuali.student.common.ui.client.configurable.mvc.binding.MultiplicityCompositeBinding.INSTANCE isn't final but should be | MALICIOUS_CODE | MS_SHOULD_BE_FINAL | 38 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.kuali.student.common.ui.client.configurable.mvc.binding.MultiplicityGroupItemBinding.INSTANCE isn't final but should be | MALICIOUS_CODE | MS_SHOULD_BE_FINAL | 34 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.kuali.student.common.ui.client.configurable.mvc.binding.MultiplicityItemBinding.INSTANCE isn't final but should be | MALICIOUS_CODE | MS_SHOULD_BE_FINAL | 38 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.kuali.student.common.ui.client.configurable.mvc.binding.RichTextBinding.INSTANCE isn't final but should be | MALICIOUS_CODE | MS_SHOULD_BE_FINAL | 23 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.kuali.student.common.ui.client.configurable.mvc.binding.SelectItemWidgetBinding.INSTANCE isn't final but should be | MALICIOUS_CODE | MS_SHOULD_BE_FINAL | 35 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Unchecked/unconfirmed cast from com.google.gwt.user.client.ui.Widget to org.kuali.student.common.ui.client.widgets.list.KSSelectItemWidgetAbstract in org.kuali.student.common.ui.client.configurable.mvc.binding.SelectItemWidgetBinding$1.exec(Widget) | STYLE | BC_UNCONFIRMED_CAST | 103 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to layout in org.kuali.student.common.ui.client.configurable.mvc.layouts.TabbedSectionLayout.addTool(ToolView) | STYLE | DLS_DEAD_LOCAL_STORE | 393 | Medium |
Field TabbedSectionLayout.defaultView masks field in superclass org.kuali.student.common.ui.client.configurable.mvc.LayoutController | CORRECTNESS | MF_CLASS_MASKS_FIELD | 51-553 | Medium |
Nullcheck of section at line 341 of value previously dereferenced in org.kuali.student.common.ui.client.configurable.mvc.layouts.TabbedSectionLayout.addSection(String[], SectionView) | CORRECTNESS | RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE | 328 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Method org.kuali.student.common.ui.client.configurable.mvc.multiplicity.MultiplicityComposite.addItem() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead | PERFORMANCE | DM_NUMBER_CTOR | 87 | Medium |
Possible null pointer dereference of item in org.kuali.student.common.ui.client.configurable.mvc.multiplicity.MultiplicityComposite.addItem() | CORRECTNESS | NP_NULL_ON_SOME_PATH | 95 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Unread field: org.kuali.student.common.ui.client.configurable.mvc.multiplicity.MultiplicityConfiguration.fieldMap | PERFORMANCE | URF_UNREAD_FIELD | 64 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Method org.kuali.student.common.ui.client.configurable.mvc.multiplicity.MultiplicityGroup.createItem() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead | PERFORMANCE | DM_NUMBER_CTOR | 168 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Should org.kuali.student.common.ui.client.configurable.mvc.multiplicity.MultiplicityGroup$ConditionChoices be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 481-607 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Should org.kuali.student.common.ui.client.configurable.mvc.multiplicity.MultiplicityGroup$SwappableFieldsHelper be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 610-687 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Unread field: org.kuali.student.common.ui.client.configurable.mvc.sections.MultiplicityHeader.title | PERFORMANCE | URF_UNREAD_FIELD | 36 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.kuali.student.common.ui.client.configurable.mvc.sections.SectionBinding.INSTANCE isn't final but should be | MALICIOUS_CODE | MS_SHOULD_BE_FINAL | 35 | High |
Method org.kuali.student.common.ui.client.configurable.mvc.sections.SectionBinding.setModelValue(Section, DataModel, String) makes inefficient use of keySet iterator instead of entrySet iterator | PERFORMANCE | WMI_WRONG_MAP_ITERATOR | 103 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.kuali.student.common.ui.client.mvc.breadcrumb.BreadcrumbManager.links isn't final but should be | MALICIOUS_CODE | MS_SHOULD_BE_FINAL | 19 | High |
Nullcheck of name at line 73 of value previously dereferenced in org.kuali.student.common.ui.client.mvc.breadcrumb.BreadcrumbManager.updateLinks(String) | CORRECTNESS | RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE | 73 | Medium |
Method org.kuali.student.common.ui.client.mvc.breadcrumb.BreadcrumbManager.updateLinks(String) concatenates strings using + in a loop | PERFORMANCE | SBSC_USE_STRINGBUFFER_CONCATENATION | 57 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.kuali.student.common.ui.client.mvc.history.HistoryManager.VIEW_ATR isn't final but should be | MALICIOUS_CODE | MS_SHOULD_BE_FINAL | 37 | High |
Method org.kuali.student.common.ui.client.mvc.history.HistoryManager.appendContext(String, ViewContext) concatenates strings using + in a loop | PERFORMANCE | SBSC_USE_STRINGBUFFER_CONCATENATION | 216 | Medium |
Method org.kuali.student.common.ui.client.mvc.history.HistoryManager.appendContext(String, ViewContext) makes inefficient use of keySet iterator instead of entrySet iterator | PERFORMANCE | WMI_WRONG_MAP_ITERATOR | 215 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Method org.kuali.student.common.ui.client.util.PrintUtils.print(UIObject) concatenates strings using + in a loop | PERFORMANCE | SBSC_USE_STRINGBUFFER_CONCATENATION | 18 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Uninitialized read of desc in new org.kuali.student.common.ui.client.widgets.KSActionItemList$ActionItem(String, String, ClickHandler) | CORRECTNESS | UR_UNINIT_READ | 50 | Medium |
Uninitialized read of link in new org.kuali.student.common.ui.client.widgets.KSActionItemList$ActionItem(String, String, ClickHandler) | CORRECTNESS | UR_UNINIT_READ | 49 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Unread field: org.kuali.student.common.ui.client.widgets.StylishDropDown.mouseOver | PERFORMANCE | URF_UNREAD_FIELD | 53 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Unread field: org.kuali.student.common.ui.client.widgets.containers.KSWrapper.appUrl | PERFORMANCE | URF_UNREAD_FIELD | 85 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Nullcheck of result at line 122 of value previously dereferenced in org.kuali.student.common.ui.client.widgets.containers.KSWrapper$1.onSuccess(Map) | CORRECTNESS | RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE | 121 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Unread field: org.kuali.student.common.ui.client.widgets.dialog.ButtonMessageDialog.title | PERFORMANCE | URF_UNREAD_FIELD | 16 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Unread field: org.kuali.student.common.ui.client.widgets.dialog.ConfirmationDialog.title | PERFORMANCE | URF_UNREAD_FIELD | 38 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Unused field: org.kuali.student.common.ui.client.widgets.field.layout.element.FieldElement.margin | PERFORMANCE | UUF_UNUSED_FIELD | Not available | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Unread field: org.kuali.student.common.ui.client.widgets.field.layout.layouts.Header.updateable | PERFORMANCE | URF_UNREAD_FIELD | 35 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Unread field: org.kuali.student.common.ui.client.widgets.field.layout.layouts.HorizontalLayout.fieldArea | PERFORMANCE | URF_UNREAD_FIELD | 16 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Unread field: org.kuali.student.common.ui.client.widgets.field.layout.layouts.TableFieldLayout.buttonPanel | PERFORMANCE | URF_UNREAD_FIELD | 19 | Medium |
Unread field: org.kuali.student.common.ui.client.widgets.field.layout.layouts.TableFieldLayout.top | PERFORMANCE | URF_UNREAD_FIELD | 18 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Possible null pointer dereference of w in org.kuali.student.common.ui.client.widgets.headers.KSDocumentHeader.addWidget(Widget) | CORRECTNESS | NP_NULL_ON_SOME_PATH | 72 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.kuali.student.common.ui.client.widgets.impl.KSDatePickerImpl.setValue(Date) may expose internal representation by storing an externally mutable object into KSDatePickerImpl.selectedDate | MALICIOUS_CODE | EI_EXPOSE_REP2 | 223 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.kuali.student.common.ui.client.widgets.list.KSSelectedList.itemDataHelper isn't final but should be | MALICIOUS_CODE | MS_SHOULD_BE_FINAL | 73 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Unchecked/unconfirmed cast from org.kuali.student.common.ui.client.mvc.ModelChangeEvent to org.kuali.student.common.ui.client.mvc.CollectionModelChangeEvent in org.kuali.student.common.ui.client.widgets.list.ModelListItems$1.onModelChange(ModelChangeEvent) | STYLE | BC_UNCONFIRMED_CAST | 82 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to w in org.kuali.student.common.ui.client.widgets.menus.KSListPanel.remove(int) | STYLE | DLS_DEAD_LOCAL_STORE | 74 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Unread field: org.kuali.student.common.ui.client.widgets.menus.impl.KSBasicMenuImpl$MenuItemPanel.indent | PERFORMANCE | URF_UNREAD_FIELD | 196 | Medium |
Unread field: org.kuali.student.common.ui.client.widgets.menus.impl.KSBasicMenuImpl$MenuItemPanel.itemNum | PERFORMANCE | URF_UNREAD_FIELD | 197 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Unread field: org.kuali.student.common.ui.client.widgets.menus.impl.KSListMenuImpl$MenuItemPanel.indent | PERFORMANCE | URF_UNREAD_FIELD | 201 | Medium |
Unread field: org.kuali.student.common.ui.client.widgets.menus.impl.KSListMenuImpl$MenuItemPanel.itemNum | PERFORMANCE | URF_UNREAD_FIELD | 202 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to ids in org.kuali.student.common.ui.client.widgets.pagetable.GenericTableModel.setRows(List) | STYLE | DLS_DEAD_LOCAL_STORE | 178 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Method org.kuali.student.common.ui.client.widgets.progress.BlockingTask.hashCode() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead | PERFORMANCE | DM_NUMBER_CTOR | 40 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Unused field: org.kuali.student.common.ui.client.widgets.search.CollapsablePanel.buttonLabel | PERFORMANCE | UUF_UNUSED_FIELD | Not available | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Method org.kuali.student.common.ui.client.widgets.search.FieldAscendingRowComparator.compare(Row, Row) uses the same code for two branches | STYLE | DB_DUPLICATE_BRANCHES | 244-245 | Medium |
org.kuali.student.common.ui.client.widgets.search.FieldAscendingRowComparator implements Comparator but not Serializable | BAD_PRACTICE | SE_COMPARATOR_SHOULD_BE_SERIALIZABLE | 229-250 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Method org.kuali.student.common.ui.client.widgets.search.FieldDescendingRowComparator.compare(Row, Row) uses the same code for two branches | STYLE | DB_DUPLICATE_BRANCHES | 269-270 | Medium |
org.kuali.student.common.ui.client.widgets.search.FieldDescendingRowComparator implements Comparator but not Serializable | BAD_PRACTICE | SE_COMPARATOR_SHOULD_BE_SERIALIZABLE | 254-275 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Non-virtual method call in org.kuali.student.common.ui.client.widgets.search.KSPicker$6.onSuccess(SearchResult) passes null for nonnull parameter of new org.kuali.student.common.ui.client.widgets.list.SearchResultListItems(List, LookupMetadata) | CORRECTNESS | NP_NULL_PARAM_DEREF_NONVIRTUAL | 315 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to value in org.kuali.student.common.ui.client.widgets.search.KSPicker$BasicWidget.getDisplayValue() | STYLE | DLS_DEAD_LOCAL_STORE | 455 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Unchecked/unconfirmed cast from com.google.gwt.user.client.ui.Widget to org.kuali.student.common.ui.client.widgets.list.KSSelectItemWidgetAbstract in org.kuali.student.common.ui.client.widgets.search.KSPicker$BasicWidget$1.exec(Widget) | STYLE | BC_UNCONFIRMED_CAST | 394 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Unchecked/unconfirmed cast from com.google.gwt.user.client.ui.Widget to org.kuali.student.common.ui.client.widgets.list.KSSelectItemWidgetAbstract in org.kuali.student.common.ui.client.widgets.search.KSPicker$BasicWidget$6.exec(Widget) | STYLE | BC_UNCONFIRMED_CAST | 564 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Should org.kuali.student.common.ui.client.widgets.search.KSPicker$SelectionContainerWidget be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 583-600 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Unread field: org.kuali.student.common.ui.client.widgets.search.LinkPanel$PanelInfo.content | PERFORMANCE | URF_UNREAD_FIELD | 52 | Medium |
Unread field: org.kuali.student.common.ui.client.widgets.search.LinkPanel$PanelInfo.key | PERFORMANCE | URF_UNREAD_FIELD | 51 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Unread field: org.kuali.student.common.ui.client.widgets.search.SearchResultsTable.PAGE_SIZE; should this field be static? | PERFORMANCE | SS_SHOULD_BE_STATIC | 46 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.kuali.student.common.ui.client.widgets.table.scroll.CourseIdAscendingRowComparator implements Comparator but not Serializable | BAD_PRACTICE | SE_COMPARATOR_SHOULD_BE_SERIALIZABLE | 103-108 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.kuali.student.common.ui.client.widgets.table.scroll.CourseIdDescendingRowComparator implements Comparator but not Serializable | BAD_PRACTICE | SE_COMPARATOR_SHOULD_BE_SERIALIZABLE | 112-117 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Unused field: org.kuali.student.common.ui.client.widgets.table.scroll.MouseHoverFlexTable.clickHandler | PERFORMANCE | UUF_UNUSED_FIELD | Not available | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
instanceof will always return true in org.kuali.student.common.ui.client.widgets.table.scroll.Table.updateTableCell(int, int), since all org.kuali.student.common.ui.client.widgets.table.scroll.TableCellWidget are instances of com.google.gwt.event.dom.client.HasChangeHandlers | STYLE | BC_VACUOUS_INSTANCEOF | 230 | Medium |
instanceof will always return true in org.kuali.student.common.ui.client.widgets.table.scroll.Table.updateTableCell(int, int), since all org.kuali.student.common.ui.client.widgets.table.scroll.TableCellWidget are instances of com.google.gwt.event.dom.client.HasClickHandlers | STYLE | BC_VACUOUS_INSTANCEOF | 221 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.kuali.student.common.ui.client.widgets.table.summary.SummaryTableSection.buildMultiplicityRows(DataModel, DataModel, SummaryTableMultiplicityFieldRow, List, int, Integer) ignores return value of String.replace(CharSequence, CharSequence) | CORRECTNESS | RV_RETURN_VALUE_IGNORED | 196 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Class org.kuali.student.common.ui.server.gwt.DataGwtServlet defines non-transient non-serializable instance field LOG | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium |
Class org.kuali.student.common.ui.server.gwt.DataGwtServlet defines non-transient non-serializable instance field dataService | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Class org.kuali.student.common.ui.server.gwt.LogRpcGwtServlet defines non-transient non-serializable instance field logger | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium |
Method org.kuali.student.common.ui.server.gwt.LogRpcGwtServlet.sendLog(Map, String) makes inefficient use of keySet iterator instead of entrySet iterator | PERFORMANCE | WMI_WRONG_MAP_ITERATOR | 40 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Class org.kuali.student.common.ui.server.gwt.MessagesRpcGwtServlet defines non-transient non-serializable instance field serviceImpl | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Class org.kuali.student.common.ui.server.gwt.MetadataRpcGwtServlet defines non-transient non-serializable instance field serviceImpl | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Class org.kuali.student.common.ui.server.gwt.SearchDispatchRpcGwtServlet defines non-transient non-serializable instance field LOG | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium |
Class org.kuali.student.common.ui.server.gwt.SearchDispatchRpcGwtServlet defines non-transient non-serializable instance field searchDispatcher | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Class org.kuali.student.common.ui.server.gwt.ServerPropertiesRpcGwtServlet defines non-transient non-serializable instance field logger | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.kuali.student.common.ui.server.gwt.old.AbstractBaseDataOrchestrationRpcGwtServlet.isAuthorized(PermissionType, Map) has Boolean return type and returns explicit null | BAD_PRACTICE | NP_BOOLEAN_RETURN_NULL | 124 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Method org.kuali.student.common.ui.theme.standard.client.CommonCssImpl.getCssString() concatenates strings using + in a loop | PERFORMANCE | SBSC_USE_STRINGBUFFER_CONCATENATION | 32 | Medium |