Finish backing out the validationId changes (commit 
ef0d1448aca3bca3ed4f8aea6fbedd6b77438fcc)


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/93d06899
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/93d06899
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/93d06899

Branch: refs/heads/master
Commit: 93d06899a95161f3c27e3e1b5aaa8dfa83f36f7f
Parents: 22bd2c1
Author: Howard M. Lewis Ship <hls...@apache.org>
Authored: Tue Apr 7 16:26:29 2015 -0700
Committer: Howard M. Lewis Ship <hls...@apache.org>
Committed: Tue Apr 7 16:26:29 2015 -0700

----------------------------------------------------------------------
 .../corelib/components/BeanEditor.java          | 18 ++---
 .../tapestry5/corelib/components/Form.java      |  4 +-
 .../corelib/pages/PropertyEditBlocks.java       | 83 +++++---------------
 .../internal/BeanValidationContext.java         | 20 ++---
 .../internal/BeanValidationContextImpl.java     | 18 ++---
 5 files changed, 39 insertions(+), 104 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/93d06899/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanEditor.java
----------------------------------------------------------------------
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanEditor.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanEditor.java
index c44c9fa..45a9711 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanEditor.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanEditor.java
@@ -33,13 +33,11 @@ import org.apache.tapestry5.services.BeanModelSource;
 import org.apache.tapestry5.services.Environment;
 import org.apache.tapestry5.services.FormSupport;
 
-import java.util.UUID;
-
 /**
  * A component that generates a user interface for editing the properties of a 
bean. This is the central component of
  * the {@link BeanEditForm}, and utilizes a {@link PropertyEditor} for much of 
its functionality. This component places
  * a {@link BeanEditContext} into the environment.
- *
+ * 
  * @tapestrydoc
  */
 @SupportsInformalParameters
@@ -181,8 +179,6 @@ public class BeanEditor
         formSupport.storeAndExecute(this, CLEANUP_ENVIRONMENT);
     }
 
