ref #8088: taxon should be selectable in taxonnode wizard when editing existing node
authorKatja Luther <k.luther@bgbm.org>
Mon, 18 Feb 2019 15:36:29 +0000 (16:36 +0100)
committerKatja Luther <k.luther@bgbm.org>
Mon, 18 Feb 2019 15:37:17 +0000 (16:37 +0100)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeDetailElement.java

index 5b5790770177cea28541835dd0c2b19ad0da35c3..c7bec26b3b51038e99a4abc1b9757d82aae73baf 100644 (file)
@@ -60,6 +60,7 @@ public class TaxonNodeDetailElement extends AbstractCdmDetailElement<TaxonNode>
        private EntitySelectionElement<Taxon> selection_reuseExistingTaxon;
        private EntitySelectionElement<Reference> selection_SecRef;
        private EntitySelectionElement<Reference> selection_Ref;
+       TextWithLabelElement textTaxonSec;
        private TextWithLabelElement microReference;
 
        private Taxon taxon;
@@ -137,10 +138,16 @@ public class TaxonNodeDetailElement extends AbstractCdmDetailElement<TaxonNode>
                TextWithLabelElement textClassification = formFactory.createTextWithLabelElement(formElement,"Classification", entity.getClassification().getTitleCache(), style);
                textClassification.setEnabled(false);
 
-               TextWithLabelElement textTaxon = formFactory.createTextWithLabelElement(formElement,"Taxon", taxon.getTitleCache(), style);
-               textTaxon.setEnabled(false);
+//             TextWithLabelElement textTaxon = formFactory.createTextWithLabelElement(formElement,"Taxon", taxon.getTitleCache(), style);
+//             textTaxon.setEnabled(false);
 
-            TextWithLabelElement textTaxonSec = formFactory.createTextWithLabelElement(formElement,"Secundum Reference", "", style);
+               selection_reuseExistingTaxon = formFactory
+                  .createSelectionElement(Taxon.class,//getConversationHolder(),
+                          formElement,
+                          "Reuse existing taxon", taxon,
+                          EntitySelectionElement.DELETABLE, style);
+
+               textTaxonSec = formFactory.createTextWithLabelElement(formElement,"Secundum Reference", "", style);
             if (entity.getTaxon().getSec() != null){
                 textTaxonSec.setText(taxon.getSec().getTitleCache());
             }
@@ -256,16 +263,10 @@ public class TaxonNodeDetailElement extends AbstractCdmDetailElement<TaxonNode>
                if (eventSource == selection_parentTaxonNode) {
                    setParentTreeNode(selection_parentTaxonNode.getEntity());
                } else if (eventSource == selection_reuseExistingTaxon) {
-                               boolean enabled = selection_reuseExistingTaxon.getEntity() == null;
-                               selection_reuseExistingName.setEnabled(enabled);
-                               if (!enabled){
-                    setTaxon(selection_reuseExistingTaxon.getEntity());
-                }else{
-                               textNewTaxonName.setText(null);
-                           }
-                               complete = !textNewTaxonName.getText().isEmpty();
-
-
+                   if (selection_reuseExistingTaxon.getEntity() != null){
+                       setTaxon(selection_reuseExistingTaxon.getEntity());
+            }
+                       complete = true;
                } else if (eventSource == selection_reuseExistingName) {
                    boolean enabled = selection_reuseExistingName.getEntity() == null;
                        setTaxon(HibernateProxyHelper.deproxy(selection_reuseExistingName.getEntity()));
@@ -375,8 +376,16 @@ public class TaxonNodeDetailElement extends AbstractCdmDetailElement<TaxonNode>
                getEntity().setTaxon(taxon);
                if (isCreateNew()){
                    textNewTaxonName.setText(taxon.getName().getTitleCache());
+                   if (taxon.getSec() != null){
+                       selection_SecRef.setEntity(taxon.getSec());
+                   }
+               }else{
+                   if (taxon.getSec() != null) {
+                this.textTaxonSec.setText(taxon.getSec().getTitleCache());
+            }
                }
-               selection_SecRef.setEntity(taxon.getSec());
+
+
        }
 
        private void setTaxon(TaxonName taxonName) {