2 * Copyright (C) 2018 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
9 package eu
.etaxonomy
.cdm
.api
.service
.dto
;
11 import java
.io
.Serializable
;
12 import java
.util
.UUID
;
14 import eu
.etaxonomy
.cdm
.common
.CdmUtils
;
15 import eu
.etaxonomy
.cdm
.hibernate
.HibernateProxyHelper
;
16 import eu
.etaxonomy
.cdm
.model
.name
.TaxonName
;
17 import eu
.etaxonomy
.cdm
.model
.taxon
.Taxon
;
18 import eu
.etaxonomy
.cdm
.model
.taxon
.TaxonNode
;
19 import eu
.etaxonomy
.cdm
.persistence
.dto
.TaxonNodeDto
;
25 public class TaxonDistributionDTO
implements Serializable
{
27 private static final long serialVersionUID
= -6565463192135410612L;
28 private TaxonNodeDto nodeDto
;
29 private TaxonDescriptionDTO descriptionsWrapper
;
30 private String concatenatedSynonyms
= null;
31 private TaxonNodeDto parentNodeDto
= null;
33 public TaxonDistributionDTO(TaxonNode node
){
34 nodeDto
= new TaxonNodeDto(node
);
35 parentNodeDto
= new TaxonNodeDto(node
.getParent());
37 Taxon taxon
= HibernateProxyHelper
.deproxy(node
.getTaxon());
39 this.descriptionsWrapper
= new TaxonDescriptionDTO(taxon
);
40 concatenateSynonyms(taxon
);
43 /* ------ Getter / Setter -----------*/
44 public UUID
getTaxonUuid() {
46 return nodeDto
.getTaxonUuid();
51 public String
getNameCache() {
53 return nodeDto
.getNameCache();
58 public String
getRankString() {
60 return nodeDto
.getRankLabel();
65 public Integer
getRankOrderIndex() {
67 return nodeDto
.getRankOrderIndex();
72 public TaxonNodeDto
getTaxonNodeDto(){
76 public TaxonDescriptionDTO
getDescriptionsWrapper() {
77 return descriptionsWrapper
;
79 public void setDescriptionsWrapper(TaxonDescriptionDTO descriptionsWrapper
) {
80 this.descriptionsWrapper
= descriptionsWrapper
;
83 public String
getConcatenatedSynonyms(){
84 return concatenatedSynonyms
;
87 private void concatenateSynonyms(Taxon taxon
) {
88 concatenatedSynonyms
= null;
89 for (TaxonName synName
: taxon
.getSynonymNames()){
90 concatenatedSynonyms
= CdmUtils
.concat("; ", concatenatedSynonyms
, synName
.getNameCache());
94 public TaxonNodeDto
getParentDto() {