Sorry, my mistake. The same code i posted but without initializing the
matafuego variable is working now. I still dont completely understand why
tapestry is not cleaning my matafuego variable.

Thanks very much for your help!

On Sat, May 17, 2008 at 2:39 PM, Manuel Corrales <[EMAIL PROTECTED]>
wrote:

> Ok, thanks. Probably this is some stupid begginer mistake, but i cant make
> this work. My class is this:
>
> public class NuevoMatafuego {
>
>     private Matafuego matafuego = new Matafuego();
>     @Inject
>     private Messages messages;
>     @Component
>     private Form nuevoMatafuegoForm;
>     @Component(id = "nroAparato")
>     private TextField nroAparato;
>
>     public SelectModel getTiposDeMatafuego() {
>         return new EnumSelectModel(TipoMatafuego.class, messages);
>     }
>
>     public Matafuego getMatafuego() {
>         return matafuego;
>     }
>
>     public void setMatafuego(Matafuego matafuego) {
>         this.matafuego = matafuego;
>     }
>
>     void onActivate() {
>         if (matafuego == null) {
>             matafuego = new Matafuego();
>         }
>     }
>
>     @OnEvent(value = "submit", component = "nuevoMatafuegoForm")
>     Object onSubmitNuevoMatafuegoForm() {
>         MatafuegoFacade facade = new MatafuegoFacade();
>         try {
>             facade.guardarMatafuego(matafuego);
>             matafuego = null;
>             return MainMatafuegos.class;
>         } catch ( ConstraintViolationException e) {
>             nuevoMatafuegoForm.recordError(nroAparato,
> messages.get("matafuegoDuplicado"));
>             return this;
>         }
>     }
>
> }
>
>
> As you can see, the matafuego instance is not @Persist, so i really do not
> undestand why is not being cleared. Also if instead of doing Matafuego
> matafuego = new Matafuego(); on the declaration, i dont initialize it, then
> when i try to save it, it is null in the onSubmit method.
>
> Any suggestion?
>
>
> On Sat, May 17, 2008 at 1:51 PM, Kevin Menard <[EMAIL PROTECTED]>
> wrote:
>
>> It doesn't really matter where you clear it.  Just clear it when you're
>> done
>> with it.  As for the lifecycle question, you have to clear it because you
>> @Persisted it.  If you didn't @Persist it, you wouldn't have to clear it,
>> but you'd likely lose your data when working with the form, depending on
>> your workflow.
>>
>> This should work fine.  I do it all the time.
>>
>> --
>> Kevin
>>
>>
>> On 5/17/08 12:34 PM, "Manuel Corrales" <[EMAIL PROTECTED]> wrote:
>>
>> > Hi Ned, the onSuccess methos is executed before the onSubmit, so that
>> would
>> > not work for me because i am doing the model logic on the onSubmit. I
>> tryed
>> > setting my variable in null after executing my businnes logic, but i
>> still
>> > have the same issue. My private variable should not be cleaned by
>> Tapestry
>> > pooling mechanism?
>> >
>> > The only thing i can think to fix this, is to set my variable to null
>> after
>> > the bussines logic, and then on the onACtivate method check if its null,
>> the
>> > i create a new one, if its not null then i do nothing.
>> >
>> > Thanks, and still waiting for an elegant solution to this ;)
>> > **
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>

Reply via email to