1 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 import com.jaspersoft.jasperserver.war.common.JasperServerUtil; 28 29 import com.jaspersoft.jasperserver.api.common.domain.ExecutionContext; 30 import com.jaspersoft.jasperserver.api.common.domain.impl.ExecutionContextImpl; 31 32 import com.jaspersoft.jasperserver.api.metadata.user.domain.User; 33 import com.jaspersoft.jasperserver.api.metadata.user.service.UserAuthorityService; 34 35 import java.util.*; 36 37 public class CreateUserValidator extends CRUDUserValidator implements Validator { 38 39 protected UserAuthorityService userAuthService; 41 42 47 public UserAuthorityService getUserAuthService() { 48 return userAuthService; 49 } 50 51 56 public void setUserAuthService(UserAuthorityService userAuthService) { 57 this.userAuthService = userAuthService; 58 } 59 60 public boolean supports(Class clazz) { 61 return User.class.isAssignableFrom(clazz); 62 } 63 64 public void validate(Object bean, Errors errors) { 65 66 super.validate(bean, errors); 67 68 User user = (User) bean; 69 ExecutionContext context = new ExecutionContextImpl(); 70 71 if(duplicateUser(context, user.getUsername())) { 72 errors.rejectValue("username", null, "username already exists"); 73 } 74 } 75 76 81 private boolean duplicateUser(ExecutionContext context, String username) { 82 83 username = username.trim(); 84 boolean duplicateUser = false; 85 User user = null; 86 String currUserName = null; 87 List users = userAuthService.getUsers(context, null); 88 ListIterator itr = users.listIterator(); 89 while(itr.hasNext()) { 90 user = (User)itr.next(); 91 currUserName = user.getUsername().trim(); 92 if(currUserName.equalsIgnoreCase(username)) { 93 duplicateUser = true; 94 break; 95 } 96 } 97 return duplicateUser; 98 } 99 100 } 101 | Popular Tags |