Project

General

Profile

Download (10.5 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
 * Copyright (C) 2014 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.databaseAdmin.preferencePage;
10

    
11
import org.eclipse.swt.widgets.Composite;
12
import org.eclipse.swt.widgets.Control;
13

    
14
import eu.etaxonomy.cdm.api.application.ICdmRepository;
15
import eu.etaxonomy.cdm.api.service.IPreferenceService;
16
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
17
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
18
import eu.etaxonomy.cdm.model.metadata.TermDisplayEnum;
19
import eu.etaxonomy.cdm.model.metadata.TermOrder;
20
import eu.etaxonomy.taxeditor.preference.ChecklistEditorGeneralPreference;
21
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
22
import eu.etaxonomy.taxeditor.store.CdmStore;
23

    
24
/**
25
 * @author a.oppermann
26
 * @date 21.07.2014
27
 *
28
 */
29
public class ChecklistEditorGeneralAdminPreference extends ChecklistEditorGeneralPreference implements IE4AdminPreferencePage {
30

    
31
    Composite parent;
32
    CdmPreference areaVocPref = null;
33
    CdmPreference statusPref = null;
34

    
35
    @Override
36
    protected Control createContents(Composite parent) {
37
        this.parent = parent;
38
        return super.createContents(parent);
39

    
40
    }
41

    
42
    @Override
43
    public boolean performOk() {
44
        if (distributionEditorPref == null){
45
            return true;
46
        }
47
        ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
48
        if (controller == null){
49
            return false;
50
        }
51
        IPreferenceService service = controller.getPreferenceService();
52

    
53
        CdmPreference pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.DistributionEditorActivated, Boolean.toString(isEditorActivated));
54
        pref.setAllowOverride(this.allowOverrideActivated);
55
        service.set(pref);
56

    
57
        pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.DisplayOfAreasInDistributionEditor, this.displayArea);
58
        pref.setAllowOverride(this.allowOverrideAreaDisplay);
59
        service.set(pref);
60

    
61
        pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.DisplayOfStatus, this.displayStatus);
62
        pref.setAllowOverride(this.allowOverrideStatusDisplay);
63
        service.set(pref);
64

    
65
        pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.ShowRankInDistributionEditor, Boolean.toString(isShowRank));
66
        pref.setAllowOverride(this.allowOverrideRank);
67
        service.set(pref);
68

    
69
        pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.AreasSortedInDistributionEditor, this.orderAreas);
70
        pref.setAllowOverride(this.allowOverrideOrderAreas);
71
        service.set(pref);
72

    
73
        pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.OwnDescriptionForDistributionEditor, Boolean.toString(ownDescriptionForDistributionEditor));
74
        pref.setAllowOverride(this.allowOverrideOwnDescriptionForDistributionEditor);
75
        service.set(pref);
76

    
77
        if (statusPref != null){
78
            service.set(statusPref);
79
        }
80
        if (areaVocPref != null){
81
            service.set(areaVocPref);
82
        }
83
        PreferencesUtil.updateDBPreferences();
84

    
85
        return true;
86
    }
87

    
88
    @Override
89
    public void getValues() {
90

    
91
        distributionEditorPref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.DistributionEditorActivated);
92
        if (distributionEditorPref == null){
93
            distributionEditorPref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.DistributionEditorActivated, PreferencePredicate.DistributionEditorActivated.getDefaultValue().toString());
94
        }
95
        isEditorActivated = Boolean.valueOf(distributionEditorPref.getValue());
96
        allowOverrideActivated = distributionEditorPref.isAllowOverride();
97
        isAdminPreference = true;
98

    
99
        CdmPreference pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.DisplayOfAreasInDistributionEditor);
100
        if (pref != null){
101
            this.displayArea = pref.getValue();
102
            this.allowOverrideAreaDisplay = pref.isAllowOverride();
103
        }else{
104
            this.displayArea = ((TermDisplayEnum)PreferencePredicate.DisplayOfAreasInDistributionEditor.getDefaultValue()).getKey();
105
            this.allowOverrideAreaDisplay = true;
106
        }
107

    
108
        pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.DisplayOfStatus);
109
        if (pref != null){
110
            this.displayStatus = pref.getValue();
111
            this.allowOverrideStatusDisplay = pref.isAllowOverride();
112
        }else{
113
            this.displayStatus = ((TermDisplayEnum)PreferencePredicate.DisplayOfStatus.getDefaultValue()).getKey();
114
            this.allowOverrideStatusDisplay = true;
115
        }
116

    
117
        pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.AreasSortedInDistributionEditor);
118
        if (pref != null){
119
            if (pref.getValue() != null){
120
                this.orderAreas = pref.getValue().toString();
121
            }else{
122
                this.orderAreas = ((TermOrder)PreferencePredicate.AreasSortedInDistributionEditor.getDefaultValue()).getKey();
123
            }
124
            this.allowOverrideOrderAreas = pref.isAllowOverride();
125
        }else{
126
            this.orderAreas = ((TermOrder)PreferencePredicate.AreasSortedInDistributionEditor.getDefaultValue()).getKey();
127
            this.allowOverrideOrderAreas = true;
128
        }
129

    
130
        pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.ShowRankInDistributionEditor);
131
        if (pref != null){
132
            this.isShowRank = Boolean.valueOf(pref.getValue().toString());
133
            this.allowOverrideRank = pref.isAllowOverride();
134
        }else{
135
            this.isShowRank = Boolean.valueOf(PreferencePredicate.ShowRankInDistributionEditor.getDefaultValue().toString());
136
            this.allowOverrideRank = true;
137
        }
