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/19 22:24:29 UTC

svn commit: r1125085 - in /incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic: ./ extval/ extval12/ extval12/src/main/java/org/apache/bval/jsr303/dynamic/extval/ extval12/src/main/resources/META-INF/

Author: mbenson
Date: Thu May 19 20:24:28 2011
New Revision: 1125085

URL: http://svn.apache.org/viewvc?rev=1125085&view=rev
Log:
move extval module to extval12

Added:
    incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/extval12/
      - copied from r1103934, incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/extval/
    incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/extval12/pom.xml
      - copied, changed from r1125069, incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/extval/pom.xml
    incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/extval12/src/main/java/org/apache/bval/jsr303/dynamic/extval/DynamicBeanValidationELHelper.java
      - copied, changed from r1125068, incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/extval/src/main/java/org/apache/bval/jsr303/dynamic/extval/DynamicBeanValidationELHelper.java
    incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/extval12/src/main/resources/META-INF/faces-config.xml
      - copied unchanged from r1103938, incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/extval/src/main/resources/META-INF/faces-config.xml
Removed:
    incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/extval/
Modified:
    incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/pom.xml

Copied: incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/extval12/pom.xml (from r1125069, incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/extval/pom.xml)
URL: http://svn.apache.org/viewvc/incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/extval12/pom.xml?p2=incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/extval12/pom.xml&p1=incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/extval/pom.xml&r1=1125069&r2=1125085&rev=1125085&view=diff
==============================================================================
--- incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/extval/pom.xml (original)
+++ incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/extval12/pom.xml Thu May 19 20:24:28 2011
@@ -27,8 +27,8 @@
     <artifactId>bval-jsr303-dynamic</artifactId>
     <version>0.4-incubating-SNAPSHOT</version>
   </parent>
-  <artifactId>bval-jsr303-dynamic-extval</artifactId>
-  <name>bval-jsr303-dynamic-extval</name>
+  <artifactId>bval-jsr303-dynamic-extval12</artifactId>
+  <name>Apache Bean Validation :: bval-jsr303-dynamic-extval12</name>
   <url>http://maven.apache.org</url>
   <dependencies>
     <dependency>
@@ -64,4 +64,8 @@
         <scope>provided</scope>
     </dependency>
   </dependencies>
+  <properties>
+    <extval.version>1.2.5-SNAPSHOT</extval.version>
+    <jsf.version>1.2.5</jsf.version>
+  </properties>
 </project>

Copied: incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/extval12/src/main/java/org/apache/bval/jsr303/dynamic/extval/DynamicBeanValidationELHelper.java (from r1125068, incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/extval/src/main/java/org/apache/bval/jsr303/dynamic/extval/DynamicBeanValidationELHelper.java)
URL: http://svn.apache.org/viewvc/incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/extval12/src/main/java/org/apache/bval/jsr303/dynamic/extval/DynamicBeanValidationELHelper.java?p2=incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/extval12/src/main/java/org/apache/bval/jsr303/dynamic/extval/DynamicBeanValidationELHelper.java&p1=incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/extval/src/main/java/org/apache/bval/jsr303/dynamic/extval/DynamicBeanValidationELHelper.java&r1=1125068&r2=1125085&rev=1125085&view=diff
==============================================================================
--- incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/extval/src/main/java/org/apache/bval/jsr303/dynamic/extval/DynamicBeanValidationELHelper.java (original)
+++ incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/extval12/src/main/java/org/apache/bval/jsr303/dynamic/extval/DynamicBeanValidationELHelper.java Thu May 19 20:24:28 2011
@@ -23,7 +23,7 @@ import javax.el.ELContext;
 import javax.el.ValueExpression;
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
-import javax.faces.el.CompositeComponentExpressionHolder;
+//import javax.faces.el.CompositeComponentExpressionHolder;
 import javax.faces.event.PhaseEvent;
 import javax.faces.event.PhaseId;
 import javax.faces.event.PhaseListener;
