UI-Component Sets

FindBugs Bug Detector Report

The following document contains the results of FindBugs Report

FindBugs Version is 1.3.9

Threshold is low

Effort is min

Summary

ClassesBugsErrorsMissing Classes
2456700

javax.faces.application.FacesMessage$Severity

BugCategoryDetailsLinePriority
javax.faces.application.FacesMessage$Severity defines compareTo(Object) and uses Object.equals()BAD_PRACTICEEQ_COMPARETO_USE_OBJECT_EQUALS169-173Medium

javax.faces.application.StateManager$SerializedView

BugCategoryDetailsLinePriority
Should javax.faces.application.StateManager$SerializedView be a _static_ inner class?PERFORMANCESIC_INNER_SHOULD_BE_STATIC248-266Medium

javax.faces.component.UICommand

BugCategoryDetailsLinePriority
Method call in javax.faces.component.UICommand.queueEvent(FacesEvent) passes null for nonnull parameter of UIComponentBase.queueEvent(FacesEvent)CORRECTNESSNP_NULL_PARAM_DEREF150Medium

javax.faces.component.UIData

BugCategoryDetailsLinePriority
Switch statement found in javax.faces.component.UIData.process(FacesContext, UIComponent, int) where default case is missingSTYLESF_SWITCH_NO_DEFAULT1270-1273Low

javax.faces.component.UIData$EditableValueHolderState

BugCategoryDetailsLinePriority
Should javax.faces.component.UIData$EditableValueHolderState be a _static_ inner class?PERFORMANCESIC_INNER_SHOULD_BE_STATIC268-281Medium

javax.faces.component.UISelectMany

BugCategoryDetailsLinePriority
Redundant nullcheck of previous, which is known to be non-null in javax.faces.component.UISelectMany.compareValues(Object, Object)STYLERCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE164Medium

javax.faces.component.UIViewRoot

BugCategoryDetailsLinePriority
instanceof will always return true in javax.faces.component.UIViewRoot.getLocale(), since all java.util.Locale are instances of java.util.LocaleSTYLEBC_VACUOUS_INSTANCEOF233Medium

javax.faces.component._AttachedListStateWrapper

BugCategoryDetailsLinePriority
Class javax.faces.component._AttachedListStateWrapper defines non-transient non-serializable instance field _wrappedStateListBAD_PRACTICESE_BAD_FIELDNot availableLow

javax.faces.component._ComponentAttributesMap

BugCategoryDetailsLinePriority
Class javax.faces.component._ComponentAttributesMap defines non-transient non-serializable instance field _componentBAD_PRACTICESE_BAD_FIELDNot availableMedium
Class javax.faces.component._ComponentAttributesMap defines non-transient non-serializable instance field _attributesBAD_PRACTICESE_BAD_FIELDNot availableLow

javax.faces.component._ComponentChildrenList

BugCategoryDetailsLinePriority
Class javax.faces.component._ComponentChildrenList defines non-transient non-serializable instance field _componentBAD_PRACTICESE_BAD_FIELDNot availableMedium
Class javax.faces.component._ComponentChildrenList defines non-transient non-serializable instance field _listBAD_PRACTICESE_BAD_FIELDNot availableLow

javax.faces.component._ComponentFacetMap

BugCategoryDetailsLinePriority
Class javax.faces.component._ComponentFacetMap defines non-transient non-serializable instance field _componentBAD_PRACTICESE_BAD_FIELDNot availableMedium
Class javax.faces.component._ComponentFacetMap defines non-transient non-serializable instance field _mapBAD_PRACTICESE_BAD_FIELDNot availableLow

javax.faces.component._LabeledFacesMessage

BugCategoryDetailsLinePriority
javax.faces.component._LabeledFacesMessage is Serializable; consider declaring a serialVersionUIDBAD_PRACTICESE_NO_SERIALVERSIONID36-71Low

javax.faces.component._MethodBindingToMethodExpression

