id="eu.etaxonomy.taxeditor.store.abcdImportPreference"
name="%page.name.40">
</page>
- <page
+ <!-- <page
category="eu.etaxonomy.taxeditor.store.IOPreferencesGeneral"
class="eu.etaxonomy.taxeditor.preference.CdmLightExportPreference"
id="eu.etaxonomy.taxeditor.store.cdmLightExportPreference"
name="%page.name.142">
- </page>
+ </page>-->
<page
category="eu.etaxonomy.taxeditor.store.abcdImportPreference"
class="eu.etaxonomy.taxeditor.preference.AbcdImportProvider"
</page>
<page
category="eu.etaxonomy.taxeditor.preferences.description"
- class="eu.etaxonomy.taxeditor.preference.DistributionGeneralPreference"
+ class="eu.etaxonomy.taxeditor.databaseAdmin.preferencePage.DistributionAdminPreferences"
id="eu.etaxonomy.taxeditor.store.Distribution"
name="%page.name.104">
</page>
id="eu.etaxonomy.taxeditor.store.abcdImportPreference"
name="%page.name.40">
</page>
- <page
+ <!-- <page
category="eu.etaxonomy.taxeditor.store.IOPreference"
class="eu.etaxonomy.taxeditor.databaseAdmin.preferencePage.CdmLightExportAdminPreference"
id="eu.etaxonomy.taxeditor.store.cdmLightExportPreference"
name="%page.name.142">
- </page>
+ </page>-->
<page
category="eu.etaxonomy.taxeditor.preferences.namePreferences"
class="eu.etaxonomy.taxeditor.databaseAdmin.preferencePage.NameDetailsViewAdminConfiguration"
}
if (recipe == null && preferenceCondensedDistribtionRecipe.isAllowOverride()){
- service.remove(CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.CondensedDistributionRecipe));
+ service.remove(CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.CondensedDistributionRecipe));
}else{
- pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.CondensedDistributionRecipe, recipe != null? recipe.getKey(): null);
+ pref = CdmPreference.NewDatabaseInstance( PreferencePredicate.CondensedDistributionRecipe, recipe != null? recipe.getKey(): null);
pref.setAllowOverride(isAllowOverrideCondensedDistributionRecipe);
service.set(pref);
}
*/
package eu.etaxonomy.taxeditor.databaseAdmin.preferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
+import eu.etaxonomy.cdm.api.application.ICdmRepository;
+import eu.etaxonomy.cdm.api.service.IPreferenceService;
+import eu.etaxonomy.cdm.ext.geo.CondensedDistributionRecipe;
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
-import eu.etaxonomy.taxeditor.l10n.Messages;
-import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
-import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;
-import eu.etaxonomy.taxeditor.ui.element.CommandHandlerButton;
+import eu.etaxonomy.cdm.model.metadata.PreferenceSubject;
+import eu.etaxonomy.taxeditor.preference.DistributionGeneralPreference;
+import eu.etaxonomy.taxeditor.store.CdmStore;
/**
* @author k.luther
* @since 08.10.2018
*
*/
-public class DistributionAdminPreferences extends CdmPreferencePage implements IE4AdminPreferencePage {
+public class DistributionAdminPreferences extends DistributionGeneralPreference {
- private boolean allowOverrideAreas;
- private boolean allowOverrideStatus;
- private CdmPreference prefAreas = null;
- private CdmPreference prefStatus = null;
+ @Override
+ public boolean performOk() {
+ if (!isApply()){
+ return true;
+ }
+ ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
+ if (controller == null){
+ return false;
+ }
+ IPreferenceService service = controller.getPreferenceService();
+ CdmPreference pref;
+ if (recipe == null && preferenceCondensedDistribtionRecipe.isAllowOverride()){
+ service.remove(CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.CondensedDistributionRecipe));
+ }else{
+ pref = CdmPreference.NewDatabaseInstance( PreferencePredicate.CondensedDistributionRecipe, recipe != null? recipe.getKey(): null);
+ pref.setAllowOverride(isAllowOverrideCondensedDistributionRecipe);
+ service.set(pref);
+ }
+ return true;
+ }
@Override
- protected Control createContents(Composite parent) {
+ public void getValues(){
+ super.getValues();
isAdminPreference = true;
- Composite composite = createComposite(parent);
- GridData labelGridData = new GridData();
- labelGridData.horizontalSpan = 2;
- labelGridData.verticalSpan = 4;
-
- prefAreas = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.AvailableDistributionAreaVocabularies);
- allowOverrideAreas = prefAreas != null?prefAreas.isAllowOverride():true;
-
- final CLabel label = new CLabel(composite, SWT.NULL);
- label.setText(Messages.ChecklistEditorGeneralPreference_open_wizard);
- label.setLayoutData(labelGridData);
- final CommandHandlerButton button_openWizard = new CommandHandlerButton(composite, SWT.PUSH,
- "eu.etaxonomy.taxeditor.store.open.OpenDistributionEditorWizardAdminHandler"); //$NON-NLS-1$
-
- button_openWizard.setText(Messages.ChecklistEditorGeneralPreference_open_distribution_selection);
- final Button allowOverrideAreasCheckButton = new Button(composite, SWT.CHECK);
- allowOverrideAreasCheckButton.setText(Messages.GeneralPreference_allowOverride);
- allowOverrideAreasCheckButton.setSelection(allowOverrideAreas);
- allowOverrideAreasCheckButton.addSelectionListener(new SelectionAdapter(){
- @Override
- public void widgetSelected(SelectionEvent e) {
- setApply(true);
- allowOverrideAreas = allowOverrideAreasCheckButton.getSelection();
-
- }
- });
-
- prefStatus = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.AvailableDistributionStatus);
-
- allowOverrideStatus = prefStatus != null?prefStatus.isAllowOverride():true;
-
- final CLabel labelStatus = new CLabel(composite, SWT.NULL);
- labelStatus.setText(Messages.DistributionAdminPreferences_SELECT_STATUS);
- GridData labelStatusGridData = new GridData();
- labelStatusGridData.horizontalSpan = 2;
- labelStatusGridData.verticalSpan = 2;
- labelStatus.setLayoutData(labelStatusGridData);
- final CommandHandlerButton button_openStatusWizard = new CommandHandlerButton(composite, SWT.PUSH,
- "eu.etaxonomy.taxeditor.store.open.OpenDistributionStatusWizardAdminHandler"); //$NON-NLS-1$
-
- button_openStatusWizard.setText(Messages.Distribution_status_selection);
- final Button allowOverrideStatusCheckButton = new Button(composite, SWT.CHECK);
- allowOverrideStatusCheckButton.setText(Messages.GeneralPreference_allowOverride);
- allowOverrideStatusCheckButton.setSelection(allowOverrideStatus);
- allowOverrideStatusCheckButton.addSelectionListener(new SelectionAdapter(){
- @Override
- public void widgetSelected(SelectionEvent e) {
- setApply(true);
- allowOverrideStatus = allowOverrideStatusCheckButton.getSelection();
-
- }
- });
-
- return composite;
+ if (preferenceCondensedDistribtionRecipe.getValue() != null){
+ recipe = CondensedDistributionRecipe.valueOf(preferenceCondensedDistribtionRecipe.getValue().toString());
+ }else{
+ recipe = null;
+ }
}
+
}
@Override
public void init() {
configurator = new CdmLightExportConfigurator(null);
- configurator.setCreateCondensedDistributionString(PreferencesUtil.getBooleanValue(PreferencePredicate.CdmLightExportCondensedDistributionString.getKey()));
- if (configurator.isCreateCondensedDistributionString()){
- String recipeString = PreferencesUtil.getStringValue(PreferencePredicate.CondensedDistributionRecipe.getKey());
- if (StringUtils.isNotBlank(recipeString)){
- configurator.setCondensedDistributionRecipe(CondensedDistributionRecipe.valueOf(recipeString));
- }
+// configurator.setCreateCondensedDistributionString(PreferencesUtil.getBooleanValue(PreferencePredicate.CdmLightExportCondensedDistributionString.getKey()));
+// if (configurator.isCreateCondensedDistributionString()){
+ String recipeString = PreferencesUtil.getStringValue(PreferencePredicate.CondensedDistributionRecipe.getKey());
+ if (StringUtils.isNotBlank(recipeString)){
+ configurator.setCondensedDistributionRecipe(CondensedDistributionRecipe.valueOf(recipeString));
}
+// }
if (selection instanceof TreeSelection && !selection.isEmpty() && selection.getFirstElement() instanceof TaxonNodeDto){
selectedNode = (TaxonNodeDto)selection.getFirstElement();
if(text.startsWith(Messages.Preference_Use_Default)){
isExportCondensedDistribution = null;
overrideExportCondensedDistribution = false;
- isAllowOverrideIsExportCondensedDistribution = true;
-
}
if (text.equals(Messages.GeneralPreference_yes)){
}
// recipe for creation of condensed string
- key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.CondensedDistributionRecipe);
+ key = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.CondensedDistributionRecipe);
preferenceCondensedDistribtionRecipe = controller.getPreferenceService().find(key);
if (preferenceCondensedDistribtionRecipe != null ){
isAllowOverrideCondensedDistributionRecipe = preferenceCondensedDistribtionRecipe.isAllowOverride();
}else{
- preferenceCondensedDistribtionRecipe = CdmPreference.NewTaxEditorInstance(PreferencePredicate.CondensedDistributionRecipe,
+ preferenceCondensedDistribtionRecipe = CdmPreference.NewDatabaseInstance(PreferencePredicate.CondensedDistributionRecipe,
PreferencePredicate.CondensedDistributionRecipe.getDefaultValue() != null? PreferencePredicate.CondensedDistributionRecipe.getDefaultValue().toString(): null);
isAllowOverrideCondensedDistributionRecipe = true;
}
*/
package eu.etaxonomy.taxeditor.preference;
+import org.apache.commons.lang.StringUtils;
+import org.eclipse.jface.layout.GridLayoutFactory;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
+import eu.etaxonomy.cdm.api.application.ICdmRepository;
+import eu.etaxonomy.cdm.ext.geo.CondensedDistributionRecipe;
+import eu.etaxonomy.cdm.model.metadata.CdmPreference;
+import eu.etaxonomy.cdm.model.metadata.CdmPreference.PrefKey;
+import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
+import eu.etaxonomy.cdm.model.metadata.PreferenceSubject;
+import eu.etaxonomy.taxeditor.l10n.Messages;
import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;
+import eu.etaxonomy.taxeditor.store.CdmStore;
/**
* @author k.luther
* @since 02.07.2019
*
*/
-public class DistributionGeneralPreference extends CdmPreferencePage {
+public class DistributionGeneralPreference extends CdmPreferencePage implements SelectionListener {
+ protected CdmPreference preferenceCondensedDistribtionRecipe;
+ protected boolean isAllowOverrideCondensedDistributionRecipe;
+ protected boolean isOverrideCondensedDistributionRecipe;
+ Combo comboDistributionStringRecipe;
+ Button allowOverrideDistributionStringRecipe;
+ protected CondensedDistributionRecipe recipe;
+
@Override
protected Control createContents(Composite parent) {
- noDefaultAndApplyButton();
- return null;
+ getValues();
+ Composite composite = createComposite(parent);
+ comboDistributionStringRecipe = createCombo(composite, CondensedDistributionRecipe.values(), PreferencePredicate.CondensedDistributionRecipe, "Condensed Distribution String recipe", isAdminPreference);
+
+// GridData gridData = new GridData(GridData.BEGINNING, GridData.CENTER, true, false);
+// gridData.horizontalIndent = 9;
+// comboDistributionStringRecipe.setLayoutData(gridData);
+ GridLayoutFactory.fillDefaults();
+
+ comboDistributionStringRecipe.addSelectionListener(this);
+// comboDistributionStringRecipe.setEnabled((isExportCondensedDistribution != null && isExportCondensedDistribution )|| (isExportCondensedDistribution == null) && Boolean.valueOf(preferenceIsExportCondensedDistribution.getValue()));
+ int index = 0;
+
+ for (String itemLabel : comboDistributionStringRecipe.getItems()) {
+ if (itemLabel.startsWith(Messages.Preference_Use_Default) && recipe == null){
+ comboDistributionStringRecipe.select(index);
+ break;
+ }
+ if (itemLabel.equals(recipe.getLabel())) {
+ comboDistributionStringRecipe.select(index);
+ break;
+ }
+
+ index++;
+ }
+ if (isAdminPreference){
+ allowOverrideDistributionStringRecipe = createAllowOverrideButton(composite);
+ allowOverrideDistributionStringRecipe.setSelection(this.preferenceCondensedDistribtionRecipe != null? this.preferenceCondensedDistribtionRecipe.isAllowOverride(): true);
+ allowOverrideDistributionStringRecipe.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ setApply(true);
+ isAllowOverrideCondensedDistributionRecipe = !isAllowOverrideCondensedDistributionRecipe;
+ }
+ });
+ }else{
+ comboDistributionStringRecipe.setEnabled(isAllowOverrideCondensedDistributionRecipe);
+
+ }
+
+ return composite;
+ }
+
+ @Override
+ protected void getValues(){
+ isAdminPreference = false;
+ ICdmRepository controller;
+ controller = CdmStore.getCurrentApplicationConfiguration();
+ PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.CondensedDistributionRecipe);
+ preferenceCondensedDistribtionRecipe = controller.getPreferenceService().find(key);
+
+ if (preferenceCondensedDistribtionRecipe != null ){
+ isAllowOverrideCondensedDistributionRecipe = preferenceCondensedDistribtionRecipe.isAllowOverride();
+ }else{
+ preferenceCondensedDistribtionRecipe = CdmPreference.NewDatabaseInstance(PreferencePredicate.CondensedDistributionRecipe,
+ PreferencePredicate.CondensedDistributionRecipe.getDefaultValue() != null? PreferencePredicate.CondensedDistributionRecipe.getDefaultValue().toString(): null);
+ isAllowOverrideCondensedDistributionRecipe = true;
+ }
+
+ isOverrideCondensedDistributionRecipe = PreferencesUtil.getBooleanValue(
+ PreferencesUtil.prefOverrideKey(PreferencePredicate.CondensedDistributionRecipe.getKey()), true) != null? PreferencesUtil.getBooleanValue(
+ PreferencesUtil.prefOverrideKey(PreferencePredicate.CondensedDistributionRecipe.getKey()), true):false;
+
+ if (isAllowOverrideCondensedDistributionRecipe && isOverrideCondensedDistributionRecipe){
+ String configString = PreferencesUtil.getStringValue(PreferencePredicate.CondensedDistributionRecipe.getKey(), true);
+ if (StringUtils.isNotBlank(configString)){
+ recipe = CondensedDistributionRecipe.valueOf(configString);
+ }
+ }else{
+ if (preferenceCondensedDistribtionRecipe.getValue() != null){
+ recipe = CondensedDistributionRecipe.valueOf(preferenceCondensedDistribtionRecipe.getValue());
+ }
+ }
+ }
+
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ setApply(true);
+ if (e.getSource().equals(this.comboDistributionStringRecipe)){
+ int selIndex = comboDistributionStringRecipe.getSelectionIndex();
+ if (selIndex == 0){
+ isOverrideCondensedDistributionRecipe = false;
+ }else{
+ isOverrideCondensedDistributionRecipe = true;
+ }
+ recipe = (CondensedDistributionRecipe) comboDistributionStringRecipe.getData(comboDistributionStringRecipe.getText());
+
+ }
+
}
+ @Override
+ public void widgetDefaultSelected(SelectionEvent e) {
+ // TODO Auto-generated method stub
+
+ }
+ @Override
+ public boolean performOk() {
+ if (!isApply()){
+ return true;
+ }
+
+ if(isOverrideCondensedDistributionRecipe){
+ PreferencesUtil.setStringValue(PreferencePredicate.CondensedDistributionRecipe.getKey(), recipe.getKey());
+ PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.CondensedDistributionRecipe.getKey()), isOverrideCondensedDistributionRecipe);
+ }else{
+ PreferencesUtil.setBooleanValue( PreferencesUtil.prefOverrideKey(PreferencePredicate.CondensedDistributionRecipe.getKey()), isOverrideCondensedDistributionRecipe);
+ }
+ return true;
+ }
}
booleanCombo.add(Messages.Preference_Use_Default + defaultString);
booleanCombo.add(textTrue);
booleanCombo.add(textFalse);
- if (!isAdminPage){
+ if (!isAdminPage && dbPref != null){
booleanCombo.setEnabled(dbPref.isAllowOverride());
}
return booleanCombo;
Combo booleanCombo = new Combo(parent, SWT.BORDER | SWT.READ_ONLY);
CdmPreference dbPref = PreferencesUtil.getPreferenceFromDB(predicate);
- String defaultValue = "";
+ String defaultValue = " - ";
if (dbPref != null && !isAdminPage && dbPref.getValue() != null){
defaultValue = dbPref.getValue();
if (enumValues != null){