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