Project

General

Profile

Download (29.4 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.preference;
10

    
11
import org.eclipse.swt.SWT;
12
import org.eclipse.swt.custom.CLabel;
13
import org.eclipse.swt.events.SelectionAdapter;
14
import org.eclipse.swt.events.SelectionEvent;
15
import org.eclipse.swt.events.SelectionListener;
16
import org.eclipse.swt.layout.GridData;
17
import org.eclipse.swt.layout.GridLayout;
18
import org.eclipse.swt.widgets.Button;
19
import org.eclipse.swt.widgets.Combo;
20
import org.eclipse.swt.widgets.Composite;
21
import org.eclipse.swt.widgets.Control;
22
import org.eclipse.swt.widgets.Event;
23
import org.eclipse.swt.widgets.Label;
24
import org.eclipse.swt.widgets.Listener;
25

    
26
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
27
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
28
import eu.etaxonomy.cdm.model.metadata.TermDisplayEnum;
29
import eu.etaxonomy.taxeditor.l10n.Messages;
30
import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;
31
import eu.etaxonomy.taxeditor.ui.element.CommandHandlerButton;
32

    
33
/**
34
 * @author a.oppermann
35
 * @date 21.07.2014
36
 *
37
 */
38
public class ChecklistEditorGeneralPreference extends CdmPreferencePage implements SelectionListener {
39

    
40
    protected boolean isEditorActivated;
41
    protected boolean allowOverrideActivated;
42
    protected boolean overrideActivated;
43
    boolean isUseLocal;
44
    protected boolean isShowRank;
45
    protected String orderAreas;
46
    protected String displayStatus;
47
    protected String displayArea;
48
    protected boolean ownDescriptionForDistributionEditor;
49
    protected boolean allowOverrideOwnDescriptionForDistributionEditor;
50
    protected boolean overrideOwnDescriptionForDistributionEditor;
51
    protected boolean allowOverrideAreaVoc;
52
    protected boolean overrideAreaVoc;
53
    protected boolean allowOverrideRank;
54
    protected boolean overrideRank;
55
    protected boolean allowOverrideOrderAreas;
56
    protected boolean overrideOrderAreas;
57
    protected boolean allowOverrideAreaDisplay;
58
    protected boolean overrideAreaDisplay;
59
    protected boolean allowOverrideStatusDisplay;
60
    protected boolean overrideStatusDisplay;
61

    
62
    protected boolean allowOverrideStatus;
63
    Combo areaOrderSelectionCombo;
64
    Combo statusDisplaySelectionCombo;
65
    Combo areaDisplaySelectionCombo;
66

    
67
    protected String commandHandlerString;
68
    protected String commandHandlerStringStatus;
69

    
70

    
71

    
72
    protected CdmPreference distributionEditorPref;
73
    Composite child ;
74
    protected boolean isAllowOverride;
75

    
76
    @Override
77
    protected Control createContents(Composite parent) {
78
        getValues();
79
        Composite composite = new Composite(parent, SWT.NULL);
80
        composite.setLayout(new GridLayout());
81
        if(!isAdminPreference && !isEditorActivated && !isAllowOverride){
82
            Label label = new Label(composite, SWT.NONE);
83
            label.setText("The CDM settings don't allow to set the preferences for using the distribution editor locally. If you need to make local settings, please ask an administrator.");
84

    
85
         }else{
86
            Composite activateComp = createComposite(composite);
87
            Label separator= new Label(activateComp, SWT.HORIZONTAL | SWT.SEPARATOR);
88
            GridData sepGrid = createTextGridData();
89
            separator.setLayoutData(sepGrid);
90
            separator.setVisible(false);
91
            final Button activateCheckButton = new Button(activateComp, SWT.CHECK);
92
            activateCheckButton.setText(Messages.ChecklistEditorGeneralPreference_enable);
93
            activateCheckButton.setSelection(isEditorActivated);
94
            activateCheckButton.addSelectionListener(new SelectionAdapter(){
95
                @Override
96
                public void widgetSelected(SelectionEvent e) {
97
                    setApply(true);
98
                    isEditorActivated = activateCheckButton.getSelection();
99
                    if(!isAdminPreference){
100
                        overrideActivated = true;
101
                        child.setEnabled(isEditorActivated);
102
                        PreferencesUtil.recursiveSetEnabled(child, isEditorActivated);
103
                    }
104

    
105

    
106

    
107

    
108
                }
109
            });
110
            Button allowOverrideActivatedButton = createAllowOverrideButton(activateComp);
111
            if (isAdminPreference){
112
                allowOverrideActivatedButton.setSelection(allowOverrideActivated);
113
                allowOverrideActivatedButton.addSelectionListener(new SelectionAdapter(){
114
                    @Override
115
                    public void widgetSelected(SelectionEvent e) {
116
                        setApply(true);
117
                        allowOverrideActivated = allowOverrideActivatedButton.getSelection();
118
                    }
119
                });
120
            }else{
121
                allowOverrideActivatedButton.setSelection(overrideActivated);
122
                allowOverrideActivatedButton.addSelectionListener(new SelectionAdapter(){
123
                    @Override
124
                    public void widgetSelected(SelectionEvent e) {
125
                        setApply(true);
126
                        overrideActivated = allowOverrideActivatedButton.getSelection();
127
                    }
128
                });
129
            }
130

    
131

    
132
            child  = createComposite(composite);
133

    
134
            if(!isAdminPreference){
135
               child.setEnabled(isEditorActivated);
136
            }
137
            separator= new Label(child, SWT.HORIZONTAL | SWT.SEPARATOR);
138
            sepGrid = createTextGridData();
139

    
140
            GridData textGrid = createTextGridData();
141
            textGrid.verticalSpan = 2;
142
            separator.setLayoutData(sepGrid);
143

    
144

    
145
            final Button activateRankButton = new Button(child, SWT.CHECK);
146
            activateRankButton.setText(Messages.ChecklistEditorGeneralPreference_show_rank);
147
            activateRankButton.setSelection(isShowRank);
148
            activateRankButton.addSelectionListener(new SelectionAdapter(){
149
                @Override
150
                public void widgetSelected(SelectionEvent e) {
151
                    setApply(true);
152
                    isShowRank = activateRankButton.getSelection();
153
                }
154
            });
155
            Button allowOverrideRankButton = createAllowOverrideButton(child);
156
            if (isAdminPreference){
157
                allowOverrideRankButton.setSelection(allowOverrideRank);
158
                allowOverrideRankButton.addSelectionListener(new SelectionAdapter(){
159
                    @Override
160
                    public void widgetSelected(SelectionEvent e) {
161
                        setApply(true);
162
                        allowOverrideRank = allowOverrideRankButton.getSelection();
163
                    }
164
                });
165
            }else{
166
                allowOverrideRankButton.setSelection(overrideRank);
167
                allowOverrideRankButton.addSelectionListener(new SelectionAdapter(){
168
                    @Override
169
                    public void widgetSelected(SelectionEvent e) {
170
                        setApply(true);
171
                        overrideRank = !overrideRank;
172
                    }
173
                });
174

    
175
            }
176

    
177
            final CLabel areaOrderLabel = new CLabel(child, SWT.NULL);
178
            areaOrderLabel.setText(Messages.ChecklistEditorGeneralPreference_Configure_area_order);
179
            areaOrderLabel.setLayoutData(textGrid);
180

    
181

    
182
            GridData gridData = new GridData();
183
            gridData = new GridData(GridData.BEGINNING, GridData.CENTER, true, false);
184
            areaOrderSelectionCombo = new Combo(child, SWT.BORDER| SWT.READ_ONLY);
185
            areaOrderSelectionCombo.setLayoutData(gridData);
186

    
187
            for(TermOrder display: TermOrder.values()){
188
                areaOrderSelectionCombo.add(display.getLabel());
189
            }
190
            int index = 0;
191
            if (PreferencesUtil.getStringValue(EditorPreferencePredicate.DistributionEditorActivated.getKey()) != null){
192
                TermOrder areaOrder;
193
                try{
194
                    if (orderAreas != null){
195
                        areaOrder  = TermOrder.valueOf(orderAreas);
196
                    }else{
197
                        areaOrder = TermOrder.IdInVoc;
198
                    }
199
                }catch(IllegalArgumentException e){
200
                    areaOrder = TermOrder.IdInVoc;
201
                }
202
                for (String itemLabel : areaOrderSelectionCombo.getItems()){
203
                    if (itemLabel.equalsIgnoreCase(areaOrder.getLabel())){
204
                        areaOrderSelectionCombo.select(index);
205
                        break;
206
                    }
207
                    index++;
208
                }
209
            }
210
            areaOrderSelectionCombo.addSelectionListener(this);
211

    
212

    
213

    
214
//            final Button sortNamedAreaByVocabularyOrder = new Button(child, SWT.CHECK);
215
//            sortNamedAreaByVocabularyOrder.setText(Messages.ChecklistEditorGeneralPreference_sort_areas);
216
//            sortNamedAreaByVocabularyOrder.setSelection(isSortByVocabularyOrder);
217
//            sortNamedAreaByVocabularyOrder.addSelectionListener(new SelectionAdapter(){
218
//                @Override
219
//                public void widgetSelected(SelectionEvent e) {
220
//                    setApply(true);
221
//                    isSortByVocabularyOrder = sortNamedAreaByVocabularyOrder.getSelection();
222
//                 }
223
//            });
224
            Button allowOverrideOrderAreasButton = createAllowOverrideButton(child);
225
            if (isAdminPreference){
226
                allowOverrideOrderAreasButton.setSelection(allowOverrideOrderAreas);
227
                allowOverrideOrderAreasButton.addSelectionListener(new SelectionAdapter(){
228
                    @Override
229
                    public void widgetSelected(SelectionEvent e) {
230
                        setApply(true);
231
                        allowOverrideOrderAreas = allowOverrideOrderAreasButton.getSelection();
232
                    }
233
                });
234
            }else{
235
                allowOverrideOrderAreasButton.setSelection(overrideOrderAreas);
236
                allowOverrideOrderAreasButton.addSelectionListener(new SelectionAdapter(){
237
                    @Override
238
                    public void widgetSelected(SelectionEvent e) {
239
                        setApply(true);
240
                        overrideOrderAreas = allowOverrideOrderAreasButton.getSelection();
241
                    }
242
                });
243

    
244
            }
245

    
246
//            final Button ownDescription = new Button(child, SWT.CHECK);
247
//            ownDescription.setText(Messages.ChecklistEditorGeneralPreference_own_Description);
248
//            ownDescription.setToolTipText(Messages.ChecklistEditorGeneralPreference_own_DescriptionToolTip);
249
//            ownDescription.setSelection(ownDescriptionForDistributionEditor);
250
//            ownDescription.addSelectionListener(new SelectionAdapter(){
251
//                @Override
252
//                public void widgetSelected(SelectionEvent e) {
253
//                    setApply(true);
254
//                    ownDescriptionForDistributionEditor = ownDescription.getSelection();
255
//                 }
256
//            });
257
//            Button allowOverrideDescription = createAllowOverrideButton(child);
258
//            if (isAdminPreference){
259
//                allowOverrideDescription.setSelection(allowOverrideOwnDescriptionForDistributionEditor);
260
//                allowOverrideDescription.addSelectionListener(new SelectionAdapter(){
261
//                    @Override
262
//                    public void widgetSelected(SelectionEvent e) {
263
//                        setApply(true);
264
//                        allowOverrideOwnDescriptionForDistributionEditor = allowOverrideDescription.getSelection();
265
//                    }
266
//                });
267
//            }else{
268
//                allowOverrideDescription.setSelection(overrideOwnDescriptionForDistributionEditor);
269
//                allowOverrideDescription.addSelectionListener(new SelectionAdapter(){
270
//                    @Override
271
//                    public void widgetSelected(SelectionEvent e) {
272
//                        setApply(true);
273
//                        overrideOwnDescriptionForDistributionEditor = allowOverrideDescription.getSelection();
274
//                    }
275
//                });
276
//                if (!allowOverrideOwnDescriptionForDistributionEditor){
277
//                    ownDescription.setEnabled(false);
278
//                    allowOverrideDescription.setEnabled(false);
279
//                }
280
//            }
281

    
282

    
283
            separator= new Label(child, SWT.HORIZONTAL | SWT.SEPARATOR);
284
            separator.setLayoutData(sepGrid);
285

    
286
//
287

    
288
            final CLabel description = new CLabel(child, SWT.NULL);
289
            description.setText(Messages.ChecklistEditorGeneralPreference_Configure_display_of_Areas);
290
            description.setLayoutData(textGrid);
291

    
292

    
293
            //gridData.horizontalIndent = 5;
294

    
295

    
296
            areaDisplaySelectionCombo = new Combo(child, SWT.BORDER| SWT.READ_ONLY);
297
            areaDisplaySelectionCombo.setLayoutData(gridData);
298

    
299
            for(TermDisplayEnum display: TermDisplayEnum.values()){
300
                areaDisplaySelectionCombo.add(display.getLabel());
301
            }
302
            index = 0;
303
            if (PreferencesUtil.getStringValue(EditorPreferencePredicate.DistributionEditorActivated.getKey()) != null){
304
                TermDisplayEnum areaDisplay;
305
                try{
306
                    if (displayArea != null){
307
                        areaDisplay  = TermDisplayEnum.valueOf(displayArea);
308
                    }else{
309
                        areaDisplay = TermDisplayEnum.Title;
310
                    }
311
                }catch(IllegalArgumentException e){
312
                    areaDisplay = TermDisplayEnum.Title;
313
                }
314
                for (String itemLabel : areaDisplaySelectionCombo.getItems()){
315
                    if (itemLabel.equalsIgnoreCase(areaDisplay.getLabel())){
316
                        areaDisplaySelectionCombo.select(index);
317
                        break;
318
                    }
319
                    index++;
320
                }
321
            }
322
            areaDisplaySelectionCombo.addSelectionListener(this);
323
            Button allowOverrideOrderAreaDisplayButton = createAllowOverrideButton(child);
324
            if (isAdminPreference){
325
                allowOverrideOrderAreaDisplayButton.setSelection(allowOverrideAreaDisplay);
326
                allowOverrideOrderAreaDisplayButton.addSelectionListener(new SelectionAdapter(){
327
                    @Override
328
                    public void widgetSelected(SelectionEvent e) {
329
                        setApply(true);
330
                        allowOverrideAreaDisplay = allowOverrideOrderAreaDisplayButton.getSelection();
331
                    }
332
                });
333
            }else{
334
                allowOverrideOrderAreaDisplayButton.setSelection(overrideAreaDisplay);
335
                allowOverrideOrderAreaDisplayButton.addSelectionListener(new SelectionAdapter(){
336
                    @Override
337
                    public void widgetSelected(SelectionEvent e) {
338
                        setApply(true);
339
                        overrideAreaDisplay = allowOverrideOrderAreaDisplayButton.getSelection();
340
                    }
341
                });
342
                if (!allowOverrideAreaDisplay){
343
                    areaDisplaySelectionCombo.setEnabled(false);
344
                    allowOverrideOrderAreaDisplayButton.setEnabled(false);
345
                }
346
            }
347

    
348
            final CLabel descriptionStatus = new CLabel(child, SWT.NULL);
349
            descriptionStatus.setText(Messages.ChecklistEditorGeneralPreference_Configure_display_of_Status);
350
            descriptionStatus.setLayoutData(textGrid);
351

    
352

    
353

    
354
            statusDisplaySelectionCombo = new Combo(child, SWT.BORDER| SWT.READ_ONLY);
355
            statusDisplaySelectionCombo.setLayoutData(gridData);
356

    
357
            for(TermDisplayEnum display: TermDisplayEnum.values()){
358
                statusDisplaySelectionCombo.add(display.getLabel());
359
            }
360
            index = 0;
361
            if (displayStatus != null){
362
                TermDisplayEnum statusDisplay = TermDisplayEnum.valueOf(displayStatus);
363
                for (String itemLabel : statusDisplaySelectionCombo.getItems()){
364
                    if (itemLabel.equalsIgnoreCase(statusDisplay.getLabel())){
365
                        statusDisplaySelectionCombo.select(index);
366
                        break;
367
                    }
368
                    index++;
369
                }
370
            }
371

    
372
            statusDisplaySelectionCombo.addSelectionListener(this);
373
            Button allowOverrideOrderStatusDisplayButton = createAllowOverrideButton(child);
374
            if (isAdminPreference){
375
                allowOverrideOrderStatusDisplayButton.setSelection(allowOverrideStatusDisplay);
376
                allowOverrideOrderStatusDisplayButton.addSelectionListener(new SelectionAdapter(){
377
                    @Override
378
                    public void widgetSelected(SelectionEvent e) {
379
                        setApply(true);
380
                        allowOverrideStatusDisplay = allowOverrideOrderStatusDisplayButton.getSelection();
381
                    }
382
                });
383
            }else{
384
                allowOverrideOrderStatusDisplayButton.setSelection(overrideStatusDisplay);
385
                allowOverrideOrderStatusDisplayButton.addSelectionListener(new SelectionAdapter(){
386
                    @Override
387
                    public void widgetSelected(SelectionEvent e) {
388
                        setApply(true);
389
                        overrideStatusDisplay = allowOverrideOrderStatusDisplayButton.getSelection();
390
                    }
391
                });
392
                if (!allowOverrideStatusDisplay){
393
                    statusDisplaySelectionCombo.setEnabled(false);
394
                    allowOverrideOrderStatusDisplayButton.setEnabled(false);
395
                }
396
            }
397

    
398

    
399
            final CLabel labelStatus = new CLabel(child, SWT.NULL);
400
            labelStatus.setText(Messages.DistributionAdminPreferences_SELECT_STATUS);
401
            labelStatus.setLayoutData(textGrid);
402

    
403
            final CommandHandlerButton button_openStatusWizard = new CommandHandlerButton(child, SWT.PUSH,
404
                    commandHandlerStringStatus);
405

    
406
            button_openStatusWizard.setText(Messages.Distribution_status_selection);
407
            button_openStatusWizard.addListener(SWT.Selection, new Listener() {
408
                @Override
409
                public void handleEvent(Event e) {
410
                  switch (e.type) {
411
                  case SWT.Selection:
412
                    setApply(true);
413
                    break;
414
                  }
415
                }
416
              });
417

    
418

    
419
            final CLabel label = new CLabel(child, SWT.NULL);
420
            label.setText(Messages.ChecklistEditorGeneralPreference_open_wizard);
421
            label.setLayoutData(textGrid);
422

    
423
            final CommandHandlerButton button_openSelectAreas = new CommandHandlerButton(child, SWT.PUSH,
424
                      commandHandlerString);
425
            button_openSelectAreas.setText(Messages.ChecklistEditorGeneralPreference_open_distribution_selection);
426

    
427

    
428

    
429

    
430
//            if(isEditorActivated){
431
//                child.setEnabled(true);
432
//            }else{
433
//                child.setEnabled(false);
434
//            }
435
            if (!isAdminPreference){
436
                PreferencesUtil.recursiveSetEnabled(child, isEditorActivated);
437
            }
438
            if (!isAdminPreference){
439
                if (!allowOverrideAreaVoc){
440
                    button_openSelectAreas.setButtonEnabled(false);
441
                 }
442
                if (!allowOverrideStatus){
443
                    button_openStatusWizard.setButtonEnabled(false);
444
                }
445
                if (!allowOverrideRank){
446
                    activateRankButton.setEnabled(false);
447
                    allowOverrideRankButton.setEnabled(false);
448
                }
449
                if (!allowOverrideOrderAreas){
450
                    areaOrderSelectionCombo.setEnabled(false);
451
                    allowOverrideOrderAreasButton.setEnabled(false);
452
                }
453
             }
454
        }
455

    
456

    
457
        setValid(true);
458
        return composite;
459
    }
460

    
461

    
462

    
463

    
464

    
465

    
466

    
467

    
468

    
469
    @Override
470
    public boolean performOk() {
471
        if (isAllowOverride){
472

    
473
            PreferencesUtil.setBooleanValue(EditorPreferencePredicate.DistributionEditorActivated.getKey(), isEditorActivated);
474
            PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.DistributionEditorActivated.getKey()), overrideActivated);
475
            PreferencesUtil.setSortNamedAreasInDistributionEditor(orderAreas);
476
            PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.AreasSortedInDistributionEditor.getKey()), overrideOrderAreas);
