1 package eu
.etaxonomy
.cdm
.vaadin
.model
;
3 import java
.util
.Collection
;
6 import eu
.etaxonomy
.cdm
.model
.common
.CdmBase
;
7 import eu
.etaxonomy
.cdm
.model
.description
.DescriptionElementBase
;
8 import eu
.etaxonomy
.cdm
.model
.description
.Distribution
;
9 import eu
.etaxonomy
.cdm
.model
.description
.PresenceAbsenceTerm
;
10 import eu
.etaxonomy
.cdm
.model
.name
.Rank
;
11 import eu
.etaxonomy
.cdm
.model
.name
.TaxonNameBase
;
12 import eu
.etaxonomy
.cdm
.model
.taxon
.Taxon
;
14 public class CdmTaxonTableCollection
{
19 private Collection
<DescriptionElementBase
> listTaxonDescription
;
22 private String fullTitleCache
;
27 public CdmTaxonTableCollection(Taxon taxon
, Collection
<DescriptionElementBase
> listTaxonDescription
){
28 this.taxon
= CdmBase
.deproxy(taxon
, Taxon
.class);
29 this.listTaxonDescription
= listTaxonDescription
;
32 public CdmTaxonTableCollection(Taxon taxon
){
33 this.taxon
= CdmBase
.deproxy(taxon
, Taxon
.class);
36 //----Getter - Setter - methods ----//
41 public String
getFullTitleCache() {
42 TaxonNameBase name
= taxon
.getName();
43 name
= CdmBase
.deproxy(name
, TaxonNameBase
.class);
47 return name
.getFullTitleCache();
51 * @param fullTitleCache
53 public void setFullTitleCache(String fullTitleCache
) {
54 taxon
.getName().setFullTitleCache(fullTitleCache
, true);
55 taxon
.setTitleCache(fullTitleCache
, true);
61 public Taxon
getTaxon() {
65 public void setTaxon(Taxon taxon
){
72 * Returns the taxonomic {@link Rank rank} of <i>this</i> taxon name.
76 public String
getRank(){
77 rank
= taxon
.getName().getRank();
81 return rank
.toString();
84 public UUID
getUUID(){
85 return taxon
.getUuid();
91 public void setRank(Rank rank
){
92 taxon
.getName().setRank(rank
);
98 public PresenceAbsenceTerm
getDistributionStatus(String distribution
){
99 Distribution db
= getDistribution(distribution
);
101 return db
.getStatus();
106 // public ComboBox getDistributionComboBox(){
107 // if(getDistributionStatus() != null && termList != null){
108 // BeanItemContainer<PresenceAbsenceTermBase> container = new BeanItemContainer<PresenceAbsenceTermBase>(PresenceAbsenceTermBase.class);
109 // container.addAll(termList);
110 // final ComboBox box = new ComboBox();
111 // box.setContainerDataSource(container);
112 // box.setImmediate(true);
113 //// setValueChangeListener(box);
114 // if(getDistributionStatus() != null){
115 // box.setValue(getDistributionStatus());
125 // private void setValueChangeListener(final ComboBox box){
126 // box.addValueChangeListener(new ValueChangeListener() {
127 // private static final long serialVersionUID = 1L;
129 // public void valueChange(ValueChangeEvent event) {
130 // logger.info("Value Change: "+ box.getValue());
131 // setDistributionStatus((PresenceAbsenceTermBase<?>)box.getValue());
140 public void setDistributionStatus(String distribution
, PresenceAbsenceTerm status
){
141 Distribution db
= getDistribution(distribution
);
143 db
.setStatus(status
);
144 // DescriptionServiceImpl desc = new DescriptionServiceImpl();
145 // desc.saveDescriptionElement(db);
146 // descriptionService.saveDescriptionElement(db);
153 public Distribution
getDistribution(String distribution
){
154 if(listTaxonDescription
!= null){
155 for(DescriptionElementBase deb
: listTaxonDescription
){
156 if(deb
instanceof Distribution
){
157 //FIXME HOW TO IMPLEMENT A FILTER ???
158 Distribution db
= (Distribution
)deb
;
159 if(db
.getArea().getTitleCache().equalsIgnoreCase(distribution
)){
169 //----------- Detail View ------------------//
175 public String
getTaxonNameCache(){
176 return taxon
.getName().getTitleCache();
179 public void setTaxonNameCache(String titlecache
){
180 taxon
.getName().setTitleCache(titlecache
, true);
186 public String
getNomenclaturalCode(){
187 return taxon
.getName().getNomenclaturalCode().getTitleCache();
193 public String
getSecundum(){
194 return taxon
.getSec().toString();