You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2012/03/08 15:54:47 UTC

svn commit: r1298419 - in /myfaces/core/branches/2.0.x: api/src/main/java/javax/faces/application/ api/src/main/java/javax/faces/component/ impl/src/main/java/org/apache/myfaces/application/ impl/src/main/java/org/apache/myfaces/renderkit/html/ impl/sr...

Author: lu4242
Date: Thu Mar  8 14:54:46 2012
New Revision: 1298419

URL: http://svn.apache.org/viewvc?rev=1298419&view=rev
Log:
MYFACES-3492 [perf] minimize FacesContext.getCurrentInstance() calls

Modified:
    myfaces/core/branches/2.0.x/api/src/main/java/javax/faces/application/NavigationCase.java
    myfaces/core/branches/2.0.x/api/src/main/java/javax/faces/application/_NavigationUtils.java
    myfaces/core/branches/2.0.x/api/src/main/java/javax/faces/component/_SharedRendererUtils.java
    myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/application/NavigationHandlerImpl.java
    myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlAjaxBehaviorRenderer.java
    myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlScriptRenderer.java
    myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlStylesheetRenderer.java
    myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/DefaultFaceletsStateManagementStrategy.java
    myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java
    myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/ClientBehaviorAttachedObjectTargetImpl.java
    myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/application/NavigationUtils.java
    myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/_SharedRendererUtils.java
    myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlMessagesRendererBase.java
    myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java

Modified: myfaces/core/branches/2.0.x/api/src/main/java/javax/faces/application/NavigationCase.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.0.x/api/src/main/java/javax/faces/application/NavigationCase.java?rev=1298419&r1=1298418&r2=1298419&view=diff
==============================================================================
--- myfaces/core/branches/2.0.x/api/src/main/java/javax/faces/application/NavigationCase.java (original)
+++ myfaces/core/branches/2.0.x/api/src/main/java/javax/faces/application/NavigationCase.java Thu Mar  8 14:54:46 2012
@@ -100,7 +100,8 @@ public class NavigationCase
     public URL getActionURL(FacesContext context) throws MalformedURLException
     {
         ExternalContext externalContext = context.getExternalContext();
-        return new URL(externalContext.getRequestScheme(), externalContext.getRequestServerName(), externalContext.getRequestServerPort(),
+        return new URL(externalContext.getRequestScheme(), externalContext.getRequestServerName(),
+                externalContext.getRequestServerPort(),
                 context.getApplication().getViewHandler().getActionURL(context, getToViewId(context)));
     }
 
@@ -138,14 +139,16 @@ public class NavigationCase
                 externalContext.getRequestServerName(),
                 externalContext.getRequestServerPort(),
                 context.getApplication().getViewHandler().getBookmarkableURL(context, getToViewId(context), 
-                        _NavigationUtils.getEvaluatedNavigationParameters(getParameters()), isIncludeViewParams()));  
+                        _NavigationUtils.getEvaluatedNavigationParameters(context,
+                             getParameters()), isIncludeViewParams()));
     }
 
     public URL getResourceURL(FacesContext context) throws MalformedURLException
     {
         ExternalContext externalContext = context.getExternalContext();
-        return new URL(externalContext.getRequestScheme(), externalContext.getRequestServerName(), externalContext.getRequestServerPort(),
-                context.getApplication().getViewHandler().getResourceURL(context, getToViewId(context)));      
+        return new URL(externalContext.getRequestScheme(), externalContext.getRequestServerName(),
+                       externalContext.getRequestServerPort(),
+                       context.getApplication().getViewHandler().getResourceURL(context, getToViewId(context)));
     }
     
     public URL getRedirectURL(FacesContext context) throws MalformedURLException
@@ -155,7 +158,8 @@ public class NavigationCase
                 externalContext.getRequestServerName(),
                 externalContext.getRequestServerPort(),
                 context.getApplication().getViewHandler().getRedirectURL(context, getToViewId(context), 
-                        _NavigationUtils.getEvaluatedNavigationParameters(getParameters()), isIncludeViewParams()));
+                        _NavigationUtils.getEvaluatedNavigationParameters(context,
+                             getParameters()), isIncludeViewParams()));
     }
     
     public Map<String,List<String>> getParameters()
