Without the Action interface, I'm forced to wander through the code trying to guess the starting point or i need to go riffling through the xwork.xml to figure out where the starting point is. This is Not A Good Thing (tm).
M
Jason Carreira wrote:
But it doesn't HAVE to have an execute() method! Well, with the
interface it does, but you don't have to USE it because you can specify
the method to be called... Which is why the Interface is not needed. I
doubt, though, that Mike has checked this in yet, even with his crazy
Aussie sensibilities :-) (plus the fact that sf.net CVS is down evert
time I try to get there).
Actually, having a method called execute() does not tie you to Xwork...
I think every Ant task has to have that, doesn't it? But it's not an
interface, there.
I've gone over my reasons for getting rid of the Action Interface... I'll let Mike chime in when he gets a minute on his crazy whirlwind trip :-)
Jason
-----Original Message-----
From: Pat Lightbody [mailto:[EMAIL PROTECTED] Sent: Wednesday, July 02, 2003 2:32 PM
To: [EMAIL PROTECTED]
Subject: Re: [OS-webwork] WebWork2, here I come!
I don't agree, and I haven't looked at CVS lately, but if the Action interface is gone I'd like for it to be put back so that we can discuss this more.
I think the mistake in your logic is that an action is a "just" a POJO. It's NOT though, it's a POJO with a method called execute() that contains a "stuff". That stuff is specifically put in the execute() method because that object needs to be recognized as something more than "just" an object: it HAS an execute() method, and therefore it IS an Action. This "is a" identity has been used by OO for decades and there is no reason we should get rid of it now.
The argument that making your object implement Action ties it to XWork is dumb. So what if it is... even without it, having a method called execute() ties it to XWork anyway. Even having support for any method (a la command pattern), it is still tied to XWork because the action was written to operate in certain ways (IoC pattern support, getters and setters, and possible callouts to ActionContext).
Please don't underestimate the importance of compile-time checking. For some things (validation, type coercion, web layers, etc) using runtime features of the language is very nice. But I don't want everything to be runtime -- that's why I choose WebWork: it provides a nice balance between compile time and runtime typing.
I vote a BIG -1 to removing the Action interface, I have yet to see a real use case that would demonstrate the importance of doing this.
-Pat
----- Original Message ----- From: "Jason Carreira" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Wednesday, July 02, 2003 11:16 AM Subject: RE: [OS-webwork] WebWork2, here I come!
This is a concern that Mike expressed as well, but I
challenged him to
look at the code and see if it really makes sense. He looked, and grudgingly agreed that it made sense to get rid of it, especially since it took like 10 minutes and Gavin from Hibernate was there, talking about how he'd removed the Peristable interface
from Hibernate
because it was just useless.
Giving people a warm fuzzy feeling is not enough
justification, IMO,
to needlessly tie Actions to Xwork, when they can really just be POJO's with no-arg methods returning a String.very wrong. I
Jason
-----Original Message----- From: Hani Suleiman [mailto:[EMAIL PROTECTED] Sent: Wednesday, July 02, 2003 12:01 PM To: [EMAIL PROTECTED] Subject: Re: [OS-webwork] WebWork2, here I come!
I agree completely. All this 'just define it/figure it out at runtime' stuff really bothers me. Interfaces might be very 'old
school' now, but
they are useful, just so you know at compile time what
contracts your
components/classes/whatever are adhering to. I still have yet
to look
at xwork (waiting for migration guides+tools and performance
reports),
but the concept of having all information in an xml file and
an active
effort to remove type safety/contracts from code feels
as one, inunderstand the allure of 'but you can use ANYTHING as an
action!', but
I do feel that those things that are used as an action should
anticipate somewhat that they are one and will be treated
most cases.
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET
sites including
Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click->
url.com/go/psa00100006ave/direct;at.asp_061203_01/
01 _______________________________________________ Opensymphony-webwork mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_06
1203_01/01 _______________________________________________ Opensymphony-webwork mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork
------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 _______________________________________________ Opensymphony-webwork mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork
------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 _______________________________________________ Opensymphony-webwork mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork