Apache MyFaces
Foundation

FindBugs Bug Detector Report

The following document contains the results of FindBugs Report

FindBugs Version is 1.2.0

Threshold is Low

Effort is Default

Summary

Classes Bugs Errors Missing Classes
664 70 0 0

Files

Class Bugs
javax.faces.application.FacesMessage 1
javax.faces.application.FacesMessage$Severity 1
javax.faces.application.StateManager$SerializedView 1
javax.faces.component.UIData$EditableValueHolderState 1
javax.faces.component.UISelectMany 1
javax.faces.component.UIViewRoot 2
javax.faces.component._ComponentAttributesMap 2
javax.faces.component._ComponentChildrenList 1
javax.faces.component._ComponentFacetMap 1
javax.faces.component._LabeledFacesMessage 1
javax.faces.component._MethodBindingToMethodExpression 3
javax.faces.component._PrimitiveArrayIterator 1
javax.faces.component._SelectItemsIterator 2
javax.faces.component._ValueBindingToValueExpression 3
javax.faces.component._ValueExpressionToValueBinding 1
javax.faces.convert.CharacterConverter 1
javax.faces.convert.NumberConverter 5
javax.faces.convert._LabeledFacesMessage 1
javax.faces.event.ActionEvent 1
javax.faces.event.PhaseEvent 3
javax.faces.event.PhaseId 1
javax.faces.event.ValueChangeEvent 1
javax.faces.model.ArrayDataModel 1
javax.faces.model.ResultDataModel 1
javax.faces.model.ResultSetDataModel$WrapResultSetMap 1
javax.faces.model.SelectItemGroup 3
javax.faces.validator.DoubleRangeValidator 6
javax.faces.validator.LengthValidator 6
javax.faces.validator.LongRangeValidator 6
javax.faces.validator._LabeledFacesMessage 1
javax.faces.webapp.UIComponentClassicTagBase 2
javax.faces.webapp.UIComponentELTag 1
javax.faces.webapp.UIComponentTagBase 1
javax.faces.webapp._ErrorPageWriter 6

javax.faces.application.FacesMessage

Bug Category Details Line
Class javax.faces.application.FacesMessage defines non-transient non-serializable instance field _severity BAD_PRACTICE SE_BAD_FIELD Not available

javax.faces.application.FacesMessage$Severity

Bug Category Details Line
javax.faces.application.FacesMessage$Severity defines compareTo(Object) and uses Object.equals() BAD_PRACTICE EQ_COMPARETO_USE_OBJECT_EQUALS 145-149

javax.faces.application.StateManager$SerializedView

Bug Category Details Line
Should javax.faces.application.StateManager$SerializedView be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC Not available

javax.faces.component.UIData$EditableValueHolderState

Bug Category Details Line
Should javax.faces.component.UIData$EditableValueHolderState be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC Not available

javax.faces.component.UISelectMany

Bug Category Details Line
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 168

javax.faces.component.UIViewRoot

Bug Category Details Line
instanceof will always return false in javax.faces.component.UIViewRoot.getLocale(), since a java.util.Locale can't be a java.lang.String CORRECTNESS BC_IMPOSSIBLE_INSTANCEOF 202
Dead store to listiterator in javax.faces.component.UIViewRoot._broadcastForPhase(PhaseId) STYLE DLS_DEAD_LOCAL_STORE 323

javax.faces.component._ComponentAttributesMap

Bug Category Details Line
Class javax.faces.component._ComponentAttributesMap defines non-transient non-serializable instance field _component BAD_PRACTICE SE_BAD_FIELD Not available
The field javax.faces.component._ComponentAttributesMap._propertyDescriptorMap is transient but isn't set by deserialization BAD_PRACTICE SE_TRANSIENT_FIELD_NOT_RESTORED Not available

javax.faces.component._ComponentChildrenList

Bug Category Details Line
Class javax.faces.component._ComponentChildrenList defines non-transient non-serializable instance field _component BAD_PRACTICE SE_BAD_FIELD Not available

javax.faces.component._ComponentFacetMap

Bug Category Details Line
Class javax.faces.component._ComponentFacetMap defines non-transient non-serializable instance field _component BAD_PRACTICE SE_BAD_FIELD Not available

javax.faces.component._LabeledFacesMessage

