Project

General

Profile

Download (3.65 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.EditorPreferencePredicate;
12
import eu.etaxonomy.taxeditor.preference.NameDetailsConfigurator;
13
import eu.etaxonomy.taxeditor.preference.NameDetailsViewConfiguration;
14
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
15
import eu.etaxonomy.taxeditor.store.CdmStore;
16

    
17

    
18
public class NameDetailsViewAdminConfiguration extends NameDetailsViewConfiguration implements IE4AdminPreferencePage{
19

    
20
   protected NameDetailsConfigurator createNameDetailsViewConfig() {
21
       NameDetailsConfigurator config = new NameDetailsConfigurator(isSimpleDetailsViewActivated);
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 (nameDetailsConfig == null){
50
            return true;
51
        }
52
        ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
53
        if (controller == null){
54
            return false;
55
        }
56
        IPreferenceService service = controller.getPreferenceService();
57
        NameDetailsConfigurator config = createNameDetailsViewConfig();
58
        String value = config.toString();
59

    
60

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

    
66
        return true;
67
    }
68

    
69

    
70
    @Override
71
    public void init(){
72
        isAdminPreference = true;
73
        ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
74
        if (controller != null){
75
            IPreferenceService service = controller.getPreferenceService();
76
            PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), EditorPreferencePredicate.NameDetailsView);
77
            CdmPreference pref = service.find(key);
78

    
79
            isAllowOverride = pref.isAllowOverride();
80
            CdmPreferenceCache cache = CdmPreferenceCache.instance();
81
            cache.put(pref);
82
        }
83
        nameDetailsConfig = PreferencesUtil.getPreferredNameDetailsConfiguration(false);
84
        if (nameDetailsConfig == null){
85
            nameDetailsConfig = new NameDetailsConfigurator(false);
86
        }
87

    
88
    }
89

    
90

    
91
}
(9-9/13)