ref #8385: fixes in preferences - getDefaults() for all pages
[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){
45 service.remove(CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.ShowImportExportMenu));
46 }else{
47 pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.ShowImportExportMenu, Boolean.toString(this.isShowIOMenu));
48 pref.setAllowOverride(isAllowOverrideShowIOMenu);
49 service.set(pref);
50 }
51
52 if(isShowCheckListPerspective == null){
53 service.remove(CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.ShowChecklistPerspective));
54 }else{
55 pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.ShowChecklistPerspective, Boolean.toString(this.isShowCheckListPerspective));
56 pref.setAllowOverride(isAllowOverrideShowCheckListPerspective);
57 service.set(pref);
58 }
59
60 if(isShowCheckListPerspective == null){
61 service.remove(CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.ShowTaxonNodeWizard));
62 }else{
63 pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.ShowTaxonNodeWizard, Boolean.toString(this.isShowTaxonNodeWizard));
64 pref.setAllowOverride(isAllowOverrideShowTaxonNodeWizard);
65 service.set(pref);
66 }
67 PreferencesUtil.updateDBPreferences();
68
69
70 }
71 return true;
72 }
73 @Override
74 protected void getValues(){
75 isAdminPreference = true;
76
77 controller = CdmStore.getCurrentApplicationConfiguration();
78 if (controller != null){
79 IPreferenceService service = controller.getPreferenceService();
80 PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.ShowImportExportMenu);
81 CdmPreference pref = service.find(key);
82 if (pref != null){
83 isShowIOMenu = Boolean.valueOf(pref.getValue());
84 isAllowOverrideShowIOMenu = pref.isAllowOverride();
85 }else{
86 isShowIOMenu = null;
87 isAllowOverrideShowIOMenu = true;
88 }
89
90 // key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.ShowMediaView);
91 // pref = service.find(key);
92 // if (pref != null){
93 // isShowMediaView = Boolean.valueOf(pref.getValue());
94 // isAllowOverrideShowMediaView = pref.isAllowOverride();
95 // }else{
96 // isShowMediaView = Boolean.valueOf(PreferencePredicate.ShowMediaView.getDefaultValue().toString());
97 // isAllowOverrideShowMediaView = true;
98 // }
99
100 key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.ShowChecklistPerspective);
101 pref = service.find(key);
102 if (pref != null){
103 isShowCheckListPerspective = Boolean.valueOf(pref.getValue());
104 isAllowOverrideShowCheckListPerspective = pref.isAllowOverride();
105 }else{
106 isShowCheckListPerspective = null;
107 isAllowOverrideShowCheckListPerspective = true;
108 }
109
110 key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.ShowTaxonNodeWizard);
111 pref = service.find(key);
112 if (pref != null){
113 isShowTaxonNodeWizard = Boolean.valueOf(pref.getValue());
114 isAllowOverrideShowTaxonNodeWizard = pref.isAllowOverride();
115 }else{
116 isShowTaxonNodeWizard = null;
117 isAllowOverrideShowTaxonNodeWizard = true;
118 }
119 }
120
121 }
122
123 @Override
124 protected void performDefaults() {
125 isShowIOMenu = null;
126 showIOMenuButton.select(0);
127
128 isShowCheckListPerspective = null;
129 showChecklistPerspectiveButton.select(0);
130
131
132 isShowTaxonNodeWizard = null;
133 showTaxonNodeWizardButton.select(0);
134
135 isAllowOverrideShowIOMenu = true;
136
137 allowOverrideShowIOMenuButton.setSelection(isAllowOverrideShowIOMenu);
138 isAllowOverrideShowCheckListPerspective = true;
139 allowOverrideShowChecklistButton.setSelection(isAllowOverrideShowCheckListPerspective);
140 isAllowOverrideShowTaxonNodeWizard = true;
141 allowOverrideShowTaxonNodeWizardButton.setSelection(isAllowOverrideShowTaxonNodeWizard);
142 super.performDefaults();
143 }
144
145 }