Thanks, yes I am new to torque.

Basically, I was looking for an easy way to make sure the empty strings aren't inserted into the database, particularly for required fields.

If the user has not entered anything, or jsut whitespace, than I want it to be set to null. Then in validation I only need to check for a null. Or if required Torque can throw an exception when inserting.

I see what you mean about the applications of it.

In the end what I have done is given a struts form the same getter and setter methods and have had them do the check before passing it onto the bean.

clunky but it does the trick

Thanks again

Steve

Greg Monroe wrote:

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]








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

Reply via email to