Project

General

Profile

« Previous | Next » 

Revision e3fb78b6

Added by Katja Luther over 4 years ago

ref #8389: fix NPE and smaller issues in preferences

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/AbcdImportPreference.java
340 340
    @Override
341 341
    protected void performDefaults() {
342 342
        configurator = Abcd206ImportConfigurator.NewInstance(null,null);
343
        override = true;
343
        override = false;
344 344
        setSelections();
345 345
        setApply(true);
346 346
    }
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/NomenclaturalCodePreferences.java
84 84
            nomenclaturalCode.add(Messages.Preference_Use_Default + " (" +PreferencePredicate.NomenclaturalCode.getDefaultValue().toString()+")", index);
85 85
        }else{
86 86
            if (pref != null){
87
                nomenclaturalCode.add(Messages.Preference_Use_Default + " (" +pref.getValue()+")", index);
87
                if (pref.getValue() == null){
88
                    nomenclaturalCode.add(Messages.Preference_Use_Default + " (" +PreferencePredicate.NomenclaturalCode.getDefaultValue().toString()+")", index);
89
                }else{
90
                    nomenclaturalCode.add(Messages.Preference_Use_Default + " (" +pref.getValue()+")", index);
91
                }
88 92
            }
89 93
        }
90 94
        index++;
......
127 131
                        actualCode = label.getKey();
128 132
                    }
129 133
                }
130
                if (isAdminPreference){
131
//                    allowOverrideButton.setEnabled(actualCode != null);
132
                    //if default value is selected, allow override is true
133
                    allowOverrideButton.setSelection(allowOverride  || (actualCode == null));
134
                }
134

  
135 135

  
136 136

  
137 137
            }
......
197 197

  
198 198
        if (isAdminPreference){
199 199
            allowOverrideButton.setSelection(allowOverride);
200
//            allowOverrideButton.setEnabled(false);
201 200
        }
202 201
        setApply(true);
203 202
	    super.performDefaults();
......
215 214

  
216 215
                allowOverride = pref.isAllowOverride();
217 216
            }else{
218

  
217
                pref = CdmPreference.NewDatabaseInstance(PreferencePredicate.NomenclaturalCode, null);
219 218
                allowOverride = true;
220 219
            }
221 220

  
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/OrderPreferences.java
186 186
            orderPref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.TaxonNodeOrder);
187 187
            override = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.TaxonNodeOrder.getKey()));
188 188
            allowOverride = orderPref != null? orderPref.isAllowOverride():true;
189
            if (orderPref == null || (allowOverride && override)) {
190
                orderActivated = NavigatorOrderEnum.valueOf(PreferencesUtil.getStringValue(PreferencePredicate.TaxonNodeOrder.getKey()));
189
            if (orderPref == null || allowOverride  ){
190
                if (override){
191
                    orderActivated = NavigatorOrderEnum.valueOf(PreferencesUtil.getStringValue(PreferencePredicate.TaxonNodeOrder.getKey()));
192
                }
191 193
            }else{
192 194
                orderActivated = orderPref.getValue()!= null? NavigatorOrderEnum.valueOf(orderPref.getValue()):null;
193 195
            }
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java
199 199
        if (value != null){
200 200
            getPreferenceStore().setValue(prefKey(name), value);
201 201
        }else{
202
            getPreferenceStore().setToDefault(name);
202
            getPreferenceStore().setToDefault(prefKey(name));
203 203
        }
204 204
    }
205 205

  
......
1221 1221
    }
1222 1222

  
1223 1223
    public static void setSortNodes(NavigatorOrderEnum nodesOrder) {
1224
        setStringValue(PreferencePredicate.TaxonNodeOrder.getKey(), nodesOrder.key);
1224
        if (nodesOrder == null){
1225
            setStringValue(PreferencePredicate.TaxonNodeOrder.getKey(), null);
1226
        }else{
1227
            setStringValue(PreferencePredicate.TaxonNodeOrder.getKey(), nodesOrder.key);
1228
        }
1225 1229

  
1226 1230
    }
1227 1231

  
......
1784 1788

  
1785 1789
        CdmPreferenceCache cache = CdmPreferenceCache.instance();
1786 1790
        CdmPreference pref = cache.get(PreferencePredicate.NameFeatures.getKey());
1787
        List<Feature> terms;
1791
        List<Feature> terms = new ArrayList();
1788 1792
        boolean override = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.NameFeatures.getKey()));
1789
        List<UUID> uuids = PreferencesUtil.createUUIDListFromStringPref(pref.getPredicate());
