ref #9594 use MediaSpecimen as base unit for MediaSpecimenGeneralDetailElement (cont.)
authorAndreas Müller <a.mueller@bgbm.org>
Thu, 29 Apr 2021 14:50:53 +0000 (16:50 +0200)
committerAndreas Müller <a.mueller@bgbm.org>
Thu, 29 Apr 2021 14:50:53 +0000 (16:50 +0200)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/e4/details/DetailsViewerE4.java

index 1fdc73e46f252670738895d4e1df3b0229e22897..7f74a248e734ee6743053de76b4dfbca241bd886 100755 (executable)
@@ -191,7 +191,9 @@ public class DetailsViewerE4 extends AbstractCdmDataViewerE4 {
         if(input instanceof GbifResponse){
             input = ((GbifResponse) input).getDerivedUnitFacade();
         }
-       if (input !=null && input instanceof DerivedUnit) {
+        if (input instanceof MediaSpecimen && !(this.activePart.getClass().getSimpleName().equals("BulkEditorE4"))){
+            //do nothing
+        }else if (input instanceof DerivedUnit) {
             DerivedUnit derivedUnit = (DerivedUnit)input;
             try {
                 input = DerivedUnitFacade.NewInstance(derivedUnit,
@@ -309,11 +311,10 @@ public class DetailsViewerE4 extends AbstractCdmDataViewerE4 {
 
         } else if (input instanceof Media) {
             createMediaElementSection(rootElement);
-
         }
         //FIXME hack to show more informative message to the user when
         //DerivedUnit has more than one FieldUnit #4363
-        else if (input instanceof DerivedUnit) {
+        else if (input instanceof DerivedUnit && !(input instanceof MediaSpecimen)) {
             DerivedUnit derivedUnit = (DerivedUnit)input;
             try {
                 input = DerivedUnitFacade.NewInstance(derivedUnit,
@@ -353,11 +354,9 @@ public class DetailsViewerE4 extends AbstractCdmDataViewerE4 {
                 else if(facade.innerDerivedUnit().getRecordBasis()==SpecimenOrObservationType.DnaSample){
                     createDnaSampleSection(rootElement);
                 }
-            }else if (((DerivedUnitFacade) input).innerDerivedUnit() instanceof MediaSpecimen){
-                createMediaSpecimenSection(rootElement);
-            }
-
-            else{
+            }else if (facade.innerDerivedUnit() instanceof MediaSpecimen){
+                createEmptySection("Image specimen not supported by specimen list editor", rootElement);
+            }else{
                 createDerivedUnitBaseElementSection(rootElement);
             }
         } else if (input instanceof DnaSample){