KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > lutris > airsent > presentation > admin > NewMessenger


1 /*
2  * Copyright (c) 1999-2001 Lutris Technologies, Inc. All Rights
3  * Reserved.
4  *
5  * This source code file is distributed by Lutris Technologies, Inc. for
6  * use only by licensed users of product(s) that include this source
7  * file. Use of this source file or the software that uses it is covered
8  * by the terms and conditions of the Lutris Enhydra Development License
9  * Agreement included with this product.
10  *
11  * This Software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
12  * ANY KIND, either express or implied. See the License for the specific terms
13  * governing rights and limitations under the License.
14  *
15  * Contributor(s):
16  *
17  * $Id: NewMessenger.java,v 1.1 2004/08/16 09:33:18 slobodan Exp $
18  */

19
20 package com.lutris.airsent.presentation.admin;
21
22 import com.lutris.appserver.server.httpPresentation.*;
23 import com.lutris.appserver.server.session.*;
24 import com.lutris.util.*;
25 //import com.lutris.xml.xmlc.*;
26
//import com.lutris.xml.xmlc.html.*;
27
import org.w3c.dom.*;
28 import org.w3c.dom.html.*;
29 import org.enhydra.xml.xmlc.XMLObject;
30 import java.util.*;
31
32
33 import com.lutris.airsent.spec.*;
34 import com.lutris.airsent.presentation.*;
35
36
37 import com.lutris.airsent.spec.messenger.Messenger;
38
39
40 import com.lutris.airsent.spec.address.*;
41 /**
42  * The login page of the AirSent app
43  *
44  */

