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
.DistributionDescription
;
18 import eu
.etaxonomy
.cdm
.model
.metadata
.PreferencePredicate
;
19 import eu
.etaxonomy
.cdm
.model
.metadata
.PreferenceSubject
;
20 import eu
.etaxonomy
.cdm
.model
.metadata
.TermComboEnum
;
21 import eu
.etaxonomy
.cdm
.model
.metadata
.TermDisplayEnum
;
22 import eu
.etaxonomy
.cdm
.model
.metadata
.TermOrder
;
23 import eu
.etaxonomy
.taxeditor
.preference
.ChecklistEditorGeneralPreference
;
24 import eu
.etaxonomy
.taxeditor
.preference
.PreferencesUtil
;
25 import eu
.etaxonomy
.taxeditor
.store
.CdmStore
;
32 public class ChecklistEditorGeneralAdminPreference
extends ChecklistEditorGeneralPreference
implements IE4AdminPreferencePage
{
38 protected Control
createContents(Composite parent
) {
40 return super.createContents(parent
);
45 public boolean performOk() {
49 ICdmRepository controller
= CdmStore
.getCurrentApplicationConfiguration();
50 if (controller
== null){
53 IPreferenceService service
= controller
.getPreferenceService();
55 if (isEditorActivated
== null && allowOverrideActivatedButton
.getSelection()){
56 service
.remove(CdmPreference
.NewKey(PreferenceSubject
.NewTaxEditorInstance(), PreferencePredicate
.DistributionEditorActivated
));
58 pref
= CdmPreference
.NewTaxEditorInstance( PreferencePredicate
.DistributionEditorActivated
, isEditorActivated
!= null? Boolean
.toString(isEditorActivated
): null);
59 pref
.setAllowOverride(allowOverrideActivatedButton
.getSelection());
62 if(displayArea
== null && allowOverrideAreaDisplayButton
.getSelection()){
63 service
.remove(CdmPreference
.NewKey(PreferenceSubject
.NewTaxEditorInstance(), PreferencePredicate
.DisplayOfAreasInDistributionEditor
));
65 pref
= CdmPreference
.NewTaxEditorInstance( PreferencePredicate
.DisplayOfAreasInDistributionEditor
, displayArea
!= null ?
this.displayArea
.getKey(): null);
66 pref
.setAllowOverride(allowOverrideAreaDisplayButton
.getSelection());
70 if (displayStatus
== null && allowOverrideStatusDisplayButton
.getSelection()){
71 service
.remove(CdmPreference
.NewKey(PreferenceSubject
.NewTaxEditorInstance(), PreferencePredicate
.DisplayOfStatus
));
73 pref
= CdmPreference
.NewTaxEditorInstance( PreferencePredicate
.DisplayOfStatus
, displayStatus
!= null?
this.displayStatus
.getKey(): null);
74 pref
.setAllowOverride(allowOverrideStatusDisplayButton
.getSelection());
78 if (isShowRank
== null && allowOverrideRankButton
.getSelection()){
79 service
.remove(CdmPreference
.NewKey(PreferenceSubject
.NewTaxEditorInstance(), PreferencePredicate
.ShowRankInDistributionEditor
));
81 pref
= CdmPreference
.NewTaxEditorInstance( PreferencePredicate
.ShowRankInDistributionEditor
, isShowRank
!= null? Boolean
.toString(isShowRank
): null);
82 pref
.setAllowOverride(allowOverrideRankButton
.getSelection());
85 if (orderAreas
== null && allowOverrideOrderAreasButton
.getSelection()){
86 service
.remove(CdmPreference
.NewKey(PreferenceSubject
.NewTaxEditorInstance(), PreferencePredicate
.AreasSortedInDistributionEditor
));
88 pref
= CdmPreference
.NewTaxEditorInstance( PreferencePredicate
.AreasSortedInDistributionEditor
, orderAreas
!= null?
this.orderAreas
.getKey(): null);
89 pref
.setAllowOverride(allowOverrideOrderAreasButton
.getSelection());
93 if (orderStatus
== null && allowOverrideStatusSortButton
.getSelection()){
94 service
.remove(CdmPreference
.NewKey(PreferenceSubject
.NewTaxEditorInstance(), PreferencePredicate
.StatusSortedInDistributionEditor
));
96 pref
= CdmPreference
.NewTaxEditorInstance( PreferencePredicate
.StatusSortedInDistributionEditor
, orderStatus
!= null?
this.orderStatus
.getKey(): null);
97 pref
.setAllowOverride(allowOverrideStatusSortButton
.getSelection());
102 if (displayStatusCombo
== null && allowOverrideStatusDisplayInComboButton
.getSelection()){
103 service
.remove(CdmPreference
.NewKey(PreferenceSubject
.NewTaxEditorInstance(), PreferencePredicate
.DisplayOfStatusInCombo
));
105 pref
= CdmPreference
.NewTaxEditorInstance( PreferencePredicate
.DisplayOfStatusInCombo
, displayStatusCombo
!= null? displayStatusCombo
.getKey(): null);
106 if (prefStatusDisplayInCombo
== null){
107 prefStatusDisplayInCombo
= pref
;
109 pref
.setAllowOverride(prefStatusDisplayInCombo
.isAllowOverride());
113 if (numberOfStatus
== null && allowOverrideNumberOfStatusButton
.getSelection()){
114 service
.remove(CdmPreference
.NewKey(PreferenceSubject
.NewTaxEditorInstance(), PreferencePredicate
.NumberOfVisibleStatusInDropDown
));
116 pref
= CdmPreference
.NewTaxEditorInstance( PreferencePredicate
.NumberOfVisibleStatusInDropDown
, numberOfStatus
!= null? numberOfStatus
.toString(): null);
117 if (prefNumberStatus
== null){
118 prefNumberStatus
= pref
;
120 pref
.setAllowOverride(prefNumberStatus
.isAllowOverride());
124 if (descriptionForDistributionEditor
== null && allowOverrideDescriptionSelectionButton
.getSelection()){
125 service
.remove(CdmPreference
.NewKey(PreferenceSubject
.NewTaxEditorInstance(), PreferencePredicate
.DescriptionForDistributionEditor
));
127 pref
= CdmPreference
.NewTaxEditorInstance( PreferencePredicate
.DescriptionForDistributionEditor
, descriptionForDistributionEditor
!= null? descriptionForDistributionEditor
.getKey(): null);
128 if (prefDescription
== null){
129 prefDescription
= pref
;
131 pref
.setAllowOverride(prefDescription
.isAllowOverride());
135 PreferencesUtil
.updateDBPreferences();
141 public void getValues() {
143 distributionEditorPref
= PreferencesUtil
.getPreferenceFromDB(PreferencePredicate
.DistributionEditorActivated
);
144 if (distributionEditorPref
!= null){
145 isEditorActivated
= distributionEditorPref
.getValue() != null? Boolean
.valueOf(distributionEditorPref
.getValue()): null;
147 isEditorActivated
= null;
151 isAdminPreference
= true;
153 if (prefAreaDisplay
!= null){
154 this.displayArea
= prefAreaDisplay
.getValue()!= null?TermDisplayEnum
.byKey(prefAreaDisplay
.getValue()): null;
156 this.displayArea
= null;
160 if (prefStatusDisplay
!= null){
161 this.displayStatus
= prefStatusDisplay
.getValue() != null? TermDisplayEnum
.byKey(prefStatusDisplay
.getValue()): null;
163 this.displayStatus
= null;
166 if (prefStatusDisplayInCombo
!= null){
167 this.displayStatusCombo
= prefStatusDisplayInCombo
.getValue() != null? TermComboEnum
.byKey(prefStatusDisplayInCombo
.getValue()): null;
169 this.displayStatusCombo
= null;
173 if (prefAreaSort
!= null){
174 if (prefAreaSort
.getValue() != null){
175 this.orderAreas
= prefAreaSort
.getValue() != null? TermOrder
.valueOf(prefAreaSort
.getValue().toString()): null;
177 this.orderAreas
= null;
181 this.orderAreas
= null;
185 if (prefStatusSort
!= null){
186 if (prefStatusSort
.getValue() != null){
187 this.orderStatus
= prefStatusSort
.getValue() != null? TermOrder
.valueOf(prefStatusSort
.getValue().toString()): null;
189 this.orderStatus
= null;
193 this.orderStatus
= null;
198 if (prefRank
!= null){
199 this.isShowRank
= prefRank
.getValue() != null?Boolean
.valueOf(prefRank
.getValue().toString()): null;
202 this.isShowRank
= null;
205 if (prefNumberStatus
!= null){
206 this.numberOfStatus
= prefNumberStatus
.getValue() != null?Integer
.valueOf(prefNumberStatus
.getValue().toString()): null;
209 this.numberOfStatus
= null;
212 if (prefDescription
!= null){
213 this.descriptionForDistributionEditor
= prefDescription
.getValue() != null? DistributionDescription
.byKey(prefDescription
.getValue().toString()): null;
215 this.descriptionForDistributionEditor
= null;