KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > raptus > owxv3 > modules > base > EABaseListAction


1 /*
2  * eAdmin/OWX
3  * Copyright (C) 1996-2003 OWX-Project Team <owx-team@gmx.net>
4  */

5 package com.raptus.owxv3.modules.base;
6
7 import java.util.Vector JavaDoc;
8
9 import javax.servlet.http.HttpServletRequest JavaDoc;
10
11 import com.raptus.owxv3.*;
12 import com.raptus.owxv3.api.*;
13
14
15
16 /**
17  *
18  * <hr>
19  * <table width="100%" border="0">
20  * <tr>
21  * <td width="24%"><b>Filename</b></td><td width="76%">EABaseListAction.java</td>
22  * </tr>
23  * <tr>
24  * <td width="24%"><b>Author</b></td><td width="76%">Guy Z�rcher (gzuercher@raptus.com)</td>
25  * </tr>
26  * <tr>
27  * <td width="24%"><b>Date</b></td><td width="76%">13th of June 2001</td>
28  * </tr>
29  * </table>
30  * <hr>
31  * <table width="100%" border="0">
32  * <tr>
33  * <td width="24%"><b>Date / Author</b></td><td width="76%"><b>Changes</b></td>
34  * </tr>
35  * </table>
36  * <hr>
37  */

