2 * Copyright (C) 2014 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
9 package eu
.etaxonomy
.taxeditor
.databaseAdmin
.preferencePage
;
11 import org
.eclipse
.swt
.widgets
.Composite
;
12 import org
.eclipse
.swt
.widgets
.Control
;
14 import eu
.etaxonomy
.cdm
.api
.application
.ICdmRepository
;
15 import eu
.etaxonomy
.cdm
.api
.service
.IPreferenceService
;
16 import eu
.etaxonomy
.cdm
.model
.metadata
.CdmPreference
;
17 import eu
.etaxonomy
.cdm
.model
.metadata
.PreferencePredicate
;
18 import eu
.etaxonomy
.cdm
.model
.metadata
.PreferenceSubject
;
19 import eu
.etaxonomy
.cdm
.model
.metadata
.TermComboEnum
;
20 import eu
.etaxonomy
.cdm
.model
.metadata
.TermDisplayEnum
;
21 import eu
.etaxonomy
.cdm
.model
.metadata
.TermOrder
;
22 import eu
.etaxonomy
.taxeditor
.preference
.ChecklistEditorGeneralPreference
;
23 import eu
.etaxonomy
.taxeditor
.preference
.PreferencesUtil
;
24 import eu
.etaxonomy
.taxeditor
.store
.CdmStore
;
31 public class ChecklistEditorGeneralAdminPreference
extends ChecklistEditorGeneralPreference
implements IE4AdminPreferencePage
{
37 protected Control
createContents(Composite parent
) {
39 return super.createContents(parent
);
44 public boolean performOk() {
48 ICdmRepository controller
= CdmStore
.getCurrentApplicationConfiguration();
49 if (controller
== null){
52 IPreferenceService service
= controller
.getPreferenceService();
54 if (isEditorActivated
== null && allowOverrideActivatedButton
.getSelection()){
55 service
.remove(CdmPreference
.NewKey(PreferenceSubject
.NewTaxEditorInstance(), PreferencePredicate
.DistributionEditorActivated
));
57 pref
= CdmPreference
.NewTaxEditorInstance( PreferencePredicate
.DistributionEditorActivated
, isEditorActivated
!= null? Boolean
.toString(isEditorActivated
): null);
58 pref
.setAllowOverride(allowOverrideActivatedButton
.getSelection());
61 if(displayArea
== null && allowOverrideAreaDisplayButton
.getSelection()){
62 service
.remove(CdmPreference
.NewKey(PreferenceSubject
.NewTaxEditorInstance(), PreferencePredicate
.DisplayOfAreasInDistributionEditor
));
64 pref
= CdmPreference
.NewTaxEditorInstance( PreferencePredicate
.DisplayOfAreasInDistributionEditor
, displayArea
!= null ?
this.displayArea
.getKey(): null);
65 pref
.setAllowOverride(allowOverrideAreaDisplayButton
.getSelection());
69 if (displayStatus
== null && allowOverrideStatusDisplayButton
.getSelection()){
70 service
.remove(CdmPreference
.NewKey(PreferenceSubject
.NewTaxEditorInstance(), PreferencePredicate
.DisplayOfStatus
));
72 pref
= CdmPreference
.NewTaxEditorInstance( PreferencePredicate
.DisplayOfStatus
, displayStatus
!= null?
this.displayStatus
.getKey(): null);
73 pref
.setAllowOverride(allowOverrideStatusDisplayButton
.getSelection());
77 if (isShowRank
== null && allowOverrideRankButton
.getSelection()){
78 service
.remove(CdmPreference
.NewKey(PreferenceSubject
.NewTaxEditorInstance(), PreferencePredicate
.ShowRankInDistributionEditor
));
80 pref
= CdmPreference
.NewTaxEditorInstance( PreferencePredicate
.ShowRankInDistributionEditor
, isShowRank
!= null? Boolean
.toString(isShowRank
): null);
81 pref
.setAllowOverride(allowOverrideRankButton
.getSelection());
84 if (orderAreas
== null && allowOverrideOrderAreasButton
.getSelection()){
85 service
.remove(CdmPreference
.NewKey(PreferenceSubject
.NewTaxEditorInstance(), PreferencePredicate
.AreasSortedInDistributionEditor
));
87 pref
= CdmPreference
.NewTaxEditorInstance( PreferencePredicate
.AreasSortedInDistributionEditor
, orderAreas
!= null?
this.orderAreas
.getKey(): null);
88 pref
.setAllowOverride(allowOverrideOrderAreasButton
.getSelection());
92 if (displayStatusCombo
== null && allowOverrideStatusDisplayInComboButton
.getSelection()){
93 service
.remove(CdmPreference
.NewKey(PreferenceSubject
.NewTaxEditorInstance(), PreferencePredicate
.DisplayOfStatusInCombo
));
95 pref
= CdmPreference
.NewTaxEditorInstance( PreferencePredicate
.DisplayOfStatusInCombo
, displayStatusCombo
!= null? displayStatusCombo
.getKey(): null);
96 if (prefStatusDisplayInCombo
== null){
97 prefStatusDisplayInCombo
= pref
;
99 pref
.setAllowOverride(prefStatusDisplayInCombo
.isAllowOverride());
103 PreferencesUtil
.updateDBPreferences();
109 public void getValues() {
111 distributionEditorPref
= PreferencesUtil
.getPreferenceFromDB(PreferencePredicate
.DistributionEditorActivated
);
112 if (distributionEditorPref
!= null){
113 isEditorActivated
= distributionEditorPref
.getValue() != null? Boolean
.valueOf(distributionEditorPref
.getValue()): null;
115 isEditorActivated
= null;
119 isAdminPreference
= true;
121 if (prefAreaDisplay
!= null){
122 this.displayArea
= prefAreaDisplay
.getValue()!= null?TermDisplayEnum
.byKey(prefAreaDisplay
.getValue()): null;
124 this.displayArea
= null;
128 if (prefStatusDisplay
!= null){
129 this.displayStatus
= prefStatusDisplay
.getValue() != null? TermDisplayEnum
.byKey(prefStatusDisplay
.getValue()): null;
131 this.displayStatus
= null;
134 if (prefStatusDisplayInCombo
!= null){
135 this.displayStatusCombo
= prefStatusDisplayInCombo
.getValue() != null? TermComboEnum
.byKey(prefStatusDisplayInCombo
.getValue()): null;
137 this.displayStatusCombo
= null;
141 if (prefAreaSort
!= null){
142 if (prefAreaSort
.getValue() != null){
143 this.orderAreas
= prefAreaSort
.getValue() != null? TermOrder
.valueOf(prefAreaSort
.getValue().toString()): null;
145 this.orderAreas
= null;
149 this.orderAreas
= null;
154 if (prefRank
!= null){
155 this.isShowRank
= prefRank
.getValue() != null?Boolean
.valueOf(prefRank
.getValue().toString()): null;
158 this.isShowRank
= null;
162 if (prefOwnDescription
!= null){
163 this.ownDescriptionForDistributionEditor
= prefOwnDescription
.getValue() != null? Boolean
.valueOf(prefOwnDescription
.getValue().toString()): null;
165 this.ownDescriptionForDistributionEditor
= null;