1 package eu
.etaxonomy
.taxeditor
.databaseAdmin
.preferencePage
;
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
;
17 public class NameDetailsViewAdminConfiguration
extends NameDetailsViewConfiguration
implements IE4AdminPreferencePage
{
19 protected NameDetailsConfigurator
createNameDetailsViewConfig() {
21 NameDetailsConfigurator config
= new NameDetailsConfigurator(isSimpleDetailsViewActivated
!= null? isSimpleDetailsViewActivated
:false);
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
);
48 public boolean performOk() {
52 if (nameDetailsConfig
== null){
55 ICdmRepository controller
= CdmStore
.getCurrentApplicationConfiguration();
56 if (controller
== null){
59 IPreferenceService service
= controller
.getPreferenceService();
60 NameDetailsConfigurator config
= createNameDetailsViewConfig();
61 String value
= config
.toString();
63 if (isSimpleDetailsViewActivated
== null && isAllowOverride
){
64 service
.remove(CdmPreference
.NewKey(PreferenceSubject
.NewTaxEditorInstance(), PreferencePredicate
.NameDetailsView
));
67 }else if (isSimpleDetailsViewActivated
== null){
70 CdmPreference pref
= CdmPreference
.NewTaxEditorInstance(PreferencePredicate
.NameDetailsView
, value
);
71 pref
.setAllowOverride(isAllowOverride
);
73 PreferencesUtil
.updateDBPreferences();
81 public void getValues(){
82 isAdminPreference
= true;
83 ICdmRepository controller
= CdmStore
.getCurrentApplicationConfiguration();
84 if (controller
!= null){
85 IPreferenceService service
= controller
.getPreferenceService();
86 PrefKey key
= CdmPreference
.NewKey(PreferenceSubject
.NewTaxEditorInstance(), PreferencePredicate
.NameDetailsView
);
87 nameDetailsPref
= service
.find(key
);
88 if (nameDetailsPref
!= null) {
89 isAllowOverride
= nameDetailsPref
.isAllowOverride();
90 CdmPreferenceCache cache
= CdmPreferenceCache
.instance();
91 cache
.put(nameDetailsPref
);
93 isAllowOverride
= true;
98 nameDetailsConfig
= PreferencesUtil
.getPreferredNameDetailsConfiguration(false);