factual data view and media view should be disabled for misapplied names
authorKatja Luther <k.luther@bgbm.org>
Tue, 4 Jul 2017 10:43:16 +0000 (12:43 +0200)
committerKatja Luther <k.luther@bgbm.org>
Tue, 4 Jul 2017 11:19:35 +0000 (13:19 +0200)
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptiveViewPart.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/MediaViewPart.java

index 5ca862a218267b1b7e2dcf4cebddbd5a2c83d38c..05e5146f586863e813b07fabaf228cdea23c60d3 100644 (file)
@@ -45,6 +45,7 @@ import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
 import eu.etaxonomy.taxeditor.editor.EditorUtil;
+import eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor;
 import eu.etaxonomy.taxeditor.editor.l10n.Messages;
 import eu.etaxonomy.taxeditor.editor.view.checklist.ChecklistEditor;
 import eu.etaxonomy.taxeditor.editor.view.media.MediaViewPart;
@@ -86,7 +87,6 @@ public class DescriptiveViewPart extends AbstractCdmEditorViewPart implements IP
 
     private DescriptiveContentProvider provider;
 
-
        /** {@inheritDoc} */
        @Override
        public void createViewer(Composite parent) {
@@ -161,14 +161,19 @@ public class DescriptiveViewPart extends AbstractCdmEditorViewPart implements IP
 //                     return;
 //             }
 
+
                if(partObject == this){
                    return;
                }
 
         Object wrappedPart = WorkbenchUtility.getE4WrappedPart(partObject);
+
         if(wrappedPart!=null){
             partObject = wrappedPart;
         }
+        if(part == this){
+                   return;
+               }
 
         if (partObject instanceof DetailsViewPart || partObject instanceof SupplementalDataViewPart
                 || partObject instanceof MediaViewPart) {
@@ -189,8 +194,17 @@ public class DescriptiveViewPart extends AbstractCdmEditorViewPart implements IP
         }
         if(selection instanceof IStructuredSelection){
             Object firstElement = ((IStructuredSelection) selection).getFirstElement();
+            if (partObject instanceof MultiPageTaxonEditor){
+               if (firstElement != ((MultiPageTaxonEditor)partObject).getTaxon()){
+                       showEmptyPage();
+                       return;
+               }
+            }
+            
             if(firstElement instanceof IDescribable<?>
-            && partObject instanceof IPartContentHasFactualData  && !(firstElement instanceof SpecimenOrObservationBase && partObject instanceof BulkEditor)){
+               && partObject instanceof IPartContentHasFactualData  
+                       && !(firstElement instanceof SpecimenOrObservationBase && partObject instanceof BulkEditor)){
+               
                 featureNodeContainerCache.clear();
                 showViewer(partObject, (IStructuredSelection) selection);
                 return;
index 1a5d94db43d1e80c2edb9759a4ae30df03e56b23..bed33a7e86995c640a40a3dec2a84157b3709e3f 100644 (file)
@@ -29,6 +29,7 @@ import org.eclipse.ui.internal.E4PartWrapper;
 import eu.etaxonomy.cdm.model.description.IDescribable;
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
 import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
+import eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor;
 import eu.etaxonomy.taxeditor.editor.l10n.Messages;
 import eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptiveViewPart;
 import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
@@ -118,6 +119,12 @@ public class MediaViewPart extends AbstractCdmEditorViewPart implements IPartCon
                if(partObject instanceof IPartContentHasMedia && ((IPartContentHasMedia) partObject).canAttachMedia() ){
                    if(selection instanceof IStructuredSelection){
                        Object firstElement = ((IStructuredSelection) selection).getFirstElement();
+                       if (partObject instanceof MultiPageTaxonEditor){
+                       if (firstElement != ((MultiPageTaxonEditor)partObject).getTaxon()){
+                               showEmptyPage();
+                               return;
+                       }
+                   }
                        if(firstElement instanceof TreeNode){
                            showViewer(partObject, new StructuredSelection(((TreeNode) firstElement).getValue()));
                            return;