import eu.etaxonomy.cdm.api.application.ICdmRepository;
import eu.etaxonomy.cdm.api.service.IPreferenceService;
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
+import eu.etaxonomy.cdm.model.metadata.DistributionDescription;
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
import eu.etaxonomy.cdm.model.metadata.PreferenceSubject;
-import eu.etaxonomy.taxeditor.l10n.Messages;
+import eu.etaxonomy.cdm.model.metadata.TermComboEnum;
+import eu.etaxonomy.cdm.model.metadata.TermDisplayEnum;
+import eu.etaxonomy.cdm.model.metadata.TermOrder;
import eu.etaxonomy.taxeditor.preference.ChecklistEditorGeneralPreference;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.CdmStore;
}
IPreferenceService service = controller.getPreferenceService();
CdmPreference pref;
- if (isEditorActivated == null){
+ if (isEditorActivated == null && allowOverrideActivatedButton.getSelection()){
service.remove(CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.DistributionEditorActivated));
}else{
- pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.DistributionEditorActivated, Boolean.toString(isEditorActivated));
+ pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.DistributionEditorActivated, isEditorActivated != null? Boolean.toString(isEditorActivated): null);
pref.setAllowOverride(allowOverrideActivatedButton.getSelection());
service.set(pref);
}
- if(displayArea.equals(Messages.Preference_Use_Default)){
+ if(displayArea == null && allowOverrideAreaDisplayButton.getSelection()){
service.remove(CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.DisplayOfAreasInDistributionEditor));
}else{
- pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.DisplayOfAreasInDistributionEditor, this.displayArea);
+ pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.DisplayOfAreasInDistributionEditor, displayArea != null ?this.displayArea.getKey(): null);
pref.setAllowOverride(allowOverrideAreaDisplayButton.getSelection());
service.set(pref);
}
- if (displayStatus.equals(Messages.Preference_Use_Default)){
+ if (displayStatus == null && allowOverrideStatusDisplayButton.getSelection()){
service.remove(CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.DisplayOfStatus));
}else{
- pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.DisplayOfStatus, this.displayStatus);
+ pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.DisplayOfStatus, displayStatus != null? this.displayStatus.getKey(): null);
pref.setAllowOverride(allowOverrideStatusDisplayButton.getSelection());
service.set(pref);
}
- if (isShowRank == null){
+ if (isShowRank == null && allowOverrideRankButton.getSelection()){
service.remove(CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.ShowRankInDistributionEditor));
}else{
- pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.ShowRankInDistributionEditor, Boolean.toString(isShowRank));
+ pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.ShowRankInDistributionEditor, isShowRank != null? Boolean.toString(isShowRank): null);
pref.setAllowOverride(allowOverrideRankButton.getSelection());
service.set(pref);
}
- if (orderAreas.equals(Messages.Preference_Use_Default)){
+ if (orderAreas == null && allowOverrideOrderAreasButton.getSelection()){
service.remove(CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.AreasSortedInDistributionEditor));
}else{
- pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.AreasSortedInDistributionEditor, this.orderAreas);
+ pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.AreasSortedInDistributionEditor, orderAreas != null? this.orderAreas.getKey(): null);
pref.setAllowOverride(allowOverrideOrderAreasButton.getSelection());
service.set(pref);
}
- if (displayStatusCombo == null){
+ if (orderStatus == null && allowOverrideStatusSortButton.getSelection()){
+ service.remove(CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.StatusSortedInDistributionEditor));
+ }else{
+ pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.StatusSortedInDistributionEditor, orderStatus != null? this.orderStatus.getKey(): null);
+ pref.setAllowOverride(allowOverrideStatusSortButton.getSelection());
+ service.set(pref);
+ }
+
+
+ if (displayStatusCombo == null && allowOverrideStatusDisplayInComboButton.getSelection()){
service.remove(CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.DisplayOfStatusInCombo));
}else{
- pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.DisplayOfStatusInCombo, displayStatusCombo);
+ pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.DisplayOfStatusInCombo, displayStatusCombo != null? displayStatusCombo.getKey(): null);
if (prefStatusDisplayInCombo == null){
prefStatusDisplayInCombo = pref;
}
service.set(pref);
}
+ if (numberOfStatus == null && allowOverrideNumberOfStatusButton.getSelection()){
+ service.remove(CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.NumberOfVisibleStatusInDropDown));
+ }else{
+ pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.NumberOfVisibleStatusInDropDown, numberOfStatus != null? numberOfStatus.toString(): null);
+ if (prefNumberStatus == null){
+ prefNumberStatus = pref;
+ }
+ pref.setAllowOverride(prefNumberStatus.isAllowOverride());
+ service.set(pref);
+ }
+
+ if (descriptionForDistributionEditor == null && allowOverrideDescriptionSelectionButton.getSelection()){
+ service.remove(CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.DescriptionForDistributionEditor));
+ }else{
+ pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.DescriptionForDistributionEditor, descriptionForDistributionEditor != null? descriptionForDistributionEditor.getKey(): null);
+ if (prefDescription == null){
+ prefDescription = pref;
+ }
+ pref.setAllowOverride(prefDescription.isAllowOverride());
+ service.set(pref);
+ }
+
PreferencesUtil.updateDBPreferences();
return true;
@Override
public void getValues() {
super.getValues();
- //distributionEditorPref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.DistributionEditorActivated);
+ distributionEditorPref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.DistributionEditorActivated);
if (distributionEditorPref != null){
- isEditorActivated = Boolean.valueOf(distributionEditorPref.getValue());
+ isEditorActivated = distributionEditorPref.getValue() != null? Boolean.valueOf(distributionEditorPref.getValue()): null;
+ }else{
+ isEditorActivated = null;
}
isAdminPreference = true;
if (prefAreaDisplay != null){
- this.displayArea = prefAreaDisplay.getValue();
+ this.displayArea = prefAreaDisplay.getValue()!= null?TermDisplayEnum.byKey(prefAreaDisplay.getValue()): null;
}else{
- this.displayArea = Messages.Preference_Use_Default;
+ this.displayArea = null;
}
if (prefStatusDisplay != null){
- this.displayStatus = prefStatusDisplay.getValue();
+ this.displayStatus = prefStatusDisplay.getValue() != null? TermDisplayEnum.byKey(prefStatusDisplay.getValue()): null;
}else{
- this.displayStatus = Messages.Preference_Use_Default;
+ this.displayStatus = null;
}
if (prefStatusDisplayInCombo != null){
- this.displayStatusCombo = prefStatusDisplayInCombo.getValue();
+ this.displayStatusCombo = prefStatusDisplayInCombo.getValue() != null? TermComboEnum.byKey(prefStatusDisplayInCombo.getValue()): null;
}else{
- this.displayStatusCombo = Messages.Preference_Use_Default;
+ this.displayStatusCombo = null;
}
if (prefAreaSort != null){
if (prefAreaSort.getValue() != null){
- this.orderAreas = prefAreaSort.getValue().toString();
+ this.orderAreas = prefAreaSort.getValue() != null? TermOrder.valueOf(prefAreaSort.getValue().toString()): null;
+ }else{
+ this.orderAreas = null;
+ }
+
+ }else{
+ this.orderAreas = null;
+
+ }
+
+ if (prefStatusSort != null){
+ if (prefStatusSort.getValue() != null){
+ this.orderStatus = prefStatusSort.getValue() != null? TermOrder.valueOf(prefStatusSort.getValue().toString()): null;
}else{
- this.orderAreas = Messages.Preference_Use_Default;
+ this.orderStatus = null;
}
}else{
- this.orderAreas = Messages.Preference_Use_Default;
+ this.orderStatus = null;
}
if (prefRank != null){
- this.isShowRank = Boolean.valueOf(prefRank.getValue().toString());
+ this.isShowRank = prefRank.getValue() != null?Boolean.valueOf(prefRank.getValue().toString()): null;
}else{
this.isShowRank = null;
}
+ if (prefNumberStatus != null){
+ this.numberOfStatus = prefNumberStatus.getValue() != null?Integer.valueOf(prefNumberStatus.getValue().toString()): null;
+
+ }else{
+ this.numberOfStatus = null;
+ }
- if (prefOwnDescription != null){
- this.ownDescriptionForDistributionEditor = Boolean.valueOf(prefOwnDescription.getValue().toString());
+ if (prefDescription != null){
+ this.descriptionForDistributionEditor = prefDescription.getValue() != null? DistributionDescription.byKey(prefDescription.getValue().toString()): null;
}else{
- this.ownDescriptionForDistributionEditor = Boolean.valueOf(PreferencePredicate.OwnDescriptionForDistributionEditor.getDefaultValue().toString());
+ this.descriptionForDistributionEditor = null;
}