[ 
https://issues.apache.org/struts/browse/STR-2940?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_40220
 ] 

Frank W. Zammetti commented on STR-2940:
----------------------------------------

I have zero problem with seeing an Action that does all this, but I have to 
ask, what's the impetus for munging the well-known Action class?  I'll assume 
you've thought through all the compatibility issues and have avoided them, 
which sounds like it's the case, but doesn't this just complicate matters?  Why 
not leave Action alone, nice, simple and light-weight as it basically is, and 
instead create a new descendant for folks to use, maybe call it UberAction or 
something? :)  I'm just not sure I see the benefit to modifying a 
well-understood class that overrides the added complexity (and yes, I know no 
one has to use the complexity, but it's there, which means more for a brain to 
parse regardless).

> Base Action should implement dispatch functionality (building a 
> coarse-grained action)
> --------------------------------------------------------------------------------------
>
>                 Key: STR-2940
>                 URL: https://issues.apache.org/struts/browse/STR-2940
>             Project: Struts 1
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Michael Jouravlev
>         Assigned To: Michael Jouravlev
>            Priority: Minor
>
> Since DispatchAction was introduced, it became possible to write actions in 
> two styles:
> * Fine-grained actions that process only one kind of request / command / 
> event. These are standard Action classes where code is written in execute() 
> method.
> * Coarse-grained actions that process several commands/events. These are 
> DispatchAction, MappingDispatchAction, LookupDispatchAction and 
> EventDispatchAction. 
> Building coarse-grained actions always has been kind of hack with either 
> using the generic "parameter" attribute of an action mapping, or with 
> building event-to-method maps in the code.
> The proposed enhancement has the following goals:
> * Add dispatch functionality to base Action without affecting current Action 
> usage.
> * Accept that both fine-grained and coarse-grained approaches are valid and 
> should be equally represented; one approach should not suffer from dominating 
> of another.
> * Extend syntax of an action mapping to allow event defintion using 
> designated elements instead of using hacks like generic "parameter" attribute.
> * Allow using wildcards in event definitions.
> * With a coarse-grained action it is easier to introduce a concept of a web 
> resource that can be affected by several events, can have state and can 
> render several views. This concept allows to draw some similarities between a 
> Model 2 framework like Struts and code-behind framework like .NET: Action + 
> ActionForm is a code-behind, JSP is markup, event-handling methods in an 
> Action class are event handlers.
> Introduction of Command class in Struts 1.3.x does not affect coarse-grained 
> actions, these actions should be implemented with an Action class.
> Action class retrofitted to support dispatch functionality will behave 
> exactly like EventDispatchAction when used as a coarce-grained action.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to