Project

General

Profile

Download (3.66 KB) Statistics
| Branch: | Tag: | Revision:
1
// $Id$
2
/**
3
* Copyright (C) 2015 EDIT
4
* European Distributed Institute of Taxonomy
5
* http://www.e-taxonomy.eu
6
*
7
* The contents of this file are subject to the Mozilla Public License Version 1.1
8
* See LICENSE.TXT at the top of this package for the full license terms.
9
*/
10
package eu.etaxonomy.cdm.vaadin.presenter;
11

    
12
import java.sql.SQLException;
13
import java.util.UUID;
14

    
15
import eu.etaxonomy.cdm.api.service.ITaxonService;
16
import eu.etaxonomy.cdm.model.common.CdmBase;
17
import eu.etaxonomy.cdm.model.taxon.Taxon;
18
import eu.etaxonomy.cdm.vaadin.container.CdmSQLContainer;
19
import eu.etaxonomy.cdm.vaadin.container.LeafNodeTaxonContainer;
20
import eu.etaxonomy.cdm.vaadin.util.CdmQueryFactory;
21
import eu.etaxonomy.cdm.vaadin.util.CdmSpringContextHelper;
22
import eu.etaxonomy.cdm.vaadin.view.IStatusComposite.StatusComponentListener;
23

    
24
/**
25
 * @author cmathew
26
 * @date 10 Mar 2015
27
 *
28
 */
29
public class StatusPresenter implements StatusComponentListener {
30

    
31

    
32

    
33
    private LeafNodeTaxonContainer container;
34

    
35
    private final ITaxonService taxonService;
36

    
37
    private int totalNoOfTaxa = 0;
38

    
39
    public StatusPresenter() {
40
        taxonService = CdmSpringContextHelper.getTaxonService();
41
    }
42

    
43

    
44
    @Override
45
    public void removeFilters() {
46
        removeUnplacedFilter();
47
        removeUnpublishedFilter();
48
        removeNameFilter();
49
    }
50

    
51
    /* (non-Javadoc)
52
     * @see eu.etaxonomy.cdm.vaadin.view.IStatusComponent.StatusComponentListener#load()
53
     */
54
    @Override
55
    public LeafNodeTaxonContainer loadTaxa(int classificationId) throws SQLException {
56
        container = new LeafNodeTaxonContainer(classificationId);
57
        totalNoOfTaxa = container.getTotalNoOfTaxa();
58
        return container;
59
    }
60

    
61
    @Override
62
    public void refresh() {
63
        container.refresh();
64
    }
65
    @Override
66
    public void setUnplacedFilter() {
67
        container.setUnplacedFilter();
68
    }
69

    
70
    @Override
71
    public void removeUnplacedFilter() {
72
        container.removeUnplacedFilter();
73
    }
74

    
75
    @Override
76
    public void setUnpublishedFilter() {
77
        container.setUnpublishedFilter();
78
    }
79

    
80
    @Override
81
    public void removeUnpublishedFilter() {
82
        container.removeUnpublishedFilter();
83
    }
84

    
85
    @Override
86
    public void setNameFilter(String filterString) {
87
        container.setNameFilter(filterString);
88
    }
89

    
90
    @Override
91
    public void removeNameFilter() {
92
        container.removeNameFilter();
93
    }
94

    
95
    @Override
96
    public int getCurrentNoOfTaxa() {
97
        return container.size();
98
    }
99

    
100
    @Override
101
    public int getTotalNoOfTaxa() {
102
        return totalNoOfTaxa;
103
    }
104

    
105
    @Override
106
    public boolean isSynonym(Object itemId) {
107
        return container.isSynonym(itemId);
108
    }
109

    
110
    /* (non-Javadoc)
111
     * @see eu.etaxonomy.cdm.vaadin.view.IStatusComponent.StatusComponentListener#loadClassifications()
112
     */
113
    @Override
114
    public CdmSQLContainer loadClassifications() throws SQLException {
115
        CdmSQLContainer container = CdmSQLContainer.newInstance("Classification");
116
        return container;
117
    }
118

    
119

    
120
    @Override
121
    public void updatePublished(boolean pb, Object itemId) {
122
        UUID uuid = UUID.fromString((String)container.getItem(itemId).getItemProperty(CdmQueryFactory.UUID_ID).getValue());
123
        Taxon taxon = CdmBase.deproxy(taxonService.load(uuid), Taxon.class);
124
        boolean currentPb = taxon.isPublish();
125
        if(currentPb != pb) {
126
            taxon.setPublish(pb);
127
            taxonService.merge(taxon);
128
        }
129
    }
130

    
131

    
132
    /* (non-Javadoc)
133
     * @see eu.etaxonomy.cdm.vaadin.view.IStatusComposite.StatusComponentListener#getCurrentLeafNodeTaxonContainer()
134
     */
135
    @Override
136
    public LeafNodeTaxonContainer getCurrentLeafNodeTaxonContainer() {
137
        return container;
138
    }
139

    
140
}
(3-3/3)