Project

General

Profile

Download (6.97 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2019 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 eu.etaxonomy.cdm.api.application.ICdmRepository;
12
import eu.etaxonomy.cdm.api.service.IPreferenceService;
13
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
14
import eu.etaxonomy.cdm.model.metadata.NamedAreaSearchField;
15
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
16
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
17
import eu.etaxonomy.taxeditor.preference.SearchDialogPreferences;
18
import eu.etaxonomy.taxeditor.store.CdmStore;
19

    
20
/**
21
 * @author k.luther
22
 * @since 08.08.2019
23
 */
24
public class SearchDialogAdminPreferences extends SearchDialogPreferences implements IE4AdminPreferencePage {
25

    
26

    
27

    
28

    
29
    @Override
30
    public void getValues(){
31
        super.getValues();
32
        isAdminPreference = true;
33
        if(showIdInSelectionDialogPref != null){
34
            showIdInSelectionDialog = showIdInSelectionDialogPref.getValue() != null? Boolean.parseBoolean(showIdInSelectionDialogPref.getValue()): null;
35
        }else{
36
            showIdInSelectionDialog = null;
37
            showIdInSelectionDialogPref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.ShowIdInSelectionDialog, null);
38
        }
39
        if (searchForIdentifierAsDefaultPref != null){
40
            searchForIdentifierAsDefault = searchForIdentifierAsDefaultPref.getValue() != null? Boolean.parseBoolean(searchForIdentifierAsDefaultPref.getValue()): null;
41
        }else{
42
            searchForIdentifierAsDefault = null;
43
            searchForIdentifierAsDefaultPref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.SearchForIdentifierAsDefault, null);
44
        }
45
        if (searchForIdentifierAndTitleCachePref != null){
46
            searchForIdentifierAndTitleCache = searchForIdentifierAndTitleCachePref.getValue() != null? Boolean.parseBoolean(searchForIdentifierAndTitleCachePref.getValue()): null;
47
        }else{
48
            searchForIdentifierAndTitleCache = null;
49
            searchForIdentifierAndTitleCachePref =CdmPreference.NewTaxEditorInstance(PreferencePredicate.SearchForIdentifierAndTitleCache, null);
50
        }
51
        if (sortTaxaByRankAndNamePref != null){
52
            sortTaxaByRankAndName = sortTaxaByRankAndNamePref.getValue() != null? Boolean.parseBoolean(sortTaxaByRankAndNamePref.getValue()): null;
53
        }else{
54
            sortTaxaByRankAndName = null;
55
            sortTaxaByRankAndNamePref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.SortTaxaByRankAndName, null);
56
        }
57
        if (filterCommonNameReferencesPref != null){
58
            filterCommonNameReferences = filterCommonNameReferencesPref.getValue() != null? Boolean.parseBoolean(filterCommonNameReferencesPref.getValue()): null;
59
        }else{
60
            filterCommonNameReferences = null;
61
            filterCommonNameReferencesPref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.CommonNameReferencesWithMarker, null);
62
        }
63
        if (this.searchNamedAreasByAbbrevPref != null){
64
            searchNamedAreasByAbbrev = searchNamedAreasByAbbrevPref.getValue() != null? NamedAreaSearchField.byKey(searchNamedAreasByAbbrevPref.getValue()): null;
65
        }else{
66
            searchNamedAreasByAbbrev = null;
67
            searchNamedAreasByAbbrevPref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.NamedAreaSearchForAbbrev, null);
68
        }
69

    
70
    }
71

    
72
    @Override
73
    public boolean performOk(){
74
        if (!isApply()){
75
            return true;
76
        }
77
        ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
78
        if (controller != null){
79
            IPreferenceService service = controller.getPreferenceService();
80
            CdmPreference pref;
81
            if (showIdInSelectionDialog != null || !showIdInSelectionDialogPref.isAllowOverride()) {
82
                pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.ShowIdInSelectionDialog, showIdInSelectionDialog != null? showIdInSelectionDialog.toString():null);
83
                pref.setAllowOverride(showIdInSelectionDialogPref.isAllowOverride());
84
                service.set(pref);
85
            }else{
86
                service.remove(showIdInSelectionDialogPref.getKey());
87
            }
88

    
89

    
90
            if(searchForIdentifierAsDefault != null || !searchForIdentifierAsDefaultPref.isAllowOverride()){
91
                pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.SearchForIdentifierAsDefault, searchForIdentifierAsDefault!= null? searchForIdentifierAsDefault.toString():null);
92
                pref.setAllowOverride(searchForIdentifierAsDefaultPref.isAllowOverride());
93
                service.set(pref);
94
            }else{
95
                service.remove(searchForIdentifierAsDefaultPref.getKey());
96
            }
97

    
98

    
99
            if(searchForIdentifierAndTitleCache != null || !searchForIdentifierAndTitleCachePref.isAllowOverride()){
100
                pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.SearchForIdentifierAndTitleCache, searchForIdentifierAndTitleCache!= null? searchForIdentifierAndTitleCache.toString():null);
101
                pref.setAllowOverride(searchForIdentifierAndTitleCachePref.isAllowOverride());
102
                service.set(pref);
103
            }else{
104
                service.remove(searchForIdentifierAndTitleCachePref.getKey());
105
            }
106

    
107
            if(sortTaxaByRankAndName != null || !sortTaxaByRankAndNamePref.isAllowOverride()){
108

    
109
                pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.SortTaxaByRankAndName, sortTaxaByRankAndName!= null? sortTaxaByRankAndName.toString():null);
110
                pref.setAllowOverride(sortTaxaByRankAndNamePref.isAllowOverride());
111
                service.set(pref);
112
            }else{
113
                service.remove(sortTaxaByRankAndNamePref.getKey());
114
            }
115

    
116
            if(filterCommonNameReferences != null || !filterCommonNameReferencesPref.isAllowOverride()){
117
                pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.CommonNameReferencesWithMarker, filterCommonNameReferences!= null? filterCommonNameReferences.toString():null);
118
                pref.setAllowOverride(filterCommonNameReferencesPref.isAllowOverride());
119
                service.set(pref);
120
            }else{
121
                service.remove(filterCommonNameReferencesPref.getKey());
122
            }
123

    
124
            if(searchNamedAreasByAbbrev != null || !searchNamedAreasByAbbrevPref.isAllowOverride()){
125
                pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.NamedAreaSearchForAbbrev, searchNamedAreasByAbbrev!= null? searchNamedAreasByAbbrev.getKey():null);
126
                pref.setAllowOverride(searchNamedAreasByAbbrevPref.isAllowOverride());
127
                service.set(pref);
128
            }else{
129
                service.remove(searchNamedAreasByAbbrevPref.getKey());
130
            }
131
        }
132
        PreferencesUtil.updateDBPreferences();
133
        return true;
134
    }
135

    
136

    
137

    
138
}
(24-24/29)