You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2011/08/14 03:07:39 UTC
svn commit: r1157449 - in /myfaces/core/trunk:
impl/src/main/java/org/apache/myfaces/application/
impl/src/main/java/org/apache/myfaces/el/unified/resolver/
shared/src/main/java/org/apache/myfaces/shared/resource/
Author: lu4242
Date: Sun Aug 14 01:07:39 2011
New Revision: 1157449
URL: http://svn.apache.org/viewvc?rev=1157449&view=rev
Log:
MYFACES-3278 ResourceHandler implementation should take into account UIViewRoot locale to load a resource
Modified:
myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/ResourceHandlerImpl.java
myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/el/unified/resolver/ResourceResolver.java
myfaces/core/trunk/shared/src/main/java/org/apache/myfaces/shared/resource/ResourceImpl.java
Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/ResourceHandlerImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/ResourceHandlerImpl.java?rev=1157449&r1=1157448&r2=1157449&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/ResourceHandlerImpl.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/ResourceHandlerImpl.java Sun Aug 14 01:07:39 2011
@@ -437,27 +437,47 @@ public class ResourceHandlerImpl extends
{
String localePrefix = null;
FacesContext context = FacesContext.getCurrentInstance();
+ boolean isResourceRequest = context.getApplication().getResourceHandler().isResourceRequest(context);
+ if (isResourceRequest)
+ {
+ localePrefix = context.getExternalContext().getRequestParameterMap().get("loc");
+
+ if (localePrefix != null)
+ {
+ return localePrefix;
+ }
+ }
+
String bundleName = context.getApplication().getMessageBundle();
if (null != bundleName)
{
- Locale locale = context.getApplication().getViewHandler()
- .calculateLocale(context);
-
- ResourceBundle bundle = ResourceBundle
- .getBundle(bundleName, locale, ClassUtils.getContextClassLoader());
+ Locale locale = null;
+
+ if (isResourceRequest || context.getViewRoot() == null)
+ {
+ locale = context.getApplication().getViewHandler()
+ .calculateLocale(context);
+ }
+ else
+ {
+ locale = context.getViewRoot().getLocale();
+ }
- if (bundle != null)
+ try
{
- try
+ ResourceBundle bundle = ResourceBundle
+ .getBundle(bundleName, locale, ClassUtils.getContextClassLoader());
+
+ if (bundle != null)
{
localePrefix = bundle.getString(ResourceHandler.LOCALE_PREFIX);
}
- catch (MissingResourceException e)
- {
- // Ignore it and return null
- }
+ }
+ catch (MissingResourceException e)
+ {
+ // Ignore it and return null
}
}
return localePrefix;
Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/el/unified/resolver/ResourceResolver.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/el/unified/resolver/ResourceResolver.java?rev=1157449&r1=1157448&r2=1157449&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/el/unified/resolver/ResourceResolver.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/el/unified/resolver/ResourceResolver.java Sun Aug 14 01:07:39 2011
@@ -113,9 +113,9 @@ public final class ResourceResolver exte
}
}
+ context.setPropertyResolved(true);
if (resource != null)
{
- context.setPropertyResolved(true);
return resource.getRequestPath();
}
}
Modified: myfaces/core/trunk/shared/src/main/java/org/apache/myfaces/shared/resource/ResourceImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/shared/src/main/java/org/apache/myfaces/shared/resource/ResourceImpl.java?rev=1157449&r1=1157448&r2=1157449&view=diff
==============================================================================
--- myfaces/core/trunk/shared/src/main/java/org/apache/myfaces/shared/resource/ResourceImpl.java (original)
+++ myfaces/core/trunk/shared/src/main/java/org/apache/myfaces/shared/resource/ResourceImpl.java Sun Aug 14 01:07:39 2011
@@ -247,7 +247,11 @@ public class ResourceImpl extends Resour
path = path + "&stage=" + facesContext.getApplication().getProjectStage().toString();
}
}
-
+ if (_resourceMeta.getLocalePrefix() != null)
+ {
+ path = path + (useAmp ? '&' : '?') + "loc=" + _resourceMeta.getLocalePrefix();
+ useAmp = true;
+ }
return facesContext.getApplication().getViewHandler().getResourceURL(facesContext, path);
}