Project

General

Profile

Download (3.85 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
        if (config.isAllowOverride() && !config.isSimpleDetailsViewActivated()){
60
            // is default, should delete from db
61
            value = null;
62
        }
63
        CdmPreference pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.NameDetailsView, value);
64
        pref.setAllowOverride(isAllowOverride);
65
        service.set(pref);
66
        PreferencesUtil.updateDBPreferences();
67

    
68

    
69
        return true;
70
    }
71

    
72

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

    
89

    
90
        }
91
        nameDetailsConfig = PreferencesUtil.getPreferredNameDetailsConfiguration(false);
92
        if (nameDetailsConfig == null){
93
            nameDetailsConfig = new NameDetailsConfigurator(false);
94
        }
95

    
96
    }
97

    
98

    
99

    
100

    
101
}
(9-9/13)