1790
        if (uuids != null && !uuids.isEmpty()){
1793
        if (pref != null){
1794
            List<UUID> uuids = PreferencesUtil.createUUIDListFromStringPref(pref.getPredicate());
1795
            if (uuids != null && !uuids.isEmpty()){
1796
                terms = CdmStore.getTermManager().getTerms(uuids, Feature.class);
1797
            }
1798
        }
1791 1799

  
1792
            terms = CdmStore.getTermManager().getTerms(uuids, Feature.class);
1793
//        }else if (override){
1794
//            List<TermDto>  termDtos= CdmStore.getTermManager().getPreferredTerms(CdmStore.getService(IVocabularyService.class).load(VocabularyEnum.NameFeature.getUuid()));
1795
//            List<UUID> uuidList = new ArrayList<>();
1796
//
1797
//            for (Object term: termDtos){
1798
//                if (term instanceof TermDto){
1799
//                    uuidList.add(((TermDto)term).getUuid());
1800
//                }
1801
//            }
1802
//            if (!uuidList.isEmpty()){
1803
//                terms = CdmStore.getTermManager().getTerms(uuidList, Feature.class);
1804
//            }else{
1805
//                terms = CdmStore.getTermManager().getPreferredTerms(CdmStore.getService(IVocabularyService.class).load(VocabularyEnum.NameFeature.getUuid()));
1806
//            }
1807
//
1808 1800

  
1809 1801

  
1810
        }else{
1811
            terms = new ArrayList();
1812
            terms.addAll(TermStore.getTerms(CdmStore.getService(IVocabularyService.class).load(VocabularyEnum.NameFeature.getUuid()), null));
1802
       if (terms.isEmpty()){
1803
           terms.addAll(TermStore.getTerms(CdmStore.getService(IVocabularyService.class).load(VocabularyEnum.NameFeature.getUuid()), null));
1813 1804

  
1814 1805
        }
1815 1806
        terms.remove(Feature.PROTOLOGUE());
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PublishFlagLocalPreference.java
120 120

  
121 121
    @Override
122 122
    public boolean performOk() {
123
        if (publishBehaviour != null){
124
            String text = publishFlagBehaviour.getText();
125
            for (PublishEnum display: PublishEnum.values()){
126
                if (text.startsWith(display.getLabel())){
127
                    text = display.getKey();
128
                    break;
123
        if (isApply()){
124
            if (publishBehaviour != null){
125
                String text = publishFlagBehaviour.getText();
126
                for (PublishEnum display: PublishEnum.values()){
127
                    if (text.startsWith(display.getLabel())){
128
                        text = display.getKey();
129
                        break;
130
                    }
129 131
                }
132
                PreferencesUtil.setStringValue(PreferencePredicate.DefaultBehaviourForPublishFlag.getKey(), text);
133
                if (pref == null || !pref.getValue().equals(text)){
134
                    PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.DefaultBehaviourForPublishFlag.getKey()), true);
135
                }
136
            }else{
137
                PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.DefaultBehaviourForPublishFlag.getKey()), false);
130 138
            }
131
            PreferencesUtil.setStringValue(PreferencePredicate.DefaultBehaviourForPublishFlag.getKey(), text);
132
            if (pref == null || !pref.getValue().equals(text)){
133
                PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.DefaultBehaviourForPublishFlag.getKey()), true);
134
            }
135
        }else{
136
            PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.DefaultBehaviourForPublishFlag.getKey()), false);
137 139
        }
138 140
        return true;
139 141
    }
......
170 172
            }
171 173
            index++;
172 174
        }
173
        allowOverrideButton.setSelection(allowOverride);
175
        if (isAdminPreference){
176
            allowOverrideButton.setSelection(allowOverride);
177
        }
174 178
        setApply(true);
175 179
        super.performDefaults();
176 180
    }
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/FeatureMenuPreferences.java
51 51

  
52 52
    @Override
53 53
    public boolean performOk(){
54
        boolean result = super.performOk();
55
        if (result){
56
            TermEditorInput.getPreferredTaxonFeatureTree(true);
54
        if (isApply()){
55
            boolean result = super.performOk();
56
            if (result){
57
                TermEditorInput.getPreferredTaxonFeatureTree(true);
58
            }
57 59
        }
58 60
        return true;
59 61

  
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/NameFeatureMenuPreference.java
47 47

  
48 48
    @Override
49 49
    public boolean performOk(){
50
        boolean result = super.performOk();
51
        if (result){
52
            PreferencesUtil.createPreferredFeatureTreeForNameDescription();
50
        if (isApply()){
51
            boolean result = super.performOk();
52
            if (result){
53
                PreferencesUtil.createPreferredFeatureTreeForNameDescription();
54
            }
53 55
        }
54 56
        return true;
55 57

  

Also available in: Unified diff