Project

General

Profile

Download (2.85 KB) Statistics
| Branch: | Tag: | Revision:
1
package eu.etaxonomy.cdm.vaadin.presenter.dbstatus;
2

    
3
import java.sql.SQLException;
4
import java.util.ArrayList;
5
import java.util.Arrays;
6
import java.util.List;
7

    
8
import org.apache.bcel.generic.ARRAYLENGTH;
9

    
10
import com.vaadin.server.VaadinSession;
11
import com.vaadin.ui.UI;
12

    
13
import eu.etaxonomy.cdm.api.service.IClassificationService;
14
import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
15
import eu.etaxonomy.cdm.api.service.IVocabularyService;
16
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
17
import eu.etaxonomy.cdm.model.common.TermType;
18
import eu.etaxonomy.cdm.model.common.TermVocabulary;
19
import eu.etaxonomy.cdm.model.taxon.Classification;
20
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
21
import eu.etaxonomy.cdm.vaadin.util.CdmSpringContextHelper;
22
import eu.etaxonomy.cdm.vaadin.view.dbstatus.DistributionSelectionView;
23
import eu.etaxonomy.cdm.vaadin.view.dbstatus.DistributionTableView;
24
import eu.etaxonomy.cdm.vaadin.view.dbstatus.IDistributionSelectionComponent;
25

    
26
public class DistributionSelectionPresenter implements IDistributionSelectionComponent.DistributionSelectionComponentListener {
27

    
28
	DistributionSelectionView view;
29

    
30
	public DistributionSelectionPresenter(DistributionSelectionView dsv) {
31
		this.view = dsv;
32
		view.addListener(this);
33
		view.dataBinding();
34
	}
35

    
36
	@Override
37
	public void buttonClick(TaxonNode classification, TermVocabulary<DefinedTermBase> term) throws SQLException {
38
	    VaadinSession.getCurrent().setAttribute("classificationUUID", classification.getUuid());
39
	    VaadinSession.getCurrent().setAttribute("selectedTerm", term.getUuid());
40

    
41
	    DistributionTableView dtv = new DistributionTableView();
42
	    new DistributionTablePresenter(dtv);
43
	    UI.getCurrent().getNavigator().addView("table", dtv);
44
	    //navigate to table view
45
        UI.getCurrent().getNavigator().navigateTo("table");
46
	}
47

    
48
	@Override
49
	public List<TaxonNode> getClassificationList() {
50
		IClassificationService classificationService = CdmSpringContextHelper.getClassificationService();
51
		ITaxonNodeService taxonNodeService = CdmSpringContextHelper.getTaxonNodeService();
52
		List<Classification> classificationList = classificationService.listClassifications(null, null, null, NODE_INIT_STRATEGY());
53
		List<TaxonNode> nodes = new ArrayList<TaxonNode>();
54
		for (Classification classification : classificationList) {
55
			nodes.addAll(taxonNodeService.listAllNodesForClassification(classification, null, null));
56
		}
57
		return nodes;
58
	}
59

    
60
	@Override
61
	public List<TermVocabulary<DefinedTermBase>> getNamedAreaList() {
62

    
63
		IVocabularyService vocabularyService = CdmSpringContextHelper.getVocabularyService();
64
		List<TermVocabulary<DefinedTermBase>> termList = vocabularyService.findByTermType(TermType.NamedArea);
65
		return termList;
66
	}
67

    
68
	 private List<String> NODE_INIT_STRATEGY(){
69
	        return Arrays.asList(new String[]{
70
	            "taxon.sec",
71
	            "taxon.name",
72
	            "classification"
73
	    });}
74
}
(1-1/2)