X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/blobdiff_plain/9b8d1a1ccfb8431cd3ab902a87e930f0734b3fbb..e5ec62f08cab5432a6ea48c9ec7f91f684335ae1:/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/ChecklistEditorGeneralAdminPreference.java diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/ChecklistEditorGeneralAdminPreference.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/ChecklistEditorGeneralAdminPreference.java index a35af98d0..46e8d6a9e 100755 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/ChecklistEditorGeneralAdminPreference.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/ChecklistEditorGeneralAdminPreference.java @@ -14,7 +14,12 @@ import org.eclipse.swt.widgets.Control; 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.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; @@ -26,16 +31,19 @@ import eu.etaxonomy.taxeditor.store.CdmStore; */ public class ChecklistEditorGeneralAdminPreference extends ChecklistEditorGeneralPreference implements IE4AdminPreferencePage { + Composite parent; + @Override protected Control createContents(Composite parent) { + this.parent = parent; return super.createContents(parent); } @Override public boolean performOk() { - if (distributionEditorPref == null){ + if (!isApply()){ return true; } ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration(); @@ -43,30 +51,86 @@ public class ChecklistEditorGeneralAdminPreference extends ChecklistEditorGenera return false; } IPreferenceService service = controller.getPreferenceService(); + CdmPreference pref; + if (isEditorActivated == null && allowOverrideActivatedButton.getSelection()){ + service.remove(CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.DistributionEditorActivated)); + }else{ + pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.DistributionEditorActivated, isEditorActivated != null? Boolean.toString(isEditorActivated): null); + pref.setAllowOverride(allowOverrideActivatedButton.getSelection()); + service.set(pref); + } + if(displayArea == null && allowOverrideAreaDisplayButton.getSelection()){ + service.remove(CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.DisplayOfAreasInDistributionEditor)); + }else{ + pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.DisplayOfAreasInDistributionEditor, displayArea != null ?this.displayArea.getKey(): null); + pref.setAllowOverride(allowOverrideAreaDisplayButton.getSelection()); + service.set(pref); + } - CdmPreference pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.DistributionEditorActivated, Boolean.toString(isEditorActivated)); - pref.setAllowOverride(this.allowOverrideActivated); - service.set(pref); + if (displayStatus == null && allowOverrideStatusDisplayButton.getSelection()){ + service.remove(CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.DisplayOfStatus)); + }else{ + pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.DisplayOfStatus, displayStatus != null? this.displayStatus.getKey(): null); + pref.setAllowOverride(allowOverrideStatusDisplayButton.getSelection()); + service.set(pref); + } - pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.DisplayOfAreasInDistributionEditor, this.displayArea); - pref.setAllowOverride(this.allowOverrideAreaDisplay); - service.set(pref); + if (isShowRank == null && allowOverrideRankButton.getSelection()){ + service.remove(CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.ShowRankInDistributionEditor)); + }else{ + pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.ShowRankInDistributionEditor, isShowRank != null? Boolean.toString(isShowRank): null); + pref.setAllowOverride(allowOverrideRankButton.getSelection()); + service.set(pref); + } + if (orderAreas == null && allowOverrideOrderAreasButton.getSelection()){ + service.remove(CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.AreasSortedInDistributionEditor)); + }else{ + pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.AreasSortedInDistributionEditor, orderAreas != null? this.orderAreas.getKey(): null); + pref.setAllowOverride(allowOverrideOrderAreasButton.getSelection()); + service.set(pref); + } - pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.DisplayOfStatus, this.displayStatus); - pref.setAllowOverride(this.allowOverrideStatusDisplay); - service.set(pref); + 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); + } - pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.ShowRankInDistributionEditor, Boolean.toString(isShowRank)); - pref.setAllowOverride(this.allowOverrideRank); - service.set(pref); - pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.AreasSortedInDistributionEditor, this.orderAreas); - pref.setAllowOverride(this.allowOverrideOrderAreas); - service.set(pref); + if (displayStatusCombo == null && allowOverrideStatusDisplayInComboButton.getSelection()){ + service.remove(CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.DisplayOfStatusInCombo)); + }else{ + pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.DisplayOfStatusInCombo, displayStatusCombo != null? displayStatusCombo.getKey(): null); + if (prefStatusDisplayInCombo == null){ + prefStatusDisplayInCombo = pref; + } + pref.setAllowOverride(prefStatusDisplayInCombo.isAllowOverride()); + service.set(pref); + } - pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.OwnDescriptionForDistributionEditor, Boolean.toString(ownDescriptionForDistributionEditor)); - pref.setAllowOverride(this.allowOverrideOwnDescriptionForDistributionEditor); - 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(); @@ -75,68 +139,87 @@ public class ChecklistEditorGeneralAdminPreference extends ChecklistEditorGenera @Override public void getValues() { - + super.getValues(); distributionEditorPref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.DistributionEditorActivated); - if (distributionEditorPref == null){ - distributionEditorPref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.DistributionEditorActivated, PreferencePredicate.DistributionEditorActivated.getDefaultValue().toString()); + if (distributionEditorPref != null){ + isEditorActivated = distributionEditorPref.getValue() != null? Boolean.valueOf(distributionEditorPref.getValue()): null; + }else{ + isEditorActivated = null; } - isEditorActivated = Boolean.valueOf(distributionEditorPref.getValue()); - allowOverrideActivated = distributionEditorPref.isAllowOverride(); + + isAdminPreference = true; - CdmPreference pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.DisplayOfAreasInDistributionEditor); - if (pref != null){ - this.displayArea = pref.getValue(); - this.allowOverrideAreaDisplay = pref.isAllowOverride(); + if (prefAreaDisplay != null){ + this.displayArea = prefAreaDisplay.getValue()!= null?TermDisplayEnum.byKey(prefAreaDisplay.getValue()): null; + }else{ + this.displayArea = null; + } + + + if (prefStatusDisplay != null){ + this.displayStatus = prefStatusDisplay.getValue() != null? TermDisplayEnum.byKey(prefStatusDisplay.getValue()): null; + }else{ + this.displayStatus = null; + } + + if (prefStatusDisplayInCombo != null){ + this.displayStatusCombo = prefStatusDisplayInCombo.getValue() != null? TermComboEnum.byKey(prefStatusDisplayInCombo.getValue()): null; }else{ - this.displayArea = PreferencePredicate.DisplayOfAreasInDistributionEditor.getDefaultValue().toString(); - this.allowOverrideAreaDisplay = true; + this.displayStatusCombo = null; } - pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.DisplayOfStatus); - if (pref != null){ - this.displayStatus = pref.getValue(); - this.allowOverrideStatusDisplay = pref.isAllowOverride(); + + if (prefAreaSort != null){ + if (prefAreaSort.getValue() != null){ + this.orderAreas = prefAreaSort.getValue() != null? TermOrder.valueOf(prefAreaSort.getValue().toString()): null; + }else{ + this.orderAreas = null; + } + }else{ - this.displayStatus = PreferencePredicate.DisplayOfStatus.getDefaultValue().toString(); - this.allowOverrideStatusDisplay = true; + this.orderAreas = null; + } - pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.AreasSortedInDistributionEditor); - if (pref != null){ - if (pref.getValue() != null){ - this.orderAreas = pref.getValue().toString(); + if (prefStatusSort != null){ + if (prefStatusSort.getValue() != null){ + this.orderStatus = prefStatusSort.getValue() != null? TermOrder.valueOf(prefStatusSort.getValue().toString()): null; }else{ - this.orderAreas = PreferencePredicate.AreasSortedInDistributionEditor.getDefaultValue().toString(); + this.orderStatus = null; } - this.allowOverrideOrderAreas = pref.isAllowOverride(); + + }else{ + this.orderStatus = null; + + } + + + if (prefRank != null){ + this.isShowRank = prefRank.getValue() != null?Boolean.valueOf(prefRank.getValue().toString()): null; + }else{ - this.orderAreas = PreferencePredicate.AreasSortedInDistributionEditor.getDefaultValue().toString(); - this.allowOverrideOrderAreas = true; + this.isShowRank = null; } - pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.ShowRankInDistributionEditor); - if (pref != null){ - this.isShowRank = Boolean.valueOf(pref.getValue().toString()); - this.allowOverrideRank = pref.isAllowOverride(); + if (prefNumberStatus != null){ + this.numberOfStatus = prefNumberStatus.getValue() != null?Integer.valueOf(prefNumberStatus.getValue().toString()): null; + }else{ - this.isShowRank = Boolean.valueOf(PreferencePredicate.ShowRankInDistributionEditor.getDefaultValue().toString()); - this.allowOverrideRank = true; + this.numberOfStatus = null; } - pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.OwnDescriptionForDistributionEditor); - if (pref != null){ - this.ownDescriptionForDistributionEditor = Boolean.valueOf(pref.getValue().toString()); - this.allowOverrideOwnDescriptionForDistributionEditor= pref.isAllowOverride(); + if (prefDescription != null){ + this.descriptionForDistributionEditor = prefDescription.getValue() != null? DistributionDescription.byKey(prefDescription.getValue().toString()): null; }else{ - this.ownDescriptionForDistributionEditor = Boolean.valueOf(PreferencePredicate.OwnDescriptionForDistributionEditor.getDefaultValue().toString()); - this.allowOverrideOwnDescriptionForDistributionEditor = true; + this.descriptionForDistributionEditor = null; } - commandHandlerString = "eu.etaxonomy.taxeditor.store.open.OpenDistributionEditorWizardAdminHandler"; - commandHandlerStringStatus = "eu.etaxonomy.taxeditor.store.open.OpenDistributionStatusWizardAdminHandler"; + setValid(false); } + + }