Author: hlship
Date: Wed Jul  7 18:27:31 2010
New Revision: 961455

URL: http://svn.apache.org/viewvc?rev=961455&view=rev
Log:
TAP5-1197: Adjust for shared page instances, requiring some synchronization on 
the lazy initialization of ParameterConduit inside the 
BoundParameterFieldValueConduit

Modified:
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/BindParameterWorker.java

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/BindParameterWorker.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/BindParameterWorker.java?rev=961455&r1=961454&r2=961455&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/BindParameterWorker.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/BindParameterWorker.java
 Wed Jul  7 18:27:31 2010
@@ -50,6 +50,7 @@ public class BindParameterWorker impleme
 
         private final Class fieldType;
 
+        // Guarded by this
         private ParameterConduit conduit;
 
         private BoundParameterFieldValueConduit(String containerParameterName,
@@ -67,12 +68,11 @@ public class BindParameterWorker impleme
          * methods invoked
          * from the page loaded lifecycle method?
          */
-        private ParameterConduit getParameterConduit()
+        private synchronized ParameterConduit getParameterConduit()
         {
             if (conduit == null)
             {
                 conduit = 
containerResources.getParameterConduit(containerParameterName);
-
             }
 
             return conduit;
@@ -135,9 +135,10 @@ public class BindParameterWorker impleme
                 }
                 catch (Exception ex)
                 {
-                    throw new TapestryException(String.format("Failure binding 
parameter field '%s' of mixin %s (type %s): %s",
-                            fieldName, resources.getCompleteId(),
-                            
resources.getComponentModel().getComponentClassName(), 
InternalUtils.toMessage(ex)), ex);
+                    throw new TapestryException(String.format(
+                            "Failure binding parameter field '%s' of mixin %s 
(type %s): %s", fieldName, resources
+                                    .getCompleteId(), 
resources.getComponentModel().getComponentClassName(),
+                            InternalUtils.toMessage(ex)), ex);
                 }
             }
 


Reply via email to