Project

General

Profile

« Previous | Next » 

Revision 8db3ccd6

Added by Katja Luther about 5 years ago

ref #7849: correct enabling of local prefs with no allowOverride and sortOrder for areas in distr. editor

View differences:

eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistLabelProvider.java
46 46
import eu.etaxonomy.taxeditor.editor.view.checklist.e4.ChecklistEditorE4;
47 47
import eu.etaxonomy.taxeditor.preference.EditorPreferencePredicate;
48 48
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
49
import eu.etaxonomy.taxeditor.preference.TermOrder;
49 50
import eu.etaxonomy.taxeditor.store.CdmStore;
50 51

  
51 52
/**
......
190 191

  
191 192
            }
192 193

  
193
            if (PreferencesUtil.isSortNamedAreaByOrderInVocabulary()){
194
            String sortOrder = PreferencesUtil.getSortNamedAreasInDistributionEditor();
195
            if (sortOrder.equals(TermOrder.Natural.getKey())){
194 196
                return getTermsOrderedByVocabularyOrder(filteredList);
195
            } else if (PreferencesUtil.isShowIdInVocabularyInChecklistEditor()){
197
            }  else if (sortOrder.equals(TermOrder.IdInVoc.getKey())){
196 198
                return getTermsOrderedByIdInVocabulary(filteredList);
197 199
            }else{
198 200
                return getTermsOrderedByLabels(filteredList, CdmStore.getDefaultLanguage());
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/e4/DistributionEditor.java
96 96
import eu.etaxonomy.taxeditor.preference.EditorPreferencePredicate;
97 97
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
98 98
import eu.etaxonomy.taxeditor.preference.Resources;
99
import eu.etaxonomy.taxeditor.preference.TermOrder;
99 100
import eu.etaxonomy.taxeditor.preference.wizard.AvailableDistributionWizard;
100 101
import eu.etaxonomy.taxeditor.store.CdmStore;
101 102
import eu.etaxonomy.taxeditor.store.StoreUtil;
......
469 470

  
470 471
        button3.setLayoutData(gridData3);
471 472
        button3.setText(Messages.ChecklistEditor_REMOVE_DEFAULT_SOURCE);
473
        button2.setToolTipText(Messages.ChecklistEditor_REMOVE_DEFAULT_SOURCE_TOOLTIP);
472 474
        button3.addSelectionListener(new SelectionAdapter() {
473 475

  
474 476
            @Override
......
657 659
            }
658 660

  
659 661
        }
660

  
661
        if (PreferencesUtil.isSortNamedAreaByOrderInVocabulary()){
662
        String sortOrder = PreferencesUtil.getSortNamedAreasInDistributionEditor();
663
        if (sortOrder.equals(TermOrder.Natural.getKey())){
662 664
            areas =  getTermsOrderedByVocabularyOrder(filteredList);
663
        } else if (PreferencesUtil.isShowIdInVocabularyInChecklistEditor()){
665
        } else if (sortOrder.equals(TermOrder.IdInVoc.getKey())){
664 666
            areas = getTermsOrderedByIdInVocabulary(filteredList);
665 667
        }else{
666 668
            areas =  getTermsOrderedByLabels(filteredList, CdmStore.getDefaultLanguage());
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/ChecklistEditorGeneralAdminPreference.java
60 60
        pref.setAllowOverride(this.allowOverrideRank);
61 61
        service.set(pref);
62 62

  
63
        pref = CdmPreference.NewTaxEditorInstance( EditorPreferencePredicate.AreasSortedByIdInVocabulary, Boolean.toString(isSortByVocabularyOrder));
63
        pref = CdmPreference.NewTaxEditorInstance( EditorPreferencePredicate.AreasSortedInDistributionEditor, this.orderAreas);
64 64
        pref.setAllowOverride(this.allowOverrideOrderAreas);
65 65
        service.set(pref);
66 66

  
......
102 102
            this.allowOverrideStatusDisplay = true;
103 103
        }
104 104

  
105
        pref = PreferencesUtil.getPreferenceFromDB(EditorPreferencePredicate.AreasSortedByIdInVocabulary);
105
        pref = PreferencesUtil.getPreferenceFromDB(EditorPreferencePredicate.AreasSortedInDistributionEditor);
106 106
        if (pref != null){
107
            this.isSortByVocabularyOrder = Boolean.valueOf(pref.getValue().toString());
107
            this.orderAreas = pref.getValue().toString();
108 108
            this.allowOverrideOrderAreas = pref.isAllowOverride();
109 109
        }else{
110
            this.isSortByVocabularyOrder = Boolean.valueOf(EditorPreferencePredicate.AreasSortedByIdInVocabulary.getDefaultValue().toString());
110
            this.orderAreas = EditorPreferencePredicate.AreasSortedInDistributionEditor.getDefaultValue().toString();
111 111
            this.allowOverrideOrderAreas = true;
112 112
        }
113 113

  
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/Messages.java
600 600

  
601 601
    public static String StageMenuPreferences_choose;
602 602

  
603
    public static String TermOrder_idInVoc;
604
    public static String TermOrder_Title;
605
    public static String TermOrder_natural;
606

  
607
    public static String  ChecklistEditorGeneralPreference_Configure_area_order;
608

  
603 609

  
604 610
    static {
605 611
        // initialize resource bundle
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/messages.properties
469 469

  
470 470
DescriptionPreferences_1=Show vocabulary id for term labels
471 471
SupplementalDataPreferences_0=Show UUID and object ID in supplemental data view
472

  
473
TermOrder_idInVoc=Id in Vocabular
474
TermOrder_Title=Title
475
TermOrder_natural=Natural
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/messages_de.properties
467 467

  
468 468
DescriptionPreferences_1=Vokabular ID im Label von Termen anzeigen
469 469
SupplementalDataPreferences_0=UUID und Objekt ID unter Zusatzdaten anzeigen
470

  
471
TermOrder_idInVoc=Id im Vokabular
472
TermOrder_Title=Titel
473
TermOrder_natural=Nat?rlich
474

  
475
ChecklistEditorGeneralPreference_Configure_area_order=Sortierung der Areas
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/CdmPreferenceCache.java
134 134
        key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), EditorPreferencePredicate.ShowRankInDistributionEditor);
135 135
        loadAndPutPreference(controller, key);
136 136

  
137
        key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), EditorPreferencePredicate.AreasSortedByIdInVocabulary);
137
        key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), EditorPreferencePredicate.AreasSortedInDistributionEditor);
138 138
        loadAndPutPreference(controller, key);
139 139

  
140 140
        key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), EditorPreferencePredicate.OwnDescriptionForDistributionEditor);
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/ChecklistEditorGeneralPreference.java
42 42
    protected boolean overrideActivated;
43 43
    boolean isUseLocal;
44 44
    protected boolean isShowRank;
45
    protected boolean isSortByVocabularyOrder;
45
    protected String orderAreas;
46 46
    protected String displayStatus;
47 47
    protected String displayArea;
48 48
    protected boolean ownDescriptionForDistributionEditor;
......
60 60
    protected boolean overrideStatusDisplay;
61 61

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

  
......
167 168
                    @Override
168 169
                    public void widgetSelected(SelectionEvent e) {
169 170
                        setApply(true);
170
                        overrideRank = allowOverrideRankButton.getSelection();
171
                        overrideRank = !overrideRank;
171 172
                    }
172 173
                });
173
                if (!allowOverrideRank){
174
                    activateRankButton.setEnabled(false);
175
                    allowOverrideRankButton.setEnabled(false);
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++;
176 208
                }
177 209
            }
210
            areaOrderSelectionCombo.addSelectionListener(this);
178 211

  
179 212

  
180
            final Button sortNamedAreaByVocabularyOrder = new Button(child, SWT.CHECK);
181
            sortNamedAreaByVocabularyOrder.setText(Messages.ChecklistEditorGeneralPreference_sort_areas);
182
            sortNamedAreaByVocabularyOrder.setSelection(isSortByVocabularyOrder);
183
            sortNamedAreaByVocabularyOrder.addSelectionListener(new SelectionAdapter(){
184
                @Override
185
                public void widgetSelected(SelectionEvent e) {
186
                    setApply(true);
187
                    isSortByVocabularyOrder = sortNamedAreaByVocabularyOrder.getSelection();
188
                 }
189
            });
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
//            });
190 224
            Button allowOverrideOrderAreasButton = createAllowOverrideButton(child);
191 225
            if (isAdminPreference){
192 226
                allowOverrideOrderAreasButton.setSelection(allowOverrideOrderAreas);
......
206 240
                        overrideOrderAreas = allowOverrideOrderAreasButton.getSelection();
207 241
                    }
208 242
                });
209
                if (!allowOverrideOrderAreas){
210
                    sortNamedAreaByVocabularyOrder.setEnabled(false);
211
                    allowOverrideOrderAreasButton.setEnabled(false);
212
                }
243

  
213 244
            }
214 245

  
215 246
//            final Button ownDescription = new Button(child, SWT.CHECK);
......
258 289
            description.setText(Messages.ChecklistEditorGeneralPreference_Configure_display_of_Areas);
259 290
            description.setLayoutData(textGrid);
260 291

  
261
            GridData gridData = new GridData();
262
            gridData = new GridData(GridData.BEGINNING, GridData.CENTER, true, false);
292

  
263 293
            //gridData.horizontalIndent = 5;
264 294

  
265 295

  
......
269 299
            for(TermDisplayEnum display: TermDisplayEnum.values()){
270 300
                areaDisplaySelectionCombo.add(display.getLabel());
271 301
            }
272
            int index = 0;
302
            index = 0;
273 303
            if (PreferencesUtil.getStringValue(EditorPreferencePredicate.DistributionEditorActivated.getKey()) != null){
274 304
                TermDisplayEnum areaDisplay;
275 305
                try{
......
412 442
                if (!allowOverrideStatus){
413 443
                    button_openStatusWizard.setButtonEnabled(false);
414 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
                }
415 453
             }
416 454
        }
417 455

  
......
434 472

  
435 473
            PreferencesUtil.setBooleanValue(EditorPreferencePredicate.DistributionEditorActivated.getKey(), isEditorActivated);
436 474
            PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.DistributionEditorActivated.getKey()), overrideActivated);
437
            PreferencesUtil.setSortNamedAreasByOrderInVocabulary(isSortByVocabularyOrder);
438
            PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.AreasSortedByIdInVocabulary.getKey()), overrideOrderAreas);
475
            PreferencesUtil.setSortNamedAreasInDistributionEditor(orderAreas);
476
            PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.AreasSortedInDistributionEditor.getKey()), overrideOrderAreas);
439 477
            PreferencesUtil.setShowRankInChecklistEditor(isShowRank);
440 478
            PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.ShowRankInDistributionEditor.getKey()), overrideRank);
441 479
            PreferencesUtil.setDisplayStatusInChecklistEditor(displayStatus);
......
550 588
            overrideStatusDisplay = PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.DisplayOfStatus.getKey()));
551 589
        }
552 590

  
553
        pref = PreferencesUtil.getPreferenceFromDB(EditorPreferencePredicate.AreasSortedByIdInVocabulary);
591
        pref = PreferencesUtil.getPreferenceFromDB(EditorPreferencePredicate.AreasSortedInDistributionEditor);
554 592
        if (pref != null){
555 593

  
556 594
            this.allowOverrideOrderAreas = pref.isAllowOverride();
557 595
            if (allowOverrideOrderAreas){
558
                isSortByVocabularyOrder = PreferencesUtil.isSortNamedAreaByOrderInVocabulary();
559
                overrideOrderAreas = PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.AreasSortedByIdInVocabulary.getKey()));
596
                orderAreas = PreferencesUtil.getSortNamedAreasInDistributionEditor();
597
                overrideOrderAreas = PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.AreasSortedInDistributionEditor.getKey()));
560 598
            }else{
561
                this.isSortByVocabularyOrder = Boolean.valueOf(pref.getValue().toString());
599
                this.orderAreas = pref.getValue().toString();
562 600
            }
563 601
        }else{
564
            isSortByVocabularyOrder = PreferencesUtil.isSortNamedAreaByOrderInVocabulary();
602
            orderAreas = PreferencesUtil.getSortNamedAreasInDistributionEditor();
565 603
            this.allowOverrideOrderAreas = true;
566
            overrideOrderAreas = PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.AreasSortedByIdInVocabulary.getKey()));
604
            overrideOrderAreas = PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.AreasSortedInDistributionEditor.getKey()));
567 605
        }
568 606

  
569 607
        pref = PreferencesUtil.getPreferenceFromDB(EditorPreferencePredicate.ShowRankInDistributionEditor);
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/EditorPreferencePredicate.java
63 63

  
64 64
    //distribution editor
65 65
    DistributionEditorActivated(UUID.fromString("733e9bce-4394-4fae-97d3-1b7dfc48ee3c"), "Distribution Editor Is activated", "distribution.editor.activated",  Boolean.TRUE),
66
    AreasSortedByIdInVocabulary(UUID.fromString("513d7de9-fec4-432c-b4dd-75f9f6e74ad0"), "Distribution Editor: Areas sorted by ID in Vocabulary", "distribution.editor.areas.sortedByIDInVoc", Boolean.FALSE),  //unsure about correct default value, please decide
66
    AreasSortedInDistributionEditor(UUID.fromString("513d7de9-fec4-432c-b4dd-75f9f6e74ad0"), "Distribution Editor: Areas sorted in Distribution Editor", "distribution.editor.areas.sortedInDistributionEditor", TermOrder.IdInVoc),  //unsure about correct default value, please decide
67 67
    //the following 4 should be replaced by termLabelPreferenceEnum , enum should contain label, abbrevLabel, idInVoc, symbol1, symbol2, ...
68 68
    DisplayOfStatus(UUID.fromString("1ee6b945-0a81-4f05-b867-f9d105882249"), "Distribution Editor: Display of Status", "distribution.editor.status.display", TermDisplayEnum.Title),
69 69
    DisplayOfAreasInDistributionEditor(UUID.fromString("7b671bba-1b7f-4cb9-bbac-c914518a4bf8"), "Distribution Editor: Display of Areas", "distribution.editor.areas.displayAreas",  TermDisplayEnum.Title),
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/NameDetailsViewConfiguration.java
362 362
    public boolean performOk() {
363 363
        if (nameDetailsConfig != null){
364 364
            PreferencesUtil.setStringValue(EditorPreferencePredicate.NameDetailsView.getKey(), nameDetailsConfig.toString());
365
            PreferencesUtil.setBooleanValue(IPreferenceKeys.OVERRIDE_NAME_DETAILS, isOverride);
365 366
        }
366 367

  
367

  
368
        PreferencesUtil.setBooleanValue(IPreferenceKeys.OVERRIDE_NAME_DETAILS, isOverride);
369 368
        return true;
370 369

  
371 370
    }
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java
125 125
    public static void setStringValue(String name, String value) {
126 126
        if (value != null){
127 127
            getPreferenceStore().setValue(prefKey(name), value);
128
        }else{
129
            getPreferenceStore().setToDefault(name);
128 130
        }
129 131
    }
130 132

  
......
1633 1635
/**
1634 1636
 * @return
1635 1637
 */
1636
public static boolean isSortNamedAreaByOrderInVocabulary() {
1638
public static String getSortNamedAreasInDistributionEditor() {
1637 1639

  
1638
    return getBooleanValue(EditorPreferencePredicate.AreasSortedByIdInVocabulary.getKey());
1640
    return getStringValue(EditorPreferencePredicate.AreasSortedInDistributionEditor.getKey());
1639 1641
}
1640 1642

  
1641
public static void setSortNamedAreasByOrderInVocabulary(boolean isSortByVocabularyOrder) {
1642
    setBooleanValue(EditorPreferencePredicate.AreasSortedByIdInVocabulary.getKey(), isSortByVocabularyOrder);
1643
public static void setSortNamedAreasInDistributionEditor(String isSortByVocabularyOrder) {
1644
    setStringValue(EditorPreferencePredicate.AreasSortedInDistributionEditor.getKey(), isSortByVocabularyOrder);
1643 1645

  
1644 1646
}
1645 1647

  

Also available in: Unified diff