X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms.ui.rap%2Fsrc%2Forg%2Fargeo%2Fcms%2Fweb%2FCmsWebEntryPoint.java;h=9a023d6bc780f999ee3afa281f46209be413ae7c;hb=0e8e156b7f036a26901362ce66fb2522560680be;hp=62786f5afa0e477a180db2547792514feda3df62;hpb=10f1603677f125c014c06cfd3ab956b5589d6e55;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms.ui.rap/src/org/argeo/cms/web/CmsWebEntryPoint.java b/org.argeo.cms.ui.rap/src/org/argeo/cms/web/CmsWebEntryPoint.java index 62786f5af..9a023d6bc 100644 --- a/org.argeo.cms.ui.rap/src/org/argeo/cms/web/CmsWebEntryPoint.java +++ b/org.argeo.cms.ui.rap/src/org/argeo/cms/web/CmsWebEntryPoint.java @@ -14,6 +14,7 @@ import javax.security.auth.login.LoginException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.argeo.api.NodeConstants; +import org.argeo.cms.auth.CmsSession; import org.argeo.cms.auth.CurrentUser; import org.argeo.cms.auth.HttpRequestCallbackHandler; import org.argeo.cms.ui.CmsApp; @@ -102,6 +103,9 @@ public class CmsWebEntryPoint implements EntryPoint, CmsView, BrowserNavigationL try { uxContext = new SimpleUxContext(); imageManager = new DefaultImageManager(); + CmsSession cmsSession = getCmsSession(); + if (cmsSession != null) + RWT.setLocale(cmsSession.getLocale()); ui = cmsWebApp.getCmsApp().initUi(parent); ui.setData(CmsApp.UI_NAME_PROPERTY, uiName); ui.setLayoutData(CmsUiUtils.fillAll()); @@ -158,9 +162,12 @@ public class CmsWebEntryPoint implements EntryPoint, CmsView, BrowserNavigationL @Override public void exception(final Throwable e) { - exception = e; - log.error("Unexpected exception in CMS", e); - doRefresh(); + ui.getDisplay().syncExec(() -> { + CmsFeedback.show("Unexpected exception in CMS", e); + exception = e; +// log.error("Unexpected exception in CMS", e); + doRefresh(); + }); } protected synchronized void doRefresh() { @@ -201,7 +208,8 @@ public class CmsWebEntryPoint implements EntryPoint, CmsView, BrowserNavigationL public void navigateTo(String state) { exception = null; String title = setState(state); - doRefresh(); + if (title != null) + doRefresh(); if (browserNavigation != null) browserNavigation.pushState(state, title); } @@ -214,7 +222,7 @@ public class CmsWebEntryPoint implements EntryPoint, CmsView, BrowserNavigationL @Override public void navigated(BrowserNavigationEvent event) { setState(event.getState()); - doRefresh(); + // doRefresh(); } @Override @@ -228,6 +236,17 @@ public class CmsWebEntryPoint implements EntryPoint, CmsView, BrowserNavigationL eventAdmin.sendEvent(new Event(topic, properties)); } + @Override + public void stateChanged(String state, String title) { + browserNavigation.pushState(state, title); + } + + @Override + public CmsSession getCmsSession() { + CmsSession cmsSession = CmsSession.getCmsSession(cmsWebApp.getBundleContext(), getSubject()); + return cmsSession; + } + /* * EntryPoint IMPLEMENTATION */