ref #9354: add nodeDto to TaxonDistributionDTO
authorKatja Luther <k.luther@bgbm.org>
Mon, 18 Jan 2021 16:21:19 +0000 (17:21 +0100)
committerKatja Luther <k.luther@bgbm.org>
Mon, 18 Jan 2021 16:21:59 +0000 (17:21 +0100)
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/dto/TaxonDistributionDTO.java

index 4b0eff09e3bc669a570779fe001d5ba566abcc0c..6c3138bc2a96aaacfdf3f7eff98f674b596285c9 100755 (executable)
@@ -13,11 +13,10 @@ import java.util.UUID;
 
 import eu.etaxonomy.cdm.common.CdmUtils;
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
-import eu.etaxonomy.cdm.model.common.CdmBase;
-import eu.etaxonomy.cdm.model.name.Rank;
 import eu.etaxonomy.cdm.model.name.TaxonName;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
+import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto;
 
 /**
  * @author k.luther
@@ -26,66 +25,59 @@ import eu.etaxonomy.cdm.model.taxon.TaxonNode;
 public class TaxonDistributionDTO implements Serializable{
 
     private static final long serialVersionUID = -6565463192135410612L;
-    private UUID taxonUUID;
-    private String nameCache;
-    private Integer rankOrderIndex = null;
-    private String rankLabel = null;
+    private TaxonNodeDto nodeDto;
     private TaxonDescriptionDTO descriptionsWrapper;
     private String concatenatedSynonyms = null;
-    private String parentNameCache = null;
+    private TaxonNodeDto parentNodeDto = null;
 
     public TaxonDistributionDTO(TaxonNode node){
-        this.taxonUUID = node.getTaxon().getUuid();
+        nodeDto = new TaxonNodeDto(node);
+        parentNodeDto = new TaxonNodeDto(node.getParent());
+
         Taxon taxon = HibernateProxyHelper.deproxy(node.getTaxon());
 
-        if (taxon.getName() != null){
-            this.nameCache = taxon.getName().getNameCache();
-        }
-        if (nameCache == null){
-            nameCache = taxon.getTitleCache();
-        }
-        TaxonName name = CdmBase.deproxy(taxon.getName());
-        if (name != null && name.getRank() != null){
-            this.rankOrderIndex = name.getRank().getOrderIndex();
-            this.rankLabel = name.getRank().getLabel();
-        }else{
-            this.rankOrderIndex = null;
-            this.rankLabel = null;
-        }
-        Taxon parentTaxon = HibernateProxyHelper.deproxy(node.getParent().getTaxon());
 
-        setParentNameCache(parentTaxon.getName().getNameCache());
         this.descriptionsWrapper = new TaxonDescriptionDTO(taxon);
         concatenateSynonyms(taxon);
     }
 
    /* ------ Getter / Setter -----------*/
     public UUID getTaxonUuid() {
-        return taxonUUID;
+        if (nodeDto != null){
+            return nodeDto.getTaxonUuid();
+        }
+        return null;
     }
 
     public String getNameCache() {
-        return nameCache;
-    }
-    public void setNameCache(String nameCache) {
-        this.nameCache = nameCache;
+        if (nodeDto != null){
+            return nodeDto.getNameCache();
+        }
+        return null;
+
     }
 
+
     public String getRankString() {
-        return rankLabel;
+        if (nodeDto != null){
+            return nodeDto.getRankLabel();
+        }
+        return null;
     }
 
     public Integer getRankOrderIndex() {
-        return rankOrderIndex;
+        if (nodeDto != null){
+            return nodeDto.getRankOrderIndex();
+        }
+        return null;
     }
 
-    public void setRank(Rank rank) {
-        if (rank != null){
-            this.rankOrderIndex = rank.getOrderIndex();
-            this.rankLabel = rank.getLabel();
-        }
+    public TaxonNodeDto getTaxonNodeDto(){
+        return nodeDto;
     }
 
+
+
     public TaxonDescriptionDTO getDescriptionsWrapper() {
         return descriptionsWrapper;
     }
@@ -104,11 +96,9 @@ public class TaxonDistributionDTO implements Serializable{
        }
     }
 
-    public String getParentNameCache() {
-        return parentNameCache;
+    public TaxonNodeDto getParentDto() {
+        return parentNodeDto;
     }
 
-    public void setParentNameCache(String parentNameCache) {
-        this.parentNameCache = parentNameCache;
-    }
+
 }