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
Files
javax.faces.application.FacesMessage$Severity
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
javax.faces.application.FacesMessage$Severity defines compareTo(Object) and uses Object.equals() | BAD_PRACTICE | EQ_COMPARETO_USE_OBJECT_EQUALS | 169-173 | Medium |
javax.faces.application.StateManager$SerializedView
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Should javax.faces.application.StateManager$SerializedView be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 248-266 | Medium |
javax.faces.component.UICommand
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Method call in javax.faces.component.UICommand.queueEvent(FacesEvent) passes null for nonnull parameter of UIComponentBase.queueEvent(FacesEvent) | CORRECTNESS | NP_NULL_PARAM_DEREF | 150 | Medium |
javax.faces.component.UIData
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Switch statement found in javax.faces.component.UIData.process(FacesContext, UIComponent, int) where default case is missing | STYLE | SF_SWITCH_NO_DEFAULT | 1270-1273 | Low |
javax.faces.component.UIData$EditableValueHolderState
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Should javax.faces.component.UIData$EditableValueHolderState be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 268-281 | Medium |
javax.faces.component.UISelectMany
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Redundant nullcheck of previous, which is known to be non-null in javax.faces.component.UISelectMany.compareValues(Object, Object) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE | 164 | Medium |
javax.faces.component.UIViewRoot
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
instanceof will always return true in javax.faces.component.UIViewRoot.getLocale(), since all java.util.Locale are instances of java.util.Locale | STYLE | BC_VACUOUS_INSTANCEOF | 233 | Medium |
javax.faces.component._AttachedListStateWrapper
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Class javax.faces.component._AttachedListStateWrapper defines non-transient non-serializable instance field _wrappedStateList | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
javax.faces.component._ComponentAttributesMap
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Class javax.faces.component._ComponentAttributesMap defines non-transient non-serializable instance field _component | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium |
Class javax.faces.component._ComponentAttributesMap defines non-transient non-serializable instance field _attributes | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
javax.faces.component._ComponentChildrenList
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Class javax.faces.component._ComponentChildrenList defines non-transient non-serializable instance field _component | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium |
Class javax.faces.component._ComponentChildrenList defines non-transient non-serializable instance field _list | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
javax.faces.component._ComponentFacetMap
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Class javax.faces.component._ComponentFacetMap defines non-transient non-serializable instance field _component | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium |
Class javax.faces.component._ComponentFacetMap defines non-transient non-serializable instance field _map | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
javax.faces.component._LabeledFacesMessage
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
javax.faces.component._LabeledFacesMessage is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | 36-71 | Low |
javax.faces.component._MethodBindingToMethodExpression
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Class javax.faces.component._MethodBindingToMethodExpression defines non-transient non-serializable instance field methodBinding | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
javax.faces.component._MethodBindingToMethodExpression is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | 40-236 | Medium |
javax.faces.component._PrimitiveArrayIterator
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
javax.faces.component._PrimitiveArrayIterator.next() can't throw NoSuchElementException | BAD_PRACTICE | IT_NO_SUCH_ELEMENT | 48 | Medium |
javax.faces.component._SelectItemsIterator
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Redundant nullcheck of component, which is known to be non-null in javax.faces.component._SelectItemsIterator.getPathToComponent(UIComponent, StringBuffer) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE | 250 | Low |
javax.faces.component._ValueBindingToValueExpression
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Redundant nullcheck of context, which is known to be non-null in javax.faces.component._ValueBindingToValueExpression.getFacesContext(ELContext) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE | 251 | Low |
Class javax.faces.component._ValueBindingToValueExpression defines non-transient non-serializable instance field _valueBinding | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium |
javax.faces.convert.CharacterConverter
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Method javax.faces.convert.CharacterConverter.getAsObject(FacesContext, UIComponent, String) invokes inefficient new Character(char) constructor; use Character.valueOf(char) instead | PERFORMANCE | DM_NUMBER_CTOR | 58 | Medium |
javax.faces.convert.NumberConverter
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Method javax.faces.convert.NumberConverter.saveState(FacesContext) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead | PERFORMANCE | DM_NUMBER_CTOR | 315 | Medium |
Switch statement found in javax.faces.convert.NumberConverter.checkJavaVersion14() where one case falls through to the next case | STYLE | SF_SWITCH_FALLTHROUGH | 546-549 | Medium |
Switch statement found in javax.faces.convert.NumberConverter.checkJavaVersion14() where default case is missing | STYLE | SF_SWITCH_NO_DEFAULT | 551-555 | Low |
javax.faces.convert._LabeledFacesMessage
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
javax.faces.convert._LabeledFacesMessage is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | 36-71 | Low |
javax.faces.event.ActionEvent
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Unchecked/unconfirmed cast from javax.faces.event.FacesListener to javax.faces.event.ActionListener in javax.faces.event.ActionEvent.processListener(FacesListener) | STYLE | BC_UNCONFIRMED_CAST | 51 | Low |
javax.faces.event.PhaseEvent
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Class javax.faces.event.PhaseEvent defines non-transient non-serializable instance field _facesContext | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium |
Class javax.faces.event.PhaseEvent defines non-transient non-serializable instance field _phaseId | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium |
javax.faces.event.PhaseId
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
javax.faces.event.PhaseId defines compareTo(Object) and uses Object.equals() | BAD_PRACTICE | EQ_COMPARETO_USE_OBJECT_EQUALS | 78 | Medium |
javax.faces.event.ValueChangeEvent
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Unchecked/unconfirmed cast from javax.faces.event.FacesListener to javax.faces.event.ValueChangeListener in javax.faces.event.ValueChangeEvent.processListener(FacesListener) | STYLE | BC_UNCONFIRMED_CAST | 62 | Low |
javax.faces.model.ArrayDataModel
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
javax.faces.model.ArrayDataModel.getWrappedData() may expose internal representation by returning ArrayDataModel._data | MALICIOUS_CODE | EI_EXPOSE_REP | 75 | Medium |
javax.faces.model.ArrayDataModel.setWrappedData(Object) may expose internal representation by storing an externally mutable object into ArrayDataModel._data | MALICIOUS_CODE | EI_EXPOSE_REP2 | 116 | Medium |
javax.faces.model.DataModel
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
javax.faces.model.DataModel.getDataModelListeners() may expose internal representation by returning DataModel._cachedListenersArray | MALICIOUS_CODE | EI_EXPOSE_REP | 80 | Medium |
javax.faces.model.ResultDataModel
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Should javax.faces.model.ResultDataModel.getRows() return a zero length array rather than null? | STYLE | PZLA_PREFER_ZERO_LENGTH_ARRAYS | 115 | Low |
javax.faces.model.ResultSetDataModel$WrapResultSetMap
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
javax.faces.model.ResultSetDataModel$WrapResultSetMap is serializable but also an inner class of a non-serializable class | BAD_PRACTICE | SE_BAD_FIELD_INNER_CLASS | 245-375 | Low |
javax.faces.model.SelectItemGroup
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
javax.faces.model.SelectItemGroup.getSelectItems() may expose internal representation by returning SelectItemGroup._selectItems | MALICIOUS_CODE | EI_EXPOSE_REP | 59 | Medium |
new javax.faces.model.SelectItemGroup(String, String, boolean, SelectItem[]) may expose internal representation by storing an externally mutable object into SelectItemGroup._selectItems | MALICIOUS_CODE | EI_EXPOSE_REP2 | 53 | Medium |
javax.faces.model.SelectItemGroup.setSelectItems(SelectItem[]) may expose internal representation by storing an externally mutable object into SelectItemGroup._selectItems | MALICIOUS_CODE | EI_EXPOSE_REP2 | 65 | Medium |
javax.faces.validator.DoubleRangeValidator
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Method new javax.faces.validator.DoubleRangeValidator(double) invokes inefficient Double.valueOf(double) constructor; use DoubleRangeValidator.java:[line 73] instead | PERFORMANCE | DM_FP_NUMBER_CTOR | 73 | Low |
Method new javax.faces.validator.DoubleRangeValidator(double, double) invokes inefficient Double.valueOf(double) constructor; use DoubleRangeValidator.java:[line 79] instead | PERFORMANCE | DM_FP_NUMBER_CTOR | 79 | Low |
Method javax.faces.validator.DoubleRangeValidator.setMaximum(double) invokes inefficient Double.valueOf(double) constructor; use DoubleRangeValidator.java:[line 159] instead | PERFORMANCE | DM_FP_NUMBER_CTOR | 159 | Low |
Method javax.faces.validator.DoubleRangeValidator.setMinimum(double) invokes inefficient Double.valueOf(double) constructor; use DoubleRangeValidator.java:[line 174] instead | PERFORMANCE | DM_FP_NUMBER_CTOR | 174 | Low |
javax.faces.validator.DoubleRangeValidator defines equals and uses Object.hashCode() | BAD_PRACTICE | HE_EQUALS_USE_HASHCODE | 208-216 | High |
javax.faces.validator.LengthValidator
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Method new javax.faces.validator.LengthValidator(int) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead | PERFORMANCE | DM_NUMBER_CTOR | 72 | Medium |
Method new javax.faces.validator.LengthValidator(int, int) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead | PERFORMANCE | DM_NUMBER_CTOR | 78 | Medium |
Method javax.faces.validator.LengthValidator.setMaximum(int) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead | PERFORMANCE | DM_NUMBER_CTOR | 132 | Medium |
Method javax.faces.validator.LengthValidator.setMinimum(int) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead | PERFORMANCE | DM_NUMBER_CTOR | 147 | Medium |
javax.faces.validator.LengthValidator defines equals and uses Object.hashCode() | BAD_PRACTICE | HE_EQUALS_USE_HASHCODE | 180-188 | High |
javax.faces.validator.LongRangeValidator
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Method new javax.faces.validator.LongRangeValidator(long) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead | PERFORMANCE | DM_NUMBER_CTOR | 73 | Medium |
Method new javax.faces.validator.LongRangeValidator(long, long) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead | PERFORMANCE | DM_NUMBER_CTOR | 79 | Medium |
Method javax.faces.validator.LongRangeValidator.setMaximum(long) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead | PERFORMANCE | DM_NUMBER_CTOR | 160 | Medium |
Method javax.faces.validator.LongRangeValidator.setMinimum(long) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead | PERFORMANCE | DM_NUMBER_CTOR | 175 | Medium |
javax.faces.validator.LongRangeValidator defines equals and uses Object.hashCode() | BAD_PRACTICE | HE_EQUALS_USE_HASHCODE | 208-216 | High |
javax.faces.validator._LabeledFacesMessage
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
javax.faces.validator._LabeledFacesMessage is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | 36-71 | Low |
javax.faces.webapp.FacesServlet
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
javax.faces.webapp.FacesServlet._facesContextFactory is a mutable servlet field | MT_CORRECTNESS | MSF_MUTABLE_SERVLET_FIELD | 106 | Low |
javax.faces.webapp.FacesServlet._lifecycle is a mutable servlet field | MT_CORRECTNESS | MSF_MUTABLE_SERVLET_FIELD | 107 | Low |
javax.faces.webapp.FacesServlet._servletConfig is a mutable servlet field | MT_CORRECTNESS | MSF_MUTABLE_SERVLET_FIELD | 113 | Low |
javax.faces.webapp.UIComponentClassicTagBase
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Method javax.faces.webapp.UIComponentClassicTagBase.createNextId(String) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead | PERFORMANCE | DM_NUMBER_CTOR | 1307 | Medium |
javax.faces.webapp.UIComponentTagBase
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
javax.faces.webapp.UIComponentTagBase.log isn't final but should be | MALICIOUS_CODE | MS_SHOULD_BE_FINAL | 37 | High |
javax.faces.webapp._ErrorPageWriter
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Incorrect lazy initialization of static field javax.faces.webapp._ErrorPageWriter.DEBUG_PARTS in javax.faces.webapp._ErrorPageWriter.init(FacesContext) | MT_CORRECTNESS | LI_LAZY_INIT_STATIC | 111-112 | Low |
Incorrect lazy initialization of static field javax.faces.webapp._ErrorPageWriter.ERROR_PARTS in javax.faces.webapp._ErrorPageWriter.init(FacesContext) | MT_CORRECTNESS | LI_LAZY_INIT_STATIC | 107-108 | Low |
Exception is caught when Exception is not thrown in javax.faces.webapp._ErrorPageWriter.initCauseIfAvailable(Throwable, Throwable) | STYLE | REC_CATCH_EXCEPTION | 604 | Medium |
Exception is caught when Exception is not thrown in javax.faces.webapp._ErrorPageWriter.initCausePerReflection(Throwable, String) | STYLE | REC_CATCH_EXCEPTION | 560 | Medium |
Exception is caught when Exception is not thrown in javax.faces.webapp._ErrorPageWriter.writeAttributes(Writer, UIComponent) | STYLE | REC_CATCH_EXCEPTION | 435 | Medium |
Exception is caught when Exception is not thrown in javax.faces.webapp._ErrorPageWriter.writeAttributes(Writer, UIComponent) | STYLE | REC_CATCH_EXCEPTION | 435 | Low |