Bug Category Details Line
javax.faces.component._LabeledFacesMessage is Serializable; consider declaring a serialVersionUID BAD_PRACTICE SE_NO_SERIALVERSIONID Not available

javax.faces.component._MethodBindingToMethodExpression

Bug Category Details Line
Dead store to PRIME in javax.faces.component._MethodBindingToMethodExpression.hashCode() STYLE DLS_DEAD_LOCAL_STORE 183
Class javax.faces.component._MethodBindingToMethodExpression defines non-transient non-serializable instance field methodBinding BAD_PRACTICE SE_BAD_FIELD Not available
javax.faces.component._MethodBindingToMethodExpression is Serializable; consider declaring a serialVersionUID BAD_PRACTICE SE_NO_SERIALVERSIONID Not available

javax.faces.component._PrimitiveArrayIterator

Bug Category Details Line
javax.faces.component._PrimitiveArrayIterator.next() can't throw NoSuchElement exception BAD_PRACTICE IT_NO_SUCH_ELEMENT 45

javax.faces.component._SelectItemsIterator

Bug Category Details Line
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 230
_SelectItemsIterator._currentUISelectItems not initialized in constructor STYLE UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR Not available

javax.faces.component._ValueBindingToValueExpression

Bug Category Details Line
Dead store to PRIME in javax.faces.component._ValueBindingToValueExpression.hashCode() STYLE DLS_DEAD_LOCAL_STORE 138
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 248
Class javax.faces.component._ValueBindingToValueExpression defines non-transient non-serializable instance field _valueBinding BAD_PRACTICE SE_BAD_FIELD Not available

javax.faces.component._ValueExpressionToValueBinding

Bug Category Details Line
Dead store to PRIME in javax.faces.component._ValueExpressionToValueBinding.hashCode() STYLE DLS_DEAD_LOCAL_STORE 51

javax.faces.convert.CharacterConverter

Bug Category Details Line
Method javax.faces.convert.CharacterConverter.getAsObject(FacesContext, UIComponent, String) invokes inefficient Character(char) constructor; use Character.valueOf(char) instead PERFORMANCE DM_NUMBER_CTOR 52

javax.faces.convert.NumberConverter

Bug Category Details Line
Method javax.faces.convert.NumberConverter.saveState(FacesContext) invokes inefficient Integer(int) constructor; use Integer.valueOf(int) instead PERFORMANCE DM_NUMBER_CTOR 273
Method javax.faces.convert.NumberConverter.saveState(FacesContext) invokes inefficient Integer(int) constructor; use Integer.valueOf(int) instead PERFORMANCE DM_NUMBER_CTOR 274
Method javax.faces.convert.NumberConverter.saveState(FacesContext) invokes inefficient Integer(int) constructor; use Integer.valueOf(int) instead PERFORMANCE DM_NUMBER_CTOR 275
Method javax.faces.convert.NumberConverter.saveState(FacesContext) invokes inefficient Integer(int) constructor; use Integer.valueOf(int) instead PERFORMANCE DM_NUMBER_CTOR 276
Switch statement found in javax.faces.convert.NumberConverter.checkJavaVersion14() where one case falls through to the next case STYLE SF_SWITCH_FALLTHROUGH 445-448

javax.faces.convert._LabeledFacesMessage

Bug Category Details Line
javax.faces.convert._LabeledFacesMessage is Serializable; consider declaring a serialVersionUID BAD_PRACTICE SE_NO_SERIALVERSIONID Not available

javax.faces.event.ActionEvent

Bug Category Details Line
Unchecked/unconfirmed cast from javax.faces.event.FacesListener to javax.faces.event.ActionListener in javax.faces.event.ActionEvent.processListener(FacesListener) STYLE BC_UNCONFIRMED_CAST 48

javax.faces.event.PhaseEvent

Bug Category Details Line
Dead store to PRIME in javax.faces.event.PhaseEvent.hashCode() STYLE DLS_DEAD_LOCAL_STORE 61
Class javax.faces.event.PhaseEvent defines non-transient non-serializable instance field _facesContext BAD_PRACTICE SE_BAD_FIELD Not available
Class javax.faces.event.PhaseEvent defines non-transient non-serializable instance field _phaseId BAD_PRACTICE SE_BAD_FIELD Not available

