KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > jaspersoft > jasperserver > war > validation > CRUDUserValidator


1 /*
2  * Copyright (C) 2006 JasperSoft http://www.jaspersoft.com
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed WITHOUT ANY WARRANTY; and without the
10  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11  * See the GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program; if not, see http://www.gnu.org/licenses/gpl.txt
15  * or write to:
16  *
17  * Free Software Foundation, Inc.,
18  * 59 Temple Place - Suite 330,
19  * Boston, MA USA 02111-1307
20  */

21 package com.jaspersoft.jasperserver.war.validation;
22
23 import org.springframework.validation.Errors;
24 import org.springframework.validation.Validator;
25
26 import com.jaspersoft.jasperserver.api.metadata.user.domain.User;
27
28 import com.jaspersoft.jasperserver.war.common.JasperServerUtil;
29
30 public class CRUDUserValidator implements Validator {
31
32     public boolean supports(Class JavaDoc clazz) {
33         return User.class.isAssignableFrom(clazz);
34     }
35
36     public void validate(Object JavaDoc bean, Errors errors) {
37         User user = (User) bean;
38
39         if(user.getUsername() == null || user.getUsername().trim().length() == 0) {
40             errors.rejectValue("username", null, "username can't be empty");
41         } else {
42             if(!JasperServerUtil.regExValidateName(user.getUsername())) {
43                 errors.rejectValue("username", null, "username contains invalid characters");
44             }
45         }
46
47         if(user.getFullName() == null || user.getFullName().trim().length() == 0) {
48             errors.rejectValue("fullName", null, "FullName can't be empty");
49         } else {
50             if(!JasperServerUtil.regExValidateLabel(user.getFullName())) {
51                 errors.rejectValue("fullName", null, "fullName contains invalid characters");
52             }
53         }
54
55         // Only internally defined users have a password
56

57         if (!user.isExternallyDefined()) {
58             if(user.getPassword() == null || user.getPassword().trim().length() == 0) {
59                 errors.rejectValue("password", null, "password can't be empty");
60             }
61             // TODO match the 2 entered passwords: repassword in screen not passed in?
62
}
63
64         if(user.getEmailAddress() != null) {
65             if(user.getEmailAddress().trim().length() > 0) {
66                 if(!JasperServerUtil.regExValidateEmail(user.getEmailAddress())) {
67                     errors.rejectValue("emailAddress", null, "emailAddress has invalid format");
68                 }
69             } else {
70                 if(user.getEmailAddress().trim().length() != user.getEmailAddress().length()) {
71                     errors.rejectValue("emailAddress", null, "emailAddress contains spaces");
72                 }
73             }
74         }
75     }
76 }
77
Popular Tags