ref #5691: move description setting to an own thread in referencing objects view
authorKatja Luther <k.luther@bgbm.org>
Fri, 17 Feb 2017 09:43:33 +0000 (10:43 +0100)
committerKatja Luther <k.luther@bgbm.org>
Fri, 17 Feb 2017 09:57:07 +0000 (10:57 +0100)
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/referencingobjects/ReferencingObjectsView.java

index 2df83a7c972ce4f78d70d54879c817f41c86df6a..bc0e6929ff7f99f180ca9a678ba8a959d058f981 100644 (file)
@@ -189,7 +189,7 @@ public class ReferencingObjectsView extends AbstractCdmViewPart {
            if (actualUuid == entityUUID){
                return ;
            }
-
+           showEmptyPage();
                Job job = new Job("Update Referencing Objects " + entityUUID) {
 
                        @Override
@@ -381,14 +381,9 @@ public class ReferencingObjectsView extends AbstractCdmViewPart {
                        if (viewer != null && !viewer.getControl().isDisposed()){
                                try{
                                        viewer.setInput(referencingObjects);
-                                       if (referencedObjectTitleCache != null){
-                                               setContentDescription("'" + referencedObjectTitleCache + "' is referenced by:");
-                                       } else {
-                                               setContentDescription("");
-                                       }
+
                                        showViewer();
-                                        getViewSite().getActionBars().getStatusLineManager().
-                              setMessage("End Updating Referencing Objects");
+
                                        //enable/disable table
                                        viewer.getControl().setEnabled(referencingObjects!=null);
 
@@ -402,6 +397,21 @@ public class ReferencingObjectsView extends AbstractCdmViewPart {
             });
        }
 
+
+       private void updateDescription(){
+           Display.getDefault().asyncExec(new Runnable() {
+            @Override
+            public void run() {
+                   if (referencedObjectTitleCache != null){
+                    setContentDescription("'" + referencedObjectTitleCache + "' is referenced by:");
+                } else {
+                    setContentDescription("");
+                }
+            }
+
+         });
+        }
+
        /** {@inheritDoc} */
        @Override
     public void selectionChanged(IWorkbenchPart part, ISelection selection) {
@@ -410,7 +420,7 @@ public class ReferencingObjectsView extends AbstractCdmViewPart {
         }
 
         if(selection instanceof IStructuredSelection){
-               referencedObjectTitleCache = null;
+               //referencedObjectTitleCache = null;
                showViewer(part, (IStructuredSelection) selection);
         }
        }
@@ -442,6 +452,7 @@ public class ReferencingObjectsView extends AbstractCdmViewPart {
                     referencedObjectTitleCache = null;
                 }
                    }
+                   updateDescription();
                    updateReferencingObjects(referencedCdmObject.getUuid(),firstElement.getClass() );
 
                }