javax.faces.event.PhaseId

Bug Category Details Line
javax.faces.event.PhaseId defines compareTo(Object) and uses Object.equals() BAD_PRACTICE EQ_COMPARETO_USE_OBJECT_EQUALS 75

javax.faces.event.ValueChangeEvent

Bug Category Details Line
Unchecked/unconfirmed cast from javax.faces.event.FacesListener to javax.faces.event.ValueChangeListener in javax.faces.event.ValueChangeEvent.processListener(FacesListener) STYLE BC_UNCONFIRMED_CAST 59

javax.faces.model.ArrayDataModel

Bug Category Details Line
javax.faces.model.ArrayDataModel.getWrappedData() may expose internal representation by returning ArrayDataModel._data MALICIOUS_CODE EI_EXPOSE_REP 72

javax.faces.model.ResultDataModel

Bug Category Details Line
Should javax.faces.model.ResultDataModel.getRows() return a zero length array rather than null? STYLE PZLA_PREFER_ZERO_LENGTH_ARRAYS 112

javax.faces.model.ResultSetDataModel$WrapResultSetMap

Bug Category Details Line
javax.faces.model.ResultSetDataModel$WrapResultSetMap is serializable but also an inner class of a non-serializable class BAD_PRACTICE SE_BAD_FIELD_INNER_CLASS Not available

javax.faces.model.SelectItemGroup

Bug Category Details Line
javax.faces.model.SelectItemGroup.getSelectItems() may expose internal representation by returning SelectItemGroup._selectItems MALICIOUS_CODE EI_EXPOSE_REP 56
javax.faces.model.SelectItemGroup.SelectItemGroup(String, String, boolean, SelectItem[]) may expose internal representation by storing an externally mutable object into SelectItemGroup._selectItems MALICIOUS_CODE EI_EXPOSE_REP2 50
javax.faces.model.SelectItemGroup.setSelectItems(SelectItem[]) may expose internal representation by storing an externally mutable object into SelectItemGroup._selectItems MALICIOUS_CODE EI_EXPOSE_REP2 62

javax.faces.validator.DoubleRangeValidator

Bug Category Details Line
Method javax.faces.validator.DoubleRangeValidator.DoubleRangeValidator(double) invokes inefficient Double(double) constructor; use Double.valueOf(double) instead PERFORMANCE DM_FP_NUMBER_CTOR 50
Method javax.faces.validator.DoubleRangeValidator.DoubleRangeValidator(double, double) invokes inefficient Double(double) constructor; use Double.valueOf(double) instead PERFORMANCE DM_FP_NUMBER_CTOR 56
Method javax.faces.validator.DoubleRangeValidator.DoubleRangeValidator(double, double) invokes inefficient Double(double) constructor; use Double.valueOf(double) instead PERFORMANCE DM_FP_NUMBER_CTOR 57
Method javax.faces.validator.DoubleRangeValidator.setMaximum(double) invokes inefficient Double(double) constructor; use Double.valueOf(double) instead PERFORMANCE DM_FP_NUMBER_CTOR 130
Method javax.faces.validator.DoubleRangeValidator.setMinimum(double) invokes inefficient Double(double) constructor; use Double.valueOf(double) instead PERFORMANCE DM_FP_NUMBER_CTOR 140
javax.faces.validator.DoubleRangeValidator defines equals and uses Object.hashCode() BAD_PRACTICE HE_EQUALS_USE_HASHCODE 174-182

javax.faces.validator.LengthValidator

Bug Category Details Line
Method javax.faces.validator.LengthValidator.LengthValidator(int) invokes inefficient Integer(int) constructor; use Integer.valueOf(int) instead PERFORMANCE DM_NUMBER_CTOR 48
Method javax.faces.validator.LengthValidator.LengthValidator(int, int) invokes inefficient Integer(int) constructor; use Integer.valueOf(int) instead PERFORMANCE DM_NUMBER_CTOR 54
Method javax.faces.validator.LengthValidator.LengthValidator(int, int) invokes inefficient Integer(int) constructor; use Integer.valueOf(int) instead PERFORMANCE DM_NUMBER_CTOR 55
Method javax.faces.validator.LengthValidator.setMaximum(int) invokes inefficient Integer(int) constructor; use Integer.valueOf(int) instead PERFORMANCE DM_NUMBER_CTOR 102
Method javax.faces.validator.LengthValidator.setMinimum(int) invokes inefficient Integer(int) constructor; use Integer.valueOf(int) instead PERFORMANCE DM_NUMBER_CTOR 112
javax.faces.validator.LengthValidator defines equals and uses Object.hashCode() BAD_PRACTICE HE_EQUALS_USE_HASHCODE 145-153

