From a81248710cd7a46f26e4df961dfc58a5f1062e7b Mon Sep 17 00:00:00 2001 From: Patrick Plitzner Date: Wed, 28 Oct 2015 17:08:43 +0100 Subject: [PATCH 1/1] Fixed persistency of Matching preferences #5337 --- .../matching/AbstractMatchingPreferences.java | 149 +++--------------- .../NonViralNameMatchingPreference.java | 7 +- .../matching/ReferenceMatchingPreference.java | 9 +- .../TeamOrPersonMatchingPreference.java | 10 +- 4 files changed, 24 insertions(+), 151 deletions(-) diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/matching/AbstractMatchingPreferences.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/matching/AbstractMatchingPreferences.java index 6d2ddb9bc..be84b00cf 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/matching/AbstractMatchingPreferences.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/matching/AbstractMatchingPreferences.java @@ -17,15 +17,10 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import org.eclipse.jface.preference.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.GridLayout; +import org.eclipse.jface.preference.ComboFieldEditor; +import org.eclipse.jface.preference.FieldEditorPreferencePage; import org.eclipse.swt.widgets.Combo; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; +import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; import eu.etaxonomy.cdm.model.common.IdentifiableEntity; @@ -37,13 +32,11 @@ import eu.etaxonomy.taxeditor.preference.PreferencesUtil; import eu.etaxonomy.taxeditor.store.CdmStore; /** - *

Abstract AbstractMatchingPreferences class.

- * * @author n.hoffmann * @created Jan 22, 2010 * @version 1.0 */ -public abstract class AbstractMatchingPreferences extends PreferencePage implements +public abstract class AbstractMatchingPreferences extends FieldEditorPreferencePage implements IWorkbenchPreferencePage { /** @@ -60,96 +53,30 @@ public abstract class AbstractMatchingPreferences protected Map matchModeCombos = new HashMap(); - /* (non-Javadoc) - * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite) + @Override + public void init(IWorkbench workbench) { + setPreferenceStore(PreferencesUtil.getPreferenceStore()); + } + + /** + * {@inheritDoc} */ - /** {@inheritDoc} */ @Override - protected Control createContents(Composite parent) { - final Composite composite = new Composite(parent, SWT.NULL); - GridLayout gridLayout = new GridLayout(); - gridLayout.numColumns = 2; - composite.setLayout(gridLayout); - - if(!CdmStore.isActive()) { + protected void createFieldEditors() { + if(!CdmStore.isActive()) { MessagingUtils.noDataSourceWarningDialog(null); }else{ for(String fieldName : getFieldNames()){ - createFieldWidget(composite, fieldName); + String[][] comboValues = new String[getMatchModeList().size()][2]; + for (int i=0;i return fields; } - /* (non-Javadoc) - * @see org.eclipse.jface.preference.PreferencePage#performApply() - */ - /** {@inheritDoc} */ - @Override - protected void performApply() { - PreferencesUtil.setMatchStrategy(matchStrategy); - super.performApply(); - } - - /* (non-Javadoc) - * @see org.eclipse.jface.preference.PreferencePage#performDefaults() - */ - /** {@inheritDoc} */ - @Override - protected void performDefaults() { - try { - // set match strategy to default - matchStrategy = getDefaultMatchStrategy(); - - // set combos to their default values - for(String fieldName : matchModeCombos.keySet()){ - Combo combo = matchModeCombos.get(fieldName); - MatchMode matchMode = matchStrategy.getMatchMode(fieldName); - combo.select(matchModeList.indexOf(matchMode)); - } - - } catch (MatchException e) { - MessagingUtils.error(this.getClass(), e); - throw new RuntimeException(e); - } - super.performDefaults(); - } - /** * Returns the default match strategy for the respective class * diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/matching/NonViralNameMatchingPreference.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/matching/NonViralNameMatchingPreference.java index 339232c7a..b048e2d13 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/matching/NonViralNameMatchingPreference.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/matching/NonViralNameMatchingPreference.java @@ -27,12 +27,10 @@ import eu.etaxonomy.taxeditor.model.MessagingUtils; */ public class NonViralNameMatchingPreference extends AbstractMatchingPreferences{ - /* (non-Javadoc) - * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench) - */ /** {@inheritDoc} */ @Override public void init(IWorkbench workbench) { + super.init(workbench); clazz = NonViralName.class; try { @@ -43,9 +41,6 @@ public class NonViralNameMatchingPreference extends AbstractMatchingPreferences< } } - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.preference.matching.AbstractMatchingPreferences#getDefaultMatchStrategy() - */ /** {@inheritDoc} */ @Override protected IMatchStrategy getDefaultMatchStrategy() throws MatchException { diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/matching/ReferenceMatchingPreference.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/matching/ReferenceMatchingPreference.java index 9a578c0c4..f28e61fc6 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/matching/ReferenceMatchingPreference.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/matching/ReferenceMatchingPreference.java @@ -19,20 +19,16 @@ import eu.etaxonomy.cdm.strategy.match.MatchStrategyConfigurator; import eu.etaxonomy.taxeditor.model.MessagingUtils; /** - *

ReferenceMatchingPreference class.

- * * @author n.hoffmann * @created Jan 22, 2010 * @version 1.0 */ public class ReferenceMatchingPreference extends AbstractMatchingPreferences { - /* (non-Javadoc) - * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench) - */ /** {@inheritDoc} */ @Override public void init(IWorkbench workbench) { + super.init(workbench); clazz = Reference.class; try { @@ -43,9 +39,6 @@ public class ReferenceMatchingPreference extends AbstractMatchingPreferencesTeamOrPersonMatchingPreference class.

- * * @author n.hoffmann * @created Jan 22, 2010 * @version 1.0 @@ -28,13 +26,10 @@ import eu.etaxonomy.taxeditor.model.MessagingUtils; public class TeamOrPersonMatchingPreference extends AbstractMatchingPreferences { - /* (non-Javadoc) - * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench) - */ /** {@inheritDoc} */ @Override public void init(IWorkbench workbench) { - + super.init(workbench); clazz = TeamOrPersonBase.class; try { @@ -45,9 +40,6 @@ public class TeamOrPersonMatchingPreference extends } } - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.preference.matching.AbstractMatchingPreferences#getDefaultMatchStrategy() - */ /** {@inheritDoc} */ @Override protected IMatchStrategy getDefaultMatchStrategy() throws MatchException { -- 2.34.1