commit 92e8d1df8062226a509a5baa488e270007460beb
Author: Katja Luther <k.luther@bgbm.org>
Date:   Tue May 15 12:50:04 2018 +0200

    adapt details view to pro parte synonyms

diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/e4/AbstractCdmDataViewerE4.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/e4/AbstractCdmDataViewerE4.java
index 731c93069..f98445b84 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/e4/AbstractCdmDataViewerE4.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/e4/AbstractCdmDataViewerE4.java
@@ -29,6 +29,7 @@ import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
 import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.remoting.CdmEagerLoadingException;
 import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
@@ -138,7 +139,11 @@ public abstract class AbstractCdmDataViewerE4 extends Viewer implements IConvers
 	public void setInput(Object input) {
 		this.input = input;
 		if(input!=null){
-		    refresh();
+		    try{
+		        refresh();
+		    }catch(CdmEagerLoadingException e){
+		        logger.error(e);
+		    }
 		}
 	}
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/e4/AbstractCdmEditorPartE4.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/e4/AbstractCdmEditorPartE4.java
index 5e28afe8c..79a209c21 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/e4/AbstractCdmEditorPartE4.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/e4/AbstractCdmEditorPartE4.java
@@ -36,6 +36,7 @@ import eu.etaxonomy.cdm.model.common.CdmBase;
 import eu.etaxonomy.cdm.model.description.Distribution;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
+import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 import eu.etaxonomy.taxeditor.editor.IDistributionEditor;
 import eu.etaxonomy.taxeditor.editor.ITaxonEditor;
@@ -195,7 +196,7 @@ public abstract class AbstractCdmEditorPartE4
             if(selection.getFirstElement()!=null){
                 if (element instanceof Taxon){
                     Taxon taxon = HibernateProxyHelper.deproxy(element, Taxon.class);
-                    if (taxon.isMisapplication()){
+                    if (taxon.isMisapplication() || taxon.isProparteSynonym()){
 
                         if(part instanceof ITaxonEditor){
                             Taxon accepted = ((ITaxonEditor) part).getTaxon();
@@ -203,7 +204,7 @@ public abstract class AbstractCdmEditorPartE4
 
                             if (rels != null && rels.iterator().hasNext()){
                                 TaxonRelationship rel = rels.iterator().next();
-                                if (rel.getType().isAnyMisappliedName() && !rel.getFromTaxon().equals(((ITaxonEditor) part).getTaxon())){
+                                if ((rel.getType().isAnyMisappliedName() || rel.getType().equals(TaxonRelationshipType.PRO_PARTE_SYNONYM_FOR()))&& !rel.getFromTaxon().equals(((ITaxonEditor) part).getTaxon())){
                                     viewer.setInput(rel);
 
                                     return;
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/e4/details/DetailsViewerE4.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/e4/details/DetailsViewerE4.java
index 6e6b8291e..6df8c3383 100755
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/e4/details/DetailsViewerE4.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/e4/details/DetailsViewerE4.java
@@ -56,6 +56,7 @@ import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
 import eu.etaxonomy.cdm.model.reference.Reference;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
 import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
+import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 import eu.etaxonomy.taxeditor.editor.IDistributionEditor;
 import eu.etaxonomy.taxeditor.event.WorkbenchEventConstants;
@@ -355,7 +356,7 @@ public class DetailsViewerE4 extends AbstractCdmDataViewerE4 {
         } else if (input instanceof Group) {
             createGroupSection(rootElement);
         } else if (input instanceof TaxonRelationship && ((TaxonRelationship)input).getType()!=null
-                && ((TaxonRelationship)input).getType().isAnyMisappliedName()) {
+                && (((TaxonRelationship)input).getType().isAnyMisappliedName() || ((TaxonRelationship)input).getType().equals(TaxonRelationshipType.PRO_PARTE_SYNONYM_FOR()))) {
             createMisappliedNameSection(rootElement);
         }else if (input instanceof TaxonRelationship ) {
             createTaxonRelationshipSection(rootElement);
