minor
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / databaseAdmin / wizard / DatabasePreferencesWizard.java
1 /**
2 * Copyright (C) 2016 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.wizard;
10
11 import org.eclipse.jface.wizard.IWizardPage;
12 import org.eclipse.jface.wizard.Wizard;
13
14 import eu.etaxonomy.cdm.api.application.ICdmRepository;
15 import eu.etaxonomy.cdm.api.service.IPreferenceService;
16 import eu.etaxonomy.cdm.model.metadata.CdmPreference;
17 import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
18 import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
19 import eu.etaxonomy.taxeditor.preference.NameDetailsConfigurator;
20 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
21 import eu.etaxonomy.taxeditor.store.CdmStore;
22
23 /**
24 * @author k.luther
25 * @date 18.11.2016
26 *
27 */
28 public class DatabasePreferencesWizard extends Wizard {
29
30
31 public DatabasePreferencesPage preferencePage;
32
33
34
35 public DatabasePreferencesWizard() {
36 setWindowTitle("Database Preferences Wizard");
37
38 preferencePage = new DatabasePreferencesPage("Database Preferences");
39
40
41 }
42
43
44
45 /**
46 * @return the preferencePage
47 */
48 public DatabasePreferencesPage getPreferencePage() {
49 return preferencePage;
50 }
51 /**
52 * {@inheritDoc}
53 */
54 @Override
55 public boolean performFinish() {
56
57 // getPreferencePage().performOk();
58
59 String value =getPreferencePage().doGetPreferenceStore().getString(IPreferenceKeys.CDM_NOMENCLATURAL_CODE_KEY);
60
61 boolean allowOverride = getPreferencePage().doGetPreferenceStore().getBoolean(IPreferenceKeys.ALLOW_OVERRIDE_NOMENCLATURAL_CODE_KEY);
62 CdmPreference pref = CdmPreference.NewDatabaseInstance( PreferencePredicate.NomenclaturalCode, value);
63 pref.setAllowOverride(allowOverride);
64
65 ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
66 if (controller == null){
67 return false;
68 }
69 IPreferenceService service = controller.getPreferenceService();
70 service.set(pref);
71 NameDetailsConfigurator config = getPreferencePage().getNameDetailsConfig().createNameDetailsViewConfig();
72 value = config.toString();
73 allowOverride = getPreferencePage().doGetPreferenceStore().getBoolean(IPreferenceKeys.ALLOW_OVERRIDE_NAME_DETAILS);
74
75 pref = CdmPreference.NewDatabaseInstance( PreferencePredicate.NameDetailsView, value);
76 pref.setAllowOverride(allowOverride);
77 service.set(pref);
78 if (!allowOverride || (allowOverride && !PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.OVERRIDE_NAME_DETAILS))){
79 PreferencesUtil.saveConfigToPrefernceStore(config);
80 }
81
82
83 boolean isDeterminationOnlyForFieldUnit= getPreferencePage().doGetPreferenceStore().getBoolean(IPreferenceKeys.DETERMINATION_ONLY_FOR_FIELD_UNITS );
84 pref = CdmPreference.NewDatabaseInstance( PreferencePredicate.DeterminationOnlyForFieldUnits, String.valueOf(isDeterminationOnlyForFieldUnit));
85 allowOverride = getPreferencePage().doGetPreferenceStore().getBoolean(IPreferenceKeys.ALLOW_OVERRIDE_SPECIMEN_PREF);
86 pref.setAllowOverride(allowOverride);
87 service.set(pref);
88
89 boolean isShowCollectingAreasInGeneralsecion= getPreferencePage().doGetPreferenceStore().getBoolean(IPreferenceKeys.SHOW_COLLECTING_AREAS_IN_GENERAL_SECTION );
90 pref = CdmPreference.NewDatabaseInstance( PreferencePredicate.ShowCollectingAreasInGeneralSection, String.valueOf(isShowCollectingAreasInGeneralsecion));
91 pref.setAllowOverride(allowOverride);
92 service.set(pref);
93
94 boolean isShowTaxonAssociations= getPreferencePage().doGetPreferenceStore().getBoolean(IPreferenceKeys.SHOW_TAXON_ASSOCIATIONS);
95 pref = CdmPreference.NewDatabaseInstance( PreferencePredicate.ShowTaxonAssociations, String.valueOf(isShowTaxonAssociations));
96 pref.setAllowOverride(allowOverride);
97 service.set(pref);
98
99 boolean isShowLifeForm= getPreferencePage().doGetPreferenceStore().getBoolean(IPreferenceKeys.SHOW_LIFE_FORM);
100 pref = CdmPreference.NewDatabaseInstance( PreferencePredicate.ShowLifeForm, String.valueOf(isShowLifeForm));
101 pref.setAllowOverride(allowOverride);
102 service.set(pref);
103
104 String biocaseProviderList = this.getPreferencePage().getBiocaseProviderList().createAllProviderString();
105 if (biocaseProviderList == null){
106 getPreferencePage().doGetPreferenceStore().setValue(IPreferenceKeys.BIOCASE_PROVIDER_LIST,"");
107 }else{
108 getPreferencePage().doGetPreferenceStore().setValue(IPreferenceKeys.BIOCASE_PROVIDER_LIST, biocaseProviderList);
109
110 }
111 pref = CdmPreference.NewDatabaseInstance( PreferencePredicate.BioCaseProvider, String.valueOf(biocaseProviderList));
112 pref.setAllowOverride(false);
113 service.set(pref);
114 // getPreferencePage().createAbcdImportConfig();
115 // value = getPreferencePage().getAbcdImportConfig().toString();
116 // allowOverride = getPreferencePage().doGetPreferenceStore().getBoolean(IPreferenceKeys.ALLOW_OVERRIDE_ABCD_IMPORT_CONFIG);
117 // pref = CdmPreference.NewDatabaseInstance( PreferencePredicate.AbcdImportConfig, value);
118 // pref.setAllowOverride(allowOverride);
119 // service.set(pref);
120
121 return true;
122 }
123
124
125
126 @Override
127 public void addPages() {
128 addPage(preferencePage);
129
130 }
131
132 @Override
133 public IWizardPage getNextPage(IWizardPage currentPage) {
134
135 return null;
136 }
137
138
139 }