Author: hlship
Date: Thu Aug 11 18:23:02 2011
New Revision: 1156714

URL: http://svn.apache.org/viewvc?rev=1156714&view=rev
Log:
TAP5-1535: When there's a type mismatch between a container component at the 
field with @InjectComponent, the type of the containing component should be 
part of the exception message

Modified:
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/InjectContainerWorker.java
    
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/InjectContainerWorker.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/InjectContainerWorker.java?rev=1156714&r1=1156713&r2=1156714&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/InjectContainerWorker.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/InjectContainerWorker.java
 Thu Aug 11 18:23:02 2011
@@ -58,12 +58,11 @@ public class InjectContainerWorker imple
 
     private ComputedValue<FieldConduit<Object>> 
createFieldValueConduitProvider(PlasticField field)
     {
-
         final String fieldName = field.getName();
 
         final String fieldTypeName = field.getTypeName();
 
-        return new ComputedValue<FieldConduit<Object>> ()
+        return new ComputedValue<FieldConduit<Object>>()
         {
             public FieldConduit<Object> get(InstanceContext context)
             {
@@ -79,9 +78,9 @@ public class InjectContainerWorker imple
                         if (!fieldType.isInstance(container))
                         {
                             String message = String.format(
-                                    "Component %s is not assignable to field 
%s.%s (of type %s).", container
-                                            
.getComponentResources().getCompleteId(), resources.getComponentModel()
-                                            .getComponentClassName(), 
fieldName, fieldTypeName);
+                                    "Component %s (type %s) is not assignable 
to field %s.%s (of type %s).", container
+                                    .getComponentResources().getCompleteId(), 
container.getClass().getName(), resources.getComponentModel()
+                                    .getComponentClassName(), fieldName, 
fieldTypeName);
 
                             throw new RuntimeException(message);
                         }

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java?rev=1156714&r1=1156713&r2=1156714&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java
 Thu Aug 11 18:23:02 2011
@@ -140,7 +140,7 @@ public class CoreBehaviorsTests extends 
 
         // And exception message:
 
-        assertTextPresent("Component InjectContainerMismatch is not assignable 
to field org.apache.tapestry5.corelib.mixins.RenderDisabled.field (of type 
org.apache.tapestry5.Field).");
+        assertTextPresent("Component InjectContainerMismatch (type 
org.apache.tapestry5.integration.app1.pages.InjectContainerMismatch) is not 
assignable to field org.apache.tapestry5.corelib.mixins.RenderDisabled.field 
(of type org.apache.tapestry5.Field).");
     }
 
     @Test


Reply via email to