@@ -247,7 +251,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/branches/2.0.x/api/src/main/java/javax/faces/application/_NavigationUtils.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.0.x/api/src/main/java/javax/faces/application/_NavigationUtils.java?rev=1298419&r1=1298418&r2=1298419&view=diff
==============================================================================
--- myfaces/core/branches/2.0.x/api/src/main/java/javax/faces/application/_NavigationUtils.java (original)
+++ myfaces/core/branches/2.0.x/api/src/main/java/javax/faces/application/_NavigationUtils.java Thu Mar  8 14:54:46 2012
@@ -39,7 +39,9 @@ class _NavigationUtils
      * @param parameters parameter map retrieved from NavigationCase.getParameters()
      * @return
      */
-    public static Map<String, List<String> > getEvaluatedNavigationParameters(Map<String, List<String> > parameters)
+    public static Map<String, List<String> > getEvaluatedNavigationParameters(
+            FacesContext facesContext, 
+            Map<String, List<String> > parameters)
     {
         Map<String,List<String>> evaluatedParameters = null;
         if (parameters != null && parameters.size() > 0)
@@ -58,7 +60,8 @@ class _NavigationUtils
                 }
                 if (containsEL)
                 {
-                    evaluatedParameters.put(pair.getKey(), _evaluateValueExpressions(pair.getValue()));
+                    evaluatedParameters.put(pair.getKey(), 
+                            _evaluateValueExpressions(facesContext, pair.getValue()));
                 }
                 else
                 {
@@ -80,13 +83,12 @@ class _NavigationUtils
      * @param values
      * @return
      */
-    private static List<String> _evaluateValueExpressions(List<String> values)
+    private static List<String> _evaluateValueExpressions(FacesContext context, List<String> values)
     {
         // note that we have to create a new List here, because if we
         // change any value on the given List, it will be changed in the
         // NavigationCase too and the EL expression won't be evaluated again
         List<String> target = new ArrayList<String>(values.size());
-        FacesContext context = FacesContext.getCurrentInstance();
         for (String value : values)
         {
             if (_isExpression(value))

Modified: myfaces/core/branches/2.0.x/api/src/main/java/javax/faces/component/_SharedRendererUtils.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.0.x/api/src/main/java/javax/faces/component/_SharedRendererUtils.java?rev=1298419&r1=1298418&r2=1298419&view=diff
==============================================================================
--- myfaces/core/branches/2.0.x/api/src/main/java/javax/faces/component/_SharedRendererUtils.java (original)
+++ myfaces/core/branches/2.0.x/api/src/main/java/javax/faces/component/_SharedRendererUtils.java Thu Mar  8 14:54:46 2012
@@ -60,19 +60,27 @@ class _SharedRendererUtils
 
         Converter converter = component.getConverter();
         if (converter != null)
+        {
             return converter;
+        }
 
         // Try to find out by value expression
         ValueExpression expression = component.getValueExpression("value");
         if (expression == null)
+        {
             return null;
+        }
 
         Class<?> valueType = expression.getType(facesContext.getELContext());
         if (valueType == null)
+        {
             return null;
+        }
 
         if (Object.class.equals(valueType))
+        {
             return null; // There is no converter for Object class
+        }
 
         try
         {
@@ -173,7 +181,7 @@ class _SharedRendererUtils
                                     "The attribute "
                                             + COLLECTION_TYPE_KEY
                                             + " of component "
-                                            + component.getClientId()
+                                            + component.getClientId(facesContext)
                                             + " does not evaluate to a "
                                             + "String, a Class object or a ValueExpression pointing "
                                             + "to a String or a Class object.");
@@ -183,7 +191,7 @@ class _SharedRendererUtils
                         {
                             throw new FacesException("The attribute "
                                     + COLLECTION_TYPE_KEY + " of component "
-                                    + component.getClientId()
+                                    + component.getClientId(facesContext)
                                     + " does not point to a valid type of Collection.");
                         }
                         // now we have a real collectionType --> try to instantiate it
@@ -388,7 +396,8 @@ class _SharedRendererUtils
             SelectItem item = iterator.next();
             if (item instanceof SelectItemGroup)
             {
-                Iterator<SelectItem> groupIterator = Arrays.asList(((SelectItemGroup) item).getSelectItems()).iterator();
+                Iterator<SelectItem> groupIterator
+                        = Arrays.asList(((SelectItemGroup) item).getSelectItems()).iterator();
                 converter = getSelectItemsValueConverter(groupIterator, facesContext);
             }
             else

Modified: myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/application/NavigationHandlerImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/application/NavigationHandlerImpl.java?rev=1298419&r1=1298418&r2=1298419&view=diff
==============================================================================
--- myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/application/NavigationHandlerImpl.java (original)
+++ myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/application/NavigationHandlerImpl.java Thu Mar  8 14:54:46 2012
@@ -115,7 +115,8 @@ public class NavigationHandlerImpl
 
                 String redirectPath = viewHandler.getRedirectURL(
                         facesContext, toViewId, 
-                        NavigationUtils.getEvaluatedNavigationParameters(navigationCase.getParameters()) ,
+                        NavigationUtils.getEvaluatedNavigationParameters(facesContext,
+                        navigationCase.getParameters()) ,
                         navigationCase.isIncludeViewParams());
                 
                 //Clear ViewMap if we are redirecting to other resource

Modified: myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlAjaxBehaviorRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlAjaxBehaviorRenderer.java?rev=1298419&r1=1298418&r2=1298419&view=diff
==============================================================================
--- myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlAjaxBehaviorRenderer.java (original)
+++ myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlAjaxBehaviorRenderer.java Thu Mar  8 14:54:46 2012
@@ -406,7 +406,7 @@ public class HtmlAjaxBehaviorRenderer ex
         }
         if (target != null)
         {
-            return target.getClientId();
+            return target.getClientId(context.getFacesContext());
         }
         throw new FacesException("Component with id:" + id + " not found");
     }

Modified: myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlScriptRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlScriptRenderer.java?rev=1298419&r1=1298418&r2=1298419&view=diff
==============================================================================
--- myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlScriptRenderer.java (original)
+++ myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlScriptRenderer.java Thu Mar  8 14:54:46 2012
@@ -185,7 +185,7 @@ public class HtmlScriptRenderer extends 
                 if (!facesContext.getApplication().getProjectStage().equals(
                         ProjectStage.Production))
                 {
-                    facesContext.addMessage(component.getClientId(),
+                    facesContext.addMessage(component.getClientId(facesContext),
                             new FacesMessage("Component with no name and no body content, so nothing rendered."));
                 }
             }

Modified: myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlStylesheetRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlStylesheetRenderer.java?rev=1298419&r1=1298418&r2=1298419&view=diff
==============================================================================
--- myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlStylesheetRenderer.java (original)
+++ myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlStylesheetRenderer.java Thu Mar  8 14:54:46 2012
@@ -160,7 +160,7 @@ public class HtmlStylesheetRenderer exte
             {
                 if (!facesContext.isProjectStage(ProjectStage.Production))
                 {
-                    facesContext.addMessage(component.getClientId(), 
+                    facesContext.addMessage(component.getClientId(facesContext), 
                             new FacesMessage("Component with no name and no body content, so nothing rendered."));
                 }
             }            

Modified: myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/DefaultFaceletsStateManagementStrategy.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/DefaultFaceletsStateManagementStrategy.java?rev=1298419&r1=1298418&r2=1298419&view=diff
==============================================================================
--- myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/DefaultFaceletsStateManagementStrategy.java (original)
+++ myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/DefaultFaceletsStateManagementStrategy.java Thu Mar  8 14:54:46 2012
@@ -579,7 +579,7 @@ public class DefaultFaceletsStateManagem
         {
             //Restore view
             component.pushComponentToEL(context, component);
-            Object state = states.get(component.getClientId());
+            Object state = states.get(component.getClientId(context));
             if (state != null)
             {
                 if (state instanceof AttachedFullStateWrapper)
@@ -593,7 +593,7 @@ public class DefaultFaceletsStateManagem
                 }
                 catch(Exception e)
                 {
-                    throw new IllegalStateException("Error restoring component: "+component.getClientId(), e);
+                    throw new IllegalStateException("Error restoring component: "+component.getClientId(context), e);
                 }
             }
     
@@ -656,9 +656,9 @@ public class DefaultFaceletsStateManagem
     }
     
     @SuppressWarnings("unchecked")
-    private void registerOnAddRemoveList(String clientId)
+    private void registerOnAddRemoveList(FacesContext facesContext, String clientId)
     {
-        UIViewRoot uiViewRoot = FacesContext.getCurrentInstance().getViewRoot();
+        UIViewRoot uiViewRoot = facesContext.getViewRoot();
 
         List<String> clientIdsAdded = (List<String>) getClientIdsAdded(uiViewRoot);
         if (clientIdsAdded == null)
@@ -683,9 +683,9 @@ public class DefaultFaceletsStateManagem
     }
     
     @SuppressWarnings("unchecked")
-    private void registerOnAddList(String clientId)
+    private void registerOnAddList(FacesContext facesContext, String clientId)
     {
-        UIViewRoot uiViewRoot = FacesContext.getCurrentInstance().getViewRoot();
+        UIViewRoot uiViewRoot = facesContext.getViewRoot();
 
         List<String> clientIdsAdded = (List<String>) getClientIdsAdded(uiViewRoot);
         if (clientIdsAdded == null)
@@ -738,17 +738,17 @@ public class DefaultFaceletsStateManagem
                     {
                         if (ComponentState.REMOVE_ADD.equals(componentAddedAfterBuildView))
                         {
-                            registerOnAddRemoveList(target.getClientId());
+                            registerOnAddRemoveList(facesContext, target.getClientId(facesContext));
                             target.getAttributes().put(COMPONENT_ADDED_AFTER_BUILD_VIEW, ComponentState.ADDED);
                         }
                         else if (ComponentState.ADD.equals(componentAddedAfterBuildView))
                         {
-                            registerOnAddList(target.getClientId());
+                            registerOnAddList(facesContext, target.getClientId(facesContext));
                             target.getAttributes().put(COMPONENT_ADDED_AFTER_BUILD_VIEW, ComponentState.ADDED);
                         }
                         else if (ComponentState.ADDED.equals(componentAddedAfterBuildView))
                         {
-                            registerOnAddList(target.getClientId());
+                            registerOnAddList(facesContext, target.getClientId(facesContext));
                         }
                         ensureClearInitialState(target);
                         //Save all required info to restore the subtree.
@@ -834,7 +834,7 @@ public class DefaultFaceletsStateManagem
             //Scan children
             if (component.getChildCount() > 0)
             {
-                String currentClientId = component.getClientId();
+                String currentClientId = component.getClientId(context);
                 
                 List<UIComponent> children  = component.getChildren();
                 for (int i = 0; i < children.size(); i++)
@@ -848,22 +848,22 @@ public class DefaultFaceletsStateManagem
                         {
                             if (ComponentState.REMOVE_ADD.equals(componentAddedAfterBuildView))
                             {
-                                registerOnAddRemoveList(child.getClientId());
+                                registerOnAddRemoveList(context, child.getClientId(context));
                                 child.getAttributes().put(COMPONENT_ADDED_AFTER_BUILD_VIEW, ComponentState.ADDED);
                             }
                             else if (ComponentState.ADD.equals(componentAddedAfterBuildView))
                             {
-                                registerOnAddList(child.getClientId());
+                                registerOnAddList(context, child.getClientId(context));
                                 child.getAttributes().put(COMPONENT_ADDED_AFTER_BUILD_VIEW, ComponentState.ADDED);
                             }
                             else if (ComponentState.ADDED.equals(componentAddedAfterBuildView))
                             {
-                                registerOnAddList(child.getClientId());
+                                registerOnAddList(context, child.getClientId(context));
                             }
                             ensureClearInitialState(child);
                             //Save all required info to restore the subtree.
                             //This includes position, structure and state of subtree
-                            states.put(child.getClientId(), new AttachedFullStateWrapper( 
+                            states.put(child.getClientId(context), new AttachedFullStateWrapper( 
                                     new Object[]{
                                         currentClientId,
                                         null,
@@ -884,7 +884,7 @@ public class DefaultFaceletsStateManagem
             if (component.getFacetCount() > 0)
             {
                 Map<String, UIComponent> facetMap = component.getFacets();
-                String currentClientId = component.getClientId();
+                String currentClientId = component.getClientId(context);
                 
                 for (Map.Entry<String, UIComponent> entry : facetMap.entrySet())
                 {
@@ -898,22 +898,22 @@ public class DefaultFaceletsStateManagem
                         {
                             if (ComponentState.REMOVE_ADD.equals(componentAddedAfterBuildView))
                             {
-                                registerOnAddRemoveList(child.getClientId());
+                                registerOnAddRemoveList(context, child.getClientId(context));
                                 child.getAttributes().put(COMPONENT_ADDED_AFTER_BUILD_VIEW, ComponentState.ADDED);
                             }
                             else if (ComponentState.ADD.equals(componentAddedAfterBuildView))
                             {
-                                registerOnAddList(child.getClientId());
+                                registerOnAddList(context, child.getClientId(context));
                                 child.getAttributes().put(COMPONENT_ADDED_AFTER_BUILD_VIEW, ComponentState.ADDED);
                             }
                             else if (ComponentState.ADDED.equals(componentAddedAfterBuildView))
                             {
-                                registerOnAddList(child.getClientId());
+                                registerOnAddList(context, child.getClientId(context));
                             }
                             //Save all required info to restore the subtree.
                             //This includes position, structure and state of subtree
                             ensureClearInitialState(child);
-                            states.put(child.getClientId(),new AttachedFullStateWrapper(new Object[]{
+                            states.put(child.getClientId(context),new AttachedFullStateWrapper(new Object[]{
                                 currentClientId,
                                 facetName,
                                 null,
@@ -934,7 +934,7 @@ public class DefaultFaceletsStateManagem
             //Only save if the value returned is null
             if (savedState != null)
             {
-                states.put(component.getClientId(), savedState);            
+                states.put(component.getClientId(context), savedState);            
             }
         }
         finally

Modified: myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java?rev=1298419&r1=1298418&r2=1298419&view=diff
==============================================================================
--- myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java (original)
+++ myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java Thu Mar  8 14:54:46 2012
@@ -452,7 +452,8 @@ public class FaceletViewDeclarationLangu
             setFilledView(context, view);
         }
         //At this point refreshTransientBuild = false && refreshTransientBuildOnPSS is true
-        else if (_refreshTransientBuildOnPSSAuto && !context.getAttributes().containsKey(CLEAN_TRANSIENT_BUILD_ON_RESTORE))
+        else if (_refreshTransientBuildOnPSSAuto &&
+                 !context.getAttributes().containsKey(CLEAN_TRANSIENT_BUILD_ON_RESTORE))
         {
             setFilledView(context, view);
         }
@@ -733,7 +734,7 @@ public class FaceletViewDeclarationLangu
 
         if (compositeComponentMetadata == null)
         {
-            log.severe("Composite component metadata not found for: " + topLevelComponent.getClientId());
+            log.severe("Composite component metadata not found for: " + topLevelComponent.getClientId(context));
             return;
         }
 
@@ -873,7 +874,7 @@ public class FaceletViewDeclarationLangu
 
         if (compositeComponentMetadata == null)
         {
-            log.severe("Composite component metadata not found for: " + topLevelComponent.getClientId());
+            log.severe("Composite component metadata not found for: " + topLevelComponent.getClientId(context));
             return;
         }
 

Modified: myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/ClientBehaviorAttachedObjectTargetImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/ClientBehaviorAttachedObjectTargetImpl.java?rev=1298419&r1=1298418&r2=1298419&view=diff
==============================================================================
--- myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/ClientBehaviorAttachedObjectTargetImpl.java (original)
+++ myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/ClientBehaviorAttachedObjectTargetImpl.java Thu Mar  8 14:54:46 2012
@@ -79,13 +79,16 @@ public class ClientBehaviorAttachedObjec
                 
                 if (innerComponent != null)
                 {
-                    if (innerComponent instanceof ClientBehaviorHolder || UIComponent.isCompositeComponent(innerComponent))
+                    if (innerComponent instanceof ClientBehaviorHolder ||
+                        UIComponent.isCompositeComponent(innerComponent))
                     {
-                        targetsList.add(new ClientBehaviorRedirectEventComponentWrapper(innerComponent, getName(), getEvent()));
+                        targetsList.add(
+                                new ClientBehaviorRedirectEventComponentWrapper(innerComponent, getName(), getEvent()));
                     }
                     else
                     {
-                        throw new FacesException("Component with clientId "+innerComponent.getClientId()+ "should be instance of ClientBehaviorHolder");
+                        throw new FacesException("Component with clientId " + innerComponent.getClientId(facesContext)
+                                                 + "should be instance of ClientBehaviorHolder");
                     }
                 }
             }
@@ -103,15 +106,18 @@ public class ClientBehaviorAttachedObjec
                 UIComponent innerComponent = topLevelComponent.findComponent(getName());
                 if (innerComponent != null)
                 {
-                    if (innerComponent instanceof ClientBehaviorHolder || UIComponent.isCompositeComponent(innerComponent))
+                    if (innerComponent instanceof ClientBehaviorHolder ||
+                        UIComponent.isCompositeComponent(innerComponent))
                     {
                         List<UIComponent> targetsList = new ArrayList<UIComponent>(1);
-                        targetsList.add(new ClientBehaviorRedirectEventComponentWrapper(innerComponent, getName(), getEvent()));
+                        targetsList.add(
+                                new ClientBehaviorRedirectEventComponentWrapper(innerComponent, getName(), getEvent()));
                         return targetsList;
                     }
                     else
                     {
-                        throw new FacesException("Component with clientId "+innerComponent.getClientId()+ "should be instance of ClientBehaviorHolder");
+                        throw new FacesException("Component with clientId "+ innerComponent.getClientId(facesContext)
+                                                 + "should be instance of ClientBehaviorHolder");
                     }
                 }
             }

Modified: myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/application/NavigationUtils.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/application/NavigationUtils.java?rev=1298419&r1=1298418&r2=1298419&view=diff
==============================================================================
--- myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/application/NavigationUtils.java (original)
+++ myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/application/NavigationUtils.java Thu Mar  8 14:54:46 2012
@@ -39,7 +39,9 @@ public class NavigationUtils
      * @param parameters parameter map retrieved from NavigationCase.getParameters()
      * @return
      */
-    public static Map<String, List<String> > getEvaluatedNavigationParameters(Map<String, List<String> > parameters)
+    public static Map<String, List<String> > getEvaluatedNavigationParameters(
+            FacesContext facesContext, 
+            Map<String, List<String> > parameters)
     {
         Map<String,List<String>> evaluatedParameters = null;
         if (parameters != null && parameters.size() > 0)
@@ -58,7 +60,8 @@ public class NavigationUtils
                 }
                 if (containsEL)
                 {
-                    evaluatedParameters.put(pair.getKey(), _evaluateValueExpressions(pair.getValue()));
+                    evaluatedParameters.put(pair.getKey(), 
+                            _evaluateValueExpressions(facesContext, pair.getValue()));
                 }
                 else
                 {
@@ -80,13 +83,12 @@ public class NavigationUtils
      * @param values
      * @return
      */
-    private static List<String> _evaluateValueExpressions(List<String> values)
+    private static List<String> _evaluateValueExpressions(FacesContext context, List<String> values)
     {
         // note that we have to create a new List here, because if we
         // change any value on the given List, it will be changed in the
         // NavigationCase too and the EL expression won't be evaluated again
         List<String> target = new ArrayList<String>(values.size());
-        FacesContext context = FacesContext.getCurrentInstance();
         for (String value : values)
         {
             if (_isExpression(value))

Modified: myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/_SharedRendererUtils.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/_SharedRendererUtils.java?rev=1298419&r1=1298418&r2=1298419&view=diff
==============================================================================
--- myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/_SharedRendererUtils.java (original)
+++ myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/_SharedRendererUtils.java Thu Mar  8 14:54:46 2012
@@ -67,19 +67,27 @@ class _SharedRendererUtils
 
         Converter converter = component.getConverter();
         if (converter != null)
+        {
             return converter;
+        }
 
         //Try to find out by value expression
         ValueExpression expression = component.getValueExpression("value");
         if (expression == null)
+        {
             return null;
+        }
 
         Class valueType = expression.getType(facesContext.getELContext());
         if (valueType == null)
+        {
             return null;
+        }
 
         if (Object.class.equals(valueType))
+        {
             return null; //There is no converter for Object class
+        }
 
         try
         {
@@ -196,7 +204,7 @@ class _SharedRendererUtils
                                     "The attribute "
                                             + COLLECTION_TYPE_KEY
                                             + " of component "
-                                            + component.getClientId()
+                                            + component.getClientId(facesContext)
                                             + " does not evaluate to a "
                                             + "String, a Class object or a ValueExpression pointing "
                                             + "to a String or a Class object.");
@@ -206,7 +214,7 @@ class _SharedRendererUtils
                         {
                             throw new FacesException("The attribute "
                                     + COLLECTION_TYPE_KEY + " of component "
-                                    + component.getClientId()
+                                    + component.getClientId(facesContext)
                                     + " does not point to a valid type of Collection.");
                         }
                         // now we have a real collectionType --> try to instantiate it
@@ -415,7 +423,7 @@ class _SharedRendererUtils
                         "The attribute "
                                 + VALUE_TYPE_KEY
                                 + " of component "
-                                + component.getClientId()
+                                + component.getClientId(facesContext)
                                 + " does not evaluate to a "
                                 + "String, a Class object or a ValueExpression pointing "
                                 + "to a String or a Class object.");
@@ -455,7 +463,8 @@ class _SharedRendererUtils
             SelectItem item = iterator.next();
             if (item instanceof SelectItemGroup)
             {
-                Iterator<SelectItem> groupIterator = Arrays.asList(((SelectItemGroup) item).getSelectItems()).iterator();
+                Iterator<SelectItem> groupIterator = Arrays.asList(
+                        ((SelectItemGroup) item).getSelectItems()).iterator();
                 converter = getSelectItemsValueConverter(groupIterator, facesContext);
             }
             else

Modified: myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlMessagesRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlMessagesRendererBase.java?rev=1298419&r1=1298418&r2=1298419&view=diff
==============================================================================
--- myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlMessagesRendererBase.java (original)
+++ myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlMessagesRendererBase.java Thu Mar  8 14:54:46 2012
@@ -68,7 +68,8 @@ public abstract class HtmlMessagesRender
     }
 
     protected void renderMessages(FacesContext facesContext,
-                                  UIComponent messages, boolean alwaysRenderSpan, boolean renderDivWhenNoMessagesAndIdSet)
+                                  UIComponent messages, boolean alwaysRenderSpan, 
+                                  boolean renderDivWhenNoMessagesAndIdSet)
             throws IOException
     {
         // check the for attribute
@@ -79,7 +80,11 @@ public abstract class HtmlMessagesRender
             forComponent = messages.findComponent(forAttr);
             if (forComponent == null)
             {
-                log.severe("Could not render Messages. Unable to find component '" + forAttr + "' (calling findComponent on component '" + messages.getClientId(facesContext) + "'). If the provided id was correct, wrap the message and its component into an h:panelGroup or h:panelGrid.");
+                log.severe("Could not render Messages. Unable to find component '"
+                        + forAttr + "' (calling findComponent on component '" 
+                        + messages.getClientId(facesContext)
+                        + "'). If the provided id was correct, wrap the message and its "
+                        + "component into an h:panelGroup or h:panelGrid.");
                 return;
             }
         }
@@ -113,7 +118,8 @@ public abstract class HtmlMessagesRender
         }
         else
         {
-            if (renderDivWhenNoMessagesAndIdSet && messages.getId() != null && !messages.getId().startsWith(UIViewRoot.UNIQUE_ID_PREFIX))
+            if (renderDivWhenNoMessagesAndIdSet && messages.getId() != null && 
+                    !messages.getId().startsWith(UIViewRoot.UNIQUE_ID_PREFIX))
             {
                 ResponseWriter writer = facesContext.getResponseWriter();
                 writer.startElement(HTML.DIV_ELEM, messages);
@@ -133,9 +139,14 @@ public abstract class HtmlMessagesRender
                 writer.startElement(HTML.SPAN_ELEM, null);
                 writer.writeAttribute(HTML.ID_ATTR,messages.getClientId(facesContext),null);
                 if(messages.getAttributes().get(JSFAttr.STYLE_CLASS_ATTR)!=null)
-                    writer.writeAttribute(HTML.CLASS_ATTR,messages.getAttributes().get(JSFAttr.STYLE_CLASS_ATTR),null);
+                {
+                    writer.writeAttribute(
+                            HTML.CLASS_ATTR, messages.getAttributes().get(JSFAttr.STYLE_CLASS_ATTR), null);
+                }
                 if(messages.getAttributes().get(JSFAttr.STYLE_ATTR)!=null)
-                    writer.writeAttribute(HTML.STYLE_ATTR,messages.getAttributes().get(JSFAttr.STYLE_ATTR),null);
+                {
+                    writer.writeAttribute(HTML.STYLE_ATTR, messages.getAttributes().get(JSFAttr.STYLE_ATTR), null);
+                }
                 writer.endElement(HTML.SPAN_ELEM);
             }
         }
@@ -168,7 +179,8 @@ public abstract class HtmlMessagesRender
         HtmlRendererUtils.renderHTMLAttributes(writer, messages, HTML.UNIVERSAL_ATTRIBUTES_WITHOUT_STYLE);
 
         HtmlRendererUtils.renderHTMLAttribute(writer, HTML.STYLE_ATTR, HTML.STYLE_ATTR, getComponentStyle(messages));
-        HtmlRendererUtils.renderHTMLAttribute(writer, HTML.STYLE_CLASS_ATTR, HTML.STYLE_CLASS_ATTR, getComponentStyleClass(messages));
+        HtmlRendererUtils.renderHTMLAttribute(writer, HTML.STYLE_CLASS_ATTR, HTML.STYLE_CLASS_ATTR, 
+                getComponentStyleClass(messages));
 
         while(messagesIterator.hasNext())
         {
@@ -220,7 +232,8 @@ public abstract class HtmlMessagesRender
         HtmlRendererUtils.renderHTMLAttributes(writer, messages, HTML.UNIVERSAL_ATTRIBUTES_WITHOUT_STYLE);
         
         HtmlRendererUtils.renderHTMLAttribute(writer, HTML.STYLE_ATTR, HTML.STYLE_ATTR, getComponentStyle(messages));
-        HtmlRendererUtils.renderHTMLAttribute(writer, HTML.STYLE_CLASS_ATTR, HTML.STYLE_CLASS_ATTR, getComponentStyleClass(messages));
+        HtmlRendererUtils.renderHTMLAttribute(writer, HTML.STYLE_CLASS_ATTR, HTML.STYLE_CLASS_ATTR, 
+                getComponentStyleClass(messages));
         
         while(messagesIterator.hasNext())
         {
@@ -375,7 +388,8 @@ public abstract class HtmlMessagesRender
         }
         else
         {
-            return org.apache.myfaces.shared.renderkit.RendererUtils.getBooleanAttribute(component, org.apache.myfaces.shared.renderkit.JSFAttr.TOOLTIP_ATTR, false);
+            return org.apache.myfaces.shared.renderkit.RendererUtils.getBooleanAttribute(component, 
+                    org.apache.myfaces.shared.renderkit.JSFAttr.TOOLTIP_ATTR, false);
         }
     }
 
@@ -399,7 +413,8 @@ public abstract class HtmlMessagesRender
         }
         else
         {
-            return org.apache.myfaces.shared.renderkit.RendererUtils.getBooleanAttribute(component, JSFAttr.SHOW_DETAIL_ATTR, false);
+            return org.apache.myfaces.shared.renderkit.RendererUtils.getBooleanAttribute(
+                    component, JSFAttr.SHOW_DETAIL_ATTR, false);
         }
     }
 
@@ -411,7 +426,8 @@ public abstract class HtmlMessagesRender
         }
         else
         {
-            return org.apache.myfaces.shared.renderkit.RendererUtils.getBooleanAttribute(component, JSFAttr.GLOBAL_ONLY_ATTR, false);
+            return org.apache.myfaces.shared.renderkit.RendererUtils.getBooleanAttribute(
+                    component, JSFAttr.GLOBAL_ONLY_ATTR, false);
         }
     }
 
@@ -444,7 +460,8 @@ public abstract class HtmlMessagesRender
             return ((UIMessages) component).isRedisplay();
         }
 
-        return org.apache.myfaces.shared.renderkit.RendererUtils.getBooleanAttribute(component, org.apache.myfaces.shared.renderkit.JSFAttr.REDISPLAY_ATTR, true);
+        return org.apache.myfaces.shared.renderkit.RendererUtils.getBooleanAttribute(
+                component, org.apache.myfaces.shared.renderkit.JSFAttr.REDISPLAY_ATTR, true);
         
     }
 
@@ -458,13 +475,14 @@ public abstract class HtmlMessagesRender
         private boolean _redisplay;
         private Object _next;
 
-        public MessagesIterator(FacesContext facesContext, boolean globalOnly, boolean redisplay,  UIComponent forComponent)
+        public MessagesIterator(FacesContext facesContext, boolean globalOnly, boolean redisplay,
+                UIComponent forComponent)
         {
             _facesContext = facesContext;
             // The for attribute is mutually exclusive with globalOnly and take precedence if used.
             if(forComponent != null)
             {
-                _clientId = forComponent.getClientId();
+                _clientId = forComponent.getClientId(facesContext);
                 _componentMessagesIterator = facesContext.getMessages(_clientId);
                 _globalMessagesIterator = org.apache.myfaces.shared.util.NullIterator.instance();
                 _clientIdsWithMessagesIterator = org.apache.myfaces.shared.util.NullIterator.instance();

Modified: myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java?rev=1298419&r1=1298418&r2=1298419&view=diff
==============================================================================
--- myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java (original)
+++ myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java Thu Mar  8 14:54:46 2012
@@ -304,7 +304,7 @@ public final class HtmlRendererUtils
                             && !clientBehaviorList.isEmpty())
                     {
                         String clientId = paramMap.get("javax.faces.source");
-                        if (component.getClientId().equals(clientId))
+                        if (component.getClientId(facesContext).equals(clientId))
                         {
                             if (clientBehaviorList instanceof RandomAccess)
                             {
@@ -1683,7 +1683,8 @@ public final class HtmlRendererUtils
         }
         // handle NavigationCase parameters
         Map<String, List<String>> navigationCaseParams = 
-            NavigationUtils.getEvaluatedNavigationParameters(navigationCase.getParameters());
+            NavigationUtils.getEvaluatedNavigationParameters(facesContext,
+                navigationCase.getParameters());
         if (navigationCaseParams != null)
         {
             if (parameters == null)