ref #9838: change order of ui element creation and setting entity in collection elements
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / supplemental / AbstractOriginalSourceElement.java
index b56239bbfeedecd2af9672f1fc398566c1a5b0a4..b99cc0ab019fd6449ca98e362a65164a90a70c73 100644 (file)
@@ -71,21 +71,24 @@ public abstract class AbstractOriginalSourceElement<T extends OriginalSourceBase
 
        @Override
        public void setEntity(T entity) {
-           selection_reference.setEntity(entity.getCitation());
-        text_referenceDetail.setText(entity.getCitationMicroReference());
-        text_originaleNameString.setText(entity.getOriginalNameString());
-        ICdmTarget cdmSource = entity.getCdmSource();
-        String source = "";
-        if(cdmSource instanceof IdentifiableEntity) {
-            source = ((IdentifiableEntity) cdmSource).getTitleCache();
-        } else if(cdmSource instanceof CdmBase) {
-            source += CdmUtils.isNotBlank(source)?"\nUUID: ":"";
-            source += ((CdmBase) cdmSource).getUuid().toString();
-        } else if(cdmSource!=null){
-            source = cdmSource.toString();
-        }
-        text_cdmsource.setText(source);
-        externalLinks.setEntity(entity);
+               this.entity = entity;
+               if (selection_reference != null){
+                   selection_reference.setEntity(entity.getCitation());
+               text_referenceDetail.setText(entity.getCitationMicroReference());
+               text_originaleNameString.setText(entity.getOriginalNameString());
+               ICdmTarget cdmSource = entity.getCdmSource();
+               String source = "";
+               if(cdmSource instanceof IdentifiableEntity) {
+                   source = ((IdentifiableEntity) cdmSource).getTitleCache();
+               } else if(cdmSource instanceof CdmBase) {
+                   source += CdmUtils.isNotBlank(source)?"\nUUID: ":"";
+                   source += ((CdmBase) cdmSource).getUuid().toString();
+               } else if(cdmSource!=null){
+                   source = cdmSource.toString();
+               }
+               text_cdmsource.setText(source);
+               externalLinks.setEntity(entity);
+               }
        }
 
        /**
@@ -121,5 +124,25 @@ public abstract class AbstractOriginalSourceElement<T extends OriginalSourceBase
                text_cdmsource = formFactory.createTextWithLabelElement(
                        formElement, "CDM Source", null, SWT.NULL);
                ((Text) text_cdmsource.getMainControl()).setEditable(false);
+               
+               if (entity != null){                    
+                       selection_reference.setEntity(entity.getCitation());
+               text_referenceDetail.setText(entity.getCitationMicroReference());
+               text_originaleNameString.setText(entity.getOriginalNameString());
+               ICdmTarget cdmSource = entity.getCdmSource();
+               String source = "";
+               if(cdmSource instanceof IdentifiableEntity) {
+                   source = ((IdentifiableEntity) cdmSource).getTitleCache();
+               } else if(cdmSource instanceof CdmBase) {
+                   source += CdmUtils.isNotBlank(source)?"\nUUID: ":"";
+                   source += ((CdmBase) cdmSource).getUuid().toString();
+               } else if(cdmSource!=null){
+                   source = cdmSource.toString();
+               }
+               text_cdmsource.setText(source);
+               if (externalLinks != null){
+                       externalLinks.setEntity(entity);
+               }
+               }
        }
 }