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)