package eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import org.springframework.security.access.AccessDeniedException;
import eu.etaxonomy.cdm.api.service.IUserService;
import eu.etaxonomy.cdm.model.common.User;
+import eu.etaxonomy.cdm.persistence.query.MatchMode;
import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
+import eu.etaxonomy.taxeditor.bulkeditor.input.Messages;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.store.CdmStore;
public User createEntity(Object key, String text) {
try{
User user = User.NewInstance(text, text);
- CdmStore.getService(IUserService.class).createUser(user);
- user = CdmStore.getService(IUserService.class).loadWithUpdate(user.getUuid());
- return user;
+ List<User> userList =CdmStore.getService(IUserService.class).listByUsername(user.getUsername(), MatchMode.EXACT, null, 100, 0, null, null);
+ if (userList.isEmpty()){
+ CdmStore.getService(IUserService.class).createUser(user);
+ user = CdmStore.getService(IUserService.class).loadWithUpdate(user.getUuid());
+ return user;
+ } else{
+ MessagingUtils.messageDialog(Messages.USER_CREATOR_user_exists_title, user, Messages.USER_CREATOR_user_exists);
+ return null;
+ }
} catch (AccessDeniedException e){
MessagingUtils.messageDialog("Access denied", getClass(), e.getMessage(), e);
return null;