In general I like an idea to assembly application from set of pre-defined actions with parameters. It is about reuse of actual action “implementations” within application.
Best,
Igor.



On Mon, 31 Mar 2003 17:07:09 -0800, Van Riper, Mike <[EMAIL PROTECTED]> wrote:


-----Original Message-----
From: Xavier Saint-Denis [mailto:[EMAIL PROTECTED]
Sent: Monday, March 31, 2003 4:21 AM
To: Struts Users Mailing List
Subject: Re: Right way to extends Action


Hi, In our application we use a similar concept :

- we have a class like this :
public abstract class BaseAction extends Action

What about DispatchAction and LookupDispatchAction? Anyone have a good
solution for reuse of common action logic across these multiple action base
classes provided by Struts?



In this class :


- we added some usefull field like a logger an a pointer to a singleton that
retains application's data
protected Log log = LogFactory.getLog(this.getClass());
protected static final Infos infos = Infos.getInstance();


- We change the modifier of the execute Method so as to be sure nobody use
it directly:
public final ActionForward execute(ActionMapping _mapping, ActionForm
_form, HttpServletRequest _req, HttpServletResponse _res) throws Exception {


- In this method we check the user session and log in information
- At the end of this method we call
return executeAction(_mapping, _form, _req, _res);

- This method "executeAction" is defined as this :
public abstract ActionForward executeAction(ActionMapping _mapping,
ActionForm _form, HttpServletRequest _req, HttpServletResponse _res) throws
Exception;


- So when we create a new action, we extend BaseAction and implement the
abstract method executeAction
This way, we have automatic user login check, and a logger at disposition.


regards,

Xavier

----- Original Message -----
From: "niksa_os" <[EMAIL PROTECTED]>
To: "Struts Users Mailing List" <[EMAIL PROTECTED]>
Sent: Monday, March 31, 2003 1:45 PM
Subject: Right way to extends Action


I want all my Actions to extend BaseAction.


In BaseAction I want to check user session and to put some data in it, if
that data doesn't exist.


Is it good way:

public class SomeAction extends BaseAction {
public ActionForward execute( ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response ) {
super.execute( mapping,form, request, response);
OK, proceed ...........


public class BaseAction extends BaseAction { public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response ) { if (userSession is wrong) { -try -- put data in session -catch -- return mapping.findForward("wrongSession");} else return null; //everything is OK

What you think about this way and is there better way to extend Action?

Thanks.




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





-- Igor Shabalov Director of Engineering Exadel Inc. http://www.exadel.com

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



Reply via email to