2009/05/20 - Apache Shale has been retired.

For more information, please explore the Attic.

FindBugs Bug Detector Report

The following document contains the results of FindBugs Report

FindBugs Version is 1.1.1

Threshold is Low

Effort is Default

Summary

ClassesBugsErrorsMissing Classes
518424539

Files

ClassBugs
org.apache.shale.clay.component.Clay2
org.apache.shale.clay.component.chain.CreateActionListenerCommand1
org.apache.shale.clay.component.chain.CreateComponentCommand1
org.apache.shale.clay.component.chain.CreateConverterCommand1
org.apache.shale.clay.component.chain.CreateValidatorCommand1
org.apache.shale.clay.component.chain.CreateValueChangeListenerCommand1
org.apache.shale.clay.config.ClayXmlParser1
org.apache.shale.clay.config.beans.Attributes3
org.apache.shale.clay.config.beans.ComponentConfigBean4
org.apache.shale.clay.config.beans.ComponentConfigBean$WatchDog1
org.apache.shale.clay.config.beans.ComponentConfigBean$XmlConfigDef1
org.apache.shale.clay.config.beans.TemplateComponentConfigBean1
org.apache.shale.clay.config.beans.TemplateConfigBean1
org.apache.shale.clay.faces.ClayViewHandler1
org.apache.shale.clay.parser.AttributeTokenizer$AttributeEntry1
org.apache.shale.clay.parser.AttributeTokenizer$TokenIterator1
org.apache.shale.clay.parser.NodeTokenizer$TokenIterator1
org.apache.shale.clay.parser.Parser6
org.apache.shale.clay.parser.Parser$Attributes8
org.apache.shale.clay.parser.builder.Builder1
org.apache.shale.clay.parser.builder.VerbatimBuilder1
org.apache.shale.clay.taglib.ClayTagValidator1
org.apache.shale.clay.utils.ClayAmalgam$12

org.apache.shale.clay.component.Clay

BugCategoryDetailsLine
Possible null pointer dereference of catalog in org.apache.shale.clay.component.Clay.encodeBegin(javax.faces.context.FacesContext) on exception pathCORRECTNESSNP_NULL_ON_SOME_PATH_EXCEPTION384
Nullcheck of displayElement at line 306 of value previously dereferenced in org.apache.shale.clay.component.Clay.encodeBegin(javax.faces.context.FacesContext)CORRECTNESSRCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE305

org.apache.shale.clay.component.chain.CreateActionListenerCommand

BugCategoryDetailsLine
Method org.apache.shale.clay.component.chain.CreateActionListenerCommand.execute(org.apache.commons.chain.Context) catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caughtSTYLEREC_CATCH_EXCEPTION122

org.apache.shale.clay.component.chain.CreateComponentCommand

BugCategoryDetailsLine
Method org.apache.shale.clay.component.chain.CreateComponentCommand.execute(org.apache.commons.chain.Context) catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caughtSTYLEREC_CATCH_EXCEPTION165

org.apache.shale.clay.component.chain.CreateConverterCommand

BugCategoryDetailsLine
Method org.apache.shale.clay.component.chain.CreateConverterCommand.execute(org.apache.commons.chain.Context) catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caughtSTYLEREC_CATCH_EXCEPTION125

org.apache.shale.clay.component.chain.CreateValidatorCommand

BugCategoryDetailsLine
Method org.apache.shale.clay.component.chain.CreateValidatorCommand.execute(org.apache.commons.chain.Context) catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caughtSTYLEREC_CATCH_EXCEPTION112

org.apache.shale.clay.component.chain.CreateValueChangeListenerCommand

BugCategoryDetailsLine
Method org.apache.shale.clay.component.chain.CreateValueChangeListenerCommand.execute(org.apache.commons.chain.Context) catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caughtSTYLEREC_CATCH_EXCEPTION119

org.apache.shale.clay.config.ClayXmlParser

BugCategoryDetailsLine
Field not initialized in constructor: org.apache.shale.clay.config.ClayXmlParser.digesterSTYLEUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORNot available

org.apache.shale.clay.config.beans.Attributes

