Revision a0e1ca05
Added by Katja Luther over 4 years ago
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/UserCreator.java | ||
---|---|---|
12 | 12 |
import java.util.HashMap; |
13 | 13 |
import java.util.List; |
14 | 14 |
import java.util.Map; |
15 |
import java.util.regex.Pattern; |
|
15 |
|
|
16 |
import javax.validation.ConstraintViolationException; |
|
17 |
|
|
18 |
import org.springframework.security.access.AccessDeniedException; |
|
16 | 19 |
|
17 | 20 |
import eu.etaxonomy.cdm.api.service.IUserService; |
18 | 21 |
import eu.etaxonomy.cdm.model.permission.User; |
... | ... | |
45 | 48 |
@Override |
46 | 49 |
public User createEntity(Object key, String text) { |
47 | 50 |
|
48 |
User user = User.NewInstance(text, text); |
|
49 |
List<User> userList =CdmStore.getService(IUserService.class).listByUsername(user.getUsername(), MatchMode.EXACT, null, 100, 0, null, null); |
|
50 |
if (userList.isEmpty()){ |
|
51 |
user = User.NewInstance(text, text); |
|
52 |
boolean isAccepted = Pattern.matches(User.USERNAME_REGEX, user.getUsername()); |
|
53 |
if (!isAccepted){ |
|
54 |
MessagingUtils.messageDialog(Messages.USER_CREATOR_Name_not_accepted, getClass(), Messages.USER_CREATOR_Name_not_accepted_message); |
|
55 |
return null; |
|
56 |
} |
|
57 |
|
|
58 |
|
|
59 |
return user; |
|
60 |
} else{ |
|
61 |
MessagingUtils.messageDialog(Messages.USER_CREATOR_user_exists_title, user, Messages.USER_CREATOR_user_exists); |
|
51 |
try{ |
|
52 |
User user = User.NewInstance(text, text); |
|
53 |
List<User> userList =CdmStore.getService(IUserService.class).listByUsername(user.getUsername(), MatchMode.EXACT, null, 100, 0, null, null); |
|
54 |
if (userList.isEmpty()){ |
|
55 |
CdmStore.getService(IUserService.class).createUser(user); |
|
56 |
user = CdmStore.getService(IUserService.class).loadWithUpdate(user.getUuid()); |
|
57 |
return user; |
|
58 |
} else{ |
|
59 |
MessagingUtils.messageDialog(Messages.USER_CREATOR_user_exists_title, user, Messages.USER_CREATOR_user_exists); |
|
60 |
return null; |
|
61 |
} |
|
62 |
} catch (AccessDeniedException e){ |
|
63 |
MessagingUtils.messageDialog(Messages.USER_CREATOR_Acces_denied, getClass(), e.getMessage(), e); |
|
62 | 64 |
return null; |
63 |
} |
|
64 |
|
|
65 |
} catch (ConstraintViolationException cve){ |
|
66 |
MessagingUtils.messageDialog(Messages.USER_CREATOR_Name_not_accepted, getClass(), Messages.USER_CREATOR_Name_not_accepted_message); |
|
67 |
return null; |
|
68 |
} |
|
65 | 69 |
|
66 | 70 |
} |
67 | 71 |
|
Also available in: Unified diff
fix #8470: create user/group in creator