You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bval.apache.org by mb...@apache.org on 2011/05/23 17:46:04 UTC
svn commit: r1126547 -
/incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/extval20/src/main/java/org/apache/bval/jsr303/dynamic/extval/DynamicBeanValidationELHelper20.java
Author: mbenson
Date: Mon May 23 15:46:04 2011
New Revision: 1126547
URL: http://svn.apache.org/viewvc?rev=1126547&view=rev
Log:
JSF2 implementation of DynamicBeanValidationELHelper#resolve
Modified:
incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/extval20/src/main/java/org/apache/bval/jsr303/dynamic/extval/DynamicBeanValidationELHelper20.java
Modified: incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/extval20/src/main/java/org/apache/bval/jsr303/dynamic/extval/DynamicBeanValidationELHelper20.java
URL: http://svn.apache.org/viewvc/incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/extval20/src/main/java/org/apache/bval/jsr303/dynamic/extval/DynamicBeanValidationELHelper20.java?rev=1126547&r1=1126546&r2=1126547&view=diff
==============================================================================
--- incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/extval20/src/main/java/org/apache/bval/jsr303/dynamic/extval/DynamicBeanValidationELHelper20.java (original)
+++ incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/extval20/src/main/java/org/apache/bval/jsr303/dynamic/extval/DynamicBeanValidationELHelper20.java Mon May 23 15:46:04 2011
@@ -16,8 +16,12 @@
*/
package org.apache.bval.jsr303.dynamic.extval;
+import javax.el.ELContext;
import javax.el.ValueExpression;
import javax.faces.context.FacesContext;
+import javax.faces.el.CompositeComponentExpressionHolder;
+
+import org.apache.myfaces.extensions.validator.core.el.ExtValELResolver;
/**
* JSF-2.0 {@link DynamicBeanValidationELHelper}.
@@ -47,8 +51,19 @@ public class DynamicBeanValidationELHelp
@Override
protected void resolve(ValueExpression valueExpression, PathRecordingELResolver elResolver,
FacesContext facesContext) {
- // TODO Auto-generated method stub
-
+ ELContext contextWrapper = ExtValELResolver.createContextWrapper(facesContext.getELContext(), elResolver);
+ @SuppressWarnings("unused")
+ ValueExpression expr = valueExpression;
+ while (true) {
+ valueExpression.setValue(contextWrapper, null);
+ Object baseObject = elResolver.getBaseObject();
+ if (baseObject instanceof CompositeComponentExpressionHolder) {
+ expr = ((CompositeComponentExpressionHolder) baseObject).getExpression(elResolver.getLeafProperty());
+ elResolver.reset();
+ continue;
+ }
+ break;
+ }
}
}