Good point.  They all inherit from CayenneDataObject.  I'll try to give
that a test in a bit.  Thanks!


The electronic mail message you have received and any files transmitted
with it are confidential and solely for the intended addressee(s)'s
attention. Do not divulge, copy, forward, or use the contents,
attachments, or information without permission of Fannie Mae.
Information contained in this message is provided solely for the purpose
stated in the message or its attachment(s) and must not be disclosed to
any third party or used for any other purpose without consent of Fannie
Mae. If you have received this message and/or any files transmitted with
it in error, please delete them from your system, destroy any hard
copies of them, and contact the sender.      


-----Original Message-----
From: andreas a [mailto:[EMAIL PROTECTED] On Behalf Of andyhot
Sent: Tuesday, January 30, 2007 12:50 PM
To: Tapestry users
Subject: Re: Tapestry prop: suggestion (or question)

Gentry, Michael (Contractor) wrote:
> I had seen the null handlers before, but was trying to avoid
registering
> 100+ handlers.  :-)
>   

well, perhaps they all share a common super type...

> Thanks,
>
> /dev/mrg
>  
>
>
> The electronic mail message you have received and any files
transmitted
> with it are confidential and solely for the intended addressee(s)'s
> attention. Do not divulge, copy, forward, or use the contents,
> attachments, or information without permission of Fannie Mae.
> Information contained in this message is provided solely for the
purpose
> stated in the message or its attachment(s) and must not be disclosed
to
> any third party or used for any other purpose without consent of
Fannie
> Mae. If you have received this message and/or any files transmitted
with
> it in error, please delete them from your system, destroy any hard
> copies of them, and contact the sender.      
>
>
> -----Original Message-----
> From: andreas a [mailto:[EMAIL PROTECTED] On Behalf Of andyhot
> Sent: Tuesday, January 30, 2007 12:15 PM
> To: Tapestry users
> Subject: Re: Tapestry prop: suggestion (or question)
>
> Gentry, Michael (Contractor) wrote:
>   
>> I've downloaded and tried out the prop: prefix extension from HLS.
>>     
> One
>   
>> thing I was *really* hoping for, compared to OGNL, is that it would
>> ignore null pointers, at least on reads.  
>>     
>
> OGNL has a feature called NullHandlers
>
> You contribute one to configuration point tapestry.ognl.NullHandlers 
> like this
> <null-handler class="class.having.null.properties" 
> object="instance:org.MyNullHandler"/>
>
> where MyNullHandler implements 
> http://www.ognl.org/2.6.9/Documentation/javadoc/ognl/NullHandler.html
>
> So, if you have a RegisterPage that contains a path like 
> user.department.name you have
> to register null handlers (could be the same one) for the following :
> RegisterPage (cause its user may be null),
> User (cause his department may be null)
>
>
>
>
>   
>> I have report-type pages
>> (read-only) where I can sometimes have thousands of rows with 10-15
>> columns.  Each of those columns currently has bulky cover methods
>>     
> which
>   
>> do NPE protection in case a relationship is missing (the actual
values
>> almost always come from a dotted path: foo.bar.baz.status, and OGNL
>>     
> will
>   
>> blow up if "bar" is null).  I was hoping the prop: extension would
>> handle this, but it seems to work just like OGNL if it hits a null.
>>     
> If
>   
>> something doesn't exist, I'm pretty happy with just getting a null
>>     
> back
>   
>> and displaying nothing.
>>  
>> I played with the code a bit and this seems to work if you edit
>> PropertyAccessorBinding.java and change the getObject() method:
>>  
>>     public Object getObject()
>>     {
>>         return _accessor.readProperty();
>>     } <http://www.len.ro/work/articles/tapestry-ajax-application-1/> 
>>  
>> to:
>>  
>>     public Object getObject()
>>     {
>>       try
>>       {
>>         return _accessor.readProperty();
>>       }
>>       catch (NullPointerException exception)
>>       {
>>         // Ignore NPE on reads ...
>>         return null;
>>       }
>>     }
>>  
>> A) Does this seem like a reasonable thing to do?
>> B) If yes to A, could it maybe be included in the actual prop:
package
>> (would beat maintaining a separate branch).
>>  
>> Thanks!
>>  
>> /dev/mrg
>>  
>> PS. I didn't alter setObject() ... I'd consider that an actual error
>>     
> if
>   
>> you were trying to set things through nulls.
>>  
>>
>> The electronic mail message you have received and any files
>>     
> transmitted
>   
>> with it are confidential and solely for the intended addressee(s)'s
>> attention. Do not divulge, copy, forward, or use the contents,
>> attachments, or information without permission of Fannie Mae.
>> Information contained in this message is provided solely for the
>>     
> purpose
>   
>> stated in the message or its attachment(s) and must not be disclosed
>>     
> to
>   
>> any third party or used for any other purpose without consent of
>>     
> Fannie
>   
>> Mae. If you have received this message and/or any files transmitted
>>     
> with
>   
>> it in error, please delete them from your system, destroy any hard
>> copies of them, and contact the sender.     
>>
>>
>>  
>>
>>   
>>     
>
>
>   


-- 
Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr
Tapestry / Tacos developer
Open Source / J2EE Consulting 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to