Project

General

Profile

Download (3.67 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2019 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
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.
8
*/
9
package eu.etaxonomy.taxeditor.ui.dialog.configurator;
10

    
11
import org.eclipse.jface.wizard.Wizard;
12

    
13
import eu.etaxonomy.cdm.api.application.CdmApplicationState;
14
import eu.etaxonomy.cdm.api.service.description.StructuredDescriptionAggregationConfiguration;
15
import eu.etaxonomy.cdm.api.service.longrunningService.ILongRunningTasksService;
16
import eu.etaxonomy.cdm.common.monitor.IRemotingProgressMonitor;
17
import eu.etaxonomy.cdm.filter.TaxonNodeFilter;
18
import eu.etaxonomy.cdm.model.description.DescriptiveDataSet;
19
import eu.etaxonomy.cdm.model.location.NamedArea;
20
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
21
import eu.etaxonomy.taxeditor.l10n.Messages;
22
import eu.etaxonomy.taxeditor.operation.IPostMoniteredOperationEnabled;
23

    
24
/**
25
 * @author k.luther
26
 * @since 11.12.2019
27
 */
28
public class StructuredAggregationConfigurationWizard extends Wizard implements IPostMoniteredOperationEnabled {
29

    
30
    private final StructuredDescriptionAggregationConfiguration configurator;
31
    private StructuredDescriptionAggregationConfigurationWizardPage page;
32
    private ILongRunningTasksService longRunningTaskService;
33
    private DescriptiveDataSet dataSet;
34

    
35
    public StructuredAggregationConfigurationWizard(StructuredDescriptionAggregationConfiguration config, DescriptiveDataSet dataSet) {
36
        super();
37
        this.configurator = config;
38
        this.dataSet = dataSet;
39
        setNeedsProgressMonitor(true);
40
        this.setWindowTitle(Messages.SetAggregationConfiguration_Title);
41
        longRunningTaskService = CdmApplicationState.getLongRunningTasksService();
42
    }
43

    
44

    
45

    
46
    @Override
47
    public void postOperation(IRemotingProgressMonitor monitor) {
48
        // TODO Auto-generated method stub
49

    
50
    }
51

    
52
    @Override
53
    public boolean performFinish() {
54
        configurator.setAggregatingSourceTypes(page.getSourceTypes());
55
        configurator.setAggregationMode(page.getAggregationMode());
56
        configurator.setToParentSourceMode(page.getSourceModeChildParent());
57

    
58

    
59

    
60
//        for (TaxonNode taxonNode : matrix.getDescriptiveDataSet().getTaxonSubtreeFilter()) {
61
//            filter = filter.orSubtree(taxonNode);
62
//        }
63
        TaxonNodeFilter filter = configurator.getTaxonNodeFilter();
64
        if (!page.useHigherLevel()) {
65
            filter = TaxonNodeFilter.NewRankInstance(dataSet.getMinRank(),
66
                    dataSet.getMaxRank());
67
            for (NamedArea namedArea : dataSet.getGeoFilter()) {
68
                filter = filter.orArea(namedArea.getUuid());
69
            }
70
            for (TaxonNode node: page.getSelectedTaxonNodes()) {
71
                if (page.useSubtree()){
72
                    filter = filter.orSubtree(node);
73
                }else{
74
                    filter = filter.orTaxon(node.getTaxon());
75
                }
76
            }
77
            configurator.setTaxonNodeFilter(filter);
78
        }else{
79
            filter = TaxonNodeFilter.NewRankInstance(dataSet.getMinRank(),
80
                    dataSet.getMaxRank());
81
            for (NamedArea namedArea : dataSet.getGeoFilter()) {
82
                filter = filter.orArea(namedArea.getUuid());
83
            }
84
            for (TaxonNode taxonNode : dataSet.getTaxonSubtreeFilter()) {
85
                filter = filter.orSubtree(taxonNode);
86
            }
87
            configurator.setTaxonNodeFilter(filter);
88
        }
89

    
90

    
91

    
92
        return true;
93
    }
94

    
95
    @Override
96
    public void addPages() {
97
        page = new StructuredDescriptionAggregationConfigurationWizardPage(configurator);
98
        addPage(page);
99

    
100
    }
101
}
(9-9/10)