KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jahia > webapps > fichotheque > FichothequeHandler


1 package org.jahia.webapps.fichotheque;
2
3 import java.io.*;
4 import java.util.*;
5 import java.sql.*;
6 import javax.servlet.*;
7 import javax.servlet.http.*;
8
9 import org.jahia.tools.*;
10 import org.jahia.tools.db.*;
11
12
13 /**
14  * Execute the correct display for the action parameter
15  *
16  * @author Yann Gentil <a HREF="mailto:gentil@xo3.com">gentil@xo3.com</a>
17  * @version %I%, %G%
18
19  */

20 public class FichothequeHandler
21 {
22   private static org.apache.log4j.Logger logger =
23       org.apache.log4j.Logger.getLogger(FichothequeHandler.class);
24
25     /** the reference to the database pooling service **/
26     private DBServices m_DBServices;
27
28     public FichothequeHandler()
29     {
30     }
31
32
33
34     /**
35      * Method to display next card
36      *
37      * @param request the http request send to this servlet
38      */

39     public static void handleDisplayNextCard(HttpServletRequest request)
40         throws IOException, ServletException
41     {
42       HttpSession session = request.getSession(true);
43
44       // get the params rom request
45
String JavaDoc cardLibraryName = (String JavaDoc) request.getAttribute("cardLibraryName");
46       String JavaDoc userRight = (String JavaDoc) session.getAttribute(cardLibraryName +
47           "_userRight");
48       int current_cardID = Integer.parseInt( (String JavaDoc) request.getAttribute(
49           "card_id"));
50       Query query = (Query) session.getAttribute(cardLibraryName + "_query");
51       String JavaDoc sortedBy = (String JavaDoc) session.getAttribute(cardLibraryName + "_sort");
52       ListCards currentList = (ListCards) session.getAttribute(cardLibraryName
53           + "_listCards");
54       String JavaDoc sortFlag = (String JavaDoc) session.getAttribute(cardLibraryName +
55           "_sortFlag");
56       String JavaDoc inPortal = (String JavaDoc) request.getAttribute("org.portletapi.portal");
57       String JavaDoc contextId = (String JavaDoc) request.getAttribute("org.portletapi.contextid");
58       String JavaDoc remoteUser = (String JavaDoc) request.getRemoteUser();
59       String JavaDoc useMode = (String JavaDoc) session.getAttribute(cardLibraryName + "_useMode");
60       //Card oldCard = new Card(current_cardID, cardLibraryName);
61
//int size = oldCard.getFields().size();
62
//String cardContext = (String)oldCard.getFields().get(size-2);
63

64       if ( (currentList.getSize() == 0)) {
65
66         // do the query inactive
67
query.setqueryActive(false);
68         session.setAttribute(cardLibraryName + "_query", query);
69
70         // reload the list
71
//currentList.loadList(cardLibraryName, userRight, query, sortedBy, sortFlag, contextId, inPortal, useMode, remoteUser);
72
currentList.loadList(contextId, inPortal, useMode, remoteUser, userRight, sortFlag, sortedBy);
73         session.setAttribute(cardLibraryName + "_listCards", currentList);
74       }
75       current_cardID = currentList.getNextCardId(current_cardID);
76
77       // Card crd = new Card(current_cardID, cardLibraryName); // load next card
78
Vector v = new Vector();
79       Card crd = AccessDB.findCard(current_cardID);
80       v.add("x");
81       v.add(crd.getLastName());
82       v.add(crd.getFirstName());
83       v.add(crd.getAbsenceType());
84       v.add(crd.getFirstAbsenceDay());
85       v.add(crd.getLastAbsenceDay());
86       v.add(crd.getUser());
87       v.add(crd.getContextId());
88       v.add(crd.getStatus());
89
90       crd.setFields(v);
91
92       crd.setCardLibraryName(cardLibraryName);
93       request.setAttribute("card", crd);
94       request.setAttribute("next_page", "display_card.jsp");
95       request.setAttribute("menu_page", "menuCard.jsp");
96       request.setAttribute("bottom_page", "bottomCard.jsp");
97     }
98
99
100     /**
101      * Method to display previous card
102      *
103      * @param request the http request send to this servlet
104      */

105     public static void handleDisplayPreviousCard(HttpServletRequest request)
106         throws IOException, ServletException
107     {
108         HttpSession session = request.getSession(true);
109
110         // get the params rom request
111
String JavaDoc cardLibraryName = (String JavaDoc)request.getAttribute("cardLibraryName");
112         String JavaDoc userRight = (String JavaDoc)session.getAttribute(cardLibraryName + "_userRight");
113         int current_cardID = Integer.parseInt((String JavaDoc)request.getAttribute("card_id"));
114         Query query = (Query)session.getAttribute(cardLibraryName + "_query");
115         String JavaDoc sortedBy = (String JavaDoc)session.getAttribute(cardLibraryName + "_sort");
116         ListCards currentList = (ListCards)session.getAttribute(cardLibraryName
117                                                                + "_listCards");
118         String JavaDoc sortFlag = (String JavaDoc)session.getAttribute(cardLibraryName + "_sortFlag");
119         String JavaDoc inPortal = (String JavaDoc)request.getAttribute("org.portletapi.portal");
120         String JavaDoc contextId = (String JavaDoc)request.getAttribute("org.portletapi.contextid");
121         String JavaDoc remoteUser = (String JavaDoc)request.getRemoteUser();
122         String JavaDoc useMode = (String JavaDoc)session.getAttribute(cardLibraryName + "_useMode");
123
124         if (currentList.getSize() == 0)
125             {
126                 // do the query inactive
127
query.setqueryActive(false);
128                 session.setAttribute(cardLibraryName+"_query",query);
129
130                 // reload the list
131
//currentList.loadList(cardLibraryName, userRight, query, sortedBy, sortFlag, contextId, inPortal, useMode, remoteUser);
132
currentList.loadList(contextId, inPortal, useMode, remoteUser, userRight,sortFlag, sortedBy);
133                 session.setAttribute(cardLibraryName + "_listCards",currentList);
134             }
135             current_cardID = currentList.getPreviousCardId(current_cardID);
136            // Card crd = new Card(current_cardID, cardLibraryName); // load previous card
137
Vector v = new Vector();
138            Card crd = AccessDB.findCard(current_cardID);
139            v.add("x");
140            v.add(crd.getLastName());
141            v.add(crd.getFirstName());
142            v.add(crd.getAbsenceType());
143            v.add(crd.getFirstAbsenceDay());
144            v.add(crd.getLastAbsenceDay());
145            v.add(crd.getUser());
146            v.add(crd.getContextId());
147            v.add(crd.getStatus());
148
149            crd.setFields(v);
150
151            crd.setCardLibraryName(cardLibraryName);
152
153            request.setAttribute("card", crd);
154            request.setAttribute("next_page", "display_card.jsp");
155            request.setAttribute("menu_page", "menuCard.jsp");
156            request.setAttribute("bottom_page","bottomCard.jsp");
157     }
158
159
160
161     /**
162      * Method to display current card
163      *
164      * @param request the http request send to this servlet
165      */

166     public static void handleDisplayCurrentCard(HttpServletRequest request)
167         throws IOException, ServletException
168     {
169         HttpSession session = request.getSession(true);
170
171         // get the params rom request
172
String JavaDoc cardLibraryName = (String JavaDoc)request.getAttribute("cardLibraryName");
173         String JavaDoc userRight = (String JavaDoc)session.getAttribute(cardLibraryName + "_userRight");
174         int current_cardID = Integer.parseInt((String JavaDoc)request.getAttribute("card_id"));
175         Query query = (Query)session.getAttribute(cardLibraryName + "_query");
176         String JavaDoc sortedBy = (String JavaDoc)session.getAttribute(cardLibraryName + "_sort");
177         ListCards currentList = (ListCards)session.getAttribute(cardLibraryName
178                                                                + "_listCards");
179         String JavaDoc sortFlag = (String JavaDoc)session.getAttribute(cardLibraryName + "_sortFlag");
180         String JavaDoc inPortal = (String JavaDoc)request.getAttribute("org.portletapi.portal");
181         String JavaDoc contextId = (String JavaDoc)request.getAttribute("org.portletapi.contextid");
182         String JavaDoc remoteUser = (String JavaDoc)request.getRemoteUser();
183         String JavaDoc useMode = (String JavaDoc)session.getAttribute(cardLibraryName + "_useMode");
184         logger.debug("cardlib "+cardLibraryName);
185         logger.debug("useMode "+ useMode);
186         logger.debug("sortedBy "+sortedBy);
187         logger.debug("sorteFlag "+sortFlag);
188         logger.debug("remoteUser "+remoteUser);
189
190         if (currentList.getSize() == 0)
191             {
192                 // do the query inactive
193
query.setqueryActive(false);
194                 session.setAttribute(cardLibraryName+"_query",query);
195
196                 // reload the list
197
// currentList.loadList(cardLibraryName, userRight, query, sortedBy, sortFlag, contextId, inPortal, useMode, remoteUser);
198
currentList.loadList(contextId, inPortal, useMode, remoteUser, userRight,sortFlag, sortedBy);
199                session.setAttribute(cardLibraryName + "_listCards",currentList);
200             }
201             current_cardID = currentList.getCurrentCardId(current_cardID);
202             //Card crd = new Card(current_cardID, cardLibraryName); // load current card
203
Vector v = new Vector();
204             Card crd = AccessDB.findCard(current_cardID);
205             v.add("x");
206             v.add(crd.getLastName());
207             v.add(crd.getFirstName());
208             v.add(crd.getAbsenceType());
209             v.add(crd.getFirstAbsenceDay());
210             v.add(crd.getLastAbsenceDay());
211             v.add(crd.getUser());
212             v.add(crd.getContextId());
213             v.add(crd.getStatus());
214
215             crd.setFields(v);
216
217             crd.setCardLibraryName(cardLibraryName);
218
219             request.setAttribute("card",crd);
220             request.setAttribute("next_page","display_card.jsp");
221             request.setAttribute("menu_page","menuCard.jsp");
222             request.setAttribute("bottom_page","bottomCard.jsp");
223     }
224
225
226     /**
227      * Method to display next deleted
228      *
229      * @param request the http request send to this servlet
230      */

231     public static void handleDisplayNextDeleted(HttpServletRequest request)
232         throws IOException, ServletException
233     {
234         HttpSession session = request.getSession(true);
235
236         // get the params rom request
237
String JavaDoc cardLibraryName = (String JavaDoc)request.getAttribute("cardLibraryName");
238         String JavaDoc userRight = (String JavaDoc)session.getAttribute(cardLibraryName + "_userRight");
239         int current_cardID = Integer.parseInt((String JavaDoc)request.getAttribute("card_id"));
240         Query query = (Query)session.getAttribute(cardLibraryName + "_query");
241         String JavaDoc sortedBy = (String JavaDoc)session.getAttribute(cardLibraryName + "_sort");
242         ListCards currentList = (ListCards)session.getAttribute(cardLibraryName
243                                                                + "_listCards");
244         String JavaDoc sortFlag = (String JavaDoc)session.getAttribute(cardLibraryName + "_sortFlag");
245         String JavaDoc inPortal = (String JavaDoc)request.getAttribute("org.portletapi.portal");
246         String JavaDoc contextId = (String JavaDoc)request.getAttribute("org.portletapi.contextid");
247         String JavaDoc remoteUser = (String JavaDoc)request.getRemoteUser();
248         String JavaDoc useMode = (String JavaDoc)session.getAttribute(cardLibraryName + "_useMode");
249         if (currentList.getSize() == 0)
250             {
251                 // do the query inactive
252
query.setqueryActive(false);
253                 session.setAttribute(cardLibraryName+"_query",query);
254
255                 // reload the list
256
}
257
258             // set current_cardID to the card that follow the card deleted
259
int id = currentList.getNextCardId(current_cardID);
260             // the card has been deleted, then reload the list
261
ListCards reloadList = new ListCards();
262 // reloadList.loadList(cardLibraryName, userRight, query, sortedBy, sortFlag, contextId, inPortal, useMode, remoteUser);
263
reloadList.loadList(contextId, inPortal, useMode, remoteUser, userRight,sortFlag, sortedBy);
264             session.setAttribute(cardLibraryName + "_listCards",reloadList);
265
266             //Card crd = new Card(current_cardID, cardLibraryName); // load current card
267
Vector v = new Vector();
268              if(id!=current_cardID) {
269                Card crd = AccessDB.findCard(id);
270                v.add("x");
271                v.add(crd.getLastName());
272                v.add(crd.getFirstName());
273                v.add(crd.getAbsenceType());
274                v.add(crd.getFirstAbsenceDay());
275                v.add(crd.getLastAbsenceDay());
276                v.add(crd.getUser());
277                v.add(crd.getContextId());
278                v.add(crd.getStatus());
279
280                crd.setFields(v);
281
282                crd.setCardLibraryName(cardLibraryName);
283
284                request.setAttribute("card", crd);
285              }
286
287              else {
288                Card crd = new Card();
289                crd.setFields(v);
290                crd.setCardLibraryName(cardLibraryName);
291                query.setqueryActive(false);
292                session.setAttribute(cardLibraryName + "_query", query);
293                request.setAttribute("card", crd);
294
295              }
296             request.setAttribute("next_page","display_card.jsp");
297             request.setAttribute("menu_page","menuCard.jsp");
298             request.setAttribute("bottom_page","bottomCard.jsp");
299     }
300
301
302
303     /**
304      * Method to display suggest form
305      *
306      * @param request the http request send to this servlet
307      */

308     public static void handleDisplaySuggestForm(HttpServletRequest request)
309         throws IOException, ServletException
310     {
311         // indicate to display_form.jsp that is a suggest card from a reader
312
request.setAttribute("formRole", "Suggest");
313         request.setAttribute("next_page","display_form.jsp");
314         request.setAttribute("menu_page","empty.jsp");
315         request.setAttribute("bottom_page","bottomForm.jsp");
316     }
317
318
319
320     /**
321      * Method to display search form
322      *
323      * @param request the http request send to this servlet
324      */

325     public static void handleDisplaySearchForm(HttpServletRequest request)
326         throws IOException, ServletException
327     {
328         request.setAttribute("next_page","display_searchForm.jsp");
329         request.setAttribute("menu_page","empty.jsp");
330         request.setAttribute("bottom_page","bottomSearch.jsp");
331     }
332
333
334
335     /**
336      * Method to display add form
337      *
338      * @param request the http request send to this servlet
339      */

340     public static void handleDisplayAddForm(HttpServletRequest request)
341         throws IOException, ServletException
342     {
343         // indicate to display_form.jsp that is a add card from a editor
344
request.setAttribute("formRole", "Add");
345         request.setAttribute("next_page","display_form.jsp");
346         request.setAttribute("menu_page","empty.jsp");
347         request.setAttribute("bottom_page","bottomForm.jsp");
348     }
349
350
351     /**
352      * Method to display update form
353      *
354      * @param request the http request send to this servlet
355      */

356     public static void handleDisplayUpdateForm(HttpServletRequest request)
357         throws IOException, ServletException
358     {
359         String JavaDoc cardLibraryName = (String JavaDoc)request.getAttribute("cardLibraryName");
360         int current_cardID = Integer.parseInt((String JavaDoc)request.getAttribute("card_id"));
361
362        // Card crd = new Card(current_cardID, cardLibraryName); // load current card
363
Vector v = new Vector();
364        Card crd = AccessDB.findCard(current_cardID);
365        v.add("x");
366        v.add(crd.getLastName());
367        v.add(crd.getFirstName());
368        v.add(crd.getAbsenceType());
369        v.add(crd.getFirstAbsenceDay());
370        v.add(crd.getLastAbsenceDay());
371        v.add(crd.getUser());
372        v.add(crd.getContextId());
373        v.add(crd.getStatus());
374
375        crd.setFields(v);
376
377        crd.setCardLibraryName(cardLibraryName);
378
379        request.setAttribute("card",crd);
380
381        // indicate to display_form to diplay the field's values
382
request.setAttribute("formRole", "Update");
383        request.setAttribute("next_page","display_form.jsp");
384        request.setAttribute("menu_page","empty.jsp");
385        request.setAttribute("bottom_page","bottomForm.jsp");
386     }
387
388
389
390     /**
391      * Method to display confirm delete
392      *
393      * @param request the http request send to this servlet
394      */

395     public static void handleDisplayConfirmDelete(HttpServletRequest request)
396         throws IOException, ServletException
397     {
398         String JavaDoc cardLibraryName = (String JavaDoc)request.getAttribute("cardLibraryName");
399         int current_cardID = Integer.parseInt((String JavaDoc)request.getAttribute("card_id"));
400
401         // Card crd = new Card(current_cardID, cardLibraryName); // load current card
402
Vector v = new Vector();
403         Card crd = AccessDB.findCard(current_cardID);
404         v.add("x");
405         v.add(crd.getLastName());
406         v.add(crd.getFirstName());
407         v.add(crd.getAbsenceType());
408         v.add(crd.getFirstAbsenceDay());
409         v.add(crd.getLastAbsenceDay());
410         v.add(crd.getUser());
411         v.add(crd.getContextId());
412         v.add(crd.getStatus());
413         crd.setFields(v);
414         crd.setCardLibraryName(cardLibraryName);
415         request.setAttribute("card", crd);
416
417         request.setAttribute("next_page","confirmdelete.jsp");
418         request.setAttribute("menu_page","empty.jsp");
419         request.setAttribute("bottom_page","bottomConfirmDelete.jsp");
420     }
421
422
423
424     /**
425      * Method to display list cards
426      *
427      * @param request the http request send to this servlet
428      */

429     public static void handleDisplayListCards(HttpServletRequest request) throws
430         IOException, ServletException {
431       HttpSession session = request.getSession(true);
432
433       // get the params rom request
434
String JavaDoc cardLibraryName = (String JavaDoc) request.getAttribute("cardLibraryName");
435
436       String JavaDoc userRight = (String JavaDoc) session.getAttribute(cardLibraryName +
437           "_userRight");
438       int current_cardID = Integer.parseInt( (String JavaDoc) request.getAttribute(
439           "card_id"));
440       logger.debug("card-id " + current_cardID);
441       Query query = (Query) session.getAttribute(cardLibraryName + "_query");
442       String JavaDoc sortedBy = (String JavaDoc) session.getAttribute(cardLibraryName + "_sort");
443       ListCards currentList = (ListCards) session.getAttribute(cardLibraryName
444           + "_listCards");
445
446       String JavaDoc sortFlag = (String JavaDoc) session.getAttribute(cardLibraryName +
447           "_sortFlag");
448       String JavaDoc inPortal = (String JavaDoc) request.getAttribute("org.portletapi.portal");
449       String JavaDoc contextId = (String JavaDoc) request.getAttribute("org.portletapi.contextid");
450       String JavaDoc remoteUser = (String JavaDoc) request.getRemoteUser();
451       String JavaDoc useMode = (String JavaDoc) session.getAttribute(cardLibraryName + "_useMode");
452
453       // Card crd = new Card(current_cardID, cardLibraryName); // load current card
454
Card crd = AccessDB.findCard(current_cardID);
455       String JavaDoc s = crd.getLastName();
456       crd.setCardLibraryName(cardLibraryName);
457       request.setAttribute("card", crd);
458       ListCards List = new ListCards();
459       List.loadList(contextId, inPortal, useMode, remoteUser,userRight, sortFlag, sortedBy);
460       //List.loadList(cardLibraryName, userRight, query, sortedBy, sortFlag, contextId, inPortal, useMode, remoteUser); // load list of cards
461
//List.loadList(contextId, inPortal, useMode, remoteUser);
462
// load list of cards
463

464       session.setAttribute(cardLibraryName + "_listCards", List);
465       request.setAttribute("next_page", "display_list.jsp");
466       request.setAttribute("menu_page", "menuList.jsp");
467       request.setAttribute("bottom_page", "bottomList.jsp");
468     }
469
470     /**
471
472     /**
473      * Method to display switch mode form
474      *
475      * @param request the http request send to this servlet
476      */

477     public static void handleDisplaySwitchModeForm(HttpServletRequest request)
478         throws IOException, ServletException
479     {
480         HttpSession session = request.getSession(true);
481
482         // get the params rom request
483
String JavaDoc cardLibraryName = (String JavaDoc)request.getAttribute("cardLibraryName");
484
485         String JavaDoc editorRole = (String JavaDoc)session.getAttribute(cardLibraryName + "_editorRole");
486             logger.debug("handleAction: RemoteUser : " + request.getRemoteUser());
487             if (request.isUserInRole(editorRole))
488             {
489                 request.setAttribute("next_page","display_switchMode.jsp");
490                 request.setAttribute("menu_page","empty.jsp");
491                 request.setAttribute("bottom_page","empty.jsp");
492             }
493             else
494             {
495                 request.setAttribute("next_page", "display_card.jsp");
496                 request.setAttribute("menu_page","menuCard.jsp");
497                 request.setAttribute("bottom_page","bottomCard.jsp");
498             }
499     }
500
501
502    /**
503      * Method to switch mode
504      *
505      * @param request the http request send to this servlet
506      */

507     public static void handleSwitchMode(HttpServletRequest request)
508         throws IOException, ServletException
509     {
510         HttpSession session = request.getSession(true);
511
512         // get the params rom request
513
String JavaDoc cardLibraryName = (String JavaDoc)request.getAttribute("cardLibraryName");
514
515         String JavaDoc editor = (String JavaDoc)session.getAttribute(cardLibraryName + "_editorRole");
516         String JavaDoc admin = (String JavaDoc)session.getAttribute(cardLibraryName + "_adminRole");
517         logger.debug("handleSwitchMode: mode=*" + request.getParameter("mode") +"*");
518             if (request.getParameter("mode").equals(editor) && request.isUserInRole(editor))
519             {
520
521                 session.setAttribute(cardLibraryName + "_userRight", editor);
522                 if (request.getParameter("display").equals("list"))
523                 {
524                     handleDisplayListCards(request);
525                 }
526                 else
527                 {
528                     handleDisplayCurrentCard(request);
529                 }
530             }
531             else
532             {
533
534                 session.setAttribute(cardLibraryName + "_userRight", "");
535                 if (request.getParameter("display").equals("list"))
536                 {
537                     handleDisplayListCards(request);
538                 }
539                 else
540                 {
541                     handleDisplayCurrentCard(request);
542                 }
543             }
544     }
545
546     /**
547      * Method to change use mode
548      *
549      * @param request the http request send to this servlet
550      */

551     public static void handleDisplayAdminMode(HttpServletRequest request)
552         throws IOException, ServletException
553     {
554         request.setAttribute("next_page", "admin.jsp");
555         request.setAttribute("menu_page","empty.jsp");
556         request.setAttribute("bottom_page","bottomAdmin.jsp");
557     }
558
559    /**
560      * Method to change use mode
561      *
562      * @param request the http request send to this servlet
563      */

564     public static void handleChangeUseMode(HttpServletRequest request)
565         throws IOException, ServletException
566     {
567         HttpSession session = request.getSession(true);
568         String JavaDoc cardLibraryName = (String JavaDoc)request.getAttribute("cardLibraryName");
569         String JavaDoc contextId = (String JavaDoc)request.getAttribute("org.portletapi.contextid");
570
571         logger.debug("handleChangeUseMode: useMode=*" + request.getParameter("useMode") +"*");
572         session.setAttribute(cardLibraryName + "_useMode", request.getParameter("useMode"));
573         if (request.getParameter("useMode").equals("user"))
574         {
575             String JavaDoc editor = (String JavaDoc)session.getAttribute(cardLibraryName + "_editorRole");
576             session.setAttribute(cardLibraryName + "_userRight", editor);
577         }
578         String JavaDoc useModePath = (String JavaDoc)session.getAttribute(cardLibraryName + "_useModePath");
579
580         Properties Prop_useMode = new Properties();
581         Prop_useMode.setProperty("useMode"+ contextId,request.getParameter("useMode"));
582         FileOutputStream fis = new FileOutputStream(useModePath, true);
583         Prop_useMode.store(fis, "");
584         fis.close();
585
586
587         handleDisplayListCards(request);
588     }
589
590
591
592
593     /**
594      * Method to display login form
595      *
596      * @param request the http request send to this servlet
597      */

598     public static void handleLoginForm(HttpServletRequest request)
599         throws IOException, ServletException
600     {
601         request.setAttribute("next_page","login.jsp");
602     }
603
604
605
606
607     /**
608      * Method to add a new card
609      *
610      * @param request the http request send to this servlet
611      * @param role to make difference between a suggestion card by a reader
612      * and a creation of a new card by an editor.
613      */

614     public static void handleSuggestCard(HttpServletRequest request)
615         throws IOException, ServletException
616     {
617
618         logger.debug("handleAddCard: begin");
619
620         // get the params from request
621
HttpSession session = request.getSession(true);
622         String JavaDoc cardLibraryName = (String JavaDoc)request.getAttribute("cardLibraryName");
623         Vector fieldsNames = ((Card)request.getAttribute("card")).getFieldsName();
624         Vector fields = new Vector();
625         String JavaDoc id_bidon = "x";
626         fields.add(id_bidon);
627         int nbFieldsToSet = fieldsNames.size();
628         String JavaDoc userRight = (String JavaDoc)session.getAttribute(cardLibraryName + "_userRight");
629         Query query = (Query)session.getAttribute(cardLibraryName + "_query");
630         String JavaDoc sortedBy = (String JavaDoc)session.getAttribute(cardLibraryName + "_sort");
631         String JavaDoc sortFlag = (String JavaDoc)session.getAttribute(cardLibraryName + "_sortFlag");
632         String JavaDoc inPortal = (String JavaDoc)request.getAttribute("org.portletapi.portal");
633         String JavaDoc contextId = (String JavaDoc)request.getAttribute("org.portletapi.contextid");
634         String JavaDoc remoteUser = (String JavaDoc)request.getRemoteUser();
635         String JavaDoc useMode = (String JavaDoc)session.getAttribute(cardLibraryName + "_useMode");
636         // ListCards currentList = (ListCards)session.getAttribute(cardLibraryName
637
// + "_listCards");
638
ListCards reloadList = new ListCards();
639
640
641         // get the attribute of the new card
642
for(int i=1; i<nbFieldsToSet; i++)
643         {
644             fields.add((String JavaDoc)request.getParameter((String JavaDoc)fieldsNames.get(i)));
645         }
646
647         // create a new card with the previous fields and insert in DB
648
Card crd = new Card();
649         crd.setFields(fields);
650         for (int i=0;i<fields.size();i++) {
651           String JavaDoc s= (String JavaDoc)fields.get(i);
652
653         }
654         int new_id= AccessDB.getNextId("card_id", "fich_absencerequest");
655         crd.setId(new_id);
656         crd.setFields(fields);
657         crd.setCardLibraryName(cardLibraryName);
658         crd.setFieldsName(fieldsNames);
659
660         crd.setLastName((String JavaDoc)fields.get(1));
661         crd.setFirstName((String JavaDoc)fields.get(2));
662         crd.setAbsenceType((String JavaDoc)fields.get(3));
663         crd.setFirstAbsenceDay((String JavaDoc)fields.get(4));
664         crd.setLastAbsenceDay((String JavaDoc)fields.get(5));
665         crd.setUser((String JavaDoc)fields.get(6));
666         crd.setContextId((String JavaDoc)fields.get(7));
667         crd.setStatus((String JavaDoc)fields.get(8));
668         AccessDB.insertCard(crd);
669         String JavaDoc newId = Integer.toString(new_id);
670         logger.debug("handleAddCard: New id : " + newId);
671         if (newId.equals("0"))
672         {
673             request.setAttribute("next_page","error.jsp");
674             request.setAttribute("menu_page","empty.jsp");
675             request.setAttribute("bottom_page","bottomError.jsp");
676         }
677         else
678         {
679                 // a reader has suggested a card, then confirm the card creation
680
// reload the list
681
reloadList.loadList(contextId, inPortal, useMode, remoteUser, userRight,sortFlag, sortedBy);
682                 session.setAttribute(cardLibraryName + "_listCards",reloadList);
683                 request.setAttribute("next_page","addresult.jsp");
684                 request.setAttribute("menu_page","empty.jsp");
685                 request.setAttribute("bottom_page","bottomAddResult.jsp");
686         }
687     }
688
689
690
691
692     /**
693      * Method to add a new card
694      *
695      * @param request the http request send to this servlet
696      * @param role to make difference between a suggestion card by a reader
697      * and a creation of a new card by an editor.
698      */

699     public static void handleAddCard(HttpServletRequest request)
700         throws IOException, ServletException
701     {
702
703         logger.debug("handleAddCard: begin");
704
705         // get the params from request
706
HttpSession session = request.getSession(true);
707         String JavaDoc cardLibraryName = (String JavaDoc)request.getAttribute("cardLibraryName");
708         Vector fieldsNames = ((Card)request.getAttribute("card")).getFieldsName();
709         Vector fields = new Vector();
710         String JavaDoc id_bidon = "x";
711         fields.add(id_bidon);
712         int nbFieldsToSet = fieldsNames.size();
713         String JavaDoc userRight = (String JavaDoc)session.getAttribute(cardLibraryName + "_userRight");
714         Query query = (Query)session.getAttribute(cardLibraryName + "_query");
715         String JavaDoc sortedBy = (String JavaDoc)session.getAttribute(cardLibraryName + "_sort");
716         String JavaDoc sortFlag = (String JavaDoc)session.getAttribute(cardLibraryName + "_sortFlag");
717         String JavaDoc inPortal = (String JavaDoc)request.getAttribute("org.portletapi.portal");
718         String JavaDoc contextId = (String JavaDoc)request.getAttribute("org.portletapi.contextid");
719         String JavaDoc remoteUser = (String JavaDoc)request.getRemoteUser();
720         String JavaDoc useMode = (String JavaDoc)session.getAttribute(cardLibraryName + "_useMode");
721         // ListCards currentList = (ListCards)session.getAttribute(cardLibraryName
722
// + "_listCards");
723
ListCards reloadList = new ListCards();
724
725
726         // get the attribute of the new card
727

728         for(int i=1; i<nbFieldsToSet; i++)
729         {
730             fields.add((String JavaDoc)request.getParameter((String JavaDoc)fieldsNames.get(i)));
731         }
732         for (int i=0;i<fields.size();i++) {
733          String JavaDoc s= (String JavaDoc)fields.get(i);
734
735        }
736
737         // create a new card with the previous fields and insert in DB
738
Card crd = new Card();
739         int new_id= AccessDB.getNextId("card_id", "fich_absencerequest");
740         crd.setId(new_id);
741         crd.setFields(fields);
742         crd.setCardLibraryName(cardLibraryName);
743         crd.setFieldsName(fieldsNames);
744
745         crd.setLastName((String JavaDoc)fields.get(1));
746
747         crd.setFirstName((String JavaDoc)fields.get(2));
748
749         crd.setAbsenceType((String JavaDoc)fields.get(3));
750
751         crd.setFirstAbsenceDay((String JavaDoc)fields.get(4));
752
753         crd.setLastAbsenceDay((String JavaDoc)fields.get(5));
754
755         crd.setUser((String JavaDoc)fields.get(6));
756
757         crd.setContextId((String JavaDoc)fields.get(7));
758
759         crd.setStatus((String JavaDoc)fields.get(8));
760
761         AccessDB.insertCard(crd);
762         String JavaDoc newId = Integer.toString(new_id);
763         logger.debug("handleAddCard: New id : " + newId);
764         if (newId.equals("0"))
765         {
766             request.setAttribute("next_page","error.jsp");
767             request.setAttribute("menu_page","empty.jsp");
768             request.setAttribute("bottom_page","bottomError.jsp");
769         }
770         else
771         {
772
773                 // an editor has added a card, then display this card
774
// reload the list
775
reloadList.loadList(contextId, inPortal, useMode, remoteUser, userRight,sortFlag, sortedBy);
776                 session.setAttribute(cardLibraryName + "_listCards",reloadList);
777                 request.setAttribute("card_id", newId);
778                 //handleAction(request,"display_CurrentCard");
779
if (request.getParameter("display").equals("list"))
780                 {
781                   handleDisplayListCards(request);
782
783
784                 }
785                 else
786                 {
787
788                     handleDisplayCurrentCard(request);
789                 }
790
791         }
792     }
793
794
795
796     /**
797      * Method to update a card
798      *
799      * @param request the http request send to this servlet
800      */

801     public static void handleUpdateCard(HttpServletRequest request)
802         throws IOException, ServletException
803     {
804         logger.debug("handleUpdateCard: begin");
805         // get params from request
806
String JavaDoc cardLibraryName = (String JavaDoc)request.getAttribute("cardLibraryName");
807         Vector fieldsNames = ((Card)request.getAttribute("card")).getFieldsName();
808         Vector fields = new Vector();
809
810         // get the id of the card to update
811
int id = Integer.parseInt(request.getParameter("card_id"));
812         fields.add(Integer.toString(id));
813         int nbFieldsToSet = fieldsNames.size();
814
815         // get the updated fields
816
for(int i=1; i<nbFieldsToSet; i++)
817         {
818             fields.add((String JavaDoc)request.getParameter((String JavaDoc)fieldsNames.get(i)));
819         }
820
821         // create the card and update it in DB
822
// count get the number of update done
823
// Card crd = new Card();
824
Card crd = AccessDB.findCard(id);
825        crd.setFields(fields);
826        crd.setCardLibraryName(cardLibraryName);
827        crd.setFieldsName(fieldsNames);
828        AccessDB.updateCard(crd, fields, fieldsNames);
829
830         //int count = crd.update();
831
//String counter = Integer.toString(count);
832
if (crd.equals("null"))
833         {
834             request.setAttribute("next_page","error.jsp");
835             request.setAttribute("menu_page","empty.jsp");
836             request.setAttribute("bottom_page","bottomError.jsp");
837         }
838         else
839         {
840             // display the updated card
841
request.setAttribute("card_id", Integer.toString(id));
842             //handleAction(request,"display_CurrentCard");
843
handleDisplayCurrentCard(request);
844         }
845     }
846
847
848
849     /**
850      * Method to validate a card
851      *
852      * @param request the http request send to this servlet
853      */

854     public static void handleValidateCard(HttpServletRequest request) throws
855         IOException, ServletException {
856       try {
857         logger.debug("handleValidateCard: begin");
858         HttpSession session = request.getSession(true);
859         String JavaDoc cardLibraryName = (String JavaDoc) request.getAttribute("cardLibraryName");
860         Query query = (Query) session.getAttribute(cardLibraryName + "_query");
861         String JavaDoc userRight = (String JavaDoc) session.getAttribute(cardLibraryName +
862             "_userRight");
863         String JavaDoc sortedBy = (String JavaDoc) session.getAttribute(cardLibraryName + "_sort");
864         String JavaDoc sortFlag = (String JavaDoc) session.getAttribute(cardLibraryName +
865             "_sortFlag");
866         String JavaDoc inPortal = (String JavaDoc) request.getAttribute("org.portletapi.portal");
867         String JavaDoc contextId = (String JavaDoc) request.getAttribute(
868             "org.portletapi.contextid");
869         String JavaDoc remoteUser = (String JavaDoc) request.getRemoteUser();
870         String JavaDoc useMode = (String JavaDoc) session.getAttribute(cardLibraryName +
871             "_useMode");
872         // get the id of the card to validate
873
int id = Integer.parseInt(request.getParameter("card_id"));
874         Card crd = AccessDB.findCard(id);
875
876         // set the status of the card to "Validated" or "ToValid"
877
if (request.getParameter("currentStatus").equals("Validated")) {
878           crd.setStatus("To Valid");
879           // count = AccessDB.updateDB("update " + cardLibraryName
880
// + " SET STATUS = 'ToValid' WHERE card_id = "
881
// + Integer.toString(id));
882
}
883         else {
884           // count = AccessDB.updateDB("update " + cardLibraryName
885
//+ " SET STATUS = 'Validated' WHERE card_id = "
886
// + Integer.toString(id));
887
crd.setStatus("Validated");
888         }
889
890         // reload the list
891
ListCards reloadList = new ListCards();
892         reloadList.loadList(contextId, inPortal, useMode, remoteUser, userRight,
893                             sortFlag, sortedBy);
894         session.setAttribute(cardLibraryName + "_listCards", reloadList);
895
896         // display the validated card
897
//handleAction(request,"display_CurrentCard");
898

899         if (request.getParameter("display").equals("list")) {
900           handleDisplayListCards(request);
901         }
902         else {
903           handleDisplayCurrentCard(request);
904         }
905
906       }
907       catch (Exception JavaDoc e) {
908         logger.error("Card: ERROR during validation", e);
909         request.setAttribute("next_page", "error.jsp");
910         request.setAttribute("menu_page", "empty.jsp");
911         request.setAttribute("bottom_page", "bottomError.jsp");
912       }
913     }
914
915
916
917     /**
918      * Method to delete a card
919      *
920      * @param request the http request send to this servlet
921      */

922     public static void handleDeleteCard(HttpServletRequest request)
923         throws IOException, ServletException
924     {
925       try {
926         boolean test;
927         logger.debug("handleDeleteCard: begin");
928         String JavaDoc cardLibraryName = (String JavaDoc) request.getAttribute("cardLibraryName");
929         int id = (Integer.parseInt(request.getParameter("card_id")));
930
931         // Test to disallow to delete last card
932
test = AccessDB.deleteCard(id);
933
934         if (test) {
935           handleDisplayNextDeleted(request);
936         }
937         if (!test) {
938           request.setAttribute("next_page", "deleteNotAllow.jsp");
939           request.setAttribute("menu_page", "empty.jsp");
940           request.setAttribute("bottom_page", "bottomDeleteNotAllow.jsp");
941         }
942
943       }
944       catch (Exception JavaDoc e) {
945         logger.error("FichApplication: ERROR during delete", e);
946         request.setAttribute("next_page", "error.jsp");
947         request.setAttribute("menu_page", "empty.jsp");
948         request.setAttribute("bottom_page", "bottomError.jsp");
949       }
950     }
951
952
953
954     /**
955      * Method to set the query params
956      *
957      * @param request the http request send to this servlet
958      * @param cardLibraryName the name of the card library
959      * @param card a card that contains the names of the fields
960      */

961     public static void handleSearchCard(HttpServletRequest request)
962         throws IOException, ServletException
963     {
964       ListCards reloadList = new ListCards();
965       Vector result = new Vector();
966         // get the two parameter of the search form
967
//champs sur lequel se fait la recherche
968
String JavaDoc param1Name = (String JavaDoc)request.getParameter("param1Name");
969
970         //valeur du champs
971
String JavaDoc param1 = (String JavaDoc)request.getParameter("param1");
972
973          //champs sur lequel se fait la recherche
974
String JavaDoc param2Name = (String JavaDoc)request.getParameter("param2Name");
975
976          //valeur du champs
977
String JavaDoc param2 = (String JavaDoc)request.getParameter("param2");
978
979         logger.debug("FichothequeApplication: handleSearch: param1 "
980                        + param1Name + ": "+ param1 + ", param2 "
981                        + param2Name + ": " + param2);
982
983         HttpSession session = request.getSession(true);
984         String JavaDoc cardLibraryName = (String JavaDoc)request.getAttribute("cardLibraryName");
985
986         Card card = (Card)request.getAttribute("card"); // use to have the field's names
987

988         // create a new query
989
Query query = (Query) session.getAttribute(cardLibraryName + "_query");
990         query.setQuery(param1Name, param1, param2Name, param2, card);
991         session.setAttribute(cardLibraryName + "_query", query);
992         String JavaDoc remoteUser = (String JavaDoc) request.getRemoteUser();
993         if (param1Name.equals("All Attributes") &
994             param2Name.equals("All Attributes")) {
995
996           result = AccessDB.getSearchAll(param1Name, param1, param2Name, param2,
997                                          remoteUser);
998         }
999         if (param1Name.equals("NAME") & param2Name.equals("All Attributes")) {
1000
1001          result = AccessDB.getSearchAllParam(param1Name, param1, param2Name,
1002                                              param2,
1003                                              remoteUser);
1004        }
1005        if (param1Name.equals("FIRSTNAME") & param2Name.equals("All Attributes")) {
1006
1007          result = AccessDB.getSearchAllParam(param1Name, param1, param2Name,
1008                                              param2,
1009                                              remoteUser);
1010        }
1011        if (param1Name.equals("ABSENCETYPE") & param2Name.equals("All Attributes")) {
1012
1013          result = AccessDB.getSearchAllParam(param1Name, param1, param2Name,
1014                                              param2,
1015                                              remoteUser);
1016        }
1017        if (param1Name.equals("FIRSTABSENCEDAY") &
1018            param2Name.equals("All Attributes")) {
1019
1020          result = AccessDB.getSearchAllParam(param1Name, param1, param2Name,
1021                                              param2,
1022                                              remoteUser);
1023        }
1024
1025        if (param1Name.equals("LASTABSENCDAY") & param2Name.equals("All Attributes")) {
1026
1027          result = AccessDB.getSearchAllParam(param1Name, param1, param2Name,
1028                                              param2,
1029                                              remoteUser);
1030        }
1031        if (param1Name.equals("STATUS") & param2Name.equals("All Attributes")) {
1032
1033          result = AccessDB.getSearchAllParam(param1Name, param1, param2Name,
1034                                              param2,
1035                                              remoteUser);
1036        }
1037        if (param1Name.equals("All Attributes") & param2Name.equals("NAME")) {
1038
1039          result = AccessDB.getSearchParamAll(param1Name, param1, param2Name,
1040                                              param2,
1041                                              remoteUser);
1042        }
1043        if (param1Name.equals("All Attributes") & param2Name.equals("FIRSTNAME")) {
1044
1045          result = AccessDB.getSearchParamAll(param1Name, param1, param2Name,
1046                                              param2,
1047                                              remoteUser);
1048        }
1049        if (param1Name.equals("All Attributes") & param2Name.equals("ABSENCETYPE")) {
1050
1051          result = AccessDB.getSearchParamAll(param1Name, param1, param2Name,
1052                                              param2,
1053                                              remoteUser);
1054        }
1055        if (param1Name.equals("All Attributes") &
1056            param2Name.equals("FIRSTABSENCEDAY")) {
1057
1058          result = AccessDB.getSearchParamAll(param1Name, param1, param2Name,
1059                                              param2,
1060                                              remoteUser);
1061        }
1062
1063        if (param1Name.equals("All Attributes") & param2Name.equals("LASTABSENCDAY")) {
1064
1065          result = AccessDB.getSearchParamAll(param1Name, param1, param2Name,
1066                                              param2,
1067                                              remoteUser);
1068        }
1069        if (param1Name.equals("All Attributes") & param2Name.equals("STATUS")) {
1070
1071          result = AccessDB.getSearchParamAll(param1Name, param1, param2Name,
1072                                              param2,
1073                                              remoteUser);
1074        }
1075        if (param1Name.equals("NAME") & param2Name.equals("NAME")) {
1076
1077          result = AccessDB.getSearchNameName(param1Name, param1, param2Name,
1078                                              param2,
1079                                              remoteUser);
1080        }
1081
1082        if (param1Name.equals("NAME") & param2Name.equals("FIRSTNAME")) {
1083
1084          result = AccessDB.getSearchNameFirst(param1Name, param1, param2Name,
1085                                               param2,
1086                                               remoteUser);
1087        }
1088
1089        if (param1Name.equals("FIRSTNAME") & param2Name.equals("NAME")) {
1090
1091          result = AccessDB.getSearchFirstName(param1Name, param1, param2Name,
1092                                               param2,
1093                                               remoteUser);
1094        }
1095
1096        if (param1Name.equals("NAME") & param2Name.equals("ABSENCETYPE")) {
1097          result = AccessDB.getSearchNameAbs(param1Name, param1, param2Name, param2,
1098                                             remoteUser);
1099        }
1100
1101        if (param1Name.equals("ABSENCETYPE") & param2Name.equals("NAME")) {
1102          result = AccessDB.getSearchAbsName(param1Name, param1, param2Name, param2,
1103                                             remoteUser);
1104        }
1105
1106        if (param1Name.equals("NAME") & param2Name.equals("FIRSTABSENCEDAY")) {
1107          result = AccessDB.getSearchNameFirstAbs(param1Name, param1, param2Name,
1108                                                  param2,
1109                                                  remoteUser);
1110        }
1111        if (param1Name.equals("FIRSTABSENCEDAY") & param2Name.equals("NAME")) {
1112          result = AccessDB.getSearchFirstAbsName(param1Name, param1, param2Name,
1113                                                  param2,
1114                                                  remoteUser);
1115        }
1116
1117        if (param1Name.equals("NAME") & param2Name.equals("LASTABSENCEDAY")) {
1118          result = AccessDB.getSearchNameLastAbs(param1Name, param1, param2Name,
1119                                                 param2,
1120                                                 remoteUser);
1121        }
1122
1123        if (param1Name.equals("LASTABSENCEDAY") & param2Name.equals("NAME")) {
1124          result = AccessDB.getSearchNameAbsLast(param1Name, param1, param2Name,
1125                                                 param2,
1126                                                 remoteUser);
1127        }
1128
1129        if (param1Name.equals("NAME") & param2Name.equals("STATUS")) {
1130          result = AccessDB.getSearchNameStat(param1Name, param1, param2Name,
1131                                              param2,
1132                                              remoteUser);
1133        }
1134
1135        if (param1Name.equals("STATUS") & param2Name.equals("NAME")) {
1136          result = AccessDB.getSearchStatName(param1Name, param1, param2Name,
1137                                              param2,
1138                                              remoteUser);
1139        }
1140
1141        if (param1Name.equals("FIRSTNAME") & param2Name.equals("ABSENCETYPE")) {
1142          result = AccessDB.getSearchFirstAbs(param1Name, param1, param2Name,
1143                                              param2,
1144                                              remoteUser);
1145        }
1146        if (param1Name.equals("ABSENCETYPE") & param2Name.equals("FIRSTNAME")) {
1147          result = AccessDB.getSearchAbsFirs(param1Name, param1, param2Name,
1148                                             param2,
1149                                             remoteUser);
1150        }
1151        if (param1Name.equals("FIRSTNAME") & param2Name.equals("FIRSTNAME")) {
1152          result = AccessDB.getSearchFirstFirstName(param1Name, param1, param2Name,
1153                                                    param2,
1154                                                    remoteUser);
1155        }
1156
1157        if (param1Name.equals("FIRSTNAME") & param2Name.equals("FIRSTABSENCEDAY")) {
1158          result = AccessDB.getSearchFirstFirst(param1Name, param1, param2Name,
1159                                                param2,
1160                                                remoteUser);
1161        }
1162        if (param1Name.equals("FIRSTABSENCEDAY") & param2Name.equals("FIRSTNAME")) {
1163          result = AccessDB.getSearchFirstFirst2(param1Name, param1, param2Name,
1164                                                 param2,
1165                                                 remoteUser);
1166        }
1167
1168        if (param1Name.equals("FIRSTNAME") & param2Name.equals("LASTABSENCEDAY")) {
1169          result = AccessDB.getSearchFirstLast(param1Name, param1, param2Name,
1170                                               param2,
1171                                               remoteUser);
1172        }
1173        if (param1Name.equals("LASTABSENCEDAY") & param2Name.equals("FIRSTNAME")) {
1174          result = AccessDB.getSearchLastFirst(param1Name, param1, param2Name,
1175                                               param2,
1176                                               remoteUser);
1177        }
1178
1179        if (param1Name.equals("FIRSTNAME") & param2Name.equals("STATUS")) {
1180          result = AccessDB.getSearchFirstStat(param1Name, param1, param2Name,
1181                                               param2,
1182                                               remoteUser);
1183        }
1184
1185        if (param1Name.equals("STATUS") & param2Name.equals("FIRSTNAME")) {
1186          result = AccessDB.getSearchStatFirst(param1Name, param1, param2Name,
1187                                               param2,
1188                                               remoteUser);
1189        }
1190
1191        if (param1Name.equals("ABSENCETYPE") & param2Name.equals("ABSENCETYPE")) {
1192          result = AccessDB.getSearchAbsAbs(param1Name, param1, param2Name,
1193                                            param2,
1194                                            remoteUser);
1195        }
1196
1197        if (param1Name.equals("ABSENCETYPE") & param2Name.equals("FIRSTABSENCEDAY")) {
1198          result = AccessDB.getSearchAbsFirst(param1Name, param1, param2Name,
1199                                              param2,
1200                                              remoteUser);
1201        }
1202
1203        if (param1Name.equals("FIRSTABSENCEDAY") & param2Name.equals("ABSENCETYPE")) {
1204          result = AccessDB.getSearchFirsAbs(param1Name, param1, param2Name,
1205                                             param2,
1206                                             remoteUser);
1207        }
1208
1209        if (param1Name.equals("ABSENCETYPE") & param2Name.equals("LASTABSENCEDAY")) {
1210          result = AccessDB.getSearchAbsLast(param1Name, param1, param2Name, param2,
1211                                             remoteUser);
1212        }
1213        if (param1Name.equals("LASTABSENCEDAY") & param2Name.equals("ABSENCETYPE")) {
1214          result = AccessDB.getSearchLastAbs(param1Name, param1, param2Name, param2,
1215                                             remoteUser);
1216        }
1217
1218        if (param1Name.equals("ABSENCETYPE") & param2Name.equals("STATUS")) {
1219          result = AccessDB.getSearchAbsStat(param1Name, param1, param2Name, param2,
1220                                             remoteUser);
1221        }
1222
1223        if (param1Name.equals("STATUS") & param2Name.equals("ABSENCETYPE")) {
1224          result = AccessDB.getSearchStatAbs(param1Name, param1, param2Name, param2,
1225                                             remoteUser);
1226        }
1227
1228        if (param1Name.equals("FIRSTABSENCEDAY") &
1229            param2Name.equals("FIRSTABSENCEDAY")) {
1230          result = AccessDB.getSearchFirstFirstAbs(param1Name, param1, param2Name,
1231                                                   param2,
1232                                                   remoteUser);
1233        }
1234
1235        if (param1Name.equals("FIRSTABSENCEDAY") &
1236            param2Name.equals("LASTABSENCEDAY")) {
1237          result = AccessDB.getSearchFirstLastAbs(param1Name, param1, param2Name,
1238                                                  param2,
1239                                                  remoteUser);
1240        }
1241        if (param1Name.equals("LASTABSENCEDAY") &
1242            param2Name.equals("FIRSTABSENCEDAY")) {
1243          result = AccessDB.getSearchLastAbsFirst(param1Name, param1, param2Name,
1244                                                  param2,
1245                                                  remoteUser);
1246        }
1247
1248        if (param1Name.equals("FIRSTABSENCEDAY") & param2Name.equals("STATUS")) {
1249          result = AccessDB.getSearchFirstAbsStat(param1Name, param1, param2Name,
1250                                                  param2,
1251                                                  remoteUser);
1252        }
1253        if (param1Name.equals("STATUS") & param2Name.equals("FIRSTABSENCEDAY")) {
1254          result = AccessDB.getSearchStatFirstAbs(param1Name, param1, param2Name,
1255                                                  param2,
1256                                                  remoteUser);
1257        }
1258
1259        if (param1Name.equals("LASTABSENCEDAY") & param2Name.equals("STATUS")) {
1260          result = AccessDB.getSearchLastAbsStat(param1Name, param1, param2Name,
1261                                                 param2,
1262                                                 remoteUser);
1263        }
1264        if (param1Name.equals("LASTABSENCEDAY") &
1265            param2Name.equals("LASTABSENCEDAY")) {
1266          result = AccessDB.getSearchLastLastAbs(param1Name, param1, param2Name,
1267                                                 param2,
1268                                                 remoteUser);
1269        }
1270
1271        if (param1Name.equals("STATUS") & param2Name.equals("LASTABSENCEDAY")) {
1272          result = AccessDB.getSearchStatLastAbs(param1Name, param1, param2Name,
1273                                                 param2,
1274                                                 remoteUser);
1275        }
1276
1277        if (param1Name.equals("STATUS") & param2Name.equals("STATUS")) {
1278          result = AccessDB.getSearchStatStat(param1Name, param1, param2Name,
1279                                              param2,
1280                                              remoteUser);
1281        }
1282
1283        for(int i=0; i<result.size();i++){
1284          Vector v= new Vector();
1285          Card crd=(Card)result.get(i);
1286
1287          // set the fiels for each card in the list
1288
v.add("x");
1289                v.add(crd.getLastName());
1290                v.add(crd.getFirstName());
1291                v.add(crd.getAbsenceType());
1292                v.add(crd.getFirstAbsenceDay());
1293                v.add(crd.getLastAbsenceDay());
1294                v.add(crd.getUser());
1295                v.add(crd.getContextId());
1296                v.add(crd.getStatus());
1297
1298                crd.setFields(v);
1299
1300        }
1301        reloadList.setCards(result);
1302
1303
1304        // display the list of cards that correspond to the query
1305
//handleAction(request,"display_ListCards");
1306
session.setAttribute(cardLibraryName + "_listCards", reloadList);
1307        request.setAttribute("next_page", "display_list.jsp");
1308        request.setAttribute("menu_page", "menuList.jsp");
1309        request.setAttribute("bottom_page", "bottomList.jsp");
1310
1311        //handleDisplayListCards(request);
1312
}
1313
1314
1315
1316    /**
1317     * Method to cancel the query
1318     *
1319     * @param request the http request send to this servlet
1320     * @param cardLibraryName the name of the card library
1321     * @param id the card id to display
1322     */

1323    public static void handleCancelQuery(HttpServletRequest request)
1324        throws IOException, ServletException
1325    {
1326        // get the params from request
1327

1328        HttpSession session = request.getSession(true);
1329        String JavaDoc cardLibraryName = (String JavaDoc)request.getAttribute("cardLibraryName");
1330        Query query = (Query)session.getAttribute(cardLibraryName+"_query");
1331        String JavaDoc userRight = (String JavaDoc)session.getAttribute(cardLibraryName + "_userRight");
1332        String JavaDoc sortedBy = (String JavaDoc)session.getAttribute(cardLibraryName + "_sort");
1333        String JavaDoc sortFlag = (String JavaDoc)session.getAttribute(cardLibraryName + "_sortFlag");
1334        String JavaDoc inPortal = (String JavaDoc)request.getAttribute("org.portletapi.portal");
1335        String JavaDoc contextId = (String JavaDoc)request.getAttribute("org.portletapi.contextid");
1336        String JavaDoc remoteUser = (String JavaDoc)request.getRemoteUser();
1337        String JavaDoc useMode = (String JavaDoc)session.getAttribute(cardLibraryName + "_useMode");
1338        // do the query inactive
1339
query.setqueryActive(false);
1340        session.setAttribute(cardLibraryName+"_query",query);
1341
1342        // reload the list
1343

1344        ListCards currentList = (ListCards)session.getAttribute(cardLibraryName + "_listCards");
1345
1346       // currentList.loadList(cardLibraryName, userRight, query, sortedBy, sortFlag, contextId, inPortal, useMode, remoteUser);
1347
currentList.loadList(contextId, inPortal, useMode, remoteUser, userRight,sortFlag, sortedBy);
1348       session.setAttribute(cardLibraryName + "_listCards",currentList);
1349       //handleAction(request,"display_CurrentCard");
1350
if (request.getParameter("display").equals("list"))
1351       {
1352         handleDisplayListCards(request);
1353        }
1354        else
1355        {
1356          handleDisplayCurrentCard(request);
1357        }
1358
1359    }
1360
1361
1362
1363    /**
1364     * Method to handle login for editor
1365     *
1366     * @param request the http request send to this servlet
1367     * @param current_cardID the current card, use to display the same card after login
1368     * @param cardLibraryName the name of the card library
1369     */

1370    public static void handleLogin(HttpServletRequest request) throws IOException,
1371        ServletException {
1372      logger.debug("FichothequeApplication: handleLoginRequest: begin");
1373      try {
1374        HttpSession session = request.getSession(true);
1375        String JavaDoc login = request.getParameter("username");
1376        String JavaDoc passwd = request.getParameter("password");
1377        String JavaDoc cardLibraryName = (String JavaDoc) request.getAttribute("cardLibraryName");
1378        int current_cardID = Integer.parseInt( (String JavaDoc) request.getAttribute(
1379            "card_id"));
1380        Query query = (Query) session.getAttribute(cardLibraryName + "_query");
1381        String JavaDoc sortedBy = (String JavaDoc) session.getAttribute(cardLibraryName + "_sort");
1382        String JavaDoc sortFlag = (String JavaDoc) session.getAttribute(cardLibraryName +
1383            "_sortFlag");
1384        String JavaDoc inPortal = (String JavaDoc) request.getAttribute("org.portletapi.portal");
1385        String JavaDoc contextId = (String JavaDoc) request.getAttribute(
1386            "org.portletapi.contextid");
1387        String JavaDoc remoteUser = (String JavaDoc) request.getRemoteUser();
1388        String JavaDoc useMode = (String JavaDoc) session.getAttribute(cardLibraryName +
1389            "_useMode");
1390
1391        logger.debug("FichothequeServlet: handleLoginRequest: checking user: " + login + ", " + passwd);
1392
1393        if (!login.equals("")) { // an username is specified: check it
1394
// select the user
1395
User user = AccessDB.findUser(login, passwd);
1396          // ResultSet rs = AccessDB.execSql(
1397
// "SELECT user_id FROM Fich_users WHERE user_login='"
1398
// + login + "' and user_passwd='" + passwd + "'");
1399

1400          if (!user.equals(null)) { // login success
1401
int id = user.getUserId();
1402            logger.debug("FichothequeServlet: user_id = "+ Integer.toString(id));
1403
1404            // check the right of the user for the cardLibraryName
1405
//faudra changer rights en right pour hypersonic
1406
//rs = AccessDB.execSql(
1407
// "SELECT right FROM Fich_AccessRight WHERE user_id ="
1408
// + id + " AND cardLibraryName = '" + cardLibraryName + "'");
1409
AccessRight right = AccessDB.checkRight(user, cardLibraryName);
1410
1411            if (!right.equals(null)) { // right found
1412
// String userRight = rs.getString("right");
1413
String JavaDoc userRight = right.getRight();
1414              // set the user right in session
1415
session.setAttribute(cardLibraryName + "_userRight", userRight);
1416              logger.debug("FichApplication: handleLogin: userRight set to: "
1417                              + userRight);
1418
1419              //reload the list
1420
ListCards reloadList = new ListCards();
1421              reloadList.loadList(contextId, inPortal, useMode, remoteUser,
1422                                  userRight, sortFlag, sortedBy);
1423              session.setAttribute(cardLibraryName + "_listCards", reloadList);
1424
1425              // get the current card and display it
1426
// Card crd = new Card(current_cardID, cardLibraryName);
1427
Vector v = new Vector();
1428              Card crd = AccessDB.findCard(current_cardID);
1429              v.add("x");
1430              v.add(crd.getLastName());
1431              v.add(crd.getFirstName());
1432              v.add(crd.getAbsenceType());
1433              v.add(crd.getFirstAbsenceDay());
1434              v.add(crd.getLastAbsenceDay());
1435              v.add(crd.getUser());
1436              v.add(crd.getContextId());
1437              v.add(crd.getStatus());
1438
1439              crd.setFields(v);
1440
1441              crd.setCardLibraryName(cardLibraryName);
1442
1443              request.setAttribute("card", crd);
1444              request.setAttribute("next_page", "display_card.jsp");
1445            }
1446            else { // login fail
1447
request.setAttribute("card_id", Integer.toString(current_cardID));
1448              request.setAttribute("next_page", "login.jsp");
1449            }
1450          }
1451          else { // login fail
1452
request.setAttribute("card_id", Integer.toString(current_cardID));
1453            request.setAttribute("next_page", "login.jsp");
1454          }
1455        }
1456        else { // login fail
1457
request.setAttribute("card_id", Integer.toString(current_cardID));
1458          request.setAttribute("next_page", "login.jsp");
1459        }
1460      }
1461      catch (Exception JavaDoc e) {
1462        logger.error("FichothequeServlet: handleLoginRequest", e);
1463        request.setAttribute("next_page", "login.jsp");
1464      }
1465      logger.debug("FichothequeServlet: handleLoginRequest: end");
1466    }
1467
1468    /**
1469     * Method to handle logout for editor
1470    /**
1471     * Method to handle logout for editor
1472     *
1473     * @param request the http request send to this servlet
1474     * @param current_cardID the current card, use to display the same card after logout
1475     * @param cardLibraryName the name of the card library
1476     */

1477    public static void handleLogout(HttpServletRequest request)
1478        throws IOException, ServletException
1479    {
1480      logger.debug("FichothequeApplication: handleLoginRequest: rbegin");
1481      try {
1482        String JavaDoc userRight = "";
1483
1484        // get the params from request
1485
HttpSession session = request.getSession(true);
1486        String JavaDoc cardLibraryName = (String JavaDoc) request.getAttribute("cardLibraryName");
1487        int current_cardID = Integer.parseInt( (String JavaDoc) request.getAttribute(
1488            "card_id"));
1489
1490        // set user right to nothing
1491
session.setAttribute(cardLibraryName + "_userRight", userRight);
1492        logger.debug("FichApplication: handleLogout: userRight = "
1493                        + userRight);
1494
1495        // get the current card and display it
1496
// Card crd = new Card(current_cardID, cardLibraryName);
1497
Vector v = new Vector();
1498       Card crd = AccessDB.findCard(current_cardID);
1499       v.add("x");
1500       v.add(crd.getLastName());
1501       v.add(crd.getFirstName());
1502       v.add(crd.getAbsenceType());
1503       v.add(crd.getFirstAbsenceDay());
1504       v.add(crd.getLastAbsenceDay());
1505       v.add(crd.getUser());
1506       v.add(crd.getContextId());
1507       v.add(crd.getStatus());
1508       crd.setFields(v);
1509       crd.setCardLibraryName(cardLibraryName);
1510
1511       request.setAttribute("card", crd);
1512       request.setAttribute("next_page", "display_card.jsp");
1513     }
1514     catch (Exception JavaDoc e) {
1515       logger.error("FichothequeServlet: handleLoginRequest", e);
1516     }
1517     logger.debug("FichothequeServlet: handleLoginRequest: end");
1518   }
1519
1520}
Popular Tags