ref #9199: fix NPE for newly created designation source
authorKatja Luther <k.luther@bgbm.org>
Wed, 2 Dec 2020 10:34:09 +0000 (11:34 +0100)
committerKatja Luther <k.luther@bgbm.org>
Wed, 2 Dec 2020 10:35:09 +0000 (11:35 +0100)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameTypeDesignationElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/SpecimenTypeDesignationElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/AdvancedSourceElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/OriginalSourceElement.java

index f52005f60f090e43c545a18de845117062f8426a..cae68a30e1dbe3b8eb8276a77f84a186025ba8c0 100644 (file)
@@ -12,6 +12,7 @@ package eu.etaxonomy.taxeditor.ui.section.name;
 import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
+import eu.etaxonomy.cdm.model.description.DescriptionElementSource;
 import eu.etaxonomy.cdm.model.name.NameTypeDesignation;
 import eu.etaxonomy.cdm.model.name.NameTypeDesignationStatus;
 import eu.etaxonomy.cdm.model.name.TaxonName;
@@ -102,6 +103,10 @@ public class NameTypeDesignationElement extends
                 }
             }
                        getEntity().setTypeStatus(combo_typeStatus.getSelection());
+                       if (getEntity().hasDesignationSource()){
+                           DescriptionElementSource source = DescriptionElementSource.NewPrimarySourceInstance(null, null);
+                entity.setSource(source);
+                       }
 
                        setEntity(entity);
                } else if (eventSource == checkbox_notDesignated) {
index c9e710a4b254453aa49d14ed3441ff52e642b0be..56e8ccc5ba416ac3745bdc54aa3ead2dd3021448 100644 (file)
@@ -13,6 +13,7 @@ import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.api.service.name.TypeDesignationStatusComparator;
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
+import eu.etaxonomy.cdm.model.description.DescriptionElementSource;
 import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
 import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus;
 import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
@@ -89,6 +90,10 @@ public class SpecimenTypeDesignationElement extends
                        }
                    }
                        getEntity().setTypeStatus(combo_typeStatus.getSelection());
+                       if (entity.hasDesignationSource()){
+                           DescriptionElementSource source = DescriptionElementSource.NewPrimarySourceInstance(null, null);
+                           entity.setSource(source);
+                       }
                        setEntity(entity);
 
                }
index a0681cf1807d9bac5af5636461683f9e84fb1462..ae8dd82e09a8665f99388209fff1fe3aa4cef7af 100755 (executable)
@@ -79,19 +79,8 @@ public class AdvancedSourceElement extends AbstractCdmDetailElement<OriginalSour
     @Override
     public void setEntity(OriginalSourceBase entity) {
         super.setEntity(entity);
-//        if (externalLinks != null){
-//            externalLinks.setEntity(entity);
-//        }
     }
 
-//    public ExternalLinksSection getExternalLinks() {
-//        return externalLinks;
-//    }
-//
-//    public void setExternalLinks(ExternalLinksSection externalLinks) {
-//        this.externalLinks = externalLinks;
-//    }
-
     @Override
     public void handleEvent(Object eventSource) {
         if (eventSource.equals(text_idInSource)){
index 18377cb4e3c4aa811ba0a92122a43fe16a0e10e1..2dba8c7adf18da67e8ac59aca7edd969d7d2ba48 100755 (executable)
@@ -12,7 +12,6 @@ import org.apache.commons.lang3.StringUtils;
 import org.eclipse.jface.util.IPropertyChangeListener;
 import org.eclipse.ui.forms.widgets.TableWrapData;
 
-import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.common.CdmBase;
 import eu.etaxonomy.cdm.model.description.DescriptionElementSource;
 import eu.etaxonomy.cdm.model.reference.INomenclaturalReference;
@@ -52,7 +51,6 @@ public class OriginalSourceElement extends AbstractCdmDetailElement<OriginalSour
     @Override
     protected void createControls(ICdmFormElement formElement, OriginalSourceBase entity,  int style) {
 
-        entity = HibernateProxyHelper.deproxy(entity);
         selection_Ref = formFactory.createSelectionElement(Reference.class,
                       formElement, label, null,
                       EntitySelectionElement.ALL, style, 100);