Merge branch 'release/4.7.0'
[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.store.CdmStore;
20
21 /**
22 * @author k.luther
23 * @date 18.11.2016
24 *
25 */
26 public class DatabasePreferencesWizard extends Wizard {
27
28
29 public DatabasePreferencesPage preferencePage;
30
31
32
33 public DatabasePreferencesWizard() {
34 setWindowTitle("Database Preferences Wizard");
35
36 preferencePage = new DatabasePreferencesPage("Database Preferences");
37
38
39 }
40
41
42
43 /**
44 * @return the preferencePage
45 */
46 public DatabasePreferencesPage getPreferencePage() {
47 return preferencePage;
48 }
49 /**
50 * {@inheritDoc}
51 */
52 @Override
53 public boolean performFinish() {
54
55 // getPreferencePage().performOk();
56 String value =getPreferencePage().doGetPreferenceStore().getString(IPreferenceKeys.CDM_NOMENCLATURAL_CODE_KEY);
57
58 boolean allowOverride = getPreferencePage().doGetPreferenceStore().getBoolean(IPreferenceKeys.ALLOW_OVERRIDE_NOMENCLATURAL_CODE_KEY);
59 CdmPreference pref = CdmPreference.NewDatabaseInstance( PreferencePredicate.NomenclaturalCode, value);
60 pref.setAllowOverride(allowOverride);
61
62 ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
63 if (controller == null){
64 return false;
65 }
66 IPreferenceService service = controller.getPreferenceService();
67 service.set(pref);
68
69 value = getPreferencePage().getNameDetailsConfig().createNameDetailsViewConfig().toString();
70 allowOverride = getPreferencePage().doGetPreferenceStore().getBoolean(IPreferenceKeys.ALLOW_OVERRIDE_NAMEDETAILS);
71 pref = CdmPreference.NewDatabaseInstance( PreferencePredicate.NameDetailsView, value);
72 pref.setAllowOverride(allowOverride);
73 service.set(pref);
74
75
76 boolean isDeterminationOnlyForFieldUnit= getPreferencePage().doGetPreferenceStore().getBoolean(IPreferenceKeys.DETERMINATION_ONLY_FOR_FIELD_UNITS );
77 pref = CdmPreference.NewDatabaseInstance( PreferencePredicate.DeterminationOnlyForFieldUnits, String.valueOf(isDeterminationOnlyForFieldUnit));
78 pref.setAllowOverride(false);
79 service.set(pref);
80
81 boolean isShowCollectingAreasInGeneralsecion= getPreferencePage().doGetPreferenceStore().getBoolean(IPreferenceKeys.SHOW_COLLECTING_AREAS_IN_GENERAL_SECTION );
82 pref = CdmPreference.NewDatabaseInstance( PreferencePredicate.ShowCollectingAreasInGeneralSection, String.valueOf(isShowCollectingAreasInGeneralsecion));
83 pref.setAllowOverride(false);
84 service.set(pref);
85
86 boolean isShowTaxonAssociations= getPreferencePage().doGetPreferenceStore().getBoolean(IPreferenceKeys.SHOW_TAXON_ASSOCIATIONS);
87 pref = CdmPreference.NewDatabaseInstance( PreferencePredicate.ShowTaxonAssociations, String.valueOf(isShowTaxonAssociations));
88 pref.setAllowOverride(false);
89 service.set(pref);
90
91 String biocaseProviderList = this.getPreferencePage().getBiocaseProviderList().createAllProviderString();
92 if (biocaseProviderList == null){
93 getPreferencePage().doGetPreferenceStore().setValue(IPreferenceKeys.BIOCASE_PROVIDER_LIST,"");
94 }else{
95 getPreferencePage().doGetPreferenceStore().setValue(IPreferenceKeys.BIOCASE_PROVIDER_LIST, biocaseProviderList);
96
97 }
98 pref = CdmPreference.NewDatabaseInstance( PreferencePredicate.BioCaseProvider, String.valueOf(biocaseProviderList));
99 pref.setAllowOverride(false);
100 service.set(pref);
101 // getPreferencePage().createAbcdImportConfig();
102 // value = getPreferencePage().getAbcdImportConfig().toString();
103 // allowOverride = getPreferencePage().doGetPreferenceStore().getBoolean(IPreferenceKeys.ALLOW_OVERRIDE_ABCD_IMPORT_CONFIG);
104 // pref = CdmPreference.NewDatabaseInstance( PreferencePredicate.AbcdImportConfig, value);
105 // pref.setAllowOverride(allowOverride);
106 // service.set(pref);
107
108 return true;
109 }
110
111
112
113 @Override
114 public void addPages() {
115 addPage(preferencePage);
116
117 }
118
119 @Override
120 public IWizardPage getNextPage(IWizardPage currentPage) {
121
122 return null;
123 }
124
125
126 }