-    private String validationId;
-
     /**
      * Used to initialize the model if necessary, to instantiate the object 
being edited if necessary, and to push the
      * BeanEditContext into the environment.
@@ -206,7 +202,8 @@ public class BeanEditor
             try
             {
                 object = model.newInstance();
-            } catch (Exception ex)
+            }
+            catch (Exception ex)
             {
                 String message = String.format("Exception instantiating 
instance of %s (for component '%s'): %s",
                         PlasticUtils.toTypeName(model.getBeanType()), 
resources.getCompleteId(), ex);
@@ -214,18 +211,13 @@ public class BeanEditor
             }
         }
 
-        // Set to a new value on each request; the value lasts until the end 
of the request.
-        if (validationId == null) {
-            validationId = UUID.randomUUID().toString();
-        }
-
         BeanEditContext context = new BeanEditContextImpl(model.getBeanType());
 
         cachedObject = object;
 
         environment.push(BeanEditContext.class, context);
         // TAP5-2101: Always provide a new BeanValidationContext
-        environment.push(BeanValidationContext.class, new 
BeanValidationContextImpl(object, validationId));
+        environment.push(BeanValidationContext.class, new 
BeanValidationContextImpl(object));
     }
 
     void cleanupEnvironment()
@@ -236,7 +228,7 @@ public class BeanEditor
 
     // For testing
     void inject(ComponentResources resources, PropertyOverrides overrides, 
BeanModelSource source,
-                Environment environment)
+            Environment environment)
     {
         this.resources = resources;
         this.overrides = overrides;

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/93d06899/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Form.java
----------------------------------------------------------------------
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Form.java 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Form.java
index 6147565..0102260 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Form.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Form.java
@@ -353,7 +353,7 @@ public class Form implements ClientElement, 
FormValidationControl
         resources.triggerEvent(EventConstants.PREPARE, context, null);
 
         // Push BeanValidationContext only after the container had a chance to 
prepare
-        environment.push(BeanValidationContext.class, new 
BeanValidationContextImpl(validate, null));
+        environment.push(BeanValidationContext.class, new 
BeanValidationContextImpl(validate));
 
         // Save the form element for later, in case we want to write an 
encoding
         // type attribute.
@@ -509,7 +509,7 @@ public class Form implements ClientElement, 
FormValidationControl
                     return true;
             }
 
-            environment.push(BeanValidationContext.class, new 
BeanValidationContextImpl(validate, null));
+            environment.push(BeanValidationContext.class, new 
BeanValidationContextImpl(validate));
 
             didPushBeanValidationContext = true;
 

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/93d06899/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/PropertyEditBlocks.java
----------------------------------------------------------------------
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/PropertyEditBlocks.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/PropertyEditBlocks.java
index 2013319..19326cc 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/PropertyEditBlocks.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/PropertyEditBlocks.java
@@ -19,7 +19,6 @@ import org.apache.tapestry5.ValueEncoder;
 import org.apache.tapestry5.annotations.Component;
 import org.apache.tapestry5.annotations.Environmental;
 import org.apache.tapestry5.corelib.components.*;
-import org.apache.tapestry5.internal.BeanValidationContext;
 import org.apache.tapestry5.ioc.annotations.Inject;
 import org.apache.tapestry5.ioc.services.TypeCoercer;
 import org.apache.tapestry5.services.BeanBlockContribution;
@@ -40,96 +39,56 @@ public class PropertyEditBlocks
     @Environmental
     private PropertyEditContext context;
 
-    @Environmental
-    private BeanValidationContext validationContext;
-
-    public String getValidationId()
-    {
-        return validationContext.getEditorValidationId() + "-" + 
context.getPropertyId();
-    }
-
     @Component(
-            parameters = {"value=context.propertyValue",
-                    "label=prop:context.label",
-                    "translate=prop:textFieldTranslator",
-                    "validate=prop:textFieldValidator",
-                    "validationId=validationId",
-                    "clientId=prop:context.propertyId",
-                    "annotationProvider=context",
+            parameters = {"value=context.propertyValue", 
"label=prop:context.label",
+                    "translate=prop:textFieldTranslator", 
"validate=prop:textFieldValidator",
+                    "clientId=prop:context.propertyId", 
"annotationProvider=context",
                     "ensureClientIdUnique=true"})
     private TextField textField;
 
     @Component(
-            parameters = {"value=context.propertyValue",
-                    "label=prop:context.label",
-                    "translate=prop:numberFieldTranslator",
-                    "validate=prop:numberFieldValidator",
-                    "validationId=validationId",
-                    "clientId=prop:context.propertyId",
-                    "annotationProvider=context",
+            parameters = {"value=context.propertyValue", 
"label=prop:context.label",
+                    "translate=prop:numberFieldTranslator", 
"validate=prop:numberFieldValidator",
+                    "clientId=prop:context.propertyId", 
"annotationProvider=context",
                     "ensureClientIdUnique=true"})
     private TextField numberField;
 
 
     @Component(
-            parameters = {"value=context.propertyValue",
-                    "label=prop:context.label",
-                    "encoder=valueEncoderForProperty",
-                    "validationId=validationId",
-                    "model=selectModelForProperty",
-                    "validate=prop:selectValidator",
-                    "clientId=prop:context.propertyId",
-                    "ensureClientIdUnique=true"})
+            parameters = {"value=context.propertyValue", 
"label=prop:context.label", "encoder=valueEncoderForProperty",
+                    "model=selectModelForProperty", 
"validate=prop:selectValidator",
+                    "clientId=prop:context.propertyId", 
"ensureClientIdUnique=true"})
     private Select select;
 
     @SuppressWarnings("unused")
     @Component(
-            parameters = {"value=context.propertyValue",
-                    "label=prop:context.label",
-                    "validationId=validationId",
-                    "clientId=prop:context.propertyId",
-                    "ensureClientIdUnique=true"})
+            parameters = {"value=context.propertyValue", 
"label=prop:context.label",
+                    "clientId=prop:context.propertyId", 
"ensureClientIdUnique=true"})
     private Checkbox checkboxField;
 
     @SuppressWarnings("unused")
     @Component(
-            parameters = {"value=context.propertyValue",
-                    "label=prop:context.label",
-                    "clientId=prop:context.propertyid",
-                    "validate=prop:dateFieldValidator",
-                    "ensureClientIdUnique=true"})
+            parameters = {"value=context.propertyValue", 
"label=prop:context.label", "clientId=prop:context.propertyid",
+                    "validate=prop:dateFieldValidator", 
"ensureClientIdUnique=true"})
     private DateField dateField;
 
     @SuppressWarnings("unused")
     @Component(
-            parameters = {"value=context.propertyValue",
-                    "label=prop:context.label",
-                    "clientId=prop:context.propertyid",
-                    "validate=prop:calendarFieldValidator",
-                    "validationId=validationId",
-                    "ensureClientIdUnique=true"})
+            parameters = {"value=context.propertyValue", 
"label=prop:context.label", "clientId=prop:context.propertyid",
+                    "validate=prop:calendarFieldValidator", 
"ensureClientIdUnique=true"})
     private DateField calendarField;
 
     @Component(
-            parameters = {"value=context.propertyValue",
-                    "label=prop:context.label",
-                    "translate=prop:passwordFieldTranslator",
-                    "validate=prop:passwordFieldValidator",
-                    "validationId=validationId",
-                    "clientId=prop:context.propertyId",
-                    "annotationProvider=context",
-                    "ensureClientIdUnique=true"})
+            parameters = {"value=context.propertyValue", 
"label=prop:context.label",
+                    "translate=prop:passwordFieldTranslator", 
"validate=prop:passwordFieldValidator",
+                    "clientId=prop:context.propertyId", 
"annotationProvider=context", "ensureClientIdUnique=true"})
     private PasswordField passwordField;
 
     @Component(
-            parameters = {"value=context.propertyValue",
-                    "label=prop:context.label",
+            parameters = {"value=context.propertyValue", 
"label=prop:context.label",
                     "translate=prop:textAreaTranslator",
-                    "validationId=validationId",
-                    "validate=prop:textAreaValidator",
-                    "clientId=prop:context.propertyId",
-                    "annotationProvider=context",
-                    "ensureClientIdUnique=true"})
+                    "validate=prop:textAreaValidator", 
"clientId=prop:context.propertyId",
+                    "annotationProvider=context", "ensureClientIdUnique=true"})
     private TextArea textArea;
 
 

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/93d06899/tapestry-core/src/main/java/org/apache/tapestry5/internal/BeanValidationContext.java
----------------------------------------------------------------------
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/BeanValidationContext.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/BeanValidationContext.java
index 707101d..43fc917 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/BeanValidationContext.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/BeanValidationContext.java
@@ -13,7 +13,7 @@ package org.apache.tapestry5.internal;
 
 /**
  * Defines a context for validating beans.
- *
+ * 
  * @since 5.2.0
  */
 public interface BeanValidationContext
