cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christofer Dutz" <>
Subject AW: AW: CForms Serialization
Date Wed, 21 Jan 2009 21:01:02 GMT
Hi Ralph,

ok ... you're right with this one ... but on the other side. Why should you
enter a non-number in an integer field anyway?
But, as you mention it. I really hated the guys entering "half a dozen" in
one of my applications "amount" fields, complaining about it not working.

Still, I think it is a very small "but". 

Wouldn’t it be possible to define your field as a string field and add some
kind of "IntegerValidator", checking if the String is Integer?
Maybe you could define two types of binding. One with plain string and one
doing an Integer cast (Don't know if there are converters for this or you
have to do some custom binding).

But to continue the discussion about separating form definition and
(internal)-form model. Separating it, would result in the need to do
something like this:


Otherwise I doubt it would work. And having a formModelObject and an
applicationModelObject sort of sounds silly ... what would be great thou,
would be being able to work directly on the applicationModelObject. But I
guess this would be a little tricky as even the
fromModel-to-applicationModel-mapping starts getting tricky as soon as you
start having more complex object structures.


-----Ursprüngliche Nachricht-----
Von: Ralph Rauscher [] 
Gesendet: Mittwoch, 21. Januar 2009 20:36
Betreff: Re: AW: CForms Serialization

Hi Chris,

seems that would do the trick for fields where I have validators defined 
in the model. I've found though it will not work eg. for fields that I 
have defined as being of type integer. In that case, the binding calls 
the getValue() method for the integer widget which automatically tries 
to validate it and returns null if that value is not an integer - so the 
output of the binding for that widget will be empty....


Christofer Dutz wrote:
> Hi Ralph,
> it should be possible, if you extract the data from the form and persist
> that.
> I think you could add a parameter to a submit-widget to not validate the
> form (this would be the easiest way), this way you can return to your
> flowscript or javaflow and continue processing. Alternatively you could
> a link on your form for example "save form" that passes the current
> continuation-id as a parameter to a save-url (Be sure to have the most
> recent continuation id in Ajax enabled forms). In the logic for processing
> this url, you could use the continuation-id, to get the form instance and
> continue-from there (to see how this is done ... have a look at the
> suggestion-list generator.
> If you use to save your forms content
> a java-pojo or w3c.dom there should be no problems in persisting them ...
> soon as the user wants to continue: form.load(previouslySavedFormData);
> you should be ready to continue.
> Hope this helps,
>     Chris
> -----Ursprüngliche Nachricht-----
> Von: Ralph Rauscher [] 
> Gesendet: Dienstag, 20. Januar 2009 23:43
> An:
> Betreff: CForms Serialization
> Hi,
> I have a case where I have a really large form that would require 
> several sessions to be valid and I'd like to allow users to persist 
> their work (even if the form is invalid) and continue working on it later.
> As the cforms binding will throw all kinds of exceptions in this case I 
> thought about serializing the Form object using standard Java object 
> serialization.
> So far Form and the classes it's derived from do not implement 
> Serializable, which would be easy to fix. I saw a remark though by 
> Sylvain where he mentions
> /"a form contains its own data model, which can be serialized, but also 
> pointers to its definition, which is shared between form instances and 
> can contain arbitrary references to non-serializable objects and
> /So, is it possible?
> Thanks.
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

Ralph Rauscher

 blue elephant systems GmbH
 Wollgrasweg 49
 D-70599 Stuttgart

 Tel   :    (+49) 0711 - 451017 574
 Fax   :    (+49) 0711 - 451017 573
 Sitz  :    Stuttgart, Amtsgericht Stuttgart, HRB 24106
 Geschäftsführer: Joachim Hörnle, Thomas Gentsch, Holger Dietrich  

To unsubscribe, e-mail:
For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message