45 public class NewMessenger extends BasePO {
46     private static final int AUTH_LEVEL = AirSentConstants.ADMINISTRATOR_USER;
47     private String JavaDoc _firstname = null;
48     private String JavaDoc _lastname = null;
49     private String JavaDoc _badge = null;
50     private String JavaDoc _password = null;
51     private String JavaDoc _repassword = null;
52     private String JavaDoc _email = null;
53     private String JavaDoc _phone = null;
54
55     /**
56      * Superclass method override.
57      * returns the authorization level necessary to access this po.
58      *
59      * @return int required authorization level
60      */

61     public int getRequiredAuthLevel() {
62     return AUTH_LEVEL;
63     }
64
65     /**
66      * Default event. Just show the page.
67      */

68     public XMLObject handleDefault()
69         throws AirSentPresentationException {
70         try {
71             Messenger messenger = null;
72             String JavaDoc id = getComms().request.getParameter(AirSentConstants.MESSENGER_NAME);
73             if (id == null) {
74                 getSessionData().setMessenger(null);
75             } else {
76                 messenger = getMessenger(id);
77                 if (messenger == null) {
78                     return showPage("Messenger not found", null);
79                 }
80                 getSessionData().setMessenger(messenger);
81             }
82             return showPage(null, messenger);
83         } catch (Exception JavaDoc e) {
84             throw new AirSentPresentationException("", e);
85         }
86     }
87
88     /**
89      *
90      */

91     public XMLObject handleNewMessenger()
92         throws HttpPresentationException {
93         try {
94             getParameters();
95             
96             Messenger messenger = getSessionData().getMessenger();
97             boolean virgin = true;
98             if (messenger != null) {
99                 virgin = false;
100             }
101             
102             String JavaDoc err = validateForm(messenger);
103             if (err != null) {
104                 return showPage(err, messenger);
105             }
106             
107             HomeManager hf = getApplication().getHomeManager();
108             if (virgin == true) {
109                 messenger = hf.getMessengerManager().findByBadge(_badge);
110                 if (messenger != null) {
111                     return showPage("Badge already in use", null);
112                 } else {
113                     messenger = hf.getMessengerManager().create();
114                 }
115             }
116             
117             if (virgin == true) {
118                 messenger.setBadge(_badge);
119         messenger.setPassword(_password);
120         }
121             messenger.setFirstName(_firstname);
122             messenger.setLastName(_lastname);
123             messenger.setEmail(_email);
124             Address address = messenger.getAddress();
125             address.setLocalNumber(_phone);
126             messenger.save();
127             getSessionData().setMessenger(null);
128             throw new ClientPageRedirectException(AirSentConstants.ADMIN_MAIN_PAGE);
129 /*
130  * Catch Null pointer exception ( we canot make a instances of classes from business layer when we run AirSent_pres )
131  * We need to allow AirSent_pres to be functional , response
132  * will be default HTML page with message
133  *
134  */

135         }catch(NullPointerException JavaDoc e){
136             NewMessengerHTML page = (NewMessengerHTML) myComms.xmlcFactory.create(NewMessengerHTML.class);
137             page.setTextErrorText("You cannot Enter a New Messenger while running AirSent_pres");
138               return page;
139         } catch (Exception JavaDoc ex) {
140             throw new AirSentPresentationException("Exception saving messenger in user: ", ex);
141         }
142     }
143     
144     /**
145      *
146      */

147     private XMLObject showPage(String JavaDoc errorMsg, Messenger messenger) throws Exception JavaDoc {
148     NewMessengerHTML page = (NewMessengerHTML) myComms.xmlcFactory.create(NewMessengerHTML.class);
149         if (errorMsg != null || (errorMsg = getSessionData().getAndClearUserMessage()) != null) {
150         page.setTextTitle("");
151             page.setTextErrorText(errorMsg);
152         } else {
153             page.getElementErrorText().getParentNode().removeChild(page.getElementErrorText());
154         }
155             
156         if (messenger == null) {
157             page.setTextBadgeText("");
158         page.setTextPasswordText("");
159         Node n = page.getElementEditMessenger().getParentNode();
160             n.removeChild(page.getElementNewMessengerLink());
161             n.removeChild(page.getElementEditMessenger());
162         } else {
163             page.setTextTitle("Edit a messenger");
164             page.getElementBadge().getParentNode().removeChild(page.getElementBadge());
165             page.setTextBadgeText(_badge);
166         page.setTextPasswordText(_password);
167         page.getElementPassword().getParentNode().removeChild(page.getElementPassword());
168         Node n = page.getElementEditMessenger().getParentNode();
169             n.removeChild(page.getElementNewMessenger());
170         }
171     populateForm(page, messenger);
172     return page;
173     }
174
175     /**
176      * Populates the form.
177      */

178     private void populateForm(NewMessengerHTML page, Messenger messenger) {
179         if (messenger == null) {
180             if (isNullField(_badge) == false) {
181                 page.getElementBadge().setValue(_badge);
182             }
183         if (isNullField(_password) == false) {
184         page.getElementPassword().setValue(_password);
185         }
186         if (isNullField(_password) == false) {
187         page.getElementPasswordverify().setValue(_password);
188         }
189     }
190     if (isNullField(_firstname) == false) {
191         page.getElementFirstname().setValue(_firstname);
192         }
193     if (isNullField(_lastname) == false) {
194         page.getElementLastname().setValue(_lastname);
195         }
196     
197     if (isNullField(_phone) == false) {
198         page.getElementPhone().setValue(_phone);
199         }
200     if (isNullField(_email) == false) {
201         page.getElementEmail().setValue(_email);
202         }
203     }
204
205
206     /**
207      * Validates the form data.
208      *
209      * @return error String
210      */

211     private String JavaDoc validateForm(Messenger messenger) {
212         if(messenger == null) {
213         if (isNullField(_password)) {
214         return "Please provide a password";
215         }
216         if (isNullField(_repassword)) {
217         return "Please verify password.";
218         }
219         
220         if (_password.equals(_repassword) == false) {
221         return "Please make sure your password and password confirmation match exactly";
222         }
223     }
224         
225     if (isNullField(_firstname)) {
226         return "Please provide a first name";
227     }
228     if (isNullField(_lastname)) {
229         return "Please provide a last name";
230     }
231         if (messenger == null) {
232             if (isNullField(_badge)) {
233         return "Please provide a badge";
234             }
235         }
236     if (isNullField(_email)) {
237         return "Please provide an email";
238     }
239     if (isNullField(_phone)) {
240         return "Please provide a phone number";
241     }
242     return null;
243     }
244
245     /**
246      *
247      */

248     private Messenger getMessenger(String JavaDoc badge) throws Exception JavaDoc {
249         HomeManager hf = getApplication().getHomeManager();
250         Messenger messenger = hf.getMessengerManager().findByBadge(badge);
251         if ((badge != null) && (messenger != null)) {
252             _firstname = messenger.getFirstName();
253             _lastname = messenger.getLastName();
254             _badge = messenger.getBadge();
255             _password = messenger.getPassword();
256             _repassword = _password;
257             _email = messenger.getEmail();
258             Address address = messenger.getAddress();
259             _phone = address.getLocalNumber();
260         }
261         return messenger;
262     }
263     
264     /**
265      *
266      */

267     private void getParameters() throws Exception JavaDoc {
268         _firstname = getComms().request.getParameter(AirSentConstants.FIRST_NAME);
269         _lastname = getComms().request.getParameter(AirSentConstants.LAST_NAME);
270         _badge = getComms().request.getParameter(AirSentConstants.BADGE_NAME);
271         _repassword = getComms().request.getParameter(AirSentConstants.PASSWORD_VERIFY_NAME);
272         _password = getComms().request.getParameter(AirSentConstants.PASSWORD_NAME);
273         _email = getComms().request.getParameter(AirSentConstants.EMAIL_NAME);
274         _phone = getComms().request.getParameter(AirSentConstants.PHONE_NAME);
275     }
276 }
277
278
Popular Tags