ref #8648: default handling in name details preference - continue
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / databaseAdmin / preferencePage / GeneralAdminPreferencePage.java
1 /**
2 * Copyright (C) 2018 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.CdmPreference.PrefKey;
15 import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
16 import eu.etaxonomy.cdm.model.metadata.PreferenceSubject;
17 import eu.etaxonomy.taxeditor.preference.GeneralPreferencePage;
18 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
19 import eu.etaxonomy.taxeditor.store.CdmStore;
20
21 /**
22 * @author k.luther
23 * @since 29.05.2018
24 *
25 */
26 public class GeneralAdminPreferencePage extends GeneralPreferencePage implements IE4AdminPreferencePage {
27
28 ICdmRepository controller = null;
29 CdmPreference isShowSpecimenPref = null;
30 /**
31 * {@inheritDoc}
32 */
33
34
35 @Override
36 public boolean performOk() {
37
38 if (!isApply()){
39 return true;
40 }
41 if (controller != null){
42 IPreferenceService service = controller.getPreferenceService();
43 CdmPreference pref;
44 if (isShowIOMenu == null && isAllowOverrideShowIOMenu){
45 service.remove(CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.ShowImportExportMenu));
46 }else{
47 pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.ShowImportExportMenu, isShowIOMenu!= null? Boolean.toString(this.isShowIOMenu):null);
48 pref.setAllowOverride(isAllowOverrideShowIOMenu);
49 service.set(pref);
50 }
51
52 if(isShowCheckListPerspective == null && isAllowOverrideShowCheckListPerspective){
53 service.remove(CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.ShowChecklistPerspective));
54 }else{
55 pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.ShowChecklistPerspective, isShowCheckListPerspective != null?Boolean.toString(this.isShowCheckListPerspective): null);
56 pref.setAllowOverride(isAllowOverrideShowCheckListPerspective);
57 service.set(pref);
58 }
59
60
61 PreferencesUtil.updateDBPreferences();
62
63
64 }
65 return true;
66 }
67 @Override
68 protected void getValues(){
69 isAdminPreference = true;
70
71 controller = CdmStore.getCurrentApplicationConfiguration();
72 if (controller != null){
73 IPreferenceService service = controller.getPreferenceService();
74 PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.ShowImportExportMenu);
75 CdmPreference pref = service.find(key);
76 if (pref != null){
77 isShowIOMenu = pref.getValue()!= null?Boolean.valueOf(pref.getValue()): null;
78 isAllowOverrideShowIOMenu = pref.isAllowOverride();
79 }else{
80 isShowIOMenu = null;
81 isAllowOverrideShowIOMenu = true;
82 }
83
84 // key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.ShowMediaView);
85 // pref = service.find(key);
86 // if (pref != null){
87 // isShowMediaView = Boolean.valueOf(pref.getValue());
88 // isAllowOverrideShowMediaView = pref.isAllowOverride();
89 // }else{
90 // isShowMediaView = Boolean.valueOf(PreferencePredicate.ShowMediaView.getDefaultValue().toString());
91 // isAllowOverrideShowMediaView = true;
92 // }
93
94 key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.ShowChecklistPerspective);
95 pref = service.find(key);
96 if (pref != null){
97 isShowCheckListPerspective = pref.getValue()!= null?Boolean.valueOf(pref.getValue()): null;
98 isAllowOverrideShowCheckListPerspective = pref.isAllowOverride();
99 }else{
100 isShowCheckListPerspective = null;
101 isAllowOverrideShowCheckListPerspective = true;
102 }
103
104 key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.ShowTaxonNodeWizard);
105 pref = service.find(key);
106 // if (pref != null){
107 // isShowTaxonNodeWizard = pref.getValue() != null?Boolean.valueOf(pref.getValue()): null;
108 // isAllowOverrideShowTaxonNodeWizard = pref.isAllowOverride();
109 // }else{
110 // isShowTaxonNodeWizard = null;
111 // isAllowOverrideShowTaxonNodeWizard = true;
112 // }
113 }
114
115 }
116
117 @Override
118 protected void performDefaults() {
119 isShowIOMenu = null;
120 isShowCheckListPerspective = null;
121 //isShowTaxonNodeWizard = null;
122
123
124 isAllowOverrideShowIOMenu = true;
125
126
127 isAllowOverrideShowCheckListPerspective = true;
128
129 //isAllowOverrideShowTaxonNodeWizard = true;
130 setSelections();
131 super.performDefaults();
132 }
133
134 }