Popup message before editing an unpersisted object #5489
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / selection / EntitySelectionElement.java
index 8bb34daab95938ad6e3f9b230cee5b9692da0209..c4e708be4e800d7d7a2f674de5d0ec765fcd504c 100644 (file)
@@ -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<T extends CdmBase> 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<T> 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) {