Author: vvalchev
Date: Wed Mar 28 09:39:05 2012
New Revision: 1306227
URL: http://svn.apache.org/viewvc?rev=1306227&view=rev
Log:
Fixed FELIX-3408 Web Console date chooser shows garbage text
https://issues.apache.org/jira/browse/FELIX-3408
Modified:
felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/OsgiManager.java
Modified:
felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/OsgiManager.java
URL:
http://svn.apache.org/viewvc/felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/OsgiManager.java?rev=1306227&r1=1306226&r2=1306227&view=diff
==============================================================================
---
felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/OsgiManager.java
(original)
+++
felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/OsgiManager.java
Wed Mar 28 09:39:05 2012
@@ -421,6 +421,23 @@ public class OsgiManager extends Generic
// (we are authorative for our URL space and no other servlet should
interfere)
res.flushBuffer();
}
+
+ private void ensureLocaleCookieSet(HttpServletRequest request,
HttpServletResponse response, Locale locale) {
+ Cookie[] cookies = request.getCookies();
+ boolean hasCookie = false;
+ for(int i=0; cookies != null && i<cookies.length;i++) {
+ if (COOKIE_LOCALE.equals(cookies[i].getName()) ) {
+ hasCookie = true;
+ break;
+ }
+ }
+ if (!hasCookie) {
+ Cookie cookie = new Cookie(COOKIE_LOCALE, locale.toString());
+
cookie.setPath((String)request.getAttribute(WebConsoleConstants.ATTR_APP_ROOT));
+ cookie.setMaxAge(20 * 365 * 24 * 60 * 60); // 20 years
+ response.addCookie(cookie);
+ }
+ }
private void service(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException
@@ -466,6 +483,9 @@ public class OsgiManager extends Generic
request.setAttribute(ATTR_APP_ROOT_OLD,
request.getContextPath() + request.getServletPath());
+ // fix for https://issues.apache.org/jira/browse/FELIX-3408
+ ensureLocaleCookieSet(request, response, locale);
+
// wrap the response for localization and template variable
replacement
request = wrapRequest(request, locale);
response = wrapResponse(request, response, plugin);