import java.util.List;
import java.util.Map;
+import javax.validation.ConstraintViolationException;
+
import eu.etaxonomy.cdm.api.service.IGroupService;
import eu.etaxonomy.cdm.model.permission.Group;
import eu.etaxonomy.cdm.persistence.query.MatchMode;
*/
@Override
public Group createEntity(Object key, String text) {
- List<Group> groupList =CdmStore.getService(IGroupService.class).listByName(text, MatchMode.EXACT, null, 100, 0, null, null);
-
- if (groupList.isEmpty()){
+ try{
Group group = Group.NewInstance(text);
-// UUID groupUuid = CdmStore.getService(IGroupService.class).saveGroup(group);
-// group = CdmStore.getService(IGroupService.class).loadWithUpdate(groupUuid);
- return group;
- } else{
- MessagingUtils.messageDialog(Messages.GROUP_CREATOR_group_exists_title, text, Messages.GROUP_CREATOR_group_exists);
+ List<Group> groupList =CdmStore.getService(IGroupService.class).listByName(group.getName(), MatchMode.EXACT, null, 100, 0, null, null);
+ if (groupList.isEmpty()){
+ group = CdmStore.getService(IGroupService.class).merge(group, true).getMergedEntity();
+// group = CdmStore.getService(IGroupService.class).loadWithUpdate(group.getUuid());
+ return group;
+ } else{
+ MessagingUtils.messageDialog(Messages.GROUP_CREATOR_group_exists_title, group, Messages.GROUP_CREATOR_group_exists);
+ return null;
+ }
+ }catch (ConstraintViolationException cve){
+ MessagingUtils.messageDialog(Messages.GROUP_CREATOR_Name_not_accepted, getClass(), Messages.GROUP_CREATOR_Name_not_accepted_message);
return null;
}
-
}
/* (non-Javadoc)