From: Katja Luther Date: Thu, 17 Mar 2016 11:39:38 +0000 (+0100) Subject: fix #4657 X-Git-Tag: 4.0.0^2~98 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/8c1b17fc2b0c6618ec8177df974de8708be21255 fix #4657 --- diff --git a/eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/ApplicationWorkbenchAdvisor.java b/eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/ApplicationWorkbenchAdvisor.java index 51828f268..ff5c2cd94 100644 --- a/eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/ApplicationWorkbenchAdvisor.java +++ b/eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/ApplicationWorkbenchAdvisor.java @@ -12,6 +12,7 @@ import org.springframework.remoting.RemoteAccessException; import org.springframework.remoting.RemoteConnectFailureException; import eu.etaxonomy.taxeditor.model.MessagingUtils; +import eu.etaxonomy.taxeditor.preference.PreferencesUtil; @@ -112,6 +113,9 @@ public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor { return; } previousT = t; + + + // NOTE : Currently we only allow RuntimeExceptions since // allowing all kinds of exceptions would also include // those in generated status objects coming from from logging triggers @@ -130,6 +134,13 @@ public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor { t, true); + } else if (t != null && ("Widget is disposed".equals(t.getMessage()))){ + MessagingUtils.warn(this.getClass(), t.getMessage()); + if (PreferencesUtil.isDebugMode()){ + MessagingUtils.warningDialog("Widget is disposed", null, status); + } + }{ + } } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/IPreferenceKeys.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/IPreferenceKeys.java index 4b493063c..d5f75d807 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/IPreferenceKeys.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/IPreferenceKeys.java @@ -155,6 +155,8 @@ public interface IPreferenceKeys { public static final String DEFAULT_LANGUAGE_EDITOR = "eu.etaxonomy.taxeditor.default.language"; + public static final String IS_DEBUG_MODE = "eu.etaxonomy.taxeditor.idDebugMode"; + /** * Key for the saved P2 repositories */ diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java index 3ece8622d..54a90627b 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java @@ -247,7 +247,7 @@ public class PreferencesUtil implements IPreferenceKeys { * @return */ private static String getPreferenceKey(ICdmBase cdmBase) { - cdmBase = (ICdmBase) HibernateProxyHelper.deproxy(cdmBase); + cdmBase = HibernateProxyHelper.deproxy(cdmBase); String key = cdmBase.getClass().getName().concat(".") .concat(cdmBase.getUuid().toString()); @@ -264,7 +264,7 @@ public class PreferencesUtil implements IPreferenceKeys { * @return */ public static String getPreferenceKey(ISimpleTerm simpleTerm) { - simpleTerm = (ISimpleTerm) HibernateProxyHelper.deproxy(simpleTerm); + simpleTerm = HibernateProxyHelper.deproxy(simpleTerm); String key = simpleTerm.getClass().getName().concat(".") .concat(simpleTerm.getUuid().toString()); if (key.contains("javassist")) { @@ -283,7 +283,7 @@ public class PreferencesUtil implements IPreferenceKeys { * @return */ public static String getPreferenceKey(IDefinedTerm definedTerm) { - definedTerm = (IDefinedTerm) HibernateProxyHelper.deproxy(definedTerm); + definedTerm = HibernateProxyHelper.deproxy(definedTerm); String key = definedTerm.getClass().getName().concat(".") .concat(definedTerm.getUuid().toString()); if (key.contains("javassist")) { @@ -588,7 +588,7 @@ public class PreferencesUtil implements IPreferenceKeys { private static String getMarkerTypeEditingPreferenceKey( MarkerType markerType) { - markerType = (MarkerType) HibernateProxyHelper.deproxy(markerType); + markerType = HibernateProxyHelper.deproxy(markerType); return markerType.getClass().getName() + EDIT_MARKER_TYPE_PREFIX; } @@ -751,7 +751,7 @@ public class PreferencesUtil implements IPreferenceKeys { ctrl.setEnabled(enabled); } } - + /** *

* getSortRanksNaturally @@ -762,7 +762,7 @@ public class PreferencesUtil implements IPreferenceKeys { public static boolean getSortNodesNaturally() { return getPreferenceStore().getBoolean(SORT_NODES_NATURALLY); } - + /** *

* setSortRanksNaturally @@ -775,7 +775,7 @@ public class PreferencesUtil implements IPreferenceKeys { getPreferenceStore().setValue(SORT_NODES_NATURALLY, selection); } - + /** *

* getSortRanksNaturally @@ -786,7 +786,7 @@ public class PreferencesUtil implements IPreferenceKeys { public static boolean getSortNodesStrictlyAlphabetically() { return getPreferenceStore().getBoolean(SORT_NODES_ALPHABETICALLY); } - + /** *

* setSortRanksNaturally @@ -809,9 +809,9 @@ public class PreferencesUtil implements IPreferenceKeys { */ public static boolean isStoreNavigatorState() { return getPreferenceStore().getBoolean(RESTORE_NAVIGATOR_STATE); - + } - + /** *

* setStoreNavigatorState @@ -822,7 +822,16 @@ public class PreferencesUtil implements IPreferenceKeys { */ public static void setStoreNavigatorState(boolean selection) { getPreferenceStore().setValue(RESTORE_NAVIGATOR_STATE, selection); - + } - + + /** + * @return + */ + public static boolean isDebugMode() { + return getPreferenceStore().getBoolean(IS_DEBUG_MODE); + } + public static void setDebugMode(boolean selection) { + getPreferenceStore().setValue(IS_DEBUG_MODE, selection); + } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/TaxonomicEditorGeneralPreferences.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/TaxonomicEditorGeneralPreferences.java index 62b86e423..e6535e0a8 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/TaxonomicEditorGeneralPreferences.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/TaxonomicEditorGeneralPreferences.java @@ -66,6 +66,9 @@ public class TaxonomicEditorGeneralPreferences extends addField(new BooleanFieldEditor(IPreferenceKeys.RESTORE_NAVIGATOR_STATE, "Restore the last Taxon Navigator state.", getFieldEditorParent())); + addField(new BooleanFieldEditor(IPreferenceKeys.IS_DEBUG_MODE, + "Run Taxonomic Editor in Debug Mode.", + getFieldEditorParent())); } /*