minor
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / databaseAdmin / preferencePage / NameDetailsViewAdminConfiguration.java
1 package eu.etaxonomy.taxeditor.databaseAdmin.preferencePage;
2
3
4 import eu.etaxonomy.cdm.api.application.ICdmRepository;
5 import eu.etaxonomy.cdm.api.service.IPreferenceService;
6 import eu.etaxonomy.cdm.model.metadata.CdmPreference;
7 import eu.etaxonomy.cdm.model.metadata.CdmPreference.PrefKey;
8 import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
9 import eu.etaxonomy.cdm.model.metadata.PreferenceSubject;
10 import eu.etaxonomy.taxeditor.preference.CdmPreferenceCache;
11 import eu.etaxonomy.taxeditor.preference.NameDetailsConfigurator;
12 import eu.etaxonomy.taxeditor.preference.NameDetailsViewConfiguration;
13 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
14 import eu.etaxonomy.taxeditor.store.CdmStore;
15
16
17 public class NameDetailsViewAdminConfiguration extends NameDetailsViewConfiguration implements IE4AdminPreferencePage{
18
19 protected NameDetailsConfigurator createNameDetailsViewConfig() {
20
21 NameDetailsConfigurator config = new NameDetailsConfigurator(isSimpleDetailsViewActivated!= null? isSimpleDetailsViewActivated:false);
22
23 config.setAppendedPhraseActivated(isShowAppendedPhrase);
24 config.setAtomisedEpithetsActivated(isShowEpithets);
25 config.setAuthorshipSectionActivated(isShowAuthorship);
26 config.setAuthorCacheActivated(isShowAuthorCache);
27 config.setLSIDActivated(isShowLSID);
28 config.setNameApprobiationActivated(isShowNameApprobiation);
29 config.setNameCacheActivated(isShowNameCache);
30 config.setNameRelationsSectionActivated(isShowNameRelationship);
31 config.setNomenclaturalCodeActived(isShowNomenclaturalCode);
32 config.setNomenclaturalStatusSectionActivated(isShowNomenclaturalStatus);
33 config.setNomenclaturalReferenceSectionActivated(isShowNomenclaturalRef);
34 config.setProtologueActivated(isShowProtologue);
35 config.setRankActivated(isShowRank);
36 config.setTaxonSectionActivated(isShowTaxon);
37 config.setSecDetailsActivated(isSecDetailsActivated);
38 config.setSecEnabled(isSecEnabled);
39 config.setTypeDesignationSectionActivated(isShowTypeDesignation);
40 config.setHybridActivated(isShowHybrid);
41
42
43 return config;
44 }
45
46
47 @Override
48 public boolean performOk() {
49 if (!isApply()){
50 return true;
51 }
52 if (nameDetailsConfig == null){
53 return true;
54 }
55 ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
56 if (controller == null){
57 return false;
58 }
59 IPreferenceService service = controller.getPreferenceService();
60 NameDetailsConfigurator config = createNameDetailsViewConfig();
61 String value = config.toString();
62
63 if (isSimpleDetailsViewActivated == null){
64 service.remove(CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.NameDetailsView));
65
66 return true;
67 }
68 CdmPreference pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.NameDetailsView, value);
69 pref.setAllowOverride(isAllowOverride);
70 service.set(pref);
71 PreferencesUtil.updateDBPreferences();
72
73
74 return true;
75 }
76
77
78 @Override
79 public void getValues(){
80 isAdminPreference = true;
81 ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
82 if (controller != null){
83 IPreferenceService service = controller.getPreferenceService();
84 PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.NameDetailsView);
85 CdmPreference pref = service.find(key);
86 if (pref != null) {
87 isAllowOverride = pref.isAllowOverride();
88 CdmPreferenceCache cache = CdmPreferenceCache.instance();
89 cache.put(pref);
90 }else {
91 isAllowOverride = true;
92 }
93
94
95 }
96 nameDetailsConfig = PreferencesUtil.getPreferredNameDetailsConfiguration(false);
97
98
99 }
100
101
102
103
104 }