@@ -46,6 +46,36 @@ public class DynamicBeanValidationELHelp
         "org.apache.bval.jsr303.dynamic.extval.DynamicBeanValidationELHelper.Factory.propertyDetailsCache";
 
     /**
+     * {@link FacesContextAttributesAccessor} instance used.
+     */
+    static FacesContextAttributesAccessor facesContextAttributesAccessor;
+
+    /**
+     * Describes a mechanism for getting an attributes map from a {@code FacesContext} instance.
+     */
+    public interface FacesContextAttributesAccessor {
+        /**
+         * Get the map of attributes associated with the specified FacesContext.
+         * 
+         * @param facesContext
+         *            the context whose attributes to retrieve.
+         * @return default, pre JSF 2.0: {@code facesContext.externalContext.requestMap}.
+         */
+        Map<? super String, Object> getAttributesMap(FacesContext facesContext);
+    }
+
+    private static final FacesContextAttributesAccessor FACES_CONTEXT_ATTRIBUTES_ACCESSOR =
+        new FacesContextAttributesAccessor() {
+
+            public Map<? super String, Object> getAttributesMap(FacesContext facesContext) {
+                if (facesContextAttributesAccessor != null) {
+                    return facesContextAttributesAccessor.getAttributesMap(facesContext);
+                }
+                return facesContext.getExternalContext().getRequestMap();
+            }
+        };
+
+    /**
      * {@code DynamicBeanValidationELHelper} Factory.
      */
     public static class Factory extends AbstractELHelperFactory implements PhaseListener {
@@ -88,12 +118,13 @@ public class DynamicBeanValidationELHelp
 
     private static Map<String, PathBasedPropertyDetails> getPropertyDetailsCache(FacesContext facesContext,
         boolean create) {
+        Map<? super String, Object> attrs = FACES_CONTEXT_ATTRIBUTES_ACCESSOR.getAttributesMap(facesContext);
         @SuppressWarnings("unchecked")
         Map<String, PathBasedPropertyDetails> result =
-            (Map<String, PathBasedPropertyDetails>) facesContext.getAttributes().get(PROPERTY_DETAILS_CACHE_KEY);
+            (Map<String, PathBasedPropertyDetails>) attrs.get(PROPERTY_DETAILS_CACHE_KEY);
         if (result == null && create) {
             result = new HashMap<String, PathBasedPropertyDetails>();
-            facesContext.getAttributes().put(PROPERTY_DETAILS_CACHE_KEY, result);
+            attrs.put(PROPERTY_DETAILS_CACHE_KEY, result);
         }
         return result;
     }
@@ -122,15 +153,15 @@ public class DynamicBeanValidationELHelp
         PathRecordingELResolver elResolver = new PathRecordingELResolver(elContext.getELResolver());
         ELContext contextWrapper = ExtValELResolver.createContextWrapper(elContext, elResolver);
         ValueExpression expr = valueExpression;
-        while (true) {
-            expr.setValue(contextWrapper, null);
-            Object baseObject = elResolver.getBaseObject();
-            if (baseObject instanceof CompositeComponentExpressionHolder) {
-                expr = ((CompositeComponentExpressionHolder) baseObject).getExpression(elResolver.getLeafProperty());
-                continue;
-            }
-            break;
-        }
+        // while (true) {
+        expr.setValue(contextWrapper, null);
+        // Object baseObject = elResolver.getBaseObject();
+        // if (baseObject instanceof CompositeComponentExpressionHolder) {
+        // expr = ((CompositeComponentExpressionHolder) baseObject).getExpression(elResolver.getLeafProperty());
+        // continue;
+        // }
+        // break;
+        // }
         String key = StringUtils.join(StringUtils.split(elResolver.getPath().toString(), "[]."), '.');
         return new PathBasedPropertyDetails(key, elResolver.getBaseObject(), elResolver.getLeafProperty(),
             elResolver.getPath());

Modified: incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/pom.xml
URL: http://svn.apache.org/viewvc/incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/pom.xml?rev=1125085&r1=1125084&r2=1125085&view=diff
==============================================================================
--- incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/pom.xml (original)
+++ incubator/bval/sandbox/lang3-work/bval-jsr303-dynamic/pom.xml Thu May 19 20:24:28 2011
@@ -31,11 +31,9 @@
   <description>Bean Validation - Dynamic JSR303 Validation</description>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <extval.version>2.0.5-SNAPSHOT</extval.version>
-    <jsf.version>2.0.5</jsf.version>
   </properties>
   <modules>
     <module>provider</module>
-    <module>extval</module>
+    <module>extval12</module>
   </modules>
 </project>