BugCategoryDetailsLine
Method org.apache.shale.clay.config.beans.Attributes.containsKey(Object) invokes dubious String.toUpperCase() or String.toLowerCase; use the Locale parameterized version insteadI18NDM_CONVERT_CASE46
Method org.apache.shale.clay.config.beans.Attributes.get(Object) invokes dubious String.toUpperCase() or String.toLowerCase; use the Locale parameterized version insteadI18NDM_CONVERT_CASE63
Method org.apache.shale.clay.config.beans.Attributes.put(Object,Object) invokes dubious String.toUpperCase() or String.toLowerCase; use the Locale parameterized version insteadI18NDM_CONVERT_CASE82

org.apache.shale.clay.config.beans.ComponentConfigBean

BugCategoryDetailsLine
org.apache.shale.clay.config.beans.ComponentConfigBean.NAMING_CONTAINER_TYPES should be package protectedMALICIOUS_CODEMS_PKGPROTECT1351
org.apache.shale.clay.config.beans.ComponentConfigBean.messages isn't final but should beMALICIOUS_CODEMS_SHOULD_BE_FINAL93
Method call in org.apache.shale.clay.config.beans.ComponentConfigBean.unassignParent(ComponentBean) passes null for unconditionally dereferenced parameter of org.apache.shale.clay.config.beans.ComponentBean.addConverter(ConverterBean)CORRECTNESSNP_NULL_PARAM_DEREF_ALL_TARGETS_DANGEROUS956
org.apache.shale.clay.config.beans.ComponentConfigBean.context is transient but org.apache.shale.clay.config.beans.ComponentConfigBean isn't SerializableSTYLESE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASSNot available

org.apache.shale.clay.config.beans.ComponentConfigBean$WatchDog

BugCategoryDetailsLine
org.apache.shale.clay.config.beans.ComponentConfigBean$WatchDog.WatchDog(ComponentConfigBean,ConfigBean$ConfigDefinition[],String) may expose internal representation by storing an externally mutable object into org.apache.shale.clay.config.beans.ComponentConfigBean$WatchDog.configDefsMALICIOUS_CODEEI_EXPOSE_REP21182

org.apache.shale.clay.config.beans.ComponentConfigBean$XmlConfigDef

BugCategoryDetailsLine
Should org.apache.shale.clay.config.beans.ComponentConfigBean$XmlConfigDef be a _static_ inner class?PERFORMANCESIC_INNER_SHOULD_BE_STATICNot available

org.apache.shale.clay.config.beans.TemplateComponentConfigBean

BugCategoryDetailsLine
Nullcheck of watchDog at line 123 of value previously dereferenced in org.apache.shale.clay.config.beans.TemplateComponentConfigBean.refresh(boolean)CORRECTNESSRCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE122

org.apache.shale.clay.config.beans.TemplateConfigBean

BugCategoryDetailsLine
Nullcheck of watchDog at line 186 of value previously dereferenced in org.apache.shale.clay.config.beans.TemplateConfigBean.refresh(boolean)CORRECTNESSRCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE185

org.apache.shale.clay.faces.ClayViewHandler

BugCategoryDetailsLine
org.apache.shale.clay.faces.ClayViewHandler.FORM_MARKERS should be package protectedMALICIOUS_CODEMS_PKGPROTECT315

org.apache.shale.clay.parser.AttributeTokenizer$AttributeEntry

BugCategoryDetailsLine
Should org.apache.shale.clay.parser.AttributeTokenizer$AttributeEntry be a _static_ inner class?PERFORMANCESIC_INNER_SHOULD_BE_STATICNot available

org.apache.shale.clay.parser.AttributeTokenizer$TokenIterator

BugCategoryDetailsLine
The class org.apache.shale.clay.parser.AttributeTokenizer$TokenIterator could be refactored into a _static_ inner classPERFORMANCESIC_INNER_SHOULD_BE_STATIC_NEEDS_THISNot available

org.apache.shale.clay.parser.NodeTokenizer$TokenIterator

BugCategoryDetailsLine
The class org.apache.shale.clay.parser.NodeTokenizer$TokenIterator could be refactored into a _static_ inner classPERFORMANCESIC_INNER_SHOULD_BE_STATIC_NEEDS_THISNot available

org.apache.shale.clay.parser.Parser

