Project

General

Profile

Download (3.2 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2018 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.preference.wizard;
10

    
11
import java.util.ArrayList;
12
import java.util.List;
13

    
14
import org.eclipse.jface.wizard.IWizardPage;
15
import org.eclipse.jface.wizard.Wizard;
16

    
17
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
18
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
19
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
20
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
21
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
22
import eu.etaxonomy.taxeditor.l10n.Messages;
23
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
24
import eu.etaxonomy.taxeditor.store.CdmStore;
25

    
26
/**
27
 * @author k.luther
28
 * @since 05.10.2018
29
 *
30
 */
31
public class AvailableDistributionPerAreaStatusWizard extends Wizard implements IConversationEnabled{
32
    private ConversationHolder conversation;
33
    private final AvailableDistributionPerAreaStatusPage aPage;
34
    List<CdmPreference> prefs;
35

    
36
    public AvailableDistributionPerAreaStatusWizard() {
37
        setWindowTitle(Messages.AvailableDistributionStatusWizard_WIZARD_TITLE);
38
        // TODO if preferenceStore has elements checked load elements in wizard
39
        prefs = PreferencesUtil.getPreferencesFromDB(PreferencePredicate.AvailableDistributionStatus);
40
        if (prefs == null || prefs.isEmpty()) {
41
            prefs = new ArrayList();
42
            prefs.add(CdmPreference.NewTaxEditorInstance(PreferencePredicate.AvailableDistributionStatus, null));
43
        }
44
        aPage = new AvailableDistributionPerAreaStatusPage(Messages.AvailableDistributionStatusWizard_PAGE_TITLE, prefs, false);
45

    
46
    }
47

    
48
    @Override
49
    public void addPages() {
50
        addPage(aPage);
51
    }
52

    
53
    @Override
54
    public IWizardPage getPage(String pageName) {
55

    
56
        return aPage;
57
    }
58

    
59
    @Override
60
    public int getPageCount() {
61
       return 1;
62
    }
63

    
64
    @Override
65
    public IWizardPage[] getPages() {
66
        IWizardPage[] pages = new IWizardPage[1];
67
        pages [0] = aPage;
68
        return pages;
69
    }
70

    
71
    @Override
72
    public String getWindowTitle() {
73

    
74
        return Messages.AvailableDistributionStatusWizard_WINDOW_TITLE;
75
    }
76

    
77
    @Override
78
    public boolean performCancel() {
79
        // TODO Auto-generated method stub
80
        return true;
81
    }
82

    
83
    @Override
84
    public boolean performFinish() {
85
        aPage.refreshActualPrefernce();
86
        PreferencesUtil.setPreferencesToDB(aPage.perAreaPreferences);
87
        PreferencesUtil.setPreferenceToDB(aPage.pref);
88
       // PreferencesUtil.setBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.AvailableDistributionStatus.getKey()), aPage.override);
89
        PreferencesUtil.firePreferencesChanged(this.getClass());
90
        return true;
91
    }
92

    
93
    @Override
94
    public void update(CdmDataChangeMap changeEvents) {
95

    
96
    }
97

    
98
    @Override
99
    public ConversationHolder getConversationHolder() {
100
        if (conversation == null) {
101
            conversation = CdmStore.createConversation();
102
        }
103
        return conversation;
104
    }
105

    
106
}
(7-7/16)