KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > hero > struts > actions > WorklistAction


1 package hero.struts.actions;
2
3 import java.io.IOException JavaDoc;
4
5 import javax.servlet.ServletException JavaDoc;
6 import javax.servlet.http.HttpServletRequest JavaDoc;
7 import javax.servlet.http.HttpSession JavaDoc;
8 import javax.servlet.http.HttpServletResponse JavaDoc;
9 import org.apache.struts.action.ActionError;
10 import org.apache.struts.action.ActionErrors;
11 import org.apache.struts.action.ActionForm;
12 import org.apache.struts.action.ActionMapping;
13 import org.apache.struts.action.ActionForward;
14
15 import java.util.*;
16
17 import hero.struts.activity.*;
18 import hero.interfaces.*;
19 import hero.util.*;
20
21 /**
22  * <strong>WorklistAction</strong>
23  * Action that allows the user to work with worklist
24  *
25  *@author Miguel Valdes Faura
26  */

27
28 public class WorklistAction extends AbstStrutsActionBase
29 {
30   public boolean authenticate(String JavaDoc username, String JavaDoc password)
31   {
32     return(true);
33   }
34     /**
35      * @param mapping The ActionMapping used to select this instance
36      * @param actionForm The optional AbstActionFormBase bean for this request (if any)
37      * @param request The HTTP request we are processing
38      * @param response The HTTP response we are creating
39      * @exception IOException if an input/output error occurs
40      * @exception ServletException if a servlet exception occurs
41      */

42     public ActionForward perform(ActionMapping mapping, ActionForm form,
43         HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response) throws IOException JavaDoc, ServletException JavaDoc
44     {
45
46         ActionForward actionForward = mapping.findForward(WORKLIST);
47         // Create the container for any errors that occur
48
ActionErrors errors = new ActionErrors();
49     HttpSession JavaDoc session = request.getSession();
50
51     try
52     {
53         Vector workList = new Vector();
54         hero.interfaces.UserSessionLocalHome userh = (UserSessionLocalHome)hero.interfaces.UserSessionUtil.getLocalHome();
55         hero.interfaces.UserSessionLocal usersession = userh.create();
56
57         hero.interfaces.ProjectSessionLocalHome projecth = (ProjectSessionLocalHome)hero.interfaces.ProjectSessionUtil.getLocalHome();
58
59         request.getSession(true).setAttribute("username", usersession.getUser());
60         request.getSession(true).setAttribute("password", usersession.getUserPassword());
61
62         Collection projects = usersession.getProjectList();
63         Iterator i = projects.iterator();
64         while (i.hasNext())
65         {
66         Hashtable todoListReady = new Hashtable();
67         Hashtable todoListAnti = new Hashtable();
68         Hashtable activityListAnti = new Hashtable();
69         Hashtable activityListExec = new Hashtable();
70
71         String JavaDoc currentProject = ((hero.interfaces.BnProjectLightValue)i.next()).getName();
72         Vector todoListNames = new Vector(usersession.getToDoList(currentProject));
73         Vector activityListNames = new Vector(usersession.getActivityList(currentProject));
74
75         if (todoListNames.size() != 0 || activityListNames.size() != 0)
76         {
77           try{
78             Worklist wl = new Worklist();
79             wl.setProjectName(currentProject);
80             hero.interfaces.ProjectSessionLocal projectsession = projecth.create();
81             projectsession.initProject(currentProject);
82             
83             int j=0;
84             while (j<todoListNames.size())
85             {
86             StrutsNodeValue stnt = new StrutsNodeValue();
87             stnt.setProjectName(currentProject);
88             stnt.setName(((hero.interfaces.BnNodeValue)projectsession.getNodeValue((String JavaDoc)todoListNames.elementAt(j))).getName());
89             if (((hero.interfaces.BnNodeValue)projectsession.getNodeValue((String JavaDoc)todoListNames.elementAt(j))).getState() == hero.interfaces.Constants.Nd.READY)
90                 todoListReady.put((String JavaDoc)todoListNames.elementAt(j),stnt);
91             else
92                 todoListAnti.put((String JavaDoc)todoListNames.elementAt(j),stnt);
93             j++;
94             }
95             j=0;
96             while (j<activityListNames.size())
97             {
98             StrutsNodeValue stna = new StrutsNodeValue();
99             stna.setProjectName(currentProject);
100             stna.setName(((hero.interfaces.BnNodeValue)projectsession.getNodeValue((String JavaDoc)activityListNames.elementAt(j))).getName());
101
102             if (((hero.interfaces.BnNodeValue)projectsession.getNodeValue((String JavaDoc)activityListNames.elementAt(j))).getState() == hero.interfaces.Constants.Nd.ANTICIPATING)
103                 activityListAnti.put((String JavaDoc)activityListNames.elementAt(j),stna);
104
105             else
106                 activityListExec.put((String JavaDoc)activityListNames.elementAt(j),stna);
107                 j++;
108
109             }
110             wl.setTodoListReady(todoListReady);
111             wl.setTodoListAnti(todoListAnti);
112             wl.setActivityListAnti(activityListAnti);
113             wl.setActivityListExec(activityListExec);
114             workList.add(wl);
115           }catch(Exception JavaDoc ex){};
116         }
117             }
118         request.getSession(true).setAttribute("worklist", workList);
119         request.getSession(true).setAttribute("worklistSize", Long.toString(workList.size()));
120         request.getSession(true).setAttribute("wsname",null);
121    
122         actionForward = mapping.findForward(WORKLIST);
123     }catch(Exception JavaDoc e){errors.add("activity_error", new ActionError("error.deadline.mismatch"));}
124
125     if (!errors.empty()) {
126         saveErrors(request, errors);
127         }
128
129     // Forward control to the appropriate URI as determined by the action.
130
return (actionForward);
131     }
132
133 }
134
Popular Tags