Update of /var/cvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib
In directory 
james.mmbase.org:/tmp/cvs-serv11798/applications/taglib/src/org/mmbase/bridge/jsp/taglib

Modified Files:
      Tag: MMBase-1_8
        LocaleTag.java 
Log Message:
MMB-1765 LocaleTag does not revert the jstl locale situation.


See also: 
http://cvs.mmbase.org/viewcvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib
See also: http://www.mmbase.org/jira/browse/MMB-1765


Index: LocaleTag.java
===================================================================
RCS file: 
/var/cvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/LocaleTag.java,v
retrieving revision 1.28.2.2
retrieving revision 1.28.2.3
diff -u -b -r1.28.2.2 -r1.28.2.3
--- LocaleTag.java      16 Aug 2007 08:46:14 -0000      1.28.2.2
+++ LocaleTag.java      3 Jan 2009 11:08:43 -0000       1.28.2.3
@@ -17,18 +17,14 @@
 import javax.servlet.jsp.PageContext;
 import java.util.*;
 
-import org.mmbase.util.logging.Logger;
-import org.mmbase.util.logging.Logging;
-
 /**
  * Provides Locale (language, country) information  to its body.
  *
  * @author Michiel Meeuwissen
- * @version $Id: LocaleTag.java,v 1.28.2.2 2007/08/16 08:46:14 michiel Exp $
+ * @version $Id: LocaleTag.java,v 1.28.2.3 2009/01/03 11:08:43 nklasens Exp $
  */
 
 public class LocaleTag extends CloudReferrerTag  {
-    private static final Logger log = 
Logging.getLoggerInstance(LocaleTag.class);
 
     public static final String KEY = 
"javax.servlet.jsp.jstl.fmt.locale.request";
     public static final String TZ_KEY = "org.mmbase.timezone";
@@ -40,7 +36,8 @@
     private Attribute timezone =  Attribute.NULL;
 
     protected Locale locale;
-    protected Locale prevLocale = null;
+    protected Locale prevCloudLocale = null;
+    protected Locale prevJstlLocale = null;
     protected Cloud  cloud;
     private String jspvar = null;
 
@@ -90,12 +87,12 @@
             }
             // compatibility with jstl fmt tags:
             // should use their constant, but that would make compile-time 
dependency.
-            prevLocale = (Locale) pageContext.findAttribute(KEY);
+            prevJstlLocale = (Locale) pageContext.findAttribute(KEY);
             pageContext.setAttribute(KEY, locale, SCOPE);
             CloudProvider cloudProvider = findCloudProvider(false);
             if (cloudProvider != null) {
                 cloud = cloudProvider.getCloudVar();
-                prevLocale = cloud.getLocale();
+                prevCloudLocale = cloud.getLocale();
                 cloud.setLocale(locale);
             } else {
                 cloud = null;
@@ -177,11 +174,14 @@
 
     public int doEndTag() throws JspTagException {
         if (locale != null) {
-            if (prevLocale != null) {
-                pageContext.setAttribute(KEY, prevLocale, SCOPE);
+            if (prevCloudLocale != null) {
                 if (cloud != null) {
-                    cloud.setLocale(prevLocale);
+                    cloud.setLocale(prevCloudLocale);
+                }
                 }
+            
+            if (prevJstlLocale != null) {
+                pageContext.setAttribute(KEY, prevJstlLocale, SCOPE);
             } else {
                 pageContext.removeAttribute(KEY, SCOPE);
             }
@@ -194,7 +194,8 @@
     public void doFinally() {
         cloud = null;
         locale = null;
-        prevLocale = null;
+        prevCloudLocale = null;
+        prevJstlLocale = null;
         jspvar = null;
         super.doFinally();
     }
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to