Project

General

Profile

Download (3.92 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

    
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
            nameDetailsPref = service.find(key);
86
            if (nameDetailsPref != null) {
87
                isAllowOverride = nameDetailsPref.isAllowOverride();
88
                CdmPreferenceCache cache = CdmPreferenceCache.instance();
89
                cache.put(nameDetailsPref);
90
            }else {
91
                isAllowOverride = true;
92
            }
93

    
94

    
95
        }
96
        nameDetailsConfig = PreferencesUtil.getPreferredNameDetailsConfiguration(false);
97

    
98

    
99
    }
100

    
101

    
102

    
103

    
104
}
(9-9/19)