Popup message before editing an unpersisted object #5489
authorPatrick Plitzner <p.plitzner@bgbm.org>
Tue, 9 Feb 2016 09:51:31 +0000 (10:51 +0100)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Tue, 9 Feb 2016 09:51:31 +0000 (10:51 +0100)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EntitySelectionElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmViewPart.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) {
index 11ddac5f560daf1dc46be770943088419cabf9f6..35483a8723e72c7789b96de3dada2b63af60e448 100644 (file)
@@ -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);
-        }
     }
 
     /**