myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Struberg <strub...@yahoo.de>
Subject Re: svn commit: r1188267 [1/2] - in /myfaces/core/trunk/api/src: main/java/javax/faces/application/ main/java/javax/faces/component/ main/java/javax/faces/component/behavior/ main/java/javax/faces/convert/ main/java/javax/faces/event/ main/java/javax
Date Mon, 24 Oct 2011 20:37:20 GMT
Hi!

I removed them because they got inhomogenously used. The same method contained variables which are final and others which are not modified neither and not marked final.

Also I found a few hashmaps which were marked final, although they get modified later. Please be aware that final is not only a keyword which stops you from changing the pointer (in C speak) but also means that those underlying mem areas will NOT be synced to other threads!

Otoh there have been unmodifiableCollections in uppercase letters which are not marked final ;)

Btw, if anyone also likes to join and help with the cleanup then you are welcome ^^

I only used IDE support for fixing if without {}, but all other automated reformatting turned out to create WAY too much noise (and sometimes even break the format at all). I tried both IDEA and Eclipse, but none of them worked satisfyingly.


I'll checkin an upgrade of myfaces-core pom.xml with mf-parent-11-SNAPSHOT and an additional -Pcheckstyle profile which will enable the 'standard' checks.

LieGrue,
strub



----- Original Message -----
> From: Jakob Korherr <jakob.korherr@gmail.com>
> To: MyFaces Development <dev@myfaces.apache.org>; gudnabrsam@gmail.com
> Cc: 
> Sent: Monday, October 24, 2011 10:15 PM
> Subject: Re: svn commit: r1188267 [1/2] - in /myfaces/core/trunk/api/src: main/java/javax/faces/application/ main/java/javax/faces/component/ main/java/javax/faces/component/behavior/ main/java/javax/faces/convert/ main/java/javax/faces/event/ main/java/javax
> 
> I agree with Matt. I don't think that having local variables marked as
> final is a bad thing.
> 
> Regards,
> Jakob
> 
> 2011/10/24 Matt Benson <gudnabrsam@gmail.com>:
>>  Not a huge deal; I wouldn't necessarily revert the commit, but IMO
>>  there are good reasons to mark local variables as final:  code
>>  self-documents the intent that a variable's value won't change; 
> then
>>  there is the somewhat controversial notion that marking a final
>>  variable as such may contribute to better JIT performance.  It
>>  certainly couldn't hurt, could it?
>> 
>>  Matt
>> 
>>  On Mon, Oct 24, 2011 at 1:09 PM,  <struberg@apache.org> wrote:
>>>  Author: struberg
>>>  Date: Mon Oct 24 18:09:08 2011
>>>  New Revision: 1188267
>>> 
>>>  URL: http://svn.apache.org/viewvc?rev=1188267&view=rev
>>>  Log:
>>>  MYFACES-3368 fix linebreakes and unnecessary final for local fields
>>> 
>>>  Modified:
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/application/NavigationCase.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/component/UIComponent.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/component/UIComponentBase.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/component/UIData.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/component/UIInput.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/component/UISelectMany.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/component/_ComponentAttributesMap.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/component/_LocaleUtils.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/component/_MethodBindingToListener.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/component/_MethodBindingToMethodExpression.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/component/_MethodExpressionToMethodBinding.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/component/_SelectItemsIterator.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/component/_ValueBindingToValueExpression.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/component/_ValueExpressionToValueBinding.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/component/behavior/_AjaxBehaviorDeltaStateHelper.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/convert/NumberConverter.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/convert/_MessageUtils.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/event/ListenerFor.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/event/PhaseEvent.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/validator/BeanValidator.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/validator/DoubleRangeValidator.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/validator/LengthValidator.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/validator/LongRangeValidator.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/validator/ValidatorException.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/view/facelets/AttributeHandler.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/view/facelets/ComponentHandler.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/view/facelets/CompositeFaceletHandler.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/view/facelets/DelegatingMetaTagHandler.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/view/facelets/FacetHandler.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/view/facelets/MetaTagHandler.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/view/facelets/Metadata.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/view/facelets/TagAttribute.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/view/facelets/TagAttributeException.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/view/facelets/TagConfig.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/view/facelets/TagException.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/view/facelets/TagHandler.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/view/facelets/TagHandlerDelegate.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/view/facelets/TextHandler.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/view/facelets/ValidatorHandler.java
>>>    
>  myfaces/core/trunk/api/src/main/java/javax/faces/webapp/UIComponentTagBase.java
>>>    
>  myfaces/core/trunk/api/src/test/java/javax/faces/application/FacesMessageTest.java
>>>    
>  myfaces/core/trunk/api/src/test/java/javax/faces/component/AbstractUIComponentPropertyTest.java
>>>    
>  myfaces/core/trunk/api/src/test/java/javax/faces/component/UIComponentBaseGetClientIdTest.java
>>>    
>  myfaces/core/trunk/api/src/test/java/javax/faces/component/UIComponentInvokeOnComponentTest.java
>>>    
>  myfaces/core/trunk/api/src/test/java/javax/faces/component/UIViewParameterTest.java
>>> 
>>>  Modified: 
> myfaces/core/trunk/api/src/main/java/javax/faces/application/NavigationCase.java
>>>  URL: 
> http://svn.apache.org/viewvc/myfaces/core/trunk/api/src/main/java/javax/faces/application/NavigationCase.java?rev=1188267&r1=1188266&r2=1188267&view=diff
>>> 
> ==============================================================================
>>>  --- 
> myfaces/core/trunk/api/src/main/java/javax/faces/application/NavigationCase.java 
> (original)
>>>  +++ 
> myfaces/core/trunk/api/src/main/java/javax/faces/application/NavigationCase.java 
> Mon Oct 24 18:09:08 2011
>>>  @@ -249,7 +249,7 @@ public class NavigationCase
>>>                  builder.append("\">\n");
>>>                  for (Map.Entry<String, List<String>> entry 
> : _parameters.entrySet())
>>>                  {
>>>  -                    final String name = entry.getKey();
>>>  +                    String name = entry.getKey();
>>>                      for (String value : entry.getValue())
>>>                      {
>>>                          builder.append("   
>  <view-param>\n");
>>> 
>>>  Modified: 
> myfaces/core/trunk/api/src/main/java/javax/faces/component/UIComponent.java
>>>  URL: 
> http://svn.apache.org/viewvc/myfaces/core/trunk/api/src/main/java/javax/faces/component/UIComponent.java?rev=1188267&r1=1188266&r2=1188267&view=diff
>>> 
> ==============================================================================
>>>  --- 
> myfaces/core/trunk/api/src/main/java/javax/faces/component/UIComponent.java 
> (original)
>>>  +++ 
> myfaces/core/trunk/api/src/main/java/javax/faces/component/UIComponent.java Mon 
> Oct 24 18:09:08 2011
>>>  @@ -62,35 +62,38 @@ import org.apache.myfaces.buildtools.mav
>>>   import 
> org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFWebConfigParam;
>>> 
>>>   /**
>>>  - *
>>>  + *
>>>   * see Javadoc of <a 
> href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">J
>>>   * SF Specification</a>
>>>  - *
>>>  + *
>>>   * @author Manfred Geiler (latest modification by $Author$)
>>>   * @version $Revision$ $Date$
>>>   */
>>>  -@JSFComponent(type = "javax.faces.Component", family = 
> "javax.faces.Component", desc = "abstract base component", 
> configExcluded = true)
>>>  -public abstract class UIComponent implements PartialStateHolder, 
> TransientStateHolder , SystemEventListenerHolder, ComponentSystemEventListener {
>>>  +@JSFComponent(type = "javax.faces.Component", family = 
> "javax.faces.Component",
>>>  +              desc = "abstract base component", 
> configExcluded = true)
>>>  +public abstract class UIComponent
>>>  +        implements PartialStateHolder, TransientStateHolder, 
> SystemEventListenerHolder, ComponentSystemEventListener
>>>  +{
>>>      // TODO: Reorder methods, this class is a mess
>>>      /**
>>>       * Constant used in component attribute map to retrieve the 
> BeanInfo of a composite
>>>       * component.
>>>  -     *
>>>  +     *
>>>       * @see ViewDeclarationLanguage#getComponentMetadata(FacesContext, 
> Resource)
>>>       * @see 
> ViewDeclarationLanguage#retargetAttachedObjects(FacesContext, UIComponent, List)
>>>       * @see 
> ViewDeclarationLanguage#retargetMethodExpressions(FacesContext, UIComponent)
>>>       * @see Application#createComponent(FacesContext, Resource)
>>>       */
>>>      public static final String BEANINFO_KEY = 
> "javax.faces.component.BEANINFO_KEY";
>>>  -
>>>  +
>>>      /**
>>>       * Constant used in BeanInfo descriptor as a key for retrieve an 
> alternate component type
>>>       * for create the composite base component.
>>>  -     *
>>>  +     *
>>>       * @see Application#createComponent(FacesContext, Resource)
>>>       */
>>>      public static final String COMPOSITE_COMPONENT_TYPE_KEY = 
> "javax.faces.component.COMPOSITE_COMPONENT_TYPE";
>>>  -
>>>  +
>>>      /**
>>>       * Constant used to define the facet inside this component that 
> store the component hierarchy
>>>       * generated by a composite component implementation, and then 
> rendered. In other words,
>>>  @@ -98,23 +101,23 @@ public abstract class UIComponent implem
>>>       * this face are rendered.
>>>       */
>>>      public static final String COMPOSITE_FACET_NAME = 
> "javax.faces.component.COMPOSITE_FACET_NAME";
>>>  -
>>>  +
>>>      /**
>>>       * Constant used to store the current component that is being 
> processed.
>>>  -     *
>>>  +     *
>>>       * @see #pushComponentToEL(FacesContext, UIComponent)
>>>       * @see #popComponentFromEL(FacesContext)
>>>       */
>>>      public static final String CURRENT_COMPONENT = 
> "javax.faces.component.CURRENT_COMPONENT";
>>>  -
>>>  +
>>>      /**
>>>       * Constant used to store the current composite component that is 
> being processed.
>>>  -     *
>>>  +     *
>>>       * @see #pushComponentToEL(FacesContext, UIComponent)
>>>       * @see #popComponentFromEL(FacesContext)
>>>  -     */
>>>  +     */
>>>      public static final String CURRENT_COMPOSITE_COMPONENT = 
> "javax.faces.component.CURRENT_COMPOSITE_COMPONENT";
>>>  -
>>>  +
>>>      /**
>>>       * This constant has two usages. The first one is in component 
> attribute map to identify the
>>>       * facet name under this component is child of its parent. The 
> second one is on BeanInfo descriptor
>>>  @@ -123,33 +126,35 @@ public abstract class UIComponent implem
>>>       * by COMPOSITE_FACET_NAME constant).
>>>       */
>>>      public static final String FACETS_KEY = 
> "javax.faces.component.FACETS_KEY";
>>>  -
>>>  +
>>>      /**
>>>       * Constant used in component attribute map to store the {@link 
> javax.faces.view.Location} object
>>>       * where the definition of this component is.
>>>       */
>>>      public static final String VIEW_LOCATION_KEY = 
> "javax.faces.component.VIEW_LOCATION_KEY";
>>>  -
>>>  -    public static final String ATTRS_WITH_DECLARED_DEFAULT_VALUES = 
> "javax.faces.component.ATTR_NAMES_WITH_DEFAULT_VALUES";
>>>  -
>>>  +
>>>  +    public static final String ATTRS_WITH_DECLARED_DEFAULT_VALUES
>>>  +            = 
> "javax.faces.component.ATTR_NAMES_WITH_DEFAULT_VALUES";
>>>  +
>>>      /**
>>>       * Indicate if the facesContext attribute values under the keys 
> javax.faces.component.CURRENT_COMPONENT and
>>>       * javax.faces.component.CURRENT_COMPOSITE_COMPONENT should be 
> valid or not. By default, those keys are
>>>       * deprecated since 2.1
>>>       */
>>>  -    @JSFWebConfigParam(since="2.1.0", 
> expectedValues="true, false", defaultValue="false")
>>>  -    public static final String 
> HONOR_CURRENT_COMPONENT_ATTRIBUTES_PARAM_NAME = 
> "javax.faces.HONOR_CURRENT_COMPONENT_ATTRIBUTES";
>>>  -
>>>  +    @JSFWebConfigParam(since = "2.1.0", expectedValues = 
> "true, false", defaultValue = "false")
>>>  +    public static final String 
> HONOR_CURRENT_COMPONENT_ATTRIBUTES_PARAM_NAME
>>>  +            = 
> "javax.faces.HONOR_CURRENT_COMPONENT_ATTRIBUTES";
>>>  +
>>>      /**
>>>       * The key under which the component stack is stored in the 
> FacesContext.
>>>       * ATTENTION: this constant is duplicate in 
> CompositeComponentExpressionUtils.
>>>       */
>>>      private static final String _COMPONENT_STACK = 
> "componentStack:" + UIComponent.class.getName();
>>>  -
>>>  +
>>>      private static final String _CURRENT_COMPOSITE_COMPONENT_KEY = 
> "compositeComponent:" + UIComponent.class.getName();
>>>  -
>>>  +
>>>      Map<Class<? extends SystemEvent>, 
> List<SystemEventListener>> _systemEventListenerClassMap;
>>>  -
>>>  +
>>>      /**
>>>       * @deprecated
>>>       */
>>>  @@ -164,26 +169,27 @@ public abstract class UIComponent implem
>>>      private transient Map<String, String> _resourceBundleMap = 
> null;
>>>      private boolean _inView = false;
>>>      private _DeltaStateHelper _stateHelper = null;
>>>  -
>>>  +
>>>      /**
>>>       * In JSF 2.0 bindings map was deprecated, and replaced with a map
>>>       * inside stateHelper. We need this one here because stateHelper 
> needs
>>>       * to be implemented from here and internally it depends from this 
> property.
>>>       */
>>>      private boolean _initialStateMarked = false;
>>>  -
>>>  -    /** Value of the {@link 
> UIComponent#HONOR_CURRENT_COMPONENT_ATTRIBUTES_PARAM_NAME} parameter */
>>>  +
>>>  +    /** Value of the {@link 
> UIComponent#HONOR_CURRENT_COMPONENT_ATTRIBUTES_PARAM_NAME} parameter */
>>>      private Boolean _honorCurrentComponentAttributes;
>>> 
>>>  -    public UIComponent() {
>>>  +    public UIComponent()
>>>  +    {
>>>      }
>>> 
>>>      public abstract Map<String, Object> getAttributes();
>>> 
>>>      /**
>>>  -     *
>>>  +     *
>>>       * {@inheritDoc}
>>>  -     *
>>>  +     *
>>>       * @since 2.0
>>>       */
>>>      public boolean initialStateMarked()
>>>  @@ -193,7 +199,7 @@ public abstract class UIComponent implem
>>> 
>>>      /**
>>>       * Invokes the <code>invokeContextCallback</code> 
> method with the component, specified by <code>clientId</code>.
>>>  -     *
>>>  +     *
>>>       * @param context
>>>       *            <code>FacesContext</code> for the current 
> request
>>>       * @param clientId
>>>  @@ -204,9 +210,11 @@ public abstract class UIComponent implem
>>>       * @throws javax.faces.FacesException
>>>       */
>>>      public boolean invokeOnComponent(FacesContext context, String 
> clientId, ContextCallback callback)
>>>  -            throws FacesException {
>>>  +            throws FacesException
>>>  +    {
>>>          // java.lang.NullPointerException - if any of the arguments are 
> null
>>>  -        if (context == null || clientId == null || callback == null) {
>>>  +        if (context == null || clientId == null || callback == null)
>>>  +        {
>>>              throw new NullPointerException();
>>>          }
>>> 
>>>  @@ -215,16 +223,21 @@ public abstract class UIComponent implem
>>>          {
>>>              // searching for this component?
>>>              boolean found = clientId.equals(this.getClientId(context));
>>>  -            if (found) {
>>>  -                try {
>>>  +            if (found)
>>>  +            {
>>>  +                try
>>>  +                {
>>>                      callback.invokeContextCallback(context, this);
>>>  -                } catch (Exception e) {
>>>  +                }
>>>  +                catch (Exception e)
>>>  +                {
>>>                      throw new FacesException(e);
>>>                  }
>>>                  return found;
>>>              }
>>>              // Searching for this component's children/facets
>>>  -            for (Iterator<UIComponent> it = 
> this.getFacetsAndChildren(); !found && it.hasNext();) {
>>>  +            for (Iterator<UIComponent> it = 
> this.getFacetsAndChildren(); !found && it.hasNext(); )
>>>  +            {
>>>                  found = it.next().invokeOnComponent(context, clientId, 
> callback);
>>>              }
>>>              return found;
>>>  @@ -237,15 +250,16 @@ public abstract class UIComponent implem
>>>      }
>>> 
>>>      /**
>>>  -     *
>>>  +     *
>>>       * @param component
>>>       * @return true if the component is a composite component otherwise 
> false is returned
>>>  -     *
>>>  +     *
>>>       *
>>>       * @throws NullPointerException if the component is null
>>>       * @since 2.0
>>>       */
>>>  -    public static boolean isCompositeComponent(UIComponent component) 
> {
>>>  +    public static boolean isCompositeComponent(UIComponent component)
>>>  +    {
>>> 
>>>          //since _isCompositeComponent does it the same way we do it 
> here also although I
>>>          //would prefer following method
>>>  @@ -261,15 +275,16 @@ public abstract class UIComponent implem
>>>       * instance (which represents the view). If this component
>>>       * is a UIViewRoot instance, the components "always"
>>>       * is on the view.
>>>  -     *
>>>  +     *
>>>       * By default it is false but for UIViewRoot instances is
>>>       * true.
>>>  -     *
>>>  +     *
>>>       * @return
>>>  -     *
>>>  +     *
>>>       * @since 2.0
>>>       */
>>>  -    public boolean isInView() {
>>>  +    public boolean isInView()
>>>  +    {
>>>          return _inView;
>>>      }
>>> 
>>>  @@ -292,10 +307,11 @@ public abstract class UIComponent implem
>>>       *
>>>       * @param context
>>>       * @return
>>>  -     *
>>>  +     *
>>>       * @since 2.0
>>>       */
>>>  -    protected boolean isVisitable(VisitContext context) {
>>>  +    protected boolean isVisitable(VisitContext context)
>>>  +    {
>>> 
>>>          Collection<VisitHint> hints = context.getHints();
>>> 
>>>  @@ -322,18 +338,23 @@ public abstract class UIComponent implem
>>>       */
>>>      public abstract void setValueBinding(String name, ValueBinding 
> binding);
>>> 
>>>  -    public void setValueExpression(String name, ValueExpression 
> expression) {
>>>  -        if (name == null) {
>>>  +    public void setValueExpression(String name, ValueExpression 
> expression)
>>>  +    {
>>>  +        if (name == null)
>>>  +        {
>>>              throw new NullPointerException("name");
>>>          }
>>>  -        if (name.equals("id")) {
>>>  +        if (name.equals("id"))
>>>  +        {
>>>              throw new IllegalArgumentException("Can't set a 
> ValueExpression for the 'id' property.");
>>>          }
>>>  -        if (name.equals("parent")) {
>>>  +        if (name.equals("parent"))
>>>  +        {
>>>              throw new IllegalArgumentException("Can't set a 
> ValueExpression for the 'parent' property.");
>>>          }
>>> 
>>>  -        if (expression == null) {
>>>  +        if (expression == null)
>>>  +        {
>>>              //if (bindings != null) {
>>>              //    bindings.remove(name);
>>>              //    if (bindings.isEmpty()) {
>>>  @@ -341,13 +362,19 @@ public abstract class UIComponent implem
>>>              //    }
>>>              //}
>>>              getStateHelper().remove(PropertyKeys.bindings, name);
>>>  -        } else {
>>>  -            if (expression.isLiteralText()) {
>>>  -                try {
>>>  +        }
>>>  +        else
>>>  +        {
>>>  +            if (expression.isLiteralText())
>>>  +            {
>>>  +                try
>>>  +                {
>>>                      Object value = 
> expression.getValue(getFacesContext().getELContext());
>>>                      getAttributes().put(name, value);
>>>                      return;
>>>  -                } catch (ELException e) {
>>>  +                }
>>>  +                catch (ELException e)
>>>  +                {
>>>                      throw new FacesException(e);
>>>                  }
>>>              }
>>>  @@ -361,7 +388,8 @@ public abstract class UIComponent implem
>>>          }
>>>      }
>>> 
>>>  -    public String getClientId() {
>>>  +    public String getClientId()
>>>  +    {
>>>          return getClientId(getFacesContext());
>>>      }
>>> 
>>>  @@ -375,30 +403,36 @@ public abstract class UIComponent implem
>>>       *
>>>       * @param component the component to start from
>>>       * @return the parent composite component if found otherwise null
>>>  -     *
>>>  +     *
>>>       * @since 2.0
>>>       */
>>>  -    public static UIComponent getCompositeComponentParent(UIComponent 
> component) {
>>>  +    public static UIComponent getCompositeComponentParent(UIComponent 
> component)
>>>  +    {
>>> 
>>>  -        if(component == null) {
>>>  +        if (component == null)
>>>  +        {
>>>              return null;
>>>          }
>>>          UIComponent parent = component;
>>> 
>>>  -        do {
>>>  +        do
>>>  +        {
>>>              parent = parent.getParent();
>>>  -            if(parent != null && 
> UIComponent.isCompositeComponent(parent)) {
>>>  +            if (parent != null && 
> UIComponent.isCompositeComponent(parent))
>>>  +            {
>>>                  return parent;
>>>              }
>>>  -        } while(parent != null);
>>>  +        } while (parent != null);
>>>          return null;
>>>      }
>>> 
>>>      /**
>>>       * @since 1.2
>>>       */
>>>  -    public String getContainerClientId(FacesContext ctx) {
>>>  -        if (ctx == null) {
>>>  +    public String getContainerClientId(FacesContext ctx)
>>>  +    {
>>>  +        if (ctx == null)
>>>  +        {
>>>              throw new NullPointerException("FacesContext 
> ctx");
>>>          }
>>> 
>>>  @@ -406,24 +440,26 @@ public abstract class UIComponent implem
>>>      }
>>> 
>>>      /**
>>>  -     *
>>>  +     *
>>>       * @param context
>>>       * @return
>>>  -     *
>>>  +     *
>>>       * @since 2.0
>>>       */
>>>  -    public static UIComponent getCurrentComponent(FacesContext 
> context) {
>>>  -
>>>  +    public static UIComponent getCurrentComponent(FacesContext 
> context)
>>>  +    {
>>>  +
>>>          Boolean honorCurrentComponentAttributes = 
> _getHonorCurrentComponentAttributes(context);
>>>  -
>>>  +
>>>          if (honorCurrentComponentAttributes == Boolean.TRUE)
>>>          {
>>>              return (UIComponent) 
> context.getAttributes().get(UIComponent.CURRENT_COMPONENT);
>>>          }
>>>          else
>>>          {
>>>  -            LinkedList<UIComponent> componentStack = 
> (LinkedList<UIComponent>) 
> context.getAttributes().get(UIComponent._COMPONENT_STACK);
>>>  -            if(componentStack == null)
>>>  +            LinkedList<UIComponent> componentStack
>>>  +                    = (LinkedList<UIComponent>) 
> context.getAttributes().get(UIComponent._COMPONENT_STACK);
>>>  +            if (componentStack == null)
>>>              {
>>>                  return null;
>>>              }
>>>  @@ -435,16 +471,17 @@ public abstract class UIComponent implem
>>>      }
>>> 
>>>      /**
>>>  -     *
>>>  +     *
>>>       * @param context
>>>       * @return
>>>  -     *
>>>  +     *
>>>       * @since 2.0
>>>       */
>>>  -    public static UIComponent 
> getCurrentCompositeComponent(FacesContext context) {
>>>  -
>>>  +    public static UIComponent 
> getCurrentCompositeComponent(FacesContext context)
>>>  +    {
>>>  +
>>>          Boolean honorCurrentComponentAttributes = 
> _getHonorCurrentComponentAttributes(context);
>>>  -
>>>  +
>>>          if (honorCurrentComponentAttributes == Boolean.TRUE)
>>>          {
>>>              return (UIComponent) 
> context.getAttributes().get(UIComponent.CURRENT_COMPOSITE_COMPONENT);
>>>  @@ -459,15 +496,22 @@ public abstract class UIComponent implem
>>> 
>>>      public abstract String getId();
>>> 
>>>  -    public List<SystemEventListener> 
> getListenersForEventClass(Class<? extends SystemEvent> eventClass) {
>>>  +    public List<SystemEventListener> 
> getListenersForEventClass(Class<? extends SystemEvent> eventClass)
>>>  +    {
>>>          List<SystemEventListener> listeners;
>>>  -        if (_systemEventListenerClassMap == null) {
>>>  +        if (_systemEventListenerClassMap == null)
>>>  +        {
>>>              listeners = Collections.emptyList();
>>>  -        } else {
>>>  +        }
>>>  +        else
>>>  +        {
>>>              listeners = _systemEventListenerClassMap.get(eventClass);
>>>  -            if (listeners == null) {
>>>  +            if (listeners == null)
>>>  +            {
>>>                  listeners = Collections.emptyList();
>>>  -            } else {
>>>  +            }
>>>  +            else
>>>  +            {
>>>                  listeners = Collections.unmodifiableList(listeners);
>>>              }
>>>          }
>>>  @@ -476,17 +520,20 @@ public abstract class UIComponent implem
>>>      }
>>> 
>>>      /**
>>>  -     *
>>>  +     *
>>>       * @return
>>>  -     *
>>>  +     *
>>>       * @since 2.0
>>>       */
>>>  -    public UIComponent getNamingContainer() {
>>>  +    public UIComponent getNamingContainer()
>>>  +    {
>>>          // Starting with "this", return the closest component 
> in the ancestry that is a NamingContainer
>>>          // or null if none can be found.
>>>          UIComponent component = this;
>>>  -        do {
>>>  -            if (component instanceof NamingContainer) {
>>>  +        do
>>>  +        {
>>>  +            if (component instanceof NamingContainer)
>>>  +            {
>>>                  return component;
>>>              }
>>> 
>>>  @@ -512,10 +559,11 @@ public abstract class UIComponent implem
>>>       *     otherwise take no action</li>
>>>       * <ul>
>>>       * @param isInView
>>>  -     *
>>>  +     *
>>>       * @since 2.0
>>>       */
>>>  -    public void setInView(boolean isInView) {
>>>  +    public void setInView(boolean isInView)
>>>  +    {
>>>          _inView = isInView;
>>>      }
>>> 
>>>  @@ -539,48 +587,63 @@ public abstract class UIComponent implem
>>> 
>>>      public abstract boolean getRendersChildren();
>>> 
>>>  -    public Map<String, String> getResourceBundleMap() {
>>>  -        if (_resourceBundleMap == null) {
>>>  +    public Map<String, String> getResourceBundleMap()
>>>  +    {
>>>  +        if (_resourceBundleMap == null)
>>>  +        {
>>>              FacesContext context = getFacesContext();
>>>              Locale locale = context.getViewRoot().getLocale();
>>>              ClassLoader loader = _ClassUtils.getContextClassLoader();
>>> 
>>>  -            try {
>>>  +            try
>>>  +            {
>>>                  // looks for a ResourceBundle with a base name equal to 
> the fully qualified class
>>>                  // name of the current UIComponent this and Locale 
> equal to the Locale of the current UIViewRoot.
>>>                  _resourceBundleMap = new 
> BundleMap(ResourceBundle.getBundle(getClass().getName(), locale, loader));
>>>  -            } catch (MissingResourceException e) {
>>>  +            }
>>>  +            catch (MissingResourceException e)
>>>  +            {
>>>                  // If no such bundle is found, and the component is a 
> composite component
>>>  -                if (this._isCompositeComponent()) {
>>>  +                if (this._isCompositeComponent())
>>>  +                {
>>>                      // No need to check componentResource (the resource 
> used to build the composite
>>>                      // component instance) to null since it is already 
> done on this._isCompositeComponent()
>>>                      Resource componentResource = (Resource) 
> getAttributes().get(Resource.COMPONENT_RESOURCE_KEY);
>>>                      // Let resourceName be the resourceName of the 
> Resource for this composite component,
>>>                      // replacing the file extension with 
> ".properties"
>>>                      int extensionIndex = 
> componentResource.getResourceName().lastIndexOf('.');
>>>  -                    String resourceName = (extensionIndex < 0 ? 
> componentResource.getResourceName() : 
> componentResource.getResourceName().substring(0, extensionIndex)) + 
> ".properties";
>>>  +                    String resourceName = (extensionIndex < 0
>>>  +                            ? componentResource.getResourceName()
>>>  +                            : 
> componentResource.getResourceName().substring(0, extensionIndex)) + 
> ".properties";
>>> 
>>>                      // Let libraryName be the libraryName of the the 
> Resource for this composite component.
>>>                      // Call 
> ResourceHandler.createResource(java.lang.String,java.lang.String), passing the 
> derived
>>>                      // resourceName and
>>>                      // libraryName.
>>>  -                    Resource bundleResource = 
> context.getApplication().getResourceHandler().createResource(resourceName, 
> componentResource.getLibraryName());
>>>  +                    Resource bundleResource = 
> context.getApplication().getResourceHandler()
>>>  +                            .createResource(resourceName, 
> componentResource.getLibraryName());
>>> 
>>>  -                    if (bundleResource != null) {
>>>  +                    if (bundleResource != null)
>>>  +                    {
>>>                          // If the resultant Resource exists and can be 
> found, the InputStream for the resource
>>>                          // is used to create a ResourceBundle. If 
> either of the two previous steps for obtaining the
>>>                          // ResourceBundle
>>>                          // for this component is successful, the 
> ResourceBundle is wrapped in a Map<String, String> and
>>>                          // returned.
>>>  -                        try {
>>>  -                            _resourceBundleMap = new BundleMap(new 
> PropertyResourceBundle(bundleResource.getInputStream()));
>>>  -                        } catch (IOException e1) {
>>>  +                        try
>>>  +                        {
>>>  +                            _resourceBundleMap
>>>  +                                    = new BundleMap(new 
> PropertyResourceBundle(bundleResource.getInputStream()));
>>>  +                        }
>>>  +                        catch (IOException e1)
>>>  +                        {
>>>                              // Nothing happens, then resourceBundleMap 
> is set as empty map
>>>                          }
>>>                      }
>>>                  }
>>>                  // Otherwise Collections.EMPTY_MAP is returned.
>>>  -                if (_resourceBundleMap == null) {
>>>  +                if (_resourceBundleMap == null)
>>>  +                {
>>>                      _resourceBundleMap = Collections.emptyMap();
>>>                  }
>>>              }
>>>  @@ -594,26 +657,33 @@ public abstract class UIComponent implem
>>>       */
>>>      public abstract ValueBinding getValueBinding(String name);
>>> 
>>>  -    public ValueExpression getValueExpression(String name) {
>>>  -        if (name == null) {
>>>  +    public ValueExpression getValueExpression(String name)
>>>  +    {
>>>  +        if (name == null)
>>>  +        {
>>>              throw new NullPointerException("name can not be 
> null");
>>>          }
>>>  -
>>>  -        Map<String,Object> bindings = (Map<String,Object>) 
> getStateHelper().
>>>  -            get(PropertyKeys.bindings);
>>> 
>>>  -        if (bindings == null) {
>>>  -            if (!(this instanceof UIComponentBase)) {
>>>  +        Map<String, Object> bindings = (Map<String, 
> Object>) getStateHelper().
>>>  +                get(PropertyKeys.bindings);
>>>  +
>>>  +        if (bindings == null)
>>>  +        {
>>>  +            if (!(this instanceof UIComponentBase))
>>>  +            {
>>>                  // if the component does not inherit from 
> UIComponentBase and don't implements JSF 1.2 or later
>>>                  ValueBinding vb = getValueBinding(name);
>>>  -                if (vb != null) {
>>>  +                if (vb != null)
>>>  +                {
>>>                      //bindings = new HashMap<String, 
> ValueExpression>();
>>>                      ValueExpression ve = new 
> _ValueBindingToValueExpression(vb);
>>>  -                    getStateHelper().put(PropertyKeys.bindings , name, 
>  ve);
>>>  +                    getStateHelper().put(PropertyKeys.bindings, name, 
> ve);
>>>                      return ve;
>>>                  }
>>>              }
>>>  -        } else {
>>>  +        }
>>>  +        else
>>>  +        {
>>>              //return bindings.get(name);
>>>              return (ValueExpression) bindings.get(name);
>>>          }
>>>  @@ -636,7 +706,7 @@ public abstract class UIComponent implem
>>> 
>>>      /**
>>>       * {@inheritDoc}
>>>  -     *
>>>  +     *
>>>       * @since 2.0
>>>       */
>>>      public void clearInitialState()
>>>  @@ -652,8 +722,10 @@ public abstract class UIComponent implem
>>> 
>>>      public abstract void encodeEnd(FacesContext context) throws 
> IOException;
>>> 
>>>  -    public void encodeAll(FacesContext context) throws IOException {
>>>  -        if (context == null) {
>>>  +    public void encodeAll(FacesContext context) throws IOException
>>>  +    {
>>>  +        if (context == null)
>>>  +        {
>>>              throw new NullPointerException();
>>>          }
>>> 
>>>  @@ -669,23 +741,27 @@ public abstract class UIComponent implem
>>>          {
>>>              popComponentFromEL(context);
>>>          }
>>>  -
>>>  +
>>>          //if (isRendered()) {
>>>  -            this.encodeBegin(context);
>>>  +        this.encodeBegin(context);
>>> 
>>>  -            // rendering children
>>>  -            if (this.getRendersChildren()) {
>>>  -                this.encodeChildren(context);
>>>  -            } // let children render itself
>>>  -            else {
>>>  -                if (this.getChildCount() > 0) {
>>>  -                    for (int i =0; i < this.getChildCount(); i++) {
>>>  -                        UIComponent comp = this.getChildren().get(i);
>>>  -                        comp.encodeAll(context);
>>>  -                    }
>>>  +        // rendering children
>>>  +        if (this.getRendersChildren())
>>>  +        {
>>>  +            this.encodeChildren(context);
>>>  +        } // let children render itself
>>>  +        else
>>>  +        {
>>>  +            if (this.getChildCount() > 0)
>>>  +            {
>>>  +                for (int i = 0; i < this.getChildCount(); i++)
>>>  +                {
>>>  +                    UIComponent comp = this.getChildren().get(i);
>>>  +                    comp.encodeAll(context);
>>>                  }
>>>              }
>>>  -            this.encodeEnd(context);
>>>  +        }
>>>  +        this.encodeEnd(context);
>>>          //}
>>>      }
>>> 
>>>  @@ -701,16 +777,19 @@ public abstract class UIComponent implem
>>> 
>>>      public abstract void processDecodes(FacesContext context);
>>> 
>>>  -    public void processEvent(ComponentSystemEvent event) throws 
> AbortProcessingException {
>>>  +    public void processEvent(ComponentSystemEvent event) throws 
> AbortProcessingException
>>>  +    {
>>>          // The default implementation performs the following action. If 
> the argument event is an instance of
>>>          // AfterRestoreStateEvent,
>>>  -        if (event instanceof PostRestoreStateEvent) {
>>>  +        if (event instanceof PostRestoreStateEvent)
>>>  +        {
>>> 
>>>              // call this.getValueExpression(java.lang.String) passing 
> the literal string "binding"
>>>              ValueExpression expression = 
> getValueExpression("binding");
>>> 
>>>              // If the result is non-null, set the value of the 
> ValueExpression to be this.
>>>  -            if (expression != null) {
>>>  +            if (expression != null)
>>>  +            {
>>>                  expression.setValue(getFacesContext().getELContext(), 
> this);
>>>              }
>>> 
>>>  @@ -722,7 +801,8 @@ public abstract class UIComponent implem
>>>              // and jsp restore state triggers, a central point is 
> preferrble so we do it here
>>>              //TODO ask the EG the spec clearly contradicts blackbox RI 
> behavior here
>>> 
>>>  -           
> //getFacesContext().getApplication().publishEvent(getFacesContext(), 
> PostRestoreStateEvent.class, UIComponent.class, this);
>>>  +           
>  //getFacesContext().getApplication().publishEvent(getFacesContext(),
>>>  +            // PostRestoreStateEvent.class, UIComponent.class, this);
>>>          }
>>> 
>>>      }
>>>  @@ -733,7 +813,9 @@ public abstract class UIComponent implem
>>> 
>>>      public abstract java.lang.Object processSaveState(FacesContext 
> context);
>>> 
>>>  -    public void subscribeToEvent(Class<? extends SystemEvent> 
> eventClass, ComponentSystemEventListener componentListener) {
>>>  +    public void subscribeToEvent(Class<? extends SystemEvent> 
> eventClass,
>>>  +                                 ComponentSystemEventListener 
> componentListener)
>>>  +    {
>>>          // The default implementation creates an inner 
> SystemEventListener instance that wraps argument
>>>          // componentListener as the listener argument.
>>>          if (eventClass == null)
>>>  @@ -744,17 +826,19 @@ public abstract class UIComponent implem
>>>          {
>>>              throw new NullPointerException("componentListener 
> required");
>>>          }
>>>  -
>>>  +
>>>          SystemEventListener listener = new EventListenerWrapper(this, 
> componentListener);
>>> 
>>>          // Make sure the map exists
>>>  -        if (_systemEventListenerClassMap == null) {
>>>  +        if (_systemEventListenerClassMap == null)
>>>  +        {
>>>              _systemEventListenerClassMap = new HashMap<Class<? 
> extends SystemEvent>, List<SystemEventListener>>();
>>>          }
>>> 
>>>          List<SystemEventListener> listeners = 
> _systemEventListenerClassMap.get(eventClass);
>>>          // Make sure the list for class exists
>>>  -        if (listeners == null) {
>>>  +        if (listeners == null)
>>>  +        {
>>>              listeners = new _DeltaList<SystemEventListener>(new 
> ArrayList<SystemEventListener>(2));
>>>              _systemEventListenerClassMap.put(eventClass, listeners);
>>>          }
>>>  @@ -764,13 +848,15 @@ public abstract class UIComponent implem
>>>      }
>>> 
>>>      public void unsubscribeFromEvent(Class<? extends SystemEvent> 
> eventClass,
>>>  -            ComponentSystemEventListener componentListener) {
>>>  +                                     ComponentSystemEventListener 
> componentListener)
>>>  +    {
>>>          /*
>>>           * When doing the comparison to determine if an existing 
> listener is equal to the argument componentListener
>>>           * (and thus must be removed), the equals() method on the 
> existing listener must be invoked, passing the
>>>           * argument componentListener, rather than the other way 
> around.
>>>           *
>>>  -         * -=Simon Lessard=- What is that supposed to mean? Are we 
> supposed to keep an internal map of created listener wrappers?
>>>  +         * -=Simon Lessard=- What is that supposed to mean? Are we 
> supposed to keep
>>>  +         * an internal map of created listener wrappers?
>>>           * -= Leonardo Uribe=- Yes, it is supposed a wrapper should be 
> used to hold listener references, to prevent
>>>           * serialize component instances on the state.
>>>           */
>>>  @@ -786,12 +872,13 @@ public abstract class UIComponent implem
>>>          if (_systemEventListenerClassMap != null)
>>>          {
>>>              List<SystemEventListener> listeners = 
> _systemEventListenerClassMap.get(eventClass);
>>>  -
>>>  +
>>>              if (listeners != null && !listeners.isEmpty())
>>>              {
>>>  -                for (Iterator<SystemEventListener> it = 
> listeners.iterator(); it.hasNext();)
>>>  +                for (Iterator<SystemEventListener> it = 
> listeners.iterator(); it.hasNext(); )
>>>                  {
>>>  -                    ComponentSystemEventListener listener = 
> ((EventListenerWrapper) it.next()).getComponentSystemEventListener();
>>>  +                    ComponentSystemEventListener listener
>>>  +                            = ((EventListenerWrapper) 
> it.next()).getComponentSystemEventListener();
>>>                      if (listener != null && 
> listener.equals(componentListener))
>>>                      {
>>>                          it.remove();
>>>  @@ -822,48 +909,59 @@ public abstract class UIComponent implem
>>>       * @param callback the callback to be performed
>>>       * @return false if the processing is not done true if we can 
> shortcut
>>>       * the visiting because we are done with everything
>>>  -     *
>>>  +     *
>>>       * @since 2.0
>>>       */
>>>  -    public boolean visitTree(VisitContext context, VisitCallback 
> callback) {
>>>  -        try {
>>>  +    public boolean visitTree(VisitContext context, VisitCallback 
> callback)
>>>  +    {
>>>  +        try
>>>  +        {
>>>              pushComponentToEL(context.getFacesContext(), this);
>>>  -
>>>  -            if (!isVisitable(context)) {
>>>  -                return false;
>>>  -            }
>>>  -
>>>  -            VisitResult res = context.invokeVisitCallback(this, 
> callback);
>>>  -            switch (res) {
>>>  -            //we are done nothing has to be processed anymore
>>>  -            case COMPLETE:
>>>  -                return true;
>>> 
>>>  -            case REJECT:
>>>  +            if (!isVisitable(context))
>>>  +            {
>>>                  return false;
>>>  +            }
>>> 
>>>  -            //accept
>>>  -            default:
>>>  -                if (getFacetCount() > 0) {
>>>  -                    for (UIComponent facet : getFacets().values()) {
>>>  -                        if (facet.visitTree(context, callback)) {
>>>  -                            return true;
>>>  +            VisitResult res = context.invokeVisitCallback(this, 
> callback);
>>>  +            switch (res)
>>>  +            {
>>>  +                //we are done nothing has to be processed anymore
>>>  +                case COMPLETE:
>>>  +                    return true;
>>>  +
>>>  +                case REJECT:
>>>  +                    return false;
>>>  +
>>>  +                //accept
>>>  +                default:
>>>  +                    if (getFacetCount() > 0)
>>>  +                    {
>>>  +                        for (UIComponent facet : getFacets().values())
>>>  +                        {
>>>  +                            if (facet.visitTree(context, callback))
>>>  +                            {
>>>  +                                return true;
>>>  +                            }
>>>                          }
>>>                      }
>>>  -                }
>>>  -                int childCount = getChildCount();
>>>  -                if (childCount > 0) {
>>>  -                    for (int i =0; i < childCount; i++) {
>>>  -                        UIComponent child = getChildren().get(i);
>>>  -                        if (child.visitTree(context, callback)) {
>>>  -                            return true;
>>>  +                    int childCount = getChildCount();
>>>  +                    if (childCount > 0)
>>>  +                    {
>>>  +                        for (int i = 0; i < childCount; i++)
>>>  +                        {
>>>  +                            UIComponent child = getChildren().get(i);
>>>  +                            if (child.visitTree(context, callback))
>>>  +                            {
>>>  +                                return true;
>>>  +                            }
>>>                          }
>>>                      }
>>>  -                }
>>>  -                return false;
>>>  +                    return false;
>>>              }
>>>          }
>>>  -        finally {
>>>  +        finally
>>>  +        {
>>>              //all components must call popComponentFromEl after 
> visiting is finished
>>>              popComponentFromEL(context.getFacesContext());
>>>          }
>>>  @@ -881,14 +979,14 @@ public abstract class UIComponent implem
>>>       * (Note that rendererType is suspicious, in theory this field is
>>>       * initialized on constructor, but on 1.1 and 1.2 is saved and 
> restored,
>>>       * so to keep backward behavior we put it on StateHelper )
>>>  -     *
>>>  +     *
>>>       * Also, facesListeners can't be wrapped on StateHelper because 
> it
>>>       * needs to handle PartialStateHolder instances when it is saved 
> and
>>>       * restored and this interface does not implement 
> PartialStateHolder,
>>>       * so we can't propagate calls to markInitialState and 
> clearInitialState,
>>>       * in other words, the List wrapped by StateHelper does not handle
>>>       * PartialStateHolder items.
>>>  -     *
>>>  +     *
>>>       * "bindings" map does not need to deal with 
> PartialStateHolder instances,
>>>       *  so we can use StateHelper feature (handle delta for this map or 
> in
>>>       *  other words track add/removal from bindings map as delta).
>>>  @@ -902,7 +1000,8 @@ public abstract class UIComponent implem
>>>          facesListeners
>>>      }
>>> 
>>>  -    protected StateHelper getStateHelper() {
>>>  +    protected StateHelper getStateHelper()
>>>  +    {
>>>          return getStateHelper(true);
>>>      }
>>> 
>>>  @@ -912,26 +1011,32 @@ public abstract class UIComponent implem
>>>       * @param create if true a state helper is created if not already 
> existing
>>>       * @return an implementation of the StateHelper interface or null 
> if none exists and create is set to false
>>>       */
>>>  -    protected StateHelper getStateHelper(boolean create) {
>>>  -        if(_stateHelper != null) {
>>>  +    protected StateHelper getStateHelper(boolean create)
>>>  +    {
>>>  +        if (_stateHelper != null)
>>>  +        {
>>>              return _stateHelper;
>>>          }
>>>  -        if(create) {
>>>  +        if (create)
>>>  +        {
>>>              _stateHelper = new _DeltaStateHelper(this);
>>>          }
>>>          return _stateHelper;
>>>      }
>>>  -
>>>  +
>>>      public final TransientStateHelper getTransientStateHelper()
>>>      {
>>>          return getTransientStateHelper(true);
>>>      }
>>>  -
>>>  -    public TransientStateHelper getTransientStateHelper(boolean 
> create) {
>>>  -        if(_stateHelper != null) {
>>>  +
>>>  +    public TransientStateHelper getTransientStateHelper(boolean 
> create)
>>>  +    {
>>>  +        if (_stateHelper != null)
>>>  +        {
>>>              return _stateHelper;
>>>          }
>>>  -        if(create) {
>>>  +        if (create)
>>>  +        {
>>>              _stateHelper = new _DeltaStateHelper(this);
>>>          }
>>>          return _stateHelper;
>>>  @@ -948,22 +1053,24 @@ public abstract class UIComponent implem
>>>      }
>>> 
>>>      @SuppressWarnings("unchecked")
>>>  -    public final void popComponentFromEL(FacesContext context) {
>>>  -        Map<Object, Object> contextAttributes = 
> context.getAttributes();
>>>  -
>>>  +    public final void popComponentFromEL(FacesContext context)
>>>  +    {
>>>  +        Map<Object, Object> contextAttributes = 
> context.getAttributes();
>>>  +
>>>          if (_honorCurrentComponentAttributes == null)
>>>          {
>>>              _honorCurrentComponentAttributes = 
> _getHonorCurrentComponentAttributes(context);
>>>          }
>>>  -
>>>  +
>>>          if (_honorCurrentComponentAttributes == Boolean.TRUE)
>>>          {
>>>              // Pop the current UIComponent from the FacesContext 
> attributes map so that the previous
>>>              // UIComponent, if any, becomes the current component.
>>>  -            LinkedList<UIComponent> componentStack = 
> (LinkedList<UIComponent>) 
> contextAttributes.get(UIComponent._COMPONENT_STACK);
>>>  -
>>>  -            UIComponent oldCurrent = 
> (UIComponent)contextAttributes.get(UIComponent.CURRENT_COMPONENT);
>>>  -
>>>  +            LinkedList<UIComponent> componentStack
>>>  +                    = (LinkedList<UIComponent>) 
> contextAttributes.get(UIComponent._COMPONENT_STACK);
>>>  +
>>>  +            UIComponent oldCurrent = (UIComponent) 
> contextAttributes.get(UIComponent.CURRENT_COMPONENT);
>>>  +
>>>              UIComponent newCurrent = null;
>>>              if (componentStack != null && 
> !componentStack.isEmpty())
>>>              {
>>>  @@ -973,7 +1080,7 @@ public abstract class UIComponent implem
>>>                      int componentIndex = componentStack.indexOf(this);
>>>                      if (componentIndex >= 0)
>>>                      {
>>>  -                        for (int i = 0; i < (componentIndex+1); 
> i++)
>>>  +                        for (int i = 0; i < (componentIndex + 1); 
> i++)
>>>                          {
>>>                              newCurrent = componentStack.removeFirst();
>>>                          }
>>>  @@ -994,8 +1101,8 @@ public abstract class UIComponent implem
>>>                  //Reset the current composite component
>>>                  
> contextAttributes.put(UIComponent.CURRENT_COMPOSITE_COMPONENT, null);
>>>              }
>>>  -            oldCurrent = 
> (UIComponent)contextAttributes.put(UIComponent.CURRENT_COMPONENT, newCurrent);
>>>  -
>>>  +            oldCurrent = (UIComponent) 
> contextAttributes.put(UIComponent.CURRENT_COMPONENT, newCurrent);
>>>  +
>>>              if (oldCurrent != null && 
> oldCurrent._isCompositeComponent())
>>>              {
>>>                  // Recalculate the current composite component
>>>  @@ -1008,7 +1115,7 @@ public abstract class UIComponent implem
>>>                      else
>>>                      {
>>>                          UIComponent previousCompositeComponent = null;
>>>  -                        for (Iterator<UIComponent> it = 
> componentStack.iterator(); it.hasNext();)
>>>  +                        for (Iterator<UIComponent> it = 
> componentStack.iterator(); it.hasNext(); )
>>>                          {
>>>                              UIComponent component = it.next();
>>>                              if (component._isCompositeComponent())
>>>  @@ -1026,15 +1133,16 @@ public abstract class UIComponent implem
>>>          {
>>>              // Pop the current UIComponent from the FacesContext 
> attributes map so that the previous
>>>              // UIComponent, if any, becomes the current component.
>>>  -            LinkedList<UIComponent> componentStack = 
> (LinkedList<UIComponent>) 
> contextAttributes.get(UIComponent._COMPONENT_STACK);
>>>  -
>>>  +            LinkedList<UIComponent> componentStack
>>>  +                    = (LinkedList<UIComponent>) 
> contextAttributes.get(UIComponent._COMPONENT_STACK);
>>>  +
>>>              UIComponent oldCurrent = null;
>>>              if (componentStack != null && 
> !componentStack.isEmpty())
>>>              {
>>>                  int componentIndex = componentStack.indexOf(this);
>>>                  if (componentIndex >= 0)
>>>                  {
>>>  -                    for (int i = 0; i < (componentIndex+1); i++)
>>>  +                    for (int i = 0; i < (componentIndex + 1); i++)
>>>                      {
>>>                          oldCurrent = componentStack.removeFirst();
>>>                      }
>>>  @@ -1044,12 +1152,12 @@ public abstract class UIComponent implem
>>>                      return;
>>>                  }
>>>              }
>>>  -
>>>  +
>>>              if (oldCurrent != null && 
> oldCurrent._isCompositeComponent())
>>>              {
>>>                  // Recalculate the current composite component
>>>                  UIComponent previousCompositeComponent = null;
>>>  -                for (Iterator<UIComponent> it = 
> componentStack.iterator(); it.hasNext();)
>>>  +                for (Iterator<UIComponent> it = 
> componentStack.iterator(); it.hasNext(); )
>>>                  {
>>>                      UIComponent component = it.next();
>>>                      if (component._isCompositeComponent())
>>>  @@ -1064,40 +1172,42 @@ public abstract class UIComponent implem
>>>      }
>>> 
>>>      @SuppressWarnings("unchecked")
>>>  -    public final void pushComponentToEL(FacesContext context, 
> UIComponent component) {
>>>  +    public final void pushComponentToEL(FacesContext context, 
> UIComponent component)
>>>  +    {
>>>          if (component == null)
>>>          {
>>>              component = this;
>>>          }
>>> 
>>>          Map<Object, Object> contextAttributes = 
> context.getAttributes();
>>>  -
>>>  +
>>>          if (_honorCurrentComponentAttributes == null)
>>>          {
>>>              _honorCurrentComponentAttributes = 
> _getHonorCurrentComponentAttributes(context);
>>>          }
>>>  -
>>>  +
>>>          if (_honorCurrentComponentAttributes == Boolean.TRUE)
>>>          {
>>>              UIComponent currentComponent = (UIComponent) 
> contextAttributes.get(UIComponent.CURRENT_COMPONENT);
>>>  -
>>>  -            if(currentComponent != null)
>>>  +
>>>  +            if (currentComponent != null)
>>>              {
>>>  -                LinkedList<UIComponent> componentStack = 
> (LinkedList<UIComponent>) 
> contextAttributes.get(UIComponent._COMPONENT_STACK);
>>>  -                if(componentStack == null)
>>>  +                LinkedList<UIComponent> componentStack
>>>  +                        = (LinkedList<UIComponent>) 
> contextAttributes.get(UIComponent._COMPONENT_STACK);
>>>  +                if (componentStack == null)
>>>                  {
>>>                      componentStack = new 
> LinkedList<UIComponent>();
>>>                      contextAttributes.put(UIComponent._COMPONENT_STACK, 
> componentStack);
>>>                  }
>>>  -
>>>  +
>>>                  componentStack.addFirst(currentComponent);
>>>              }
>>>  -
>>>  +
>>>              // Push the current UIComponent this to the FacesContext 
>  attribute map using the key CURRENT_COMPONENT
>>>              // saving the previous UIComponent associated with 
> CURRENT_COMPONENT for a subsequent call to
>>>              // popComponentFromEL(javax.faces.context.FacesContext).
>>>              contextAttributes.put(UIComponent.CURRENT_COMPONENT, 
> component);
>>>  -
>>>  +
>>>              if (component._isCompositeComponent())
>>>              {
>>>                  
> contextAttributes.put(UIComponent.CURRENT_COMPOSITE_COMPONENT, component);
>>>  @@ -1105,8 +1215,9 @@ public abstract class UIComponent implem
>>>          }
>>>          else
>>>          {
>>>  -            LinkedList<UIComponent> componentStack = 
> (LinkedList<UIComponent>) 
> contextAttributes.get(UIComponent._COMPONENT_STACK);
>>>  -            if(componentStack == null)
>>>  +            LinkedList<UIComponent> componentStack
>>>  +                    = (LinkedList<UIComponent>) 
> contextAttributes.get(UIComponent._COMPONENT_STACK);
>>>  +            if (componentStack == null)
>>>              {
>>>                  componentStack = new LinkedList<UIComponent>();
>>>                  contextAttributes.put(UIComponent._COMPONENT_STACK, 
> componentStack);
>>>  @@ -1122,25 +1233,28 @@ public abstract class UIComponent implem
>>>      /**
>>>       * @since 1.2
>>>       */
>>>  -    public int getFacetCount() {
>>>  +    public int getFacetCount()
>>>  +    {
>>>          // not sure why the RI has this method in both
>>>          // UIComponent and UIComponentBase
>>>          Map<String, UIComponent> facets = getFacets();
>>>          return facets == null ? 0 : facets.size();
>>>      }
>>> 
>>>  -    private boolean _isCompositeComponent() {
>>>  +    private boolean _isCompositeComponent()
>>>  +    {
>>>          //moved to the static method
>>>          return UIComponent.isCompositeComponent(this);
>>>      }
>>>  -
>>>  +
>>>      /**
>>>       * Gets value of 
> "javax.faces.HONOR_CURRENT_COMPONENT_ATTRIBUTES" parameter cached in 
> facesContext.attributes
>>>       * or resolves that param and caches its value in 
> facesContext.attributes.
>>>  -     *
>>>  +     *
>>>       * @return canonical Boolean value for parameter 
> "javax.faces.HONOR_CURRENT_COMPONENT_ATTRIBUTES"
>>>       */
>>>  -    private static Boolean 
> _getHonorCurrentComponentAttributes(FacesContext facesContext) {
>>>  +    private static Boolean 
> _getHonorCurrentComponentAttributes(FacesContext facesContext)
>>>  +    {
>>>          // performance note: we cache value in facesContext.attributes 
> because
>>>          // 1) methods pushComponentToEL, popComponentFromEl, 
> getCurrentComponent a getCurrentCompositeComponent
>>>          // can use that value
>>>  @@ -1149,49 +1263,65 @@ public abstract class UIComponent implem
>>>          // implementation and performance
>>>          Map<Object, Object> attributes = 
> facesContext.getAttributes();
>>>          Boolean paramValue = (Boolean) 
> attributes.get(HONOR_CURRENT_COMPONENT_ATTRIBUTES_PARAM_NAME);
>>>  -        if (paramValue == null) {
>>>  -            String param = 
> facesContext.getExternalContext().getInitParameter(HONOR_CURRENT_COMPONENT_ATTRIBUTES_PARAM_NAME);
>>>  +        if (paramValue == null)
>>>  +        {
>>>  +            String param
>>>  +                    = 
> facesContext.getExternalContext().getInitParameter(HONOR_CURRENT_COMPONENT_ATTRIBUTES_PARAM_NAME);
>>>              paramValue = Boolean.valueOf((param != null && 
> Boolean.valueOf(param).booleanValue()));
>>>              
> attributes.put(HONOR_CURRENT_COMPONENT_ATTRIBUTES_PARAM_NAME, paramValue);
>>>          }
>>>          return paramValue;
>>>      }
>>>  -
>>>  -    private static class BundleMap implements Map<String, 
> String> {
>>>  +
>>>  +    private static class BundleMap implements Map<String, 
> String>
>>>  +    {
>>> 
>>>          private ResourceBundle _bundle;
>>>          private List<String> _values;
>>> 
>>>  -        public BundleMap(ResourceBundle bundle) {
>>>  +        public BundleMap(ResourceBundle bundle)
>>>  +        {
>>>              _bundle = bundle;
>>>          }
>>> 
>>>          // Optimized methods
>>>  -        public String get(Object key) {
>>>  -            try {
>>>  +        public String get(Object key)
>>>  +        {
>>>  +            try
>>>  +            {
>>>                  return (String) _bundle.getObject(key.toString());
>>>  -            } catch (Exception e) {
>>>  +            }
>>>  +            catch (Exception e)
>>>  +            {
>>>                  return "???" + key + "???";
>>>              }
>>>          }
>>> 
>>>  -        public boolean isEmpty() {
>>>  +        public boolean isEmpty()
>>>  +        {
>>>              return !_bundle.getKeys().hasMoreElements();
>>>          }
>>> 
>>>  -        public boolean containsKey(Object key) {
>>>  -            try {
>>>  +        public boolean containsKey(Object key)
>>>  +        {
>>>  +            try
>>>  +            {
>>>                  return _bundle.getObject(key.toString()) != null;
>>>  -            } catch (MissingResourceException e) {
>>>  +            }
>>>  +            catch (MissingResourceException e)
>>>  +            {
>>>                  return false;
>>>              }
>>>          }
>>> 
>>>          // Unoptimized methods
>>>  -        public Collection<String> values() {
>>>  -            if (_values == null) {
>>>  +        public Collection<String> values()
>>>  +        {
>>>  +            if (_values == null)
>>>  +            {
>>>                  _values = new ArrayList<String>();
>>>  -                for (Enumeration<String> enumer = 
> _bundle.getKeys(); enumer.hasMoreElements();) {
>>>  +                for (Enumeration<String> enumer = 
> _bundle.getKeys(); enumer.hasMoreElements(); )
>>>  +                {
>>>                      String v = _bundle.getString(enumer.nextElement());
>>>                      _values.add(v);
>>>                  }
>>>  @@ -1199,29 +1329,37 @@ public abstract class UIComponent implem
>>>              return _values;
>>>          }
>>> 
>>>  -        public int size() {
>>>  +        public int size()
>>>  +        {
>>>              return values().size();
>>>          }
>>> 
>>>  -        public boolean containsValue(Object value) {
>>>  +        public boolean containsValue(Object value)
>>>  +        {
>>>              return values().contains(value);
>>>          }
>>> 
>>>  -        public Set<Map.Entry<String, String>> entrySet() {
>>>  +        public Set<Map.Entry<String, String>> entrySet()
>>>  +        {
>>>              Set<Entry<String, String>> set = new 
> HashSet<Entry<String, String>>();
>>>  -            for (Enumeration<String> enumer = _bundle.getKeys(); 
> enumer.hasMoreElements();) {
>>>  +            for (Enumeration<String> enumer = _bundle.getKeys(); 
> enumer.hasMoreElements(); )
>>>  +            {
>>>                  final String k = enumer.nextElement();
>>>  -                set.add(new Map.Entry<String, String>() {
>>>  +                set.add(new Map.Entry<String, String>()
>>>  +                {
>>> 
>>>  -                    public String getKey() {
>>>  +                    public String getKey()
>>>  +                    {
>>>                          return k;
>>>                      }
>>> 
>>>  -                    public String getValue() {
>>>  +                    public String getValue()
>>>  +                    {
>>>                          return (String) _bundle.getObject(k);
>>>                      }
>>> 
>>>  -                    public String setValue(String value) {
>>>  +                    public String setValue(String value)
>>>  +                    {
>>>                          throw new UnsupportedOperationException();
>>>                      }
>>>                  });
>>>  @@ -1230,37 +1368,44 @@ public abstract class UIComponent implem
>>>              return set;
>>>          }
>>> 
>>>  -        public Set<String> keySet() {
>>>  +        public Set<String> keySet()
>>>  +        {
>>>              Set<String> set = new HashSet<String>();
>>>  -            for (Enumeration<String> enumer = _bundle.getKeys(); 
> enumer.hasMoreElements();) {
>>>  +            for (Enumeration<String> enumer = _bundle.getKeys(); 
> enumer.hasMoreElements(); )
>>>  +            {
>>>                  set.add(enumer.nextElement());
>>>              }
>>>              return set;
>>>          }
>>> 
>>>          // Unsupported methods
>>>  -        public String remove(Object key) {
>>>  +        public String remove(Object key)
>>>  +        {
>>>              throw new UnsupportedOperationException();
>>>          }
>>> 
>>>  -        public void putAll(Map<? extends String, ? extends 
> String> t) {
>>>  +        public void putAll(Map<? extends String, ? extends 
> String> t)
>>>  +        {
>>>              throw new UnsupportedOperationException();
>>>          }
>>> 
>>>  -        public String put(String key, String value) {
>>>  +        public String put(String key, String value)
>>>  +        {
>>>              throw new UnsupportedOperationException();
>>>          }
>>> 
>>>  -        public void clear() {
>>>  +        public void clear()
>>>  +        {
>>>              throw new UnsupportedOperationException();
>>>          }
>>>      }
>>> 
>>>  -    static class EventListenerWrapper implements SystemEventListener, 
> PartialStateHolder {
>>>  +    static class EventListenerWrapper implements SystemEventListener, 
> PartialStateHolder
>>>  +    {
>>> 
>>>          private Class<?> componentClass;
>>>          private ComponentSystemEventListener listener;
>>>  -
>>>  +
>>>          private boolean _initialStateMarked;
>>> 
>>>          private int listenerCapability;
>>>  @@ -1270,16 +1415,16 @@ public abstract class UIComponent implem
>>>          private static final int LISTENER_TYPE_COMPONENT = 4;
>>>          private static final int LISTENER_TYPE_RENDERER = 8;
>>>          private static final int LISTENER_TYPE_OTHER = 16;
>>>  -
>>>  +
>>>          public EventListenerWrapper()
>>>          {
>>>              //need a no-arg constructor for state saving purposes
>>>              super();
>>>          }
>>>  -
>>>  +
>>>          /**
>>>           * Note we have two cases:
>>>  -         *
>>>  +         *
>>>           * 1. listener is an instance of UIComponent. In this case we 
> cannot save and restore
>>>           *    it because we need to point to the real component, but we 
> can assume the instance
>>>           *    is the same because UIComponent.subscribeToEvent says so. 
> Also take into account
>>>  @@ -1289,11 +1434,12 @@ public abstract class UIComponent implem
>>>           * 3. listener is an instance of ComponentSystemEventListener 
> but not from UIComponent.
>>>           *    In this case, the instance could implement StateHolder, 
> PartialStateHolder or do
>>>           *    implement anything, so we have to deal with that case as 
> usual.
>>>  -         *
>>>  +         *
>>>           * @param component
>>>           * @param listener
>>>           */
>>>  -        public EventListenerWrapper(UIComponent component, 
> ComponentSystemEventListener listener) {
>>>  +        public EventListenerWrapper(UIComponent component, 
> ComponentSystemEventListener listener)
>>>  +        {
>>>              assert component != null;
>>>              assert listener != null;
>>> 
>>>  @@ -1302,7 +1448,7 @@ public abstract class UIComponent implem
>>> 
>>>              initListenerCapability();
>>>          }
>>>  -
>>>  +
>>>          private void initListenerCapability()
>>>          {
>>>              this.listenerCapability = 0;
>>>  @@ -1318,7 +1464,7 @@ public abstract class UIComponent implem
>>>              {
>>>                  if (this.listener instanceof PartialStateHolder)
>>>                  {
>>>  -                    this.listenerCapability = LISTENER_TYPE_OTHER | 
> LISTENER_SAVE_PARTIAL_STATE_HOLDER;
>>>  +                    this.listenerCapability = LISTENER_TYPE_OTHER | 
> LISTENER_SAVE_PARTIAL_STATE_HOLDER;
>>>                  }
>>>                  else if (this.listener instanceof StateHolder)
>>>                  {
>>>  @@ -1332,7 +1478,8 @@ public abstract class UIComponent implem
>>>          }
>>> 
>>>          @Override
>>>  -        public boolean equals(Object o) {
>>>  +        public boolean equals(Object o)
>>>  +        {
>>>              if (o == this)
>>>              {
>>>                  return true;
>>>  @@ -1341,13 +1488,16 @@ public abstract class UIComponent implem
>>>              {
>>>                  EventListenerWrapper other = (EventListenerWrapper) o;
>>>                  return componentClass.equals(other.componentClass) 
> && listener.equals(other.listener);
>>>  -            } else {
>>>  +            }
>>>  +            else
>>>  +            {
>>>                  return false;
>>>              }
>>>          }
>>> 
>>>          @Override
>>>  -        public int hashCode() {
>>>  +        public int hashCode()
>>>  +        {
>>>              return componentClass.hashCode() + listener.hashCode();
>>>          }
>>> 
>>>  @@ -1358,7 +1508,7 @@ public abstract class UIComponent implem
>>> 
>>>              return source.getClass().isAssignableFrom(componentClass);
>>>          }
>>>  -
>>>  +
>>>          public ComponentSystemEventListener 
> getComponentSystemEventListener()
>>>          {
>>>              return listener;
>>>  @@ -1377,9 +1527,9 @@ public abstract class UIComponent implem
>>>          public void clearInitialState()
>>>          {
>>>              //if (!(listener instanceof UIComponent) && 
> listener instanceof PartialStateHolder)
>>>  -            if ( (listenerCapability & 
> LISTENER_SAVE_PARTIAL_STATE_HOLDER) != 0)
>>>  +            if ((listenerCapability & 
> LISTENER_SAVE_PARTIAL_STATE_HOLDER) != 0)
>>>              {
>>>  -                ((PartialStateHolder)listener).clearInitialState();
>>>  +                ((PartialStateHolder) listener).clearInitialState();
>>>              }
>>>              _initialStateMarked = false;
>>>          }
>>>  @@ -1387,9 +1537,9 @@ public abstract class UIComponent implem
>>>          public boolean initialStateMarked()
>>>          {
>>>              //if (!(listener instanceof UIComponent) && 
> listener instanceof PartialStateHolder)
>>>  -            if ( (listenerCapability & 
> LISTENER_SAVE_PARTIAL_STATE_HOLDER) != 0)
>>>  +            if ((listenerCapability & 
> LISTENER_SAVE_PARTIAL_STATE_HOLDER) != 0)
>>>              {
>>>  -                return 
> ((PartialStateHolder)listener).initialStateMarked();
>>>  +                return ((PartialStateHolder) 
> listener).initialStateMarked();
>>>              }
>>>              //return false;
>>>              return _initialStateMarked;
>>>  @@ -1398,9 +1548,9 @@ public abstract class UIComponent implem
>>>          public void markInitialState()
>>>          {
>>>              //if (!(listener instanceof UIComponent) && 
> listener instanceof PartialStateHolder)
>>>  -            if ( (listenerCapability & 
> LISTENER_SAVE_PARTIAL_STATE_HOLDER) != 0)
>>>  +            if ((listenerCapability & 
> LISTENER_SAVE_PARTIAL_STATE_HOLDER) != 0)
>>>              {
>>>  -                ((PartialStateHolder)listener).markInitialState();
>>>  +                ((PartialStateHolder) listener).markInitialState();
>>>              }
>>>              _initialStateMarked = true;
>>>          }
>>>  @@ -1408,11 +1558,11 @@ public abstract class UIComponent implem
>>>          public boolean isTransient()
>>>          {
>>>              //if ( listener instanceof StateHolder)
>>>  -            if ((listenerCapability & 
> LISTENER_SAVE_PARTIAL_STATE_HOLDER) != 0 ||
>>>  -                (listenerCapability & LISTENER_SAVE_STATE_HOLDER) 
> != 0 )
>>>  +            if ((listenerCapability & 
> LISTENER_SAVE_PARTIAL_STATE_HOLDER) != 0 ||
>>>  +                    (listenerCapability & 
> LISTENER_SAVE_STATE_HOLDER) != 0)
>>>              {
>>>  -                return ((StateHolder)listener).isTransient();
>>>  -            }
>>>  +                return ((StateHolder) listener).isTransient();
>>>  +            }
>>>              return false;
>>>          }
>>> 
>>>  @@ -1426,24 +1576,27 @@ public abstract class UIComponent implem
>>>              componentClass = (Class) values[0];
>>>              if (values[1] instanceof _AttachedDeltaWrapper)
>>>              {
>>>  -                ((StateHolder)listener).restoreState(context, 
> ((_AttachedDeltaWrapper)values[1]).getWrappedStateObject());
>>>  +                ((StateHolder) listener).restoreState(context,
>>>  +                        ((_AttachedDeltaWrapper) 
> values[1]).getWrappedStateObject());
>>>              }
>>>              else
>>>              {
>>>                  //Full restore
>>>                  listenerCapability = (Integer) values[2];
>>>  -
>>>  -                if ( (listenerCapability & 
> LISTENER_TYPE_COMPONENT) != 0 )
>>>  +
>>>  +                if ((listenerCapability & LISTENER_TYPE_COMPONENT) 
> != 0)
>>>                  {
>>>                      listener = 
> UIComponent.getCurrentComponent(context);
>>>                  }
>>>  -                else if ( (listenerCapability & 
> LISTENER_TYPE_RENDERER) != 0)
>>>  +                else if ((listenerCapability & 
> LISTENER_TYPE_RENDERER) != 0)
>>>                  {
>>>  -                    listener = (ComponentSystemEventListener) 
> UIComponent.getCurrentComponent(context).getRenderer(context);
>>>  +                    listener = (ComponentSystemEventListener)
>>>  +                           
>  UIComponent.getCurrentComponent(context).getRenderer(context);
>>>                  }
>>>                  else
>>>                  {
>>>  -                    listener = (ComponentSystemEventListener) 
> UIComponentBase.restoreAttachedState(context, values[1]);
>>>  +                    listener = (ComponentSystemEventListener)
>>>  +                           
>  UIComponentBase.restoreAttachedState(context, values[1]);
>>>                  }
>>>                  /*
>>>                  listener = values[1] == null ?
>>>  @@ -1469,8 +1622,8 @@ public abstract class UIComponent implem
>>>                  Object[] state = new Object[3];
>>>                  state[0] = componentClass;
>>>                  //If this is not a component or a renderer, save it 
> calling UIComponent.saveAttachedState
>>>  -                if (!( (listenerCapability & 
> LISTENER_TYPE_COMPONENT) != 0 ||
>>>  -                       (listenerCapability & 
> LISTENER_TYPE_RENDERER) != 0    ) )
>>>  +                if (!((listenerCapability & 
> LISTENER_TYPE_COMPONENT) != 0 ||
>>>  +                        (listenerCapability & 
> LISTENER_TYPE_RENDERER) != 0))
>>>                  {
>>>                      state[1] = 
> UIComponentBase.saveAttachedState(context, listener);
>>>                  }
>>>  @@ -1485,25 +1638,26 @@ public abstract class UIComponent implem
>>>              {
>>>                  // If initialStateMarked() == true means two things:
>>>                  // 1. PSS is being used
>>>  -                if ( (listenerCapability & 
> LISTENER_TYPE_COMPONENT) != 0)
>>>  +                if ((listenerCapability & LISTENER_TYPE_COMPONENT) 
> != 0)
>>>                  {
>>>                      return null;
>>>                  }
>>>  -                else if ( (listenerCapability & 
> LISTENER_TYPE_RENDERER) != 0)
>>>  +                else if ((listenerCapability & 
> LISTENER_TYPE_RENDERER) != 0)
>>>                  {
>>>                      return null;
>>>                  }
>>>                  else
>>>                  {
>>>  -                    if ( (listenerCapability & 
> LISTENER_SAVE_STATE_HOLDER) != 0 ||
>>>  -                         (listenerCapability & 
> LISTENER_SAVE_PARTIAL_STATE_HOLDER) != 0)
>>>  +                    if ((listenerCapability & 
> LISTENER_SAVE_STATE_HOLDER) != 0 ||
>>>  +                            (listenerCapability & 
> LISTENER_SAVE_PARTIAL_STATE_HOLDER) != 0)
>>>                      {
>>>                          Object listenerSaved = ((StateHolder) 
> listener).saveState(context);
>>>                          if (listenerSaved == null)
>>>                          {
>>>                              return null;
>>>                          }
>>>  -                        return new Object[]{componentClass, new 
> _AttachedDeltaWrapper(listener.getClass(), listenerSaved)};
>>>  +                        return new Object[]{componentClass,
>>>  +                                            new 
> _AttachedDeltaWrapper(listener.getClass(), listenerSaved)};
>>>                      }
>>>                      else
>>>                      {
>>>  @@ -1524,11 +1678,11 @@ public abstract class UIComponent implem
>>> 
>>>          public void setTransient(boolean newTransientValue)
>>>          {
>>>  -            if ((listenerCapability & 
> LISTENER_SAVE_PARTIAL_STATE_HOLDER) != 0 ||
>>>  -                    (listenerCapability & 
> LISTENER_SAVE_STATE_HOLDER) != 0 )
>>>  +            if ((listenerCapability & 
> LISTENER_SAVE_PARTIAL_STATE_HOLDER) != 0 ||
>>>  +                    (listenerCapability & 
> LISTENER_SAVE_STATE_HOLDER) != 0)
>>>              {
>>>  -               
>  ((StateHolder)listener).setTransient(newTransientValue);
>>>  -            }
>>>  +                ((StateHolder) 
> listener).setTransient(newTransientValue);
>>>  +            }
>>>          }
>>>      }
>>>   }
>>> 
>>>  Modified: 
> myfaces/core/trunk/api/src/main/java/javax/faces/component/UIComponentBase.java
>>>  URL: 
> http://svn.apache.org/viewvc/myfaces/core/trunk/api/src/main/java/javax/faces/component/UIComponentBase.java?rev=1188267&r1=1188266&r2=1188267&view=diff
>>> 
> ==============================================================================
>>>  --- 
> myfaces/core/trunk/api/src/main/java/javax/faces/component/UIComponentBase.java 
> (original)
>>>  +++ 
> myfaces/core/trunk/api/src/main/java/javax/faces/component/UIComponentBase.java 
> Mon Oct 24 18:09:08 2011
>>>  @@ -590,7 +590,7 @@ public abstract class UIComponentBase ex
>>>              return null;
>>>          }
>>> 
>>>  -        final char separatorChar = 
> UINamingContainer.getSeparatorChar(getFacesContext());
>>>  +        char separatorChar = 
> UINamingContainer.getSeparatorChar(getFacesContext());
>>>          UIComponent findBase;
>>>          if (expr.charAt(0) == separatorChar)
>>>          {
>>> 
>>>  Modified: 
> myfaces/core/trunk/api/src/main/java/javax/faces/component/UIData.java
>>>  URL: 
> http://svn.apache.org/viewvc/myfaces/core/trunk/api/src/main/java/javax/faces/component/UIData.java?rev=1188267&r1=1188266&r2=1188267&view=diff
>>> 
> ==============================================================================
>>>  --- 
> myfaces/core/trunk/api/src/main/java/javax/faces/component/UIData.java 
> (original)
>>>  +++ 
> myfaces/core/trunk/api/src/main/java/javax/faces/component/UIData.java Mon Oct 
> 24 18:09:08 2011
>>>  @@ -316,7 +316,7 @@ public class UIData extends UIComponentB
>>>              throw new NullPointerException();
>>>          }
>>> 
>>>  -        final String baseClientId = getClientId(context);
>>>  +        String baseClientId = getClientId(context);
>>> 
>>>          // searching for this component?
>>>          boolean returnValue = baseClientId.equals(clientId);
>>>  @@ -1565,7 +1565,7 @@ public class UIData extends UIComponentB
>>>          {
>>>              FacesEvent originalEvent = ((FacesEventWrapper) 
> event).getWrappedFacesEvent();
>>>              int eventRowIndex = ((FacesEventWrapper) 
> event).getRowIndex();
>>>  -            final int currentRowIndex = getRowIndex();
>>>  +            int currentRowIndex = getRowIndex();
>>>              UIComponent source = originalEvent.getComponent();
>>>              UIComponent compositeParent = 
> UIComponent.getCompositeComponentParent(source);
>>> 
>>> 
>>>  Modified: 
> myfaces/core/trunk/api/src/main/java/javax/faces/component/UIInput.java
>>>  URL: 
> http://svn.apache.org/viewvc/myfaces/core/trunk/api/src/main/java/javax/faces/component/UIInput.java?rev=1188267&r1=1188266&r2=1188267&view=diff
>>> 
> ==============================================================================
>>>  --- 
> myfaces/core/trunk/api/src/main/java/javax/faces/component/UIInput.java 
> (original)
>>>  +++ 
> myfaces/core/trunk/api/src/main/java/javax/faces/component/UIInput.java Mon Oct 
> 24 18:09:08 2011
>>>  @@ -1065,7 +1065,7 @@ public class UIInput extends UIOutput im
>>>      @SuppressWarnings("unchecked")
>>>      private Map<String, List<Object[]>> _getDebugInfoMap()
>>>      {
>>>  -        final Map<String, Object> requestMap = getFacesContext()
>>>  +        Map<String, Object> requestMap = getFacesContext()
>>>                  .getExternalContext().getRequestMap();
>>>          Map<String, List<Object[]>> debugInfo = 
> (Map<String, List<Object[]>>)
>>>                  requestMap.get(DEBUG_INFO_KEY + getClientId());
>>> 
>>>  Modified: 
> myfaces/core/trunk/api/src/main/java/javax/faces/component/UISelectMany.java
>>>  URL: 
> http://svn.apache.org/viewvc/myfaces/core/trunk/api/src/main/java/javax/faces/component/UISelectMany.java?rev=1188267&r1=1188266&r2=1188267&view=diff
>>> 
> ==============================================================================
>>>  --- 
> myfaces/core/trunk/api/src/main/java/javax/faces/component/UISelectMany.java 
> (original)
>>>  +++ 
> myfaces/core/trunk/api/src/main/java/javax/faces/component/UISelectMany.java Mon 
> Oct 24 18:09:08 2011
>>>  @@ -419,7 +419,7 @@ public class UISelectMany extends UIInpu
>>>          }
>>>          else
>>>          {
>>>  -            Class<? extends Object> valueClass = 
> convertedValue.getClass();
>>>  +            Class<?> valueClass = convertedValue.getClass();
>>>              if (valueClass.isArray())
>>>              {
>>>                  return new _PrimitiveArrayIterator(convertedValue);
>>> 
>>>  Modified: 
> myfaces/core/trunk/api/src/main/java/javax/faces/component/_ComponentAttributesMap.java
>>>  URL: 
> http://svn.apache.org/viewvc/myfaces/core/trunk/api/src/main/java/javax/faces/component/_ComponentAttributesMap.java?rev=1188267&r1=1188266&r2=1188267&view=diff
>>> 
> ==============================================================================
>>>  --- 
> myfaces/core/trunk/api/src/main/java/javax/faces/component/_ComponentAttributesMap.java 
> (original)
>>>  +++ 
> myfaces/core/trunk/api/src/main/java/javax/faces/component/_ComponentAttributesMap.java 
> Mon Oct 24 18:09:08 2011
>>>  @@ -210,9 +210,9 @@ class _ComponentAttributesMap implements
>>>      /**
>>>       * Call put(key, value) for each entry in the provided map.
>>>       */
>>>  -    public void putAll(Map<? extends String, ? extends Object> 
> t)
>>>  +    public void putAll(Map<? extends String, ?> t)
>>>      {
>>>  -        for (Map.Entry<? extends String, ? extends Object> entry 
> : t.entrySet())
>>>  +        for (Map.Entry<? extends String, ?> entry : 
> t.entrySet())
>>>          {
>>>              put(entry.getKey(), entry.getValue());
>>>          }
>>> 
>>>  Modified: 
> myfaces/core/trunk/api/src/main/java/javax/faces/component/_LocaleUtils.java
>>>  URL: 
> http://svn.apache.org/viewvc/myfaces/core/trunk/api/src/main/java/javax/faces/component/_LocaleUtils.java?rev=1188267&r1=1188266&r2=1188267&view=diff
>>> 
> ==============================================================================
>>>  --- 
> myfaces/core/trunk/api/src/main/java/javax/faces/component/_LocaleUtils.java 
> (original)
>>>  +++ 
> myfaces/core/trunk/api/src/main/java/javax/faces/component/_LocaleUtils.java Mon 
> Oct 24 18:09:08 2011
>>>  @@ -34,21 +34,22 @@ import java.util.concurrent.ConcurrentMa
>>>   * <p>This class tries to handle {@code null} input gracefully.
>>>   * An exception will not be thrown for a {@code null} input.
>>>   * Each method documents its behaviour in more detail.</p>
>>>  - *
>>>  + *
>>>   * NOTE: This a copy of commons lang LocaleUtils, to use it inside 
> MyFaces
>>>   *
>>>   * @since 2.2
>>>   * @version $Id$
>>>   */
>>>  -class _LocaleUtils {
>>>  +class _LocaleUtils
>>>  +{
>>> 
>>>      /** Concurrent map of language locales by country. */
>>>  -    private static final ConcurrentMap<String, 
> List<Locale>> cLanguagesByCountry =
>>>  -        new ConcurrentHashMap<String, List<Locale>>();
>>>  +    private static final ConcurrentMap<String, 
> List<Locale>> cLanguagesByCountry =
>>>  +            new ConcurrentHashMap<String, List<Locale>>();
>>> 
>>>      /** Concurrent map of country locales by language. */
>>>  -    private static final ConcurrentMap<String, 
> List<Locale>> cCountriesByLanguage =
>>>  -        new ConcurrentHashMap<String, List<Locale>>();
>>>  +    private static final ConcurrentMap<String, 
> List<Locale>> cCountriesByLanguage =
>>>  +            new ConcurrentHashMap<String, List<Locale>>();
>>> 
>>>      /**
>>>       * <p>{@code _LocaleUtils} instances should NOT be 
> constructed in standard programming.
>>>  @@ -57,11 +58,13 @@ class _LocaleUtils {
>>>       * <p>This constructor is public to permit tools that require 
> a JavaBean instance
>>>       * to operate.</p>
>>>       */
>>>  -    public _LocaleUtils() {
>>>  -      super();
>>>  +    public _LocaleUtils()
>>>  +    {
>>>  +        super();
>>>      }
>>> 
>>>      
> //-----------------------------------------------------------------------
>>>  +
>>>      /**
>>>       * <p>Converts a String to a Locale.</p>
>>>       *
>>>  @@ -89,37 +92,51 @@ class _LocaleUtils {
>>>       * @return a Locale, null if null input
>>>       * @throws IllegalArgumentException if the string is an invalid 
> format
>>>       */
>>>  -    public static Locale toLocale(String str) {
>>>  -        if (str == null) {
>>>  +    public static Locale toLocale(String str)
>>>  +    {
>>>  +        if (str == null)
>>>  +        {
>>>              return null;
>>>          }
>>>          int len = str.length();
>>>  -        if (len != 2 && len != 5 && len < 7) {
>>>  +        if (len != 2 && len != 5 && len < 7)
>>>  +        {
>>>              throw new IllegalArgumentException("Invalid locale 
> format: " + str);
>>>          }
>>>          char ch0 = str.charAt(0);
>>>          char ch1 = str.charAt(1);
>>>  -        if (ch0 < 'a' || ch0 > 'z' || ch1 < 
> 'a' || ch1 > 'z') {
>>>  +        if (ch0 < 'a' || ch0 > 'z' || ch1 < 
> 'a' || ch1 > 'z')
>>>  +        {
>>>              throw new IllegalArgumentException("Invalid locale 
> format: " + str);
>>>          }
>>>  -        if (len == 2) {
>>>  +        if (len == 2)
>>>  +        {
>>>              return new Locale(str, "");
>>>  -        } else {
>>>  -            if (str.charAt(2) != '_') {
>>>  +        }
>>>  +        else
>>>  +        {
>>>  +            if (str.charAt(2) != '_')
>>>  +            {
>>>                  throw new IllegalArgumentException("Invalid locale 
> format: " + str);
>>>              }
>>>              char ch3 = str.charAt(3);
>>>  -            if (ch3 == '_') {
>>>  +            if (ch3 == '_')
>>>  +            {
>>>                  return new Locale(str.substring(0, 2), "", 
> str.substring(4));
>>>              }
>>>              char ch4 = str.charAt(4);
>>>  -            if (ch3 < 'A' || ch3 > 'Z' || ch4 
> < 'A' || ch4 > 'Z') {
>>>  +            if (ch3 < 'A' || ch3 > 'Z' || ch4 
> < 'A' || ch4 > 'Z')
>>>  +            {
>>>                  throw new IllegalArgumentException("Invalid locale 
> format: " + str);
>>>              }
>>>  -            if (len == 5) {
>>>  +            if (len == 5)
>>>  +            {
>>>                  return new Locale(str.substring(0, 2), str.substring(3, 
> 5));
>>>  -            } else {
>>>  -                if (str.charAt(5) != '_') {
>>>  +            }
>>>  +            else
>>>  +            {
>>>  +                if (str.charAt(5) != '_')
>>>  +                {
>>>                      throw new IllegalArgumentException("Invalid 
> locale format: " + str);
>>>                  }
>>>                  return new Locale(str.substring(0, 2), str.substring(3, 
> 5), str.substring(6));
>>>  @@ -128,6 +145,7 @@ class _LocaleUtils {
>>>      }
>>> 
>>>      
> //-----------------------------------------------------------------------
>>>  +
>>>      /**
>>>       * <p>Obtains the list of locales to search through when 
> performing
>>>       * a locale search.</p>
>>>  @@ -140,11 +158,13 @@ class _LocaleUtils {
>>>       * @param locale  the locale to start from
>>>       * @return the unmodifiable list of Locale objects, 0 being locale, 
> not null
>>>       */
>>>  -    public static List<Locale> localeLookupList(Locale locale) {
>>>  +    public static List<Locale> localeLookupList(Locale locale)
>>>  +    {
>>>          return localeLookupList(locale, locale);
>>>      }
>>> 
>>>      
> //-----------------------------------------------------------------------
>>>  +
>>>      /**
>>>       * <p>Obtains the list of locales to search through when 
> performing
>>>       * a locale search.</p>
>>>  @@ -162,17 +182,22 @@ class _LocaleUtils {
>>>       * @param defaultLocale  the default locale to use if no other is 
> found
>>>       * @return the unmodifiable list of Locale objects, 0 being locale, 
> not null
>>>       */
>>>  -    public static List<Locale> localeLookupList(Locale locale, 
> Locale defaultLocale) {
>>>  +    public static List<Locale> localeLookupList(Locale locale, 
> Locale defaultLocale)
>>>  +    {
>>>          List<Locale> list = new ArrayList<Locale>(4);
>>>  -        if (locale != null) {
>>>  +        if (locale != null)
>>>  +        {
>>>              list.add(locale);
>>>  -            if (locale.getVariant().length() > 0) {
>>>  +            if (locale.getVariant().length() > 0)
>>>  +            {
>>>                  list.add(new Locale(locale.getLanguage(), 
> locale.getCountry()));
>>>              }
>>>  -            if (locale.getCountry().length() > 0) {
>>>  +            if (locale.getCountry().length() > 0)
>>>  +            {
>>>                  list.add(new Locale(locale.getLanguage(), 
> ""));
>>>              }
>>>  -            if (list.contains(defaultLocale) == false) {
>>>  +            if (!list.contains(defaultLocale))
>>>  +            {
>>>                  list.add(defaultLocale);
>>>              }
>>>          }
>>>  @@ -180,45 +205,52 @@ class _LocaleUtils {
>>>      }
>>> 
>>>      
> //-----------------------------------------------------------------------
>>>  +
>>>      /**
>>>       * <p>Obtains an unmodifiable list of installed 
> locales.</p>
>>>  -     *
>>>  +     *
>>>       * <p>This method is a wrapper around {@link 
> Locale#getAvailableLocales()}.
>>>       * It is more efficient, as the JDK method must create a new array 
> each
>>>       * time it is called.</p>
>>>       *
>>>       * @return the unmodifiable list of available locales
>>>       */
>>>  -    public static List<Locale> availableLocaleList() {
>>>  +    public static List<Locale> availableLocaleList()
>>>  +    {
>>>          return SyncAvoid.AVAILABLE_LOCALE_LIST;
>>>      }
>>> 
>>>      
> //-----------------------------------------------------------------------
>>>  +
>>>      /**
>>>       * <p>Obtains an unmodifiable set of installed 
> locales.</p>
>>>  -     *
>>>  +     *
>>>       * <p>This method is a wrapper around {@link 
> Locale#getAvailableLocales()}.
>>>       * It is more efficient, as the JDK method must create a new array 
> each
>>>       * time it is called.</p>
>>>       *
>>>       * @return the unmodifiable set of available locales
>>>       */
>>>  -    public static Set<Locale> availableLocaleSet() {
>>>  +    public static Set<Locale> availableLocaleSet()
>>>  +    {
>>>          return SyncAvoid.AVAILABLE_LOCALE_SET;
>>>      }
>>> 
>>>      
> //-----------------------------------------------------------------------
>>>  +
>>>      /**
>>>       * <p>Checks if the locale specified is in the list of 
> available locales.</p>
>>>       *
>>>       * @param locale the Locale object to check if it is available
>>>       * @return true if the locale is a known locale
>>>       */
>>>  -    public static boolean isAvailableLocale(Locale locale) {
>>>  +    public static boolean isAvailableLocale(Locale locale)
>>>  +    {
>>>          return availableLocaleList().contains(locale);
>>>      }
>>> 
>>>      
> //-----------------------------------------------------------------------
>>>  +
>>>      /**
>>>       * <p>Obtains the list of languages supported for a given 
> country.</p>
>>>       *
>>>  @@ -228,18 +260,23 @@ class _LocaleUtils {
>>>       * @param countryCode  the 2 letter country code, null returns 
> empty
>>>       * @return an unmodifiable List of Locale objects, not null
>>>       */
>>>  -    public static List<Locale> languagesByCountry(String 
> countryCode) {
>>>  -        if (countryCode == null) {
>>>  +    public static List<Locale> languagesByCountry(String 
> countryCode)
>>>  +    {
>>>  +        if (countryCode == null)
>>>  +        {
>>>              return Collections.emptyList();
>>>          }
>>>          List<Locale> langs = 
> cLanguagesByCountry.get(countryCode);
>>>  -        if (langs == null) {
>>>  +        if (langs == null)
>>>  +        {
>>>              langs = new ArrayList<Locale>();
>>>              List<Locale> locales = availableLocaleList();
>>>  -            for (int i = 0; i < locales.size(); i++) {
>>>  +            for (int i = 0; i < locales.size(); i++)
>>>  +            {
>>>                  Locale locale = locales.get(i);
>>>                  if (countryCode.equals(locale.getCountry()) &&
>>>  -                        locale.getVariant().length() == 0) {
>>>  +                        locale.getVariant().length() == 0)
>>>  +                {
>>>                      langs.add(locale);
>>>                  }
>>>              }
>>>  @@ -251,28 +288,34 @@ class _LocaleUtils {
>>>      }
>>> 
>>>      
> //-----------------------------------------------------------------------
>>>  +
>>>      /**
>>>       * <p>Obtains the list of countries supported for a given 
> language.</p>
>>>  -     *
>>>  +     *
>>>       * <p>This method takes a language code and searches to find 
> the
>>>       * countries available for that language. Variant locales are 
> removed.</p>
>>>       *
>>>       * @param languageCode  the 2 letter language code, null returns 
> empty
>>>       * @return an unmodifiable List of Locale objects, not null
>>>       */
>>>  -    public static List<Locale> countriesByLanguage(String 
> languageCode) {
>>>  -        if (languageCode == null) {
>>>  +    public static List<Locale> countriesByLanguage(String 
> languageCode)
>>>  +    {
>>>  +        if (languageCode == null)
>>>  +        {
>>>              return Collections.emptyList();
>>>          }
>>>          List<Locale> countries = 
> cCountriesByLanguage.get(languageCode);
>>>  -        if (countries == null) {
>>>  +        if (countries == null)
>>>  +        {
>>>              countries = new ArrayList<Locale>();
>>>              List<Locale> locales = availableLocaleList();
>>>  -            for (int i = 0; i < locales.size(); i++) {
>>>  +            for (int i = 0; i < locales.size(); i++)
>>>  +            {
>>>                  Locale locale = locales.get(i);
>>>                  if (languageCode.equals(locale.getLanguage()) 
> &&
>>>                          locale.getCountry().length() != 0 &&
>>>  -                        locale.getVariant().length() == 0) {
>>>  +                        locale.getVariant().length() == 0)
>>>  +                {
>>>                      countries.add(locale);
>>>                  }
>>>              }
>>>  @@ -285,13 +328,15 @@ class _LocaleUtils {
>>> 
>>>      
> //-----------------------------------------------------------------------
>>>      // class to avoid synchronization
>>>  -    static class SyncAvoid {
>>>  +    static class SyncAvoid
>>>  +    {
>>>          /** Unmodifiable list of available locales. */
>>>          private static List<Locale> AVAILABLE_LOCALE_LIST;
>>>          /** Unmodifiable set of available locales. */
>>>          private static Set<Locale> AVAILABLE_LOCALE_SET;
>>>  -
>>>  -        static {
>>>  +
>>>  +        static
>>>  +        {
>>>              List<Locale> list = new 
> ArrayList<Locale>(Arrays.asList(Locale.getAvailableLocales()));  // extra 
> safe
>>>              AVAILABLE_LOCALE_LIST = Collections.unmodifiableList(list);
>>>              AVAILABLE_LOCALE_SET = Collections.unmodifiableSet(new 
> HashSet<Locale>(availableLocaleList()));
>>> 
>>>  Modified: 
> myfaces/core/trunk/api/src/main/java/javax/faces/component/_MethodBindingToListener.java
>>>  URL: 
> http://svn.apache.org/viewvc/myfaces/core/trunk/api/src/main/java/javax/faces/component/_MethodBindingToListener.java?rev=1188267&r1=1188266&r2=1188267&view=diff
>>> 
> ==============================================================================
>>>  --- 
> myfaces/core/trunk/api/src/main/java/javax/faces/component/_MethodBindingToListener.java 
> (original)
>>>  +++ 
> myfaces/core/trunk/api/src/main/java/javax/faces/component/_MethodBindingToListener.java 
> Mon Oct 24 18:09:08 2011
>>>  @@ -20,7 +20,6 @@
>>>   package javax.faces.component;
>>> 
>>>   import javax.faces.FacesException;
>>>  -import javax.faces.component.StateHolder;
>>>   import javax.faces.context.FacesContext;
>>>   import javax.faces.el.EvaluationException;
>>>   import javax.faces.el.MethodBinding;
>>>  @@ -32,17 +31,20 @@ import javax.faces.event.FacesEvent;
>>>   *
>>>   * @author Stan Silvert
>>>   */
>>>  -abstract class _MethodBindingToListener implements StateHolder {
>>>  -
>>>  +abstract class _MethodBindingToListener implements StateHolder
>>>  +{
>>>  +
>>>      protected MethodBinding methodBinding;
>>>  -
>>>  -    public _MethodBindingToListener() {
>>>  +
>>>  +    public _MethodBindingToListener()
>>>  +    {
>>>      }
>>>  -
>>>  +
>>>      /**
>>>       * Creates a new instance of MethodBindingToListener
>>>       */
>>>  -    public _MethodBindingToListener(MethodBinding methodBinding) {
>>>  +    public _MethodBindingToListener(MethodBinding methodBinding)
>>>  +    {
>>>          if (methodBinding == null)
>>>          {
>>>              throw new NullPointerException("methodBinding can not 
> be null");
>>>  @@ -51,58 +53,71 @@ abstract class _MethodBindingToListener
>>>          {
>>>              throw new IllegalArgumentException("methodBinding must 
> implement the StateHolder interface");
>>>          }
>>>  -
>>>  +
>>>          this.methodBinding = methodBinding;
>>>      }
>>> 
>>>  -    private FacesContext getFacesContext() {
>>>  +    private FacesContext getFacesContext()
>>>  +    {
>>>          return FacesContext.getCurrentInstance();
>>>      }
>>> 
>>>  -    protected void invokeMethodBinding(FacesEvent event) throws 
> AbortProcessingException {
>>>  -        try {
>>>  -            methodBinding.invoke(getFacesContext(), new Object[] 
> {event});
>>>  +    protected void invokeMethodBinding(FacesEvent event) throws 
> AbortProcessingException
>>>  +    {
>>>  +        try
>>>  +        {
>>>  +            methodBinding.invoke(getFacesContext(), new 
> Object[]{event});
>>>          }
>>>  -        catch (EvaluationException e) {
>>>  +        catch (EvaluationException e)
>>>  +        {
>>>              Throwable cause = e.getCause();
>>>  -            if (cause != null && cause instanceof 
> AbortProcessingException) {
>>>  -                throw (AbortProcessingException)cause;
>>>  +            if (cause != null && cause instanceof 
> AbortProcessingException)
>>>  +            {
>>>  +                throw (AbortProcessingException) cause;
>>>              }
>>>  -
>>>  +
>>>              throw e;
>>>          }
>>>      }
>>>  -
>>>  -    public MethodBinding getMethodBinding() {
>>>  +
>>>  +    public MethodBinding getMethodBinding()
>>>  +    {
>>>          return methodBinding;
>>>      }
>>>  -
>>>  -    public void restoreState(FacesContext context, Object state) {
>>>  -        Object[] stateArray = (Object[])state;
>>>  -        try {
>>>  -            methodBinding = 
> (MethodBinding)_ClassUtils.getContextClassLoader()
>>>  -                                                 
> .loadClass((String)stateArray[0])
>>>  -                                                 .newInstance();
>>>  -        } catch (Exception e) {
>>>  +
>>>  +    public void restoreState(FacesContext context, Object state)
>>>  +    {
>>>  +        Object[] stateArray = (Object[]) state;
>>>  +        try
>>>  +        {
>>>  +            methodBinding = (MethodBinding) 
> _ClassUtils.getContextClassLoader()
>>>  +                    .loadClass((String) stateArray[0])
>>>  +                    .newInstance();
>>>  +        }
>>>  +        catch (Exception e)
>>>  +        {
>>>              throw new FacesException(e);
>>>          }
>>>  -
>>>  -        ((StateHolder)methodBinding).restoreState(context, 
> stateArray[1]);
>>>  +
>>>  +        ((StateHolder) methodBinding).restoreState(context, 
> stateArray[1]);
>>>      }
>>> 
>>>  -    public Object saveState(FacesContext context) {
>>>  +    public Object saveState(FacesContext context)
>>>  +    {
>>>          Object[] stateArray = new Object[2];
>>>          stateArray[0] = methodBinding.getClass().getName();
>>>  -        stateArray[1] = 
> ((StateHolder)methodBinding).saveState(context);
>>>  +        stateArray[1] = ((StateHolder) 
> methodBinding).saveState(context);
>>>          return stateArray;
>>>      }
>>> 
>>>  -    public void setTransient(boolean newTransientValue) {
>>>  -        ((StateHolder)methodBinding).setTransient(newTransientValue);
>>>  +    public void setTransient(boolean newTransientValue)
>>>  +    {
>>>  +        ((StateHolder) methodBinding).setTransient(newTransientValue);
>>>      }
>>> 
>>>  -    public boolean isTransient() {
>>>  -        return ((StateHolder)methodBinding).isTransient();
>>>  +    public boolean isTransient()
>>>  +    {
>>>  +        return ((StateHolder) methodBinding).isTransient();
>>>      }
>>>  -
>>>  +
>>>   }
>>> 
>>> 
>>> 
>> 
> 
> 
> 
> -- 
> Jakob Korherr
> 
> blog: http://www.jakobk.com
> twitter: http://twitter.com/jakobkorherr
> work: http://www.irian.at
>

Mime
View raw message