javax.faces.validator.LongRangeValidator

Bug Category Details Line
Method javax.faces.validator.LongRangeValidator.LongRangeValidator(long) invokes inefficient Long(long) constructor; use Long.valueOf(long) instead PERFORMANCE DM_NUMBER_CTOR 50
Method javax.faces.validator.LongRangeValidator.LongRangeValidator(long, long) invokes inefficient Long(long) constructor; use Long.valueOf(long) instead PERFORMANCE DM_NUMBER_CTOR 56
Method javax.faces.validator.LongRangeValidator.LongRangeValidator(long, long) invokes inefficient Long(long) constructor; use Long.valueOf(long) instead PERFORMANCE DM_NUMBER_CTOR 57
Method javax.faces.validator.LongRangeValidator.setMaximum(long) invokes inefficient Long(long) constructor; use Long.valueOf(long) instead PERFORMANCE DM_NUMBER_CTOR 131
Method javax.faces.validator.LongRangeValidator.setMinimum(long) invokes inefficient Long(long) constructor; use Long.valueOf(long) instead PERFORMANCE DM_NUMBER_CTOR 141
javax.faces.validator.LongRangeValidator defines equals and uses Object.hashCode() BAD_PRACTICE HE_EQUALS_USE_HASHCODE 174-182

javax.faces.validator._LabeledFacesMessage

Bug Category Details Line
javax.faces.validator._LabeledFacesMessage is Serializable; consider declaring a serialVersionUID BAD_PRACTICE SE_NO_SERIALVERSIONID Not available

javax.faces.webapp.UIComponentClassicTagBase

Bug Category Details Line
Dead store of null to component in javax.faces.webapp.UIComponentClassicTagBase.doEndTag() STYLE DLS_DEAD_LOCAL_STORE_OF_NULL 518
Method javax.faces.webapp.UIComponentClassicTagBase.createNextId(String) invokes inefficient Integer(int) constructor; use Integer.valueOf(int) instead PERFORMANCE DM_NUMBER_CTOR 1195

javax.faces.webapp.UIComponentELTag

Bug Category Details Line
Class javax.faces.webapp.UIComponentELTag implements same interface as superclass STYLE RI_REDUNDANT_INTERFACES Not available

javax.faces.webapp.UIComponentTagBase

Bug Category Details Line
javax.faces.webapp.UIComponentTagBase.log isn't final but should be MALICIOUS_CODE MS_SHOULD_BE_FINAL 34

javax.faces.webapp._ErrorPageWriter

Bug Category Details Line
Incorrect lazy initialization of static field javax.faces.webapp._ErrorPageWriter.DEBUG_PARTS in javax.faces.webapp._ErrorPageWriter.init() MT_CORRECTNESS LI_LAZY_INIT_STATIC 67-68
Incorrect lazy initialization of static field javax.faces.webapp._ErrorPageWriter.ERROR_PARTS in javax.faces.webapp._ErrorPageWriter.init() MT_CORRECTNESS LI_LAZY_INIT_STATIC 63-64
Exception is caught when Exception is not thrown in javax.faces.webapp._ErrorPageWriter.initCauseIfAvailable(Throwable, Throwable) STYLE REC_CATCH_EXCEPTION 423
Exception is caught when Exception is not thrown in javax.faces.webapp._ErrorPageWriter.initCausePerReflection(Throwable, String) STYLE REC_CATCH_EXCEPTION 379
Exception is caught when Exception is not thrown in javax.faces.webapp._ErrorPageWriter.writeAttributes(Writer, UIComponent) STYLE REC_CATCH_EXCEPTION 294
Exception is caught when Exception is not thrown in javax.faces.webapp._ErrorPageWriter.writeAttributes(Writer, UIComponent) STYLE REC_CATCH_EXCEPTION 294