KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > espada > bugtracker > servlets > OpenProject


1 /*
2 ====================================================================
3 Project Name: bugtracker
4 File Name: /src/com/espada/bugtracker/servlets/OpenProject.java
5 Author: Kishan Peiris <kishan@espadanet.com>
6 Description: Opening a project to view list of bugs available and other details such as Status, Severity, etc.
7 CVS Repository: goliath:/projects/repository/cvsroot/
8 CVS Module: bugtracker
9 Version: CVS $Id: $
10 ====================================================================
11
12 */

13
14
15 package com.espada.bugtracker.servlets;
16  import java.util.*;
17
18
19 // webmacro resources
20
import org.webmacro.*;
21  import org.webmacro.broker.*;
22  import org.webmacro.resource.*;
23  import org.webmacro.servlet.WebContext;
24
25 // servlet libraries
26
import javax.servlet.http.*;
27  import javax.servlet.*;
28
29 // bugtracker java apps
30
import com.espada.bugtracker.app.*;
31
32
33 public class OpenProject extends BTServlet
34 {
35
36
37    protected void doAction(HttpServletRequest request, HttpServletResponse response, WebContext c){
38      projectDetails(request,response,c);
39    };
40    public String JavaDoc getInitialTemplate(){
41       return("openProject.wm");
42    }
43
44    /**************************** Start Of Method projectDetails ********************************************/
45    /** Opening a project for bugs...*/
46
47    private void projectDetails(HttpServletRequest request, HttpServletResponse response, WebContext c)
48    {
49
50             HttpSession session = request.getSession();
51
52             String JavaDoc SuccessLoggedIn = (String JavaDoc) session.getAttribute("loggedIn");
53
54             String JavaDoc pageLocation = new String JavaDoc();
55
56             boolean loggedIn = false;
57
58             if(SuccessLoggedIn != null)
59             {
60                 if(SuccessLoggedIn.equals("true"))
61                 {
62                       defaultTemplate = "openProject.wm";
63
64                       loggedIn = true;
65
66                       int UID = ( (Integer JavaDoc)session.getAttribute("UID") ).intValue();
67
68                       c.put("USER",session.getAttribute("USER"));
69
70
71
72     /*******************************************************************************************/
73     /*******************
74      Required parameters from WebMacro file
75      *******************/

76
77
78                         String JavaDoc sortBy = (request.getParameter("sort") == null)?"bid":request.getParameter("sort");
79                         int pid = Integer.parseInt(request.getParameter("projID"));
80                         int trancheSize = Integer.parseInt( request.getParameter("trancheSize") );
81                         int pageNumber = Integer.parseInt( request.getParameter("pageNumber") );
82             int limitStatus = (request.getParameter("limitStatus") == null)?0:Integer.parseInt( request.getParameter("limitStatus") );
83                         int limitSeverity = (request.getParameter("limitSeverity") == null)?0:Integer.parseInt( request.getParameter("limitSeverity") );
84                         Project myProject = new Project(pid);
85             String JavaDoc myRole=myProject.getRoleID(UID);
86             session.setAttribute("PUR", (myRole==null)?"0":myRole );
87                         c.put("RoleID",(String JavaDoc)session.getAttribute("PUR"));
88
89
90      /*Seeting up a session on current project*/
91
92                         session.setAttribute("currentProject",myProject);
93
94                         Vector bugs = new Vector();
95
96                         if (limitStatus == 0)
97                         {
98                             if (limitSeverity == 0)
99                             {
100
101                                 bugs = Bug.getAllBugs(myProject, sortBy, pageNumber, trancheSize);
102
103                             }
104                              else
105                              {
106
107                                 bugs = Bug.getAllBugs(myProject, sortBy, new Severity(limitSeverity), pageNumber, trancheSize);
108
109                              }
110                         }
111                          else
112                          {
113                            if (limitSeverity == 0)
114                            {
115
116                                 bugs = Bug.getAllBugs(myProject, sortBy, new Status(limitStatus), pageNumber, trancheSize);
117
118                            }
119                              else
120                              {
121
122                                 bugs = Bug.getAllBugs(myProject, sortBy, new Status(limitStatus), new Severity(limitSeverity), pageNumber, trancheSize);
123
124                              }
125                          }
126
127      /*******************************************************************************************/
128      /*******************
129       Creating bug severity array of objects
130      ********************/

131
132                           Severity server = new Severity(); //object of severity
133
Vector sev = Severity.getSeverities(); //vector of severity
134
Vector s = new Vector(); //to copy as an array of object severity
135
int i;
136
137                             for (i=0; i < sev.size(); i++) //number of selected items
138
{
139                               server = ((Severity)sev.get(i)); //assigning lements
140
s.addElement(server); //adding all objects
141
}
142
143                              Severity pros[] = new Severity[s.size()];//severity type array
144
s.copyInto(pros); //cope all into new array object pros
145

146
147      /*******************************************************************************************/
148      /*******************
149       Creating bug status array of objects
150      ********************/

151
152                           Vector stv = Status.getStatusList();
153                           Vector ss = new Vector();
154                           Status bstat = new Status();
155
156                             for (i=0; i < stv.size(); i++)
157                             {
158                               bstat = ((Status)stv.get(i));
159                               ss.addElement(bstat);
160                             }
161
162                              Status statObj[] = new Status[ss.size()];
163                              ss.copyInto(statObj);
164
165
166     /*******************************************************************************************/
167     /*******************
168      Selected bugs, array of objects
169     ********************/

170
171
172                           Vector bb = new Vector();
173                           Bug b = new Bug();
174
175                           for (i=0; i < bugs.size() ; i++)
176                             {
177                                b = (Bug)bugs.get(i);
178                               bb.addElement(b);
179                             }
180
181                              Bug bugObj[] = new Bug[bb.size()];
182                              bb.copyInto(bugObj);
183
184     /*******************************************************************************************/
185     /*******************
186      Passing parameter to WebMacro file
187     ********************/

188
189                       c.put("currentProject",myProject);
190
191                       c.put("trancheSize",String.valueOf(trancheSize));
192
193                       c.put("limitSeverity",String.valueOf(limitSeverity));
194
195                       c.put("limitStatus",String.valueOf(limitStatus));
196
197                       c.put("sortBy",sortBy);
198
199                       c.put("pros",pros);
200
201                       c.put("statObj",statObj);
202
203                       c.put("bugObjs",bugObj);
204
205
206                      /*******************************************************************************************/
207                      /*******************
208                       Page "next" or "previous"
209                      ********************/

210
211                                          boolean hasMore = ( bugs.size() == trancheSize );
212
213                                          int backPage = pageNumber;
214                                          session.setAttribute("page",new Integer JavaDoc(pageNumber));
215
216                                          if( hasMore )
217                                          {
218                                            pageNumber = pageNumber + 1;
219                                          }
220
221                                           if( backPage >0 )
222                                           {
223                                              c.put("back","yes");
224                                              backPage = backPage - 1;
225                                           }
226                                            else
227                                               if( (!hasMore) && (backPage >0) )
228                                               {
229                                                  backPage = backPage - 1;
230                                                  c.put("back","yes");
231                                               }
232                                              else
233                                              {
234                                                 c.put("back","no");
235                                              }
236                         c.put("waite",String.valueOf(session.getAttribute("page")));
237
238                         c.put("hasMore",String.valueOf(hasMore));
239
240                         c.put("pageNumber",String.valueOf(pageNumber));
241
242                         c.put("backPage",String.valueOf(backPage));
243
244
245
246                 }
247                  else
248                  {
249
250                     loggedIn = false;
251
252                     defaultTemplate = "errorMesg.wm";
253
254                     c.put("errorId","9");
255
256                  }
257             }
258              else
259              {
260
261                loggedIn = false;
262
263                defaultTemplate = "errorMesg.wm";
264
265                c.put("errorId","9");
266
267              }
268
269       c.put("loggedIn",String.valueOf(loggedIn));
270       c.put("myRoleId",session.getAttribute("USERROLE") );
271
272    } //end of method
273

274    /**************************** End Of Method projectDetails ********************************************/
275
276
277
278
279
280
281 } //end of class
Popular Tags