You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by gp...@apache.org on 2010/06/30 08:31:39 UTC
svn commit: r959211 -
/myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/core/el/DefaultELHelper.java
Author: gpetracek
Date: Wed Jun 30 06:31:38 2010
New Revision: 959211
URL: http://svn.apache.org/viewvc?rev=959211&view=rev
Log:
EXTVAL-102 first draft
Modified:
myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/core/el/DefaultELHelper.java
Modified: myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/core/el/DefaultELHelper.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/core/el/DefaultELHelper.java?rev=959211&r1=959210&r2=959211&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/core/el/DefaultELHelper.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/core/el/DefaultELHelper.java Wed Jun 30 06:31:38 2010
@@ -32,6 +32,7 @@ import javax.el.ELContext;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.el.ValueBinding;
+import javax.faces.el.CompositeComponentExpressionHolder;
import java.io.Externalizable;
import java.lang.reflect.Method;
import java.util.Map;
@@ -140,7 +141,6 @@ public class DefaultELHelper implements
return new ValueBindingExpression(valueBindingExpression);
}
- @ToDo(value = Priority.HIGH, description = "check if it works with nested composite components")
public PropertyDetails getPropertyDetailsOfValueBinding(UIComponent uiComponent)
{
if("true".equalsIgnoreCase(DEACTIVATE_EL_RESOLVER))
@@ -163,6 +163,21 @@ public class DefaultELHelper implements
ExtValELResolver compositeComponentELResolver = null;
+ //see EXTVAL-102
+ if (elResolver.getBaseObject() instanceof CompositeComponentExpressionHolder)
+ {
+ ValueExpression newValueExpression = ((CompositeComponentExpressionHolder) elResolver.getBaseObject())
+ .getExpression(elResolver.getProperty());
+
+ if (newValueExpression != null)
+ {
+ elResolver = createWrappedELContext(facesContext);
+ inspectTarget(newValueExpression,
+ ExtValELResolver.createContextWrapper(
+ facesContext.getELContext(), elResolver), false);
+ }
+ }
+
//re-check to get full key for cross-validation
if (elResolver.getCompositeComponentExpression() != null)
{