BugCategoryDetailsLinePriority
Class javax.faces.component._MethodBindingToMethodExpression defines non-transient non-serializable instance field methodBindingBAD_PRACTICESE_BAD_FIELDNot availableLow
javax.faces.component._MethodBindingToMethodExpression is Serializable; consider declaring a serialVersionUIDBAD_PRACTICESE_NO_SERIALVERSIONID40-236Medium

javax.faces.component._PrimitiveArrayIterator

BugCategoryDetailsLinePriority
javax.faces.component._PrimitiveArrayIterator.next() can't throw NoSuchElementExceptionBAD_PRACTICEIT_NO_SUCH_ELEMENT48Medium

javax.faces.component._SelectItemsIterator

BugCategoryDetailsLinePriority
Redundant nullcheck of component, which is known to be non-null in javax.faces.component._SelectItemsIterator.getPathToComponent(UIComponent, StringBuffer)STYLERCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE250Low

javax.faces.component._ValueBindingToValueExpression

BugCategoryDetailsLinePriority
Redundant nullcheck of context, which is known to be non-null in javax.faces.component._ValueBindingToValueExpression.getFacesContext(ELContext)STYLERCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE251Low
Class javax.faces.component._ValueBindingToValueExpression defines non-transient non-serializable instance field _valueBindingBAD_PRACTICESE_BAD_FIELDNot availableMedium

javax.faces.convert.CharacterConverter

BugCategoryDetailsLinePriority
Method javax.faces.convert.CharacterConverter.getAsObject(FacesContext, UIComponent, String) invokes inefficient new Character(char) constructor; use Character.valueOf(char) insteadPERFORMANCEDM_NUMBER_CTOR58Medium

javax.faces.convert.NumberConverter

BugCategoryDetailsLinePriority
Method javax.faces.convert.NumberConverter.saveState(FacesContext) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) insteadPERFORMANCEDM_NUMBER_CTOR315Medium
Switch statement found in javax.faces.convert.NumberConverter.checkJavaVersion14() where one case falls through to the next caseSTYLESF_SWITCH_FALLTHROUGH546-549Medium
Switch statement found in javax.faces.convert.NumberConverter.checkJavaVersion14() where default case is missingSTYLESF_SWITCH_NO_DEFAULT551-555Low

javax.faces.convert._LabeledFacesMessage

BugCategoryDetailsLinePriority
javax.faces.convert._LabeledFacesMessage is Serializable; consider declaring a serialVersionUIDBAD_PRACTICESE_NO_SERIALVERSIONID36-71Low

javax.faces.event.ActionEvent

BugCategoryDetailsLinePriority
Unchecked/unconfirmed cast from javax.faces.event.FacesListener to javax.faces.event.ActionListener in javax.faces.event.ActionEvent.processListener(FacesListener)STYLEBC_UNCONFIRMED_CAST51Low

javax.faces.event.PhaseEvent

BugCategoryDetailsLinePriority
Class javax.faces.event.PhaseEvent defines non-transient non-serializable instance field _facesContextBAD_PRACTICESE_BAD_FIELDNot availableMedium
Class javax.faces.event.PhaseEvent defines non-transient non-serializable instance field _phaseIdBAD_PRACTICESE_BAD_FIELDNot availableMedium

javax.faces.event.PhaseId

BugCategoryDetailsLinePriority
javax.faces.event.PhaseId defines compareTo(Object) and uses Object.equals()BAD_PRACTICEEQ_COMPARETO_USE_OBJECT_EQUALS78Medium

javax.faces.event.ValueChangeEvent

BugCategoryDetailsLinePriority
Unchecked/unconfirmed cast from javax.faces.event.FacesListener to javax.faces.event.ValueChangeListener in javax.faces.event.ValueChangeEvent.processListener(FacesListener)STYLEBC_UNCONFIRMED_CAST62Low

javax.faces.model.ArrayDataModel