477
            PreferencesUtil.setShowRankInChecklistEditor(isShowRank);
478
            PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.ShowRankInDistributionEditor.getKey()), overrideRank);
479
            PreferencesUtil.setDisplayStatusInChecklistEditor(displayStatus);
480
            PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.DisplayOfStatus.getKey()), overrideStatusDisplay);
481
            PreferencesUtil.setAreaDisplayInChecklistEditor(displayArea);
482
            PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.DisplayOfAreasInDistributionEditor.getKey()), overrideAreaDisplay);
483
            PreferencesUtil.setOwnDescriptionForChecklistEditor(ownDescriptionForDistributionEditor);
484
            PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.OwnDescriptionForDistributionEditor.getKey()), overrideOwnDescriptionForDistributionEditor);
485

    
486

    
487

    
488

    
489
        }
490
        return true;
491
    }
492

    
493
    /**
494
     * {@inheritDoc}
495
     */
496
    @Override
497
    public void widgetSelected(SelectionEvent e) {
498
        setApply(true);
499
        if (e.getSource().equals(statusDisplaySelectionCombo)){
500
            String text = statusDisplaySelectionCombo.getText();
501
            for (TermDisplayEnum display: TermDisplayEnum.values()){
502
                if (display.getLabel().equals(text)){
503
                    displayStatus = display.getKey();
504
                    break;
505
                }
506
            }
507
        }
508
        if (e.getSource().equals(areaDisplaySelectionCombo)){
509
            String text = areaDisplaySelectionCombo.getText();
510
            for (TermDisplayEnum display: TermDisplayEnum.values()){
511
                if (display.getLabel().equals(text)){
512
                    displayArea = display.getKey();
513
                    break;
514
                }
515
            }
516
        }
517
        if (e.getSource().equals(areaOrderSelectionCombo)){
518
            String text = areaOrderSelectionCombo.getText();
519
            for (TermOrder display: TermOrder.values()){
520
                if (display.getLabel().equals(text)){
521
                    orderAreas = display.getKey();
522
                    break;
523
                }
524
            }
525
        }
526

    
527
    }
