[
https://issues.apache.org/struts/browse/STR-2940?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_40222
]
Frank W. Zammetti commented on STR-2940:
----------------------------------------
I'm not arguing what your trying to do... I'm simply asking two intermingled
questions here:
Why does what your trying to do have to involve modifying Action? Why isn't
simply creating a new kind of Action sufficient?
I imagine that when DispatchAction was first introduced, a similar question was
asked... why not just add dispatching functionality to Action and be done with
it? Well, somewhere along the line, someone decided a second kind of Action
was the better answer. I'm asking the same question here, not debating whether
what your proposing is a good idea or not. It seems to me, if it's a new
descendant of Action, then that question is moot anyway.
If your only goal is to push a new mindset on people, which frankly seems to be
the case based on what you said in the previous comment, I would contend that's
not the right reason to do this, considering the tremendous number of existing
Struts apps that have to be maintained.
A related piont, although one I hesitate to make frankly... One could certainly
make the argument that S1 is quickly becoming legacy given the advent of S2,
and in that frame of mind, I don't think major architectural changes (which
this is, whether developers are forced to deal with it or not) should be
undertaken lightly.
> 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.