BugCategoryDetailsLinePriority
javax.faces.model.ArrayDataModel.getWrappedData() may expose internal representation by returning ArrayDataModel._dataMALICIOUS_CODEEI_EXPOSE_REP75Medium
javax.faces.model.ArrayDataModel.setWrappedData(Object) may expose internal representation by storing an externally mutable object into ArrayDataModel._dataMALICIOUS_CODEEI_EXPOSE_REP2116Medium

javax.faces.model.DataModel

BugCategoryDetailsLinePriority
javax.faces.model.DataModel.getDataModelListeners() may expose internal representation by returning DataModel._cachedListenersArrayMALICIOUS_CODEEI_EXPOSE_REP80Medium

javax.faces.model.ResultDataModel

BugCategoryDetailsLinePriority
Should javax.faces.model.ResultDataModel.getRows() return a zero length array rather than null?STYLEPZLA_PREFER_ZERO_LENGTH_ARRAYS115Low

javax.faces.model.ResultSetDataModel$WrapResultSetMap

BugCategoryDetailsLinePriority
javax.faces.model.ResultSetDataModel$WrapResultSetMap is serializable but also an inner class of a non-serializable classBAD_PRACTICESE_BAD_FIELD_INNER_CLASS245-375Low

javax.faces.model.SelectItemGroup

BugCategoryDetailsLinePriority
javax.faces.model.SelectItemGroup.getSelectItems() may expose internal representation by returning SelectItemGroup._selectItemsMALICIOUS_CODEEI_EXPOSE_REP59Medium
new javax.faces.model.SelectItemGroup(String, String, boolean, SelectItem[]) may expose internal representation by storing an externally mutable object into SelectItemGroup._selectItemsMALICIOUS_CODEEI_EXPOSE_REP253Medium
javax.faces.model.SelectItemGroup.setSelectItems(SelectItem[]) may expose internal representation by storing an externally mutable object into SelectItemGroup._selectItemsMALICIOUS_CODEEI_EXPOSE_REP265Medium

javax.faces.validator.DoubleRangeValidator

BugCategoryDetailsLinePriority
Method new javax.faces.validator.DoubleRangeValidator(double) invokes inefficient Double.valueOf(double) constructor; use DoubleRangeValidator.java:[line 73] insteadPERFORMANCEDM_FP_NUMBER_CTOR73Low
Method new javax.faces.validator.DoubleRangeValidator(double, double) invokes inefficient Double.valueOf(double) constructor; use DoubleRangeValidator.java:[line 79] insteadPERFORMANCEDM_FP_NUMBER_CTOR79Low
Method javax.faces.validator.DoubleRangeValidator.setMaximum(double) invokes inefficient Double.valueOf(double) constructor; use DoubleRangeValidator.java:[line 159] insteadPERFORMANCEDM_FP_NUMBER_CTOR159Low
Method javax.faces.validator.DoubleRangeValidator.setMinimum(double) invokes inefficient Double.valueOf(double) constructor; use DoubleRangeValidator.java:[line 174] insteadPERFORMANCEDM_FP_NUMBER_CTOR174Low
javax.faces.validator.DoubleRangeValidator defines equals and uses Object.hashCode()BAD_PRACTICEHE_EQUALS_USE_HASHCODE208-216High

javax.faces.validator.LengthValidator

BugCategoryDetailsLinePriority
Method new javax.faces.validator.LengthValidator(int) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) insteadPERFORMANCEDM_NUMBER_CTOR72Medium
Method new javax.faces.validator.LengthValidator(int, int) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) insteadPERFORMANCEDM_NUMBER_CTOR78Medium
Method javax.faces.validator.LengthValidator.setMaximum(int) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) insteadPERFORMANCEDM_NUMBER_CTOR132Medium
Method javax.faces.validator.LengthValidator.setMinimum(int) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) insteadPERFORMANCEDM_NUMBER_CTOR147Medium
javax.faces.validator.LengthValidator defines equals and uses Object.hashCode()BAD_PRACTICEHE_EQUALS_USE_HASHCODE180-188High