38 //public class EABaseListAction extends VModuleAuthAction
39
public class EABaseListAction extends VModuleRoleAction
40 {
41     /**
42      *
43      */

44     public String JavaDoc dispatchVModuleElement(HttpServletRequest JavaDoc request,
45                                          String JavaDoc element,
46                                          org.apache.struts.action.ActionForm form,
47                                          VModule vm,
48                                          com.raptus.owxv3.api.usermgr.User user)
49     {
50         if(element.compareToIgnoreCase(BaseConstants.ELEMENT_LIST) == 0)
51         {
52             int iToggleEntryId = convertToInteger(-1, request.getParameter(BaseConstants.HTTPGET_PARAM_TOGGLEENTRY));
53             int iDelEntryId = convertToInteger(-1, request.getParameter(BaseConstants.HTTPGET_PARAM_DELENTRY));
54
55             if(iToggleEntryId == -1 && iDelEntryId == -1)
56             {
57
58                 NwslistManager nwsList = new NwslistManager(vm.getIdentification());
59                 nwsList.setDataSource(vm.getDatasource());
60
61                 String JavaDoc table = nwsList.getTableID();
62
63                 // all params are NULL, that means that the list has to be loaded
64
// NOTE: that the list must be reloaded everytime in order to reflect changes
65
BaseObject nwobj = new BaseObject(vm, user.getLocale());
66
67                 //the category list should be reloaded all the time
68
try
69                 {
70                     CategorySelector catsel = new CategorySelector(vm.getLocales(),user.getLocale(), vm.getIdentification());
71                     catsel.setSrcTable(table);
72                     ((EABaseListBean) form).setCategorySelector( catsel);
73
74                 }catch(Exception JavaDoc e)
75                 {
76                     LoggingManager.log("Error while adding the CategorySelector!"+e,this);
77                 }
78
79
80
81                 //LoggingManager.log("Selected cat id is"+((EABaseListBean) form).getCategory());
82
// retrieve the list from the business object
83
Vector JavaDoc newsList = null;
84                 if(((EABaseListBean) form).getCategory() <= 0)
85                 {
86                     //LoggingManager.log("Don't have category!");
87
// all every news should be retrieved
88
newsList = nwobj.loadEABaseListEntries();
89                 }
90                 else
91                 {
92                     //LoggingManager.log("Have category:"+ ((EABaseListBean) form).getCategory());
93
CategoryFilter catfilt = new CategoryFilter(((EABaseListBean) form).getCategory());
94                     newsList = nwobj.loadEABaseListEntries(catfilt);
95                 }
96
97                 // pass the list to the bean (in scope)
98
((EABaseListBean) form).setList(newsList);
99
100                 //setting enabled properties
101
((EABaseListBean) form).setCategoriesEnabled( nwobj.areCategoriesEnabled() );
102                 ((EABaseListBean) form).setFilesEnabled( nwobj.areFilesEnabled() );
103                 ((EABaseListBean) form).setPicturesEnabled( nwobj.arePicturesEnabled() );
104                 ((EABaseListBean) form).setLinksEnabled( nwobj.areLinksEnabled() );
105             }
106             else if(iToggleEntryId != -1 && iDelEntryId == -1)
107             {
108                 // something has to be toggled on/off. Determine which field
109
String JavaDoc field = request.getParameter(BaseConstants.HTTPGET_PARAM_FIELD);
110                 if(field != null)
111                 {
112                     EABaseListEntry eae = ((EABaseListBean) form).getEntry(iToggleEntryId);
113                     if(eae != null)
114                     {
115                         // update the correct field in the data entry bean
116
if(field.equalsIgnoreCase("flagVisible"))
117                         {
118                             eae.setFlagVisible( !eae.getFlagVisible() );
119                         }
120                         else if(field.equalsIgnoreCase("flagEntryDte"))
121                         {
122                             eae.setFlagEntryDte( !eae.getFlagEntryDte() );
123                         }
124                         else if(field.equalsIgnoreCase("flagTimedPub"))
125                         {
126                             eae.setFlagTimedPub( !eae.getFlagTimedPub() );
127                         }
128                         else if(field.equalsIgnoreCase("flagLinks"))
129                         {
130                             eae.setFlagLinks( !eae.getFlagLinks() );
131                         }
132                         else if(field.equalsIgnoreCase("flagFiles"))
133                         {
134                             eae.setFlagFiles( !eae.getFlagFiles() );
135                         }
136                         else if(field.equalsIgnoreCase("flagPics"))
137                         {
138                             eae.setFlagPics( !eae.getFlagPics() );
139                         }
140                         else
141                         {
142                             // this happens only if somebody tries to attack the service or
143
// a typewriter bug has been introduced into the JSP.
144
LoggingManager.log("Field " + field + " cannot be dispatched!", this);
145                             return null;
146                         }
147
148                         // now update database to reflect changes.
149
BaseObject nwobj = new BaseObject(vm, user.getLocale());
150                         nwobj.saveEABaseListEntryFlags(eae);
151                     }
152                     else
153                         LoggingManager.log("Cannot find news entry with rowId: " + iToggleEntryId, this);
154                 }
155                 else
156                     LoggingManager.log("Parameter <" + BaseConstants.HTTPGET_PARAM_FIELD + "> expected!", this);
157             }
158             else if(iToggleEntryId == -1 && iDelEntryId != -1)
159             {
160                 // the entry has to be deleted
161
EABaseListEntry eae = ((EABaseListBean) form).getEntry(iDelEntryId);
162                 if(eae != null)
163                 {
164                     BaseObject nwobj = new BaseObject(vm, user.getLocale());
165                     nwobj.deleteEABaseListEntry(eae);
166
167                     // NOTE: we have deleted an entry, the list must be reloaded everytime in order to reflect changes
168

169                     // retrieve the list from the business object
170
Vector JavaDoc newsList = null;
171                     if(((EABaseListBean) form).getCategory() <= 0)
172                     {
173                         //LoggingManager.log("Don't have category!");
174
// all every news should be retrieved
175
newsList = nwobj.loadEABaseListEntries();
176                     }
177                     else
178                     {
179                         //LoggingManager.log("Have category:"+ ((EABaseListBean) form).getCategory());
180
CategoryFilter catfilt = new CategoryFilter(((EABaseListBean) form).getCategory());
181                         newsList = nwobj.loadEABaseListEntries(catfilt);
182                     }
183
184
185                     // pass the list to the bean (in scope)
186
((EABaseListBean) form).setList(newsList);
187                 }
188                 else
189                     LoggingManager.log("Cannot find news entry with rowId: " + iDelEntryId, this);
190             }
191             else
192                 LoggingManager.log("Parameter mismatch!", this);
193         }
194         else
195             return null; // display unknown element screen
196

197         return Constants.SECTION_EADMIN + Constants.DEFAULT_SPACER + element;
198     }
199
200 }
201
202 // eof
203
Popular Tags