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=02e5da3666edd040753a53d34a1331165cac96ad;hb=HEAD;hp=216dc3654100b45f82ac2b5a07d33b558209916d;hpb=ba781321203100b58916dd61896e52ec39b182c9;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 216dc3654..02e5da366 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 @@ -2,6 +2,8 @@ package org.argeo.cms.web; import static org.eclipse.rap.rwt.internal.service.ContextProvider.getApplicationContext; +import java.net.URI; +import java.net.URISyntaxException; import java.security.PrivilegedAction; import java.util.Locale; import java.util.UUID; @@ -241,6 +243,15 @@ public class CmsWebEntryPoint extends AbstractSwtCmsView implements EntryPoint, return cmsSession; } + @Override + public URI toBackendUri(String url) { + try { + return new URI(url); + } catch (URISyntaxException e) { + throw new IllegalArgumentException("Cannot convert " + url, e); + } + } + /* * EntryPoint IMPLEMENTATION */ @@ -265,7 +276,9 @@ public class CmsWebEntryPoint extends AbstractSwtCmsView implements EntryPoint, Subject.doAs(loginContext.getSubject(), new PrivilegedAction() { @Override public Void run() { + // TODO rather loop here, until there is an auth change if (!display.readAndDispatch()) { + // TODO update UI last access here display.sleep(); } return null; @@ -274,7 +287,8 @@ public class CmsWebEntryPoint extends AbstractSwtCmsView implements EntryPoint, } 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()); + if (log.isTraceEnabled()) + 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); @@ -291,6 +305,8 @@ public class CmsWebEntryPoint extends AbstractSwtCmsView implements EntryPoint, continue eventLoop; } } + if (serverPushSession != null) + serverPushSession.stop(); if (!display.isDisposed()) display.dispose(); }