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