I think the only way to currently do this "correctly" would be 
to modify the individual set methods in the TableBeans (the 
ones that are a subclass of the BaseTableBean).

You could modify the templates to automatically generate this
code, but I would be very careful here.  You'd be changing 
some of the "fundamentals" and it might cause grief when you
try to upgrade Torque a year from now.  If you do, look at
the code that generates the non-base class.

As to should this be a Torque feature... IMHO, this is a 
highly application specific area and not a general DB thing.  
Issues that come to mind are:

What if the DB field does not accept nulls?

What if your application needs/wants the missing, no answer, 
answer status maintained (Talk to a Statistition about the
value of missing vs no answer for an interesting conversation.)

What is a "normalized" string?  In the case of HTML forms, 
different browsers will return different values.  I've seen
versions of IE that return a "special" character (xFF?) instead
of a space " ".  I think there is one variation out there that 
helpfully translates spaces into   characters. So normalizing
HTML forms strings is not just trimming blanks, etc.  And then 
what happens if Torque is doing this extra normalization but 
the application is a Web-based?

In writing all this, it did strike me that there might be an
relatively simple, application safe way for Torque to be 
modified that would make it easier for application specific 
normalization to be added on top of a Base Torque generation.

Here's the idea:

1) Add two "do-nothing" methods to the BaseObject class like:

   Object normalizeSetValue( String fieldName, Object value)
   Object normailzeGetValue( String fieldName, Object value)

   The default methods in BaseObject would just return the 
   value object unchanged.

2) Modify the templates to add calls to these methods in all the 
   generated get and set methods.

To do application specific normalization, there would only need
to one method overridden in the Table class.  For generic 
normalization (like all Strings), no extra coding would be needed
as fields were added or deleted to a table.

I suppose an enhancement on this would be to have a way that 
application specific BaseObject and BasePeer subclass objects could 
easily be used in the Templates.  Then generic normalization could
be done once for all tables, etc.

> -----Original Message-----
> From: Steve Vanspall [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, March 08, 2006 7:45 AM
> To: Apache Torque Users List
> Subject: trim whitespace
> 
> 
> Hi there,
> 
> Wondering if there is a way to configure Torque to genreate 
> code to trim 
> the whitespace of Strings and change empty strings to null.
> 
> This would make it simpler to populate a bean directly from a form 
> (using struts) rather than having to populate afterwards.
> 
> Thanks in advance
> 
> Steve
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 

Duke CE Privacy Statement
Please be advised that this e-mail and any files transmitted with it are 
confidential communication or may otherwise be privileged or confidential and 
are intended solely for the individual or entity to whom they are addressed.  
If you are not the intended recipient you may not rely on the contents of this 
email or any attachments, and we ask that you  please not read, copy or 
retransmit this communication, but reply to the sender and destroy the email, 
its contents, and all copies thereof immediately.  Any unauthorized 
dissemination, distribution or copying of this communication is strictly 
prohibited.



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

Reply via email to