Author: drobiazko
Date: Fri Mar  5 22:08:58 2010
New Revision: 919642

URL: http://svn.apache.org/viewvc?rev=919642&view=rev
Log:
TAP5-1043: PropertyDisplayBlocks causes NullPointerException when property of 
type Calendar is null

Added:
    
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/OutputDate.java
   (contents, props changed)
      - copied, changed from r919322, 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/Output.java
Removed:
    
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/Output.java
Modified:
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/PropertyDisplayBlocks.java
    tapestry/tapestry5/trunk/tapestry-core/src/test/app1/ShowCalendarHolder.tml
    
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java
    
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/InstanceMixin.java
    
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ShowCalendarHolder.java

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/PropertyDisplayBlocks.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/PropertyDisplayBlocks.java?rev=919642&r1=919641&r2=919642&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/PropertyDisplayBlocks.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/PropertyDisplayBlocks.java
 Fri Mar  5 22:08:58 2010
@@ -53,6 +53,10 @@
     public Date getCalendarDate() 
     {
         Calendar calendar = (Calendar) context.getPropertyValue();
+        
+        if(calendar == null)
+            return null;
+        
         return calendar.getTime();
      }
 

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/ShowCalendarHolder.tml
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/ShowCalendarHolder.tml?rev=919642&r1=919641&r2=919642&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/ShowCalendarHolder.tml 
(original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/ShowCalendarHolder.tml 
Fri Mar  5 22:08:58 2010
@@ -4,5 +4,7 @@
   <h1>BeanEditor Calendar Demo</h1>
 
   <t:beandisplay object="holder" />
+  
+  <t:actionlink t:id="clear">clear</t:actionlink>
 
 </html>

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java?rev=919642&r1=919641&r2=919642&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java
 Fri Mar  5 22:08:58 2010
@@ -718,6 +718,9 @@
         clickAndWait(SUBMIT);
 
         assertTextPresent("Apr 6, 1978");
+        
+        //TAP5-1043
+        clickAndWait("link=clear");
     }
 
     @Test

Copied: 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/OutputDate.java
 (from r919322, 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/Output.java)
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/OutputDate.java?p2=tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/OutputDate.java&p1=tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/Output.java&r1=919322&r2=919642&rev=919642&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/Output.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/OutputDate.java
 Fri Mar  5 22:08:58 2010
@@ -22,7 +22,7 @@
 /**
  * component that formats a value and outputs it.
  */
-public class Output
+public class OutputDate
 {
     @Parameter(required = true)
     private Object value;

Propchange: 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/OutputDate.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/InstanceMixin.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/InstanceMixin.java?rev=919642&r1=919641&r2=919642&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/InstanceMixin.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/InstanceMixin.java
 Fri Mar  5 22:08:58 2010
@@ -15,7 +15,7 @@
 package org.apache.tapestry5.integration.app1.pages;
 
 import org.apache.tapestry5.annotations.*;
-import org.apache.tapestry5.integration.app1.components.Output;
+import org.apache.tapestry5.integration.app1.components.OutputDate;
 import org.apache.tapestry5.integration.app1.mixins.Emphasis;
 
 import java.sql.Date;
@@ -31,13 +31,13 @@
     @Component(parameters =
             { "value=date2", "format=format", "test=showEmphasis" })
     @Mixins("Emphasis")
-    private Output output2;
+    private OutputDate output2;
 
     @SuppressWarnings("unused")
     @Component(parameters =
             { "value=date3", "format=format", "test=showEmphasis" })
     @MixinClasses(Emphasis.class)
-    private Output output3;
+    private OutputDate output3;
 
     @Retain
     private final Format format = 
DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.US);

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ShowCalendarHolder.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ShowCalendarHolder.java?rev=919642&r1=919641&r2=919642&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ShowCalendarHolder.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ShowCalendarHolder.java
 Fri Mar  5 22:08:58 2010
@@ -24,4 +24,9 @@
     @Property
     private CalendarHolder holder;
     
+    void onActionFromClear()
+    {
+        holder = null;
+    }
+    
 }


Reply via email to