javax.faces.validator.LongRangeValidator

BugCategoryDetailsLinePriority
Method new javax.faces.validator.LongRangeValidator(long) invokes inefficient new Long(long) constructor; use Long.valueOf(long) insteadPERFORMANCEDM_NUMBER_CTOR73Medium
Method new javax.faces.validator.LongRangeValidator(long, long) invokes inefficient new Long(long) constructor; use Long.valueOf(long) insteadPERFORMANCEDM_NUMBER_CTOR79Medium
Method javax.faces.validator.LongRangeValidator.setMaximum(long) invokes inefficient new Long(long) constructor; use Long.valueOf(long) insteadPERFORMANCEDM_NUMBER_CTOR160Medium
Method javax.faces.validator.LongRangeValidator.setMinimum(long) invokes inefficient new Long(long) constructor; use Long.valueOf(long) insteadPERFORMANCEDM_NUMBER_CTOR175Medium
javax.faces.validator.LongRangeValidator defines equals and uses Object.hashCode()BAD_PRACTICEHE_EQUALS_USE_HASHCODE208-216High

javax.faces.validator._LabeledFacesMessage

BugCategoryDetailsLinePriority
javax.faces.validator._LabeledFacesMessage is Serializable; consider declaring a serialVersionUIDBAD_PRACTICESE_NO_SERIALVERSIONID36-71Low

javax.faces.webapp.FacesServlet

BugCategoryDetailsLinePriority
javax.faces.webapp.FacesServlet._facesContextFactory is a mutable servlet fieldMT_CORRECTNESSMSF_MUTABLE_SERVLET_FIELD106Low
javax.faces.webapp.FacesServlet._lifecycle is a mutable servlet fieldMT_CORRECTNESSMSF_MUTABLE_SERVLET_FIELD107Low
javax.faces.webapp.FacesServlet._servletConfig is a mutable servlet fieldMT_CORRECTNESSMSF_MUTABLE_SERVLET_FIELD113Low

javax.faces.webapp.UIComponentClassicTagBase

BugCategoryDetailsLinePriority
Method javax.faces.webapp.UIComponentClassicTagBase.createNextId(String) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) insteadPERFORMANCEDM_NUMBER_CTOR1307Medium

javax.faces.webapp.UIComponentELTag

BugCategoryDetailsLinePriority

javax.faces.webapp.UIComponentTagBase

BugCategoryDetailsLinePriority
javax.faces.webapp.UIComponentTagBase.log isn't final but should beMALICIOUS_CODEMS_SHOULD_BE_FINAL37High

javax.faces.webapp._ErrorPageWriter

BugCategoryDetailsLinePriority
Incorrect lazy initialization of static field javax.faces.webapp._ErrorPageWriter.DEBUG_PARTS in javax.faces.webapp._ErrorPageWriter.init(FacesContext)MT_CORRECTNESSLI_LAZY_INIT_STATIC111-112Low
Incorrect lazy initialization of static field javax.faces.webapp._ErrorPageWriter.ERROR_PARTS in javax.faces.webapp._ErrorPageWriter.init(FacesContext)MT_CORRECTNESSLI_LAZY_INIT_STATIC107-108Low
Exception is caught when Exception is not thrown in javax.faces.webapp._ErrorPageWriter.initCauseIfAvailable(Throwable, Throwable)STYLEREC_CATCH_EXCEPTION604Medium
Exception is caught when Exception is not thrown in javax.faces.webapp._ErrorPageWriter.initCausePerReflection(Throwable, String)STYLEREC_CATCH_EXCEPTION560Medium
Exception is caught when Exception is not thrown in javax.faces.webapp._ErrorPageWriter.writeAttributes(Writer, UIComponent)STYLEREC_CATCH_EXCEPTION435Medium
Exception is caught when Exception is not thrown in javax.faces.webapp._ErrorPageWriter.writeAttributes(Writer, UIComponent)STYLEREC_CATCH_EXCEPTION435Low