I understood what you and mean John Menke said. But the validations I have
in my abstract action class is not specific for a Person, for example. It
must be called for every action in the system and I don't want it to be
called like PersonUtils.commonCodeMethod(params). This must be automatically
called, so no chance of forgetting.

Thanks you all.

-----Original Message-----
From: Pedro Salgado [mailto:[EMAIL PROTECTED]
Sent: terça-feira, 30 de março de 2004 23:50
To: Struts Users Mailing List
Subject: Re: One Action class but more than one functionality



   Have you tried dispatch action (1 class => several methods that can be
executed)?

  This way you have:

  - class Person extends Action
    - add(request, mapping, form, etc)
    - edit(request, mapping, form, etc)
    - remove(request, mapping, form, etc)

  You could then create a PersonVUtils (validation utilities for Person or
something like that) to refactor the code that is common for adding and
editing a person (in principle, they have the same attributes).


   If still want to continue with a regular action, like John Menke
mentioned, it would be best to have an super abstract class.

  This way you have:

  - abstract class BaseAction extends Action
  - class AddPerson extends BaseAction
    - execute() : 1st executes PersonUtils.commonCodeMethod(params);
  - class EditPerson extends BaseAction
    - execute() : 1st executes PersonUtils.commonCodeMethod(params);
  - class RemovePerson extends BaseAction
    - execute() : 1st executes PersonUtils.commonCodeMethod(params);

Pedro Salgado

On 30/03/2004 21:12, "Menke, John" <[EMAIL PROTECTED]> wrote:

> In our base action classes we have elected not to implement the execute
> method making them abstract actions instead.  this way you can include
> protected methods in these classes to do validation and call them when
> needed.  implementing exeucte method in base class seems too limiting.
you
> could call super.execute() in your execute method but this is sloppy in my
> opinion.  I would rather have a abstract super class.
> 
> 
> -----Original Message-----
> From: Joao Batistella [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, March 30, 2004 3:02 PM
> To: 'Struts Users Mailing List'
> Subject: RE: One Action class but more than one functionality
> 
> 
> That's right.
> But I have a problem. I have a superclass that all other actions extend
and
> this class only implement execute method with generic validations and so
on.
> So, I need the execute method being called, understand?
> Thanks.
> -----Original Message-----
> From: Prabhat Kumar (IT) [mailto:[EMAIL PROTECTED]
> Sent: terça-feira, 30 de março de 2004 17:33
> To: Struts Users Mailing List
> Subject: RE: One Action class but more than one functionality
> look at the org.apache.struts.actions.DispatchAction class. It is exactly
> for the use case you described.
> -----Original Message-----
> From: Joao Batistella [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, March 30, 2004 11:28 AM
> To: 'Struts Users Mailing List'
> Subject: One Action class but more than one functionality
> Hello.
> I have an action class to create, edit and remove a Person, for example.
> Is this a poor decision? I mean, should I create 3 action classes, one for
> create, another for edit and another one for remove?
> Does struts have a mechanism to help me in that?
> Thanks all.
> ---------------------------------------------------------------------
> 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]


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

Reply via email to