@@ -22,29 +22,21 @@ public interface BeanValidationContext
      * Returns the type of the object to validate. This method is needed for 
client side validation.
      */
     Class getBeanType();
-
+    
     /**
      * Return the object to validate.
      */
     Object getBeanInstance();
-
+    
     /**
      * Returns name of the property to validate. The current name is 
overwritten by every form field.
      */
     String getCurrentProperty();
-
+    
     /**
      * Sets name of the property to validate.
-     *
-     * @param propertyName
-     *         name of the property
+     * 
+     * @param propertyName name of the property
      */
     void setCurrentProperty(String propertyName);
-
-    /**
-     * Returns a validation id that should be used as a prefix for any fields 
inside a {@link org.apache.tapestry5.corelib.components.BeanEditor}.
-     *
-     * @since 5.4
-     */
-    String getEditorValidationId();
 }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/93d06899/tapestry-core/src/main/java/org/apache/tapestry5/internal/BeanValidationContextImpl.java
----------------------------------------------------------------------
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/BeanValidationContextImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/BeanValidationContextImpl.java
index 2f3d83c..31fa1b3 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/BeanValidationContextImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/BeanValidationContextImpl.java
@@ -14,21 +14,17 @@ package org.apache.tapestry5.internal;
 
 public class BeanValidationContextImpl implements BeanValidationContext
 {
-    private final Object bean;
-
-    private final String editorValidationId;
-
+    private Object bean;
     private String currentProperty;
 
-    public BeanValidationContextImpl(Object bean, String editorValidationId)
+    public BeanValidationContextImpl(Object bean)
     {
         this.bean = bean;
-        this.editorValidationId = editorValidationId;
     }
 
     public Class getBeanType()
     {
-        return bean == null ? null : bean.getClass();
+        return bean==null?null:bean.getClass();
     }
 
     public Object getBeanInstance()
@@ -36,18 +32,14 @@ public class BeanValidationContextImpl implements 
BeanValidationContext
         return bean;
     }
 
-    public String getCurrentProperty()
+    public String getCurrentProperty() 
     {
         return currentProperty;
     }
 
-    public void setCurrentProperty(String propertyName)
+    public void setCurrentProperty(String propertyName) 
     {
         this.currentProperty = propertyName;
     }
 
-    public String getEditorValidationId()
-    {
-        return editorValidationId;
-    }
 }

Reply via email to