Project

General

Profile

Download (4.53 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
    public final static String C_TCACHE_ID = "titleCache";
33

    
34
    private LeafNodeTaxonContainer leafNodeTaxonContainer;
35

    
36
    private CdmSQLContainer classificationContainer;
37

    
38
    private final ITaxonService taxonService;
39

    
40
    private int totalNoOfTaxa = 0;
41

    
42
    public StatusPresenter() {
43
        taxonService = CdmSpringContextHelper.getTaxonService();
44
    }
45

    
46

    
47
    @Override
48
    public void removeFilters() {
49
        removeUnplacedFilter();
50
        removeUnpublishedFilter();
51
        removeNameFilter();
52
    }
53

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

    
64
    @Override
65
    public void refresh() {
66
        leafNodeTaxonContainer.refresh();
67
    }
68
    @Override
69
    public void setUnplacedFilter() {
70
        leafNodeTaxonContainer.setUnplacedFilter();
71
    }
72

    
73
    @Override
74
    public void removeUnplacedFilter() {
75
        leafNodeTaxonContainer.removeUnplacedFilter();
76
    }
77

    
78
    @Override
79
    public void setUnpublishedFilter() {
80
        leafNodeTaxonContainer.setUnpublishedFilter();
81
    }
82

    
83
    @Override
84
    public void removeUnpublishedFilter() {
85
        leafNodeTaxonContainer.removeUnpublishedFilter();
86
    }
87

    
88
    @Override
89
    public void setNameFilter(String filterString) {
90
        leafNodeTaxonContainer.setNameFilter(filterString);
91
    }
92

    
93
    @Override
94
    public void removeNameFilter() {
95
        leafNodeTaxonContainer.removeNameFilter();
96
    }
97

    
98
    @Override
99
    public void setIdFilter(Object itemId) {
100
       leafNodeTaxonContainer.setIdFilter(itemId);
101
    }
102

    
103
    @Override
104
    public void removeIdFilter() {
105
        leafNodeTaxonContainer.removeDynamicFilters();
106
    }
107

    
108
    @Override
109
    public void removeDynamicFilters() {
110
        leafNodeTaxonContainer.removeDynamicFilters();
111
    }
112

    
113
    @Override
114
    public int getCurrentNoOfTaxa() {
115
        return leafNodeTaxonContainer.size();
116
    }
117

    
118
    @Override
119
    public int getTotalNoOfTaxa() {
120
        return totalNoOfTaxa;
121
    }
122

    
123
    @Override
124
    public boolean isSynonym(Object itemId) {
125
        return leafNodeTaxonContainer.isSynonym(itemId);
126
    }
127

    
128
    @Override
129
    public void refreshSynonymCache() {
130
        leafNodeTaxonContainer.refreshSynonymCache();
131
    }
132

    
133
    /* (non-Javadoc)
134
     * @see eu.etaxonomy.cdm.vaadin.view.IStatusComponent.StatusComponentListener#loadClassifications()
135
     */
136
    @Override
137
    public CdmSQLContainer loadClassifications() throws SQLException {
138
        classificationContainer = CdmSQLContainer.newInstance("Classification");
139
        return classificationContainer;
140
    }
141

    
142

    
143
    @Override
144
    public void updatePublished(boolean pb, Object itemId) {
145
        UUID uuid = UUID.fromString((String)leafNodeTaxonContainer.getItem(itemId).getItemProperty(CdmQueryFactory.UUID_ID).getValue());
146
        Taxon taxon = CdmBase.deproxy(taxonService.load(uuid), Taxon.class);
147
        boolean currentPb = taxon.isPublish();
148
        if(currentPb != pb) {
149
            taxon.setPublish(pb);
150
            taxonService.merge(taxon);
151
        }
152
    }
153

    
154

    
155
    /* (non-Javadoc)
156
     * @see eu.etaxonomy.cdm.vaadin.view.IStatusComposite.StatusComponentListener#getCurrentLeafNodeTaxonContainer()
157
     */
158
    @Override
159
    public LeafNodeTaxonContainer getCurrentLeafNodeTaxonContainer() {
160
        return leafNodeTaxonContainer;
161
    }
162

    
163
    @Override
164
    public CdmSQLContainer getClassificationContainer() {
165
        return classificationContainer;
166
    }
167

    
168
}
(5-5/5)