Project

General

Profile

Download (5.13 KB) Statistics
| Branch: | Tag: | Revision:
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
       NameDetailsConfigurator config = new NameDetailsConfigurator(isSimpleDetailsViewActivated);
21

    
22
      config.setAppendedPhraseActivated(isShowAppendedPhrase);
23
      config.setAtomisedEpithetsActivated(isShowEpithets);
24
      config.setAuthorshipSectionActivated(isShowAuthorship);
25
      config.setAuthorCacheActivated(isShowAuthorCache);
26
      config.setLSIDActivated(isShowLSID);
27
      config.setNameApprobiationActivated(isShowNameApprobiation);
28
      config.setNameCacheActivated(isShowNameCache);
29
      config.setNameRelationsSectionActivated(isShowNameRelationship);
30
      config.setNomenclaturalCodeActived(isShowNomenclaturalCode);
31
      config.setNomenclaturalStatusSectionActivated(isShowNomenclaturalStatus);
32
      config.setNomenclaturalReferenceSectionActivated(isShowNomenclaturalRef);
33
      config.setProtologueActivated(isShowProtologue);
34
      config.setRankActivated(isShowRank);
35
      config.setTaxonSectionActivated(isShowTaxon);
36
      config.setSecDetailsActivated(isSecDetailsActivated);
37
      config.setSecEnabled(isSecEnabled);
38
      config.setTypeDesignationSectionActivated(isShowTypeDesignation);
39
      config.setHybridActivated(isShowHybrid);
40

    
41

    
42
      return config;
43
   }
44

    
45

    
46
    @Override
47
    public boolean performOk() {
48
        if (nameDetailsConfig == null){
49
            return true;
50
        }
51
        ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
52
        if (controller == null){
53
            return false;
54
        }
55
        IPreferenceService service = controller.getPreferenceService();
56
        NameDetailsConfigurator config = createNameDetailsViewConfig();
57
        String value = config.toString();
58

    
59

    
60
        CdmPreference pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.NameDetailsView, value);
61
        pref.setAllowOverride(isAllowOverride);
62
        service.set(pref);
63
        PreferencesUtil.updateDBPreferences();
64

    
65

    
66
        return true;
67
    }
68

    
69

    
70
    @Override
71
    public void getValues(){
72
        isAdminPreference = true;
73
        ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
74
        if (controller != null){
75
            IPreferenceService service = controller.getPreferenceService();
76
            PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.NameDetailsView);
77
            CdmPreference pref = service.find(key);
78
            if (pref != null) {
79
                isAllowOverride = pref.isAllowOverride();
80
                CdmPreferenceCache cache = CdmPreferenceCache.instance();
81
                cache.put(pref);
82
            }
83

    
84

    
85
        }
86
        nameDetailsConfig = PreferencesUtil.getPreferredNameDetailsConfiguration(false);
87
        if (nameDetailsConfig == null){
88
            nameDetailsConfig = new NameDetailsConfigurator(false);
89
        }
90

    
91
    }
92

    
93
    @Override
94
    protected void performDefaults() {
95
        nameDetailsConfig = new NameDetailsConfigurator(false);
96
        isShowAppendedPhrase = nameDetailsConfig.isAppendedPhraseActivated();
97
        isShowEpithets = nameDetailsConfig.isAtomisedEpithetsActivated();
98
        isShowAuthorship = nameDetailsConfig.isAuthorshipSectionActivated();
99
        isShowAuthorCache = nameDetailsConfig.isAuthorCacheActivated();
100
        isShowLSID = nameDetailsConfig.isLSIDActivated();
101
        isShowNameApprobiation = nameDetailsConfig.isNameApprobiationActivated();
102
        isShowNameCache = nameDetailsConfig.isNameCacheActivated();
103
        isShowNameRelationship = nameDetailsConfig.isNameRelationsSectionActivated();
104
        isShowNomenclaturalCode = nameDetailsConfig.isNomenclaturalCodeActived();
105
        isShowNomenclaturalStatus = nameDetailsConfig.isNomenclaturalStatusSectionActivated();
106
        isShowNomenclaturalRef = nameDetailsConfig.isNomenclaturalReferenceSectionActivated();
107
        isShowProtologue = nameDetailsConfig.isProtologueActivated();
108
        isShowRank = nameDetailsConfig.isRankActivated();
109
        isShowTaxon = nameDetailsConfig.isTaxonSectionActivated();
110
        isSecDetailsActivated = nameDetailsConfig.isSecDetailsActivated();
111
        isSecEnabled = nameDetailsConfig.isSecEnabled();
112
        isShowTypeDesignation = nameDetailsConfig.isTypeDesignationSectionActivated();
113
        isShowHybrid = nameDetailsConfig.isHybridActivated();
114
        this.setButtonSelections();
115
        super.performDefaults();
116
    }
117

    
118

    
119
}
(9-9/13)