X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=swt%2Frap%2Forg.argeo.cms.swt.rap%2Fsrc%2Forg%2Fargeo%2Fcms%2Fweb%2FCmsWebEntryPoint.java;h=216dc3654100b45f82ac2b5a07d33b558209916d;hb=ba781321203100b58916dd61896e52ec39b182c9;hp=b61259b7fa80d2939a827aba735c06b6d27938dc;hpb=c1d5fcbfd66ddfa1bf4ade886cb1780627d35cdc;p=lgpl%2Fargeo-commons.git diff --git a/swt/rap/org.argeo.cms.swt.rap/src/org/argeo/cms/web/CmsWebEntryPoint.java b/swt/rap/org.argeo.cms.swt.rap/src/org/argeo/cms/web/CmsWebEntryPoint.java index b61259b7f..216dc3654 100644 --- a/swt/rap/org.argeo.cms.swt.rap/src/org/argeo/cms/web/CmsWebEntryPoint.java +++ b/swt/rap/org.argeo.cms.swt.rap/src/org/argeo/cms/web/CmsWebEntryPoint.java @@ -17,8 +17,8 @@ import org.argeo.api.cms.CmsLog; import org.argeo.api.cms.CmsSession; import org.argeo.api.cms.ux.CmsImageManager; import org.argeo.api.cms.ux.CmsView; +import org.argeo.cms.CurrentUser; import org.argeo.cms.LocaleUtils; -import org.argeo.cms.auth.CurrentUser; import org.argeo.cms.auth.RemoteAuthCallbackHandler; import org.argeo.cms.servlet.ServletHttpRequest; import org.argeo.cms.servlet.ServletHttpResponse; @@ -167,10 +167,10 @@ public class CmsWebEntryPoint extends AbstractSwtCmsView implements EntryPoint, return; } display.syncExec(() -> { - CmsFeedback.show("Unexpected exception in CMS", e); - exception = e; -// log.error("Unexpected exception in CMS", e); - doRefresh(); + // TODO internationalise + CmsFeedback.error("Unexpected exception", e); + // TODO report +// doRefresh(); }); } @@ -179,19 +179,19 @@ public class CmsWebEntryPoint extends AbstractSwtCmsView implements EntryPoint, Subject.doAs(getSubject(), new PrivilegedAction() { @Override public Void run() { - if (exception != null) { - // TODO internationalise - CmsFeedback.show("Unexpected exception", exception); - exception = null; - // TODO report - } +// if (exception != null) { +// // TODO internationalise +// CmsFeedback.error("Unexpected exception", exception); +// exception = null; +// // TODO report +// } cmsWebApp.getCmsApp().refreshUi(ui, state); return null; } }); } - /** Sets the state of the entry point and retrieve the related JCR node. */ + /** Sets the state of the entry point and retrieve the related content. */ protected String setState(String newState) { cmsWebApp.getCmsApp().setState(ui, newState); state = newState; @@ -200,7 +200,7 @@ public class CmsWebEntryPoint extends AbstractSwtCmsView implements EntryPoint, @Override public void navigateTo(String state) { - exception = null; +// exception = null; String title = setState(state); if (title != null) doRefresh(); @@ -271,25 +271,24 @@ public class CmsWebEntryPoint extends AbstractSwtCmsView implements EntryPoint, return null; } }); - } catch (Throwable e) { - if (e instanceof SWTError) { - SWTError swtError = (SWTError) e; - if (swtError.code == SWT.ERROR_FUNCTION_DISPOSED) { - log.error("Unexpected SWT error in event loop, ignoring it. " + e.getMessage()); - continue eventLoop; - } else { - log.error("Unexpected SWT error in event loop, shutting down...", e); - break eventLoop; - } - } else if (e instanceof ThreadDeath) { - throw (ThreadDeath) e; - } else if (e instanceof Error) { - log.error("Unexpected error in event loop, shutting down...", e); - break eventLoop; - } else { - log.error("Unexpected exception in event loop, ignoring it. " + e.getMessage()); + } catch (SWTError e) { + SWTError swtError = (SWTError) e; + if (swtError.code == SWT.ERROR_FUNCTION_DISPOSED) { + log.error("Unexpected SWT error in event loop, ignoring it. " + e.getMessage()); continue eventLoop; + } else { + log.error("Unexpected SWT error in event loop, shutting down...", e); + break eventLoop; } + } catch (ThreadDeath e) { + // ThreadDeath is expected when the UI thread terminates + throw (ThreadDeath) e; + } catch (Error e) { + log.error("Unexpected error in event loop, shutting down...", e); + break eventLoop; + } catch (Throwable e) { + log.error("Unexpected exception in event loop, ignoring it. " + e.getMessage()); + continue eventLoop; } } if (!display.isDisposed())