fix #6309: check for existence of user before saving a new user
authorKatja Luther <k.luther@bgbm.org>
Thu, 2 Feb 2017 12:54:47 +0000 (13:54 +0100)
committerKatja Luther <k.luther@bgbm.org>
Thu, 2 Feb 2017 12:54:47 +0000 (13:54 +0100)
eu.etaxonomy.taxeditor.bulkeditor/OSGI-INF/l10n/messages.properties
eu.etaxonomy.taxeditor.bulkeditor/OSGI-INF/l10n/messages_de.properties
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/UserCreator.java

index 2250072f6e6ce7ae774be79a11d1b57234f1f32e..8db701fca330d4f1391689737f4b46e299d9cefb 100644 (file)
@@ -7,3 +7,6 @@ BulkEditorInputType_5=Users
 BulkEditorInputType_6=Groups\r
 BulkEditorInputType_7=Taxa\r
 BulkEditorInputType_8=Media\r
 BulkEditorInputType_6=Groups\r
 BulkEditorInputType_7=Taxa\r
 BulkEditorInputType_8=Media\r
+\r
+USER_CREATOR_user_exists_title=The user already exists\r
+USER_CREATOR_user_exists=The user already exists in database
\ No newline at end of file
index 4bf7416ffc36876518d48d4d323cd148c2922b75..734473672fff7f8f1f127aa843148fa79959cad6 100644 (file)
@@ -6,4 +6,7 @@ BulkEditorInputType_4=Belege und Beobachtungen
 BulkEditorInputType_5=Nutzer\r
 BulkEditorInputType_6=Nutzergruppen\r
 BulkEditorInputType_7=Taxa\r
 BulkEditorInputType_5=Nutzer\r
 BulkEditorInputType_6=Nutzergruppen\r
 BulkEditorInputType_7=Taxa\r
-BulkEditorInputType_8=Medien
\ No newline at end of file
+BulkEditorInputType_8=Medien\r
+\r
+USER_CREATOR_user_exists_title=Der Benutzer existiert bereits\r
+USER_CREATOR_user_exists=Der Benutzer existiert bereits in der Datenbank.\r
index 0abba8e900b681add629bf6d1148863859394996..c74147116c982db015f9ba692bb205cbe1aff891 100644 (file)
 package eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator;
 
 import java.util.HashMap;
 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 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.annotatedlineeditor.IEntityCreator;
+import eu.etaxonomy.taxeditor.bulkeditor.input.Messages;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 
@@ -42,9 +45,15 @@ public class UserCreator  implements IEntityCreator<User>{
        public User createEntity(Object key, String text) {
                try{
                        User user = User.NewInstance(text, text);
        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;
                } catch (AccessDeniedException e){
                        MessagingUtils.messageDialog("Access denied", getClass(), e.getMessage(), e);
                        return null;