X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.eclipse.ui.rap%2Fsrc%2Forg%2Fargeo%2Feclipse%2Fui%2Fspecific%2FUiContext.java;h=dac270026311815f71d8cd5b20c358c03546a310;hb=c53fec78daddb69c489686844188036b04e1615a;hp=82b60612404b565875b3faeb51e0dc77bf810b2b;hpb=ad9eb24753d1486113cfbc19d8080f15ce5ff68a;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.eclipse.ui.rap/src/org/argeo/eclipse/ui/specific/UiContext.java b/org.argeo.eclipse.ui.rap/src/org/argeo/eclipse/ui/specific/UiContext.java index 82b606124..dac270026 100644 --- a/org.argeo.eclipse.ui.rap/src/org/argeo/eclipse/ui/specific/UiContext.java +++ b/org.argeo.eclipse.ui.rap/src/org/argeo/eclipse/ui/specific/UiContext.java @@ -3,23 +3,34 @@ package org.argeo.eclipse.ui.specific; import java.util.Locale; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import org.eclipse.rap.rwt.RWT; import org.eclipse.swt.widgets.Display; /** Singleton class providing single sources infos about the UI context. */ public class UiContext { - + /** Can be null, thus indicating that we are not in a web context. */ public static HttpServletRequest getHttpRequest() { return RWT.getRequest(); } + public static HttpServletResponse getHttpResponse() { + return RWT.getResponse(); + } + public static Locale getLocale() { - return RWT.getUISession().getLocale(); + if (Display.getCurrent() != null) + return RWT.getUISession().getLocale(); + else + return Locale.getDefault(); } public static void setLocale(Locale locale) { - RWT.getUISession().setLocale(locale); + if (Display.getCurrent() != null) + RWT.getUISession().setLocale(locale); + else + Locale.setDefault(locale); } /** Can always be null */ @@ -34,8 +45,7 @@ public class UiContext { public static void setData(String key, Object value) { Display display = getDisplay(); if (display == null) - throw new SingleSourcingException( - "Not display available in RAP context"); + throw new SingleSourcingException("Not display available in RAP context"); display.setData(key, value); }