138

    
139
        pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.OwnDescriptionForDistributionEditor);
140
        if (pref != null){
141
            this.ownDescriptionForDistributionEditor = Boolean.valueOf(pref.getValue().toString());
142
            this.allowOverrideOwnDescriptionForDistributionEditor= pref.isAllowOverride();
143
        }else{
144
            this.ownDescriptionForDistributionEditor = Boolean.valueOf(PreferencePredicate.OwnDescriptionForDistributionEditor.getDefaultValue().toString());
145
            this.allowOverrideOwnDescriptionForDistributionEditor = true;
146
        }
147

    
148
        commandHandlerString = "eu.etaxonomy.taxeditor.store.open.OpenDistributionEditorWizardAdminHandler";
149
        commandHandlerStringStatus = "eu.etaxonomy.taxeditor.store.open.OpenDistributionStatusWizardAdminHandler";
150

    
151
        setValid(false);
152
    }
153

    
154
    @Override
155
    protected void performDefaults() {
156
        isEditorActivated = (Boolean)PreferencePredicate.DistributionEditorActivated.getDefaultValue();
157
        activateCheckButton.setSelection(isEditorActivated);
158

    
159
        displayArea = ((TermDisplayEnum)PreferencePredicate.DisplayOfAreasInDistributionEditor.getDefaultValue()).getKey();
160
        TermDisplayEnum areaDisplay;
161
        try{
162
            if (displayArea != null){
163
                areaDisplay  = TermDisplayEnum.byKey(displayArea);
164
            }else{
165
                areaDisplay = TermDisplayEnum.Title;
166
            }
167
        }catch(IllegalArgumentException e){
168
            areaDisplay = TermDisplayEnum.Title;
169
        }
170
        int index = 0;
171
        for (String itemLabel : areaDisplaySelectionCombo.getItems()){
172
            if (itemLabel.equalsIgnoreCase(areaDisplay.getLabel())){
173
                areaDisplaySelectionCombo.select(index);
174
                break;
175
            }
176
            index++;
177
        }
178

    
179
        displayStatus = ((TermDisplayEnum)PreferencePredicate.DisplayOfStatus.getDefaultValue()).getKey();
180
        TermDisplayEnum statusDisplay;
181
        try{
182
            if (displayStatus != null){
183
                statusDisplay  = TermDisplayEnum.byKey(displayStatus);
184
            }else{
185
                statusDisplay = TermDisplayEnum.Title;
186
            }
187
        }catch(IllegalArgumentException e){
188
            statusDisplay = TermDisplayEnum.Title;
189
        }
190
        index = 0;
191
        for (String itemLabel : statusDisplaySelectionCombo.getItems()){
192
            if (itemLabel.equalsIgnoreCase(statusDisplay.getLabel())){
193
                statusDisplaySelectionCombo.select(index);
194
                break;
195
            }
196
            index++;
197
        }
198

    
199

    
200

    
201
        orderAreas = ((TermOrder)PreferencePredicate.AreasSortedInDistributionEditor.getDefaultValue()).getKey();
202
        index = 0;
203
        if (PreferencesUtil.getStringValue(PreferencePredicate.DistributionEditorActivated.getKey()) != null){
204
            TermOrder areaOrder;
205
            try{
206
                if (orderAreas != null){
207
                    areaOrder  = TermOrder.valueOf(orderAreas);
208
                }else{
209
                    areaOrder = TermOrder.IdInVoc;
210
                }
211
            }catch(IllegalArgumentException e){
212
                areaOrder = TermOrder.IdInVoc;
213
            }
214
            for (String itemLabel : areaOrderSelectionCombo.getItems()){
215
                if (itemLabel.equalsIgnoreCase(areaOrder.getLabel())){
216
                    areaOrderSelectionCombo.select(index);
217
                    break;
218
                }
219
                index++;
220
            }
221
        }
222

    
223

    
224
        isShowRank = Boolean.valueOf(PreferencePredicate.ShowRankInDistributionEditor.getDefaultValue().toString());
225
        activateRankButton.setSelection(isShowRank);
226

    
227
        ownDescriptionForDistributionEditor = Boolean.valueOf(PreferencePredicate.OwnDescriptionForDistributionEditor.getDefaultValue().toString());
228

    
229
        allowOverrideActivated = true;
230
        allowOverrideActivatedButton.setSelection(allowOverrideActivated);
231
        allowOverrideAreaDisplay = true;
232
        allowOverrideAreaDisplayButton.setSelection(allowOverrideAreaDisplay);
233
        allowOverrideStatusDisplay = true;
234
        allowOverrideStatusDisplayButton.setSelection(allowOverrideStatusDisplay);
235
        allowOverrideOrderAreas = true;
236
        allowOverrideOrderAreasButton.setSelection(allowOverrideOrderAreas);
237
        allowOverrideRank = true;
238
        allowOverrideRankButton.setSelection(allowOverrideRank);
239
        allowOverrideOwnDescriptionForDistributionEditor = true;
240
        createContents(parent);
241

    
242
        this.statusPref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.AvailableDistributionStatus, null);
243
        this.areaVocPref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.AvailableDistributionAreaVocabularies, null);
244
        super.performDefaults();
245
    }
246

    
247
}
(3-3/13)