BugCategoryDetailsLine
org.apache.shale.clay.parser.Parser.BEGIN_CDATA_RULES should be package protectedMALICIOUS_CODEMS_PKGPROTECT587
org.apache.shale.clay.parser.Parser.BEGIN_COMMENT_TAG_RULES should be package protectedMALICIOUS_CODEMS_PKGPROTECT608
org.apache.shale.clay.parser.Parser.BEGIN_TAG_RULES should be package protectedMALICIOUS_CODEMS_PKGPROTECT630
org.apache.shale.clay.parser.Parser.DOCTYPE_TAG_RULES should be package protectedMALICIOUS_CODEMS_PKGPROTECT623
org.apache.shale.clay.parser.Parser.END_CDATA_RULES should be package protectedMALICIOUS_CODEMS_PKGPROTECT600
org.apache.shale.clay.parser.Parser.END_COMMENT_TAG_RULES should be package protectedMALICIOUS_CODEMS_PKGPROTECT616

org.apache.shale.clay.parser.Parser$Attributes

BugCategoryDetailsLine
Method org.apache.shale.clay.parser.Parser$Attributes.add(java.util.Map$Entry) invokes dubious String.toUpperCase() or String.toLowerCase; use the Locale parameterized version insteadI18NDM_CONVERT_CASE130
Method org.apache.shale.clay.parser.Parser$Attributes.containsKey(Object) invokes dubious String.toUpperCase() or String.toLowerCase; use the Locale parameterized version insteadI18NDM_CONVERT_CASE147
Method org.apache.shale.clay.parser.Parser$Attributes.get(Object) invokes dubious String.toUpperCase() or String.toLowerCase; use the Locale parameterized version insteadI18NDM_CONVERT_CASE92
key could be null and is guaranteed to be dereferenced in org.apache.shale.clay.parser.Parser$Attributes.add(java.util.Map$Entry)CORRECTNESSNP_GUARANTEED_DEREF129
Method call in org.apache.shale.clay.parser.Parser$Attributes.add(java.util.Map$Entry) passes null to a parameter declared @NonNull of java.util.TreeMap.put(Object,Object)CORRECTNESSNP_NONNULL_PARAM_VIOLATION133
Class org.apache.shale.clay.parser.Parser$Attributes implements same interface as superclass.STYLERI_REDUNDANT_INTERFACESNot available
org.apache.shale.clay.parser.Parser$Attributes is serializable but also an inner class of a non-serializable classBAD_PRACTICESE_BAD_FIELD_INNER_CLASSNot available
Should org.apache.shale.clay.parser.Parser$Attributes be a _static_ inner class?PERFORMANCESIC_INNER_SHOULD_BE_STATICNot available

org.apache.shale.clay.parser.builder.Builder

BugCategoryDetailsLine
org.apache.shale.clay.parser.builder.Builder.messages isn't final but should beMALICIOUS_CODEMS_SHOULD_BE_FINAL56

org.apache.shale.clay.parser.builder.VerbatimBuilder

BugCategoryDetailsLine
Method org.apache.shale.clay.parser.builder.VerbatimBuilder.encodeBegin(org.apache.shale.clay.parser.Node,org.apache.shale.clay.config.beans.ElementBean,org.apache.shale.clay.config.beans.ComponentBean) invokes toString() method on a String; just use the StringPERFORMANCEDM_STRING_TOSTRING70

org.apache.shale.clay.taglib.ClayTagValidator

BugCategoryDetailsLine
Should org.apache.shale.clay.taglib.ClayTagValidator.validate(String,String,javax.servlet.jsp.tagext.PageData) return a zero length array rather than null?STYLEPZLA_PREFER_ZERO_LENGTH_ARRAYS184

org.apache.shale.clay.utils.ClayAmalgam$1

BugCategoryDetailsLine
org.apache.shale.clay.utils.ClayAmalgam$1.next() can't throw NoSuchElement exceptionBAD_PRACTICEIT_NO_SUCH_ELEMENT467
The class org.apache.shale.clay.utils.ClayAmalgam$1 could be refactored into a named _static_ inner classPERFORMANCESIC_INNER_SHOULD_BE_STATIC_ANONNot available