The point of being easy to understand is very important for a big application 
especially I think.

And I don't understand why u need code duplication?The save action after doing update 
if needs to read, the forward can point to readAction ...
That's what we have done al over our application.So to get the same screen , always 
call same read action from any other save action using proper forward...

So this way you have 2 types of action in your system.openActions and save actions 
.And this approach helps you to solve many other problems as well.



-----Original Message-----
From: Mainguy, Mike [mailto:[EMAIL PROTECTED]
Sent: Thursday, September 25, 2003 4:35 PM
To: 'Struts Users Mailing List'
Subject: RE: [Poll] action mappings


#2 and #3 are, to me, flip sides of the same coin.  Our team is really
divided over which is better.  Currently, we're using #3 and I personally
think it's the best way, but, the argument that has been made that it is
much simpler to understand the application if there is a 1 to 1 mapping and
developers can more readily see the flow of information in a class diagram.
The other advantage that has been proposed is that you can then use your
containers security mechanism to limit access based on Role without
resorting to custom code.

My point of contention is that I don't want to have 4 classes for every
single screen (1 for Create, Read, Update, and Delete) plus 4 action
mappings...  It may be ok for a simple system, but in a large system I can
see that becoming unmanageable very quickly.  Not only that, but I tend to
make my apps very stateless, so, every single request needs to use the Read
operation so I end up with a bunch of duplicate code (i.e. Update and Create
also need to perhaps call read when they are done).




-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]

Sent: Thursday, September 25, 2003 10:25 AM
To: [EMAIL PROTECTED]
Subject: RE: [Poll] action mappings


Thats what prompted me to vote for 2...
Why to have unnecessary have this case statement in every action?

HAve the actions as simple handlers.Performing just simple atomic operations
and acting on whatever configuration they are provided to decide navigation

Something like 

execute(){
//Getdata from form bean
//validate(if automatic validation turned off or u have special validation
requirements) //model.getData or model.updateData //may be form.setData
return mapping.findForward("success"); }


And the voing results are wrong..I have seen 2 votes to #2 including
myself..


-----Original Message-----
From: Mainguy, Mike [mailto:[EMAIL PROTECTED]
Sent: Thursday, September 25, 2003 3:47 PM
To: 'Struts Users Mailing List'
Subject: RE: [Poll] action mappings


So far the results are as follows:

#1 5
#2 1
#3 2
#4 0

I added myself to both 1 and 3 as I've done a project both ways...  Now I
wonder, how does everyone determine which operation you are doing?  As a
parameter in the action mapping?  A big case-style (if else) statement?

-----Original Message-----
From: Mainguy, Mike [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, September 23, 2003 11:06 AM
To: [EMAIL PROTECTED]
Subject: [Poll] action mappings


I have yet another opinion poll for struts-user...

What are folks currently doing for action mappings in relation to CRUD
operations?  
Are you:

#1  creating a unique Action mapping for each atomic operation 
    (potentially mapped to the same action class)
        /createUser.do     ->>  UserAction.java
        /readUser.do       ->>  UserAction.java
        /updateUser.do     ->>  UserAction.java
        /deleteUser.do     ->>  UserAction.java
        

#2  creating a unique Action mapping for each atmoic operation 
    with each action having a unique class
        /createUser.do     ->>  CreateUserAction.java
        /readUser.do       ->>  ReadUserAction.java
        /updateUser.do     ->>  UpdateUserAction.java
        /deleteUser.do     ->>  DeleteUserAction.java

#3  creating an aggregate action class with a unique action mapping with 
    multiple operations and using form/request variable to accomplish CUD
        /editUser.do       ->> UserAction.java   (?OP=Update, ?OP=Create,
?OP=Delete)
        /displayUser.do    ->> UserAction.java


#4  creating an aggregate action class with a unique action mapping with 
    multiple operations
        /editUser.do       ->> EditUserAction.java   
        /displayUser.do    ->> DisplayUserAction.java


Some other way (or a combination) ...

  

This message and its contents (to include attachments) are the property of
Kmart Corporation (Kmart) and may contain confidential and proprietary
information. You are hereby notified that any disclosure, copying, or
distribution of this message, or the taking of any action based on
information contained herein is strictly prohibited. Unauthorized use of
information contained herein may subject you to civil and criminal
prosecution and penalties. If you are not the intended recipient, you should
delete this message immediately.




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


This message and its contents (to include attachments) are the property of
Kmart Corporation (Kmart) and may contain confidential and proprietary
information. You are hereby notified that any disclosure, copying, or
distribution of this message, or the taking of any action based on
information contained herein is strictly prohibited. Unauthorized use of
information contained herein may subject you to civil and criminal
prosecution and penalties. If you are not the intended recipient, you should
delete this message immediately.



---------------------------------------------------------------------
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]


This message and its contents (to include attachments) are the property of Kmart 
Corporation (Kmart) and may contain confidential and proprietary information. You are 
hereby notified that any disclosure, copying, or distribution of this message, or the 
taking of any action based on information contained herein is strictly prohibited. 
Unauthorized use of information contained herein may subject you to civil and criminal 
prosecution and penalties. If you are not the intended recipient, you should delete 
this message immediately.




---------------------------------------------------------------------
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