528

    
529
    /**
530
     * {@inheritDoc}
531
     */
532
    @Override
533
    public void widgetDefaultSelected(SelectionEvent e) {
534
        // TODO Auto-generated method stub
535

    
536
    }
537

    
538

    
539
    /**
540
     * {@inheritDoc}
541
     */
542
    @Override
543
    public void getValues() {
544
        isAdminPreference = false;
545
        setPreferenceStore(PreferencesUtil.getPreferenceStore());
546
        distributionEditorPref = PreferencesUtil.getPreferenceFromDB(EditorPreferencePredicate.DistributionEditorActivated);
547

    
548

    
549
        if (distributionEditorPref != null){
550
            isAllowOverride = distributionEditorPref.isAllowOverride();
551

    
552
            if (isAllowOverride && PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.DistributionEditorActivated.getKey()))){
553
                isEditorActivated = PreferencesUtil.getBooleanValue(EditorPreferencePredicate.DistributionEditorActivated.getKey());
554
                overrideActivated = PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.DistributionEditorActivated.getKey()));
555
            }else{
556
                isEditorActivated = Boolean.valueOf(distributionEditorPref.getValue());
557
            }
558
        }else{
559
            isEditorActivated = PreferencesUtil.getBooleanValue(EditorPreferencePredicate.DistributionEditorActivated.getKey());
560
            isAllowOverride = true;
561
            overrideActivated = PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.DistributionEditorActivated.getKey()));
562
        }
563

    
564
        CdmPreference prefStatus = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.AvailableDistributionAreaVocabularies);
565
        allowOverrideAreaVoc = prefStatus != null?prefStatus.isAllowOverride():true;
566

    
567
        prefStatus = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.AvailableDistributionStatus);
568
        allowOverrideStatus = prefStatus != null?prefStatus.isAllowOverride():true;
569

    
570
        CdmPreference pref = PreferencesUtil.getPreferenceFromDB(EditorPreferencePredicate.DisplayOfAreasInDistributionEditor);
571
        if (pref != null){
572
            this.allowOverrideAreaDisplay = pref.isAllowOverride();
573
            if (allowOverrideAreaDisplay){
574
                displayArea = PreferencesUtil.displayAreaInChecklistEditor();
575
                overrideAreaDisplay = PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.DisplayOfAreasInDistributionEditor.getKey()));
576
            }else{
577
                displayArea = pref.getValue();
578
            }
579
        }else{
580
            displayArea = PreferencesUtil.displayAreaInChecklistEditor();;
581
            this.allowOverrideAreaDisplay = true;
582
            overrideAreaDisplay = PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.DisplayOfAreasInDistributionEditor.getKey()));
583
        }
584

    
585
        pref = PreferencesUtil.getPreferenceFromDB(EditorPreferencePredicate.DisplayOfStatus);
586
        if (pref != null){
587
            this.allowOverrideStatusDisplay = pref.isAllowOverride();
588
            if (allowOverrideStatusDisplay){
589
                displayStatus = PreferencesUtil.displayStatusInChecklistEditor();
590
                overrideStatusDisplay = PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.DisplayOfStatus.getKey()));
591
            }else{
592
                this.displayStatus = pref.getValue();
593
            }
594
        }else{
595
            displayStatus = PreferencesUtil.displayStatusInChecklistEditor();
596
            this.allowOverrideStatusDisplay = true;
597
            overrideStatusDisplay = PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.DisplayOfStatus.getKey()));
598
        }
599

    
600
        pref = PreferencesUtil.getPreferenceFromDB(EditorPreferencePredicate.AreasSortedInDistributionEditor);
601
        if (pref != null){
602

    
603
            this.allowOverrideOrderAreas = pref.isAllowOverride();
604
            if (allowOverrideOrderAreas){
605
                orderAreas = PreferencesUtil.getSortNamedAreasInDistributionEditor();
606
                overrideOrderAreas = PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.AreasSortedInDistributionEditor.getKey()));
607
            }else{
608
                if (pref.getValue() != null){
609
                    orderAreas = pref.getValue().toString();
610
                }else{
611
                    orderAreas = EditorPreferencePredicate.AreasSortedInDistributionEditor.getDefaultValue().toString();
612
                }
613
            }
614
        }else{
615
            orderAreas = PreferencesUtil.getSortNamedAreasInDistributionEditor();
616
            this.allowOverrideOrderAreas = true;
617
            overrideOrderAreas = PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.AreasSortedInDistributionEditor.getKey()));
618
        }
619

    
620
        pref = PreferencesUtil.getPreferenceFromDB(EditorPreferencePredicate.ShowRankInDistributionEditor);
621
        if (pref != null){
622

    
623
            allowOverrideRank = pref.isAllowOverride();
624
            if (allowOverrideRank){
625
                isShowRank = PreferencesUtil.isShowRankInChecklistEditor();
626
                overrideRank = PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.ShowRankInDistributionEditor.getKey()));
627
            }else{
628
                this.isShowRank = Boolean.valueOf(pref.getValue().toString());
629
            }
630
        }else{
631
            isShowRank = PreferencesUtil.isShowRankInChecklistEditor();
632
            this.allowOverrideRank = true;
633
            overrideRank = PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.ShowRankInDistributionEditor.getKey()));
634
        }
635

    
636
        pref = PreferencesUtil.getPreferenceFromDB(EditorPreferencePredicate.OwnDescriptionForDistributionEditor);
637
        if (pref != null){
638

    
639
            allowOverrideOwnDescriptionForDistributionEditor = pref.isAllowOverride();
640
            if (allowOverrideOwnDescriptionForDistributionEditor){
641
                ownDescriptionForDistributionEditor = PreferencesUtil.isOwnDescriptionForChecklistEditor();
642
            }else{
643
                ownDescriptionForDistributionEditor = Boolean.valueOf(pref.getValue().toString());
644
            }
645
        }else{
646
            ownDescriptionForDistributionEditor = PreferencesUtil.isShowRankInChecklistEditor();
647
            allowOverrideOwnDescriptionForDistributionEditor = true;
648
            overrideOwnDescriptionForDistributionEditor = PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.OwnDescriptionForDistributionEditor.getKey()));
649
        }
650

    
651

    
652
        commandHandlerString = "eu.etaxonomy.taxeditor.store.open.OpenDistributionEditorWizardHandler";
653
        commandHandlerStringStatus = "eu.etaxonomy.taxeditor.store.open.OpenDistributionStatusWizardHandler";
654

    
655

    
656
    }
657

    
658

    
659
}
(3-3/41)