From 42f394505fd03d636d80ffe6a93078b2ca8bd7a3 Mon Sep 17 00:00:00 2001 From: Patrick Plitzner Date: Tue, 9 Feb 2016 10:51:31 +0100 Subject: [PATCH] Popup message before editing an unpersisted object #5489 --- .../ui/selection/EntitySelectionElement.java | 12 ++++++++---- .../taxeditor/view/AbstractCdmViewPart.java | 5 ----- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EntitySelectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EntitySelectionElement.java index 8bb34daab..c4e708be4 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EntitySelectionElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EntitySelectionElement.java @@ -24,6 +24,7 @@ import org.springframework.security.core.GrantedAuthority; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.api.conversation.IConversationEnabled; +import eu.etaxonomy.cdm.api.service.IService; import eu.etaxonomy.cdm.common.CdmUtils; import eu.etaxonomy.cdm.model.common.CdmBase; import eu.etaxonomy.cdm.model.common.Group; @@ -420,10 +421,13 @@ public class EntitySelectionElement extends /** {@inheritDoc} */ @Override public void widgetSelected(SelectionEvent e) { - if (StoreUtil.getActiveEditor().isDirty()){ - MessageDialog.openInformation(null,"Save changes", "You have made changes that must be saved before this query can be executed"); - return; - } + + IService service = CdmStore.getService(entity); + T loadedEntity = service.load(entity.getUuid()); + if (loadedEntity==null){ + MessageDialog.openInformation(null,"Save changes", "You have made changes that must be saved before this query can be executed"); + return; + } WizardDialog dialog = new WizardDialog(selectionElement.getShell(), new EditFromSelectionWizard(selectionElement)); if (dialog.open() == IStatus.OK) { diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmViewPart.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmViewPart.java index 11ddac5f5..35483a872 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmViewPart.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmViewPart.java @@ -34,7 +34,6 @@ import eu.etaxonomy.cdm.model.common.CdmBase; import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap; import eu.etaxonomy.taxeditor.model.AbstractUtility; import eu.etaxonomy.taxeditor.model.IDirtyMarkable; -import eu.etaxonomy.taxeditor.model.MessagingUtils; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; import eu.etaxonomy.taxeditor.session.ICdmEntitySession; import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled; @@ -110,12 +109,8 @@ public abstract class AbstractCdmViewPart extends ViewPart implements ISelection this.part = part; Object element = selection.getFirstElement(); - try{ getViewer().setInput(element); showViewer(); - } catch(IllegalStateException e){ - MessagingUtils.messageDialog("Problems during setting the focus", null, "An uncritical problem occurs while the Editor tried to set a new focus.", e); - } } /** -- 2.34.1