http://java.net/jira/browse/JAVASERVERFACES-3246 SECTION: Modified Files ---------------------------- M jsf-ri/src/main/java/com/sun/faces/config/processor/ApplicationConfigProcessor.java M jsf-ri/test/com/sun/faces/application/TestViewHandlerImpl.java M test/agnostic/application/pom.xml A test/agnostic/application/defaultLocale A test/agnostic/application/defaultLocale/pom.xml A test/agnostic/application/defaultLocale/src A test/agnostic/application/defaultLocale/src/main A test/agnostic/application/defaultLocale/src/main/java A test/agnostic/application/defaultLocale/src/main/webapp A test/agnostic/application/defaultLocale/src/main/webapp/WEB-INF A test/agnostic/application/defaultLocale/src/main/webapp/WEB-INF/classes A test/agnostic/application/defaultLocale/src/main/webapp/WEB-INF/classes/ApplicationStrings_de.properties A test/agnostic/application/defaultLocale/src/main/webapp/WEB-INF/classes/ApplicationStrings_en.properties A test/agnostic/application/defaultLocale/src/main/webapp/WEB-INF/classes/ApplicationStrings_fr.properties A test/agnostic/application/defaultLocale/src/main/webapp/WEB-INF/faces-config.xml A test/agnostic/application/defaultLocale/src/main/webapp/WEB-INF/web.xml A test/agnostic/application/defaultLocale/src/main/webapp/index.xhtml A test/agnostic/application/defaultLocale/src/test A test/agnostic/application/defaultLocale/src/test/java A test/agnostic/application/defaultLocale/src/test/java/com A test/agnostic/application/defaultLocale/src/test/java/com/sun A test/agnostic/application/defaultLocale/src/test/java/com/sun/faces A test/agnostic/application/defaultLocale/src/test/java/com/sun/faces/test A test/agnostic/application/defaultLocale/src/test/java/com/sun/faces/test/agnostic A test/agnostic/application/defaultLocale/src/test/java/com/sun/faces/test/agnostic/application A test/agnostic/application/defaultLocale/src/test/java/com/sun/faces/test/agnostic/application/defaultLocale A test/agnostic/application/defaultLocale/src/test/java/com/sun/faces/test/agnostic/application/defaultLocale/DefaultLocaleIT.java SECTION: Diffs ---------------------------- Index: jsf-ri/src/main/java/com/sun/faces/config/processor/ApplicationConfigProcessor.java =================================================================== --- jsf-ri/src/main/java/com/sun/faces/config/processor/ApplicationConfigProcessor.java (revision 13432) +++ jsf-ri/src/main/java/com/sun/faces/config/processor/ApplicationConfigProcessor.java (working copy) @@ -304,6 +304,7 @@ } else if (VARIABLE_RESOLVER.equals(n.getLocalName())) { addVariableResolver(associate, n); } else if (DEFAULT_LOCALE.equals(n.getLocalName())) { + addSupportedLocale(app, n); setDefaultLocale(app, n); } else if (SUPPORTED_LOCALE.equals(n.getLocalName())) { addSupportedLocale(app, n); Index: jsf-ri/test/com/sun/faces/application/TestViewHandlerImpl.java =================================================================== --- jsf-ri/test/com/sun/faces/application/TestViewHandlerImpl.java (revision 13432) +++ jsf-ri/test/com/sun/faces/application/TestViewHandlerImpl.java (working copy) @@ -492,7 +492,7 @@ System.out.println("Testing calculateLocale - Language Match case"); ViewHandler handler = new ViewHandlerImpl(); Locale locale = handler.calculateLocale(getFacesContext()); - assertTrue(locale.equals(Locale.ENGLISH)); + assertTrue(locale.getLanguage().equals(Locale.ENGLISH.getLanguage())); } Index: test/agnostic/application/defaultLocale/pom.xml =================================================================== --- test/agnostic/application/defaultLocale/pom.xml (revision 0) +++ test/agnostic/application/defaultLocale/pom.xml (working copy) @@ -0,0 +1,71 @@ + + + + + + 4.0.0 + + com.sun.faces.test.agnostic.application + pom + 2.1.30-SNAPSHOT + + com.sun.faces.test.agnostic.application + defaultLocale + war + Mojarra ${project.version} - Test - Agnostic - Application - DefaultLocale + + test-agnostic-application-defaultLocale + + + + junit + junit + 4.11 + compile + + + + gfv3ee6 + UTF-8 + + Index: test/agnostic/application/defaultLocale/src/main/webapp/WEB-INF/classes/ApplicationStrings_de.properties =================================================================== --- test/agnostic/application/defaultLocale/src/main/webapp/WEB-INF/classes/ApplicationStrings_de.properties (revision 0) +++ test/agnostic/application/defaultLocale/src/main/webapp/WEB-INF/classes/ApplicationStrings_de.properties (working copy) @@ -0,0 +1,2 @@ + +thanks=Dankesch\u00F6n Property changes on: test/agnostic/application/defaultLocale/src/main/webapp/WEB-INF/classes/ApplicationStrings_de.properties ___________________________________________________________________ Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Index: test/agnostic/application/defaultLocale/src/main/webapp/WEB-INF/classes/ApplicationStrings_en.properties =================================================================== --- test/agnostic/application/defaultLocale/src/main/webapp/WEB-INF/classes/ApplicationStrings_en.properties (revision 0) +++ test/agnostic/application/defaultLocale/src/main/webapp/WEB-INF/classes/ApplicationStrings_en.properties (working copy) @@ -0,0 +1,2 @@ + +thanks=Thank you Property changes on: test/agnostic/application/defaultLocale/src/main/webapp/WEB-INF/classes/ApplicationStrings_en.properties ___________________________________________________________________ Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Index: test/agnostic/application/defaultLocale/src/main/webapp/WEB-INF/classes/ApplicationStrings_fr.properties =================================================================== --- test/agnostic/application/defaultLocale/src/main/webapp/WEB-INF/classes/ApplicationStrings_fr.properties (revision 0) +++ test/agnostic/application/defaultLocale/src/main/webapp/WEB-INF/classes/ApplicationStrings_fr.properties (working copy) @@ -0,0 +1,2 @@ + +thanks=Merci Property changes on: test/agnostic/application/defaultLocale/src/main/webapp/WEB-INF/classes/ApplicationStrings_fr.properties ___________________________________________________________________ Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Index: test/agnostic/application/defaultLocale/src/main/webapp/WEB-INF/faces-config.xml =================================================================== --- test/agnostic/application/defaultLocale/src/main/webapp/WEB-INF/faces-config.xml (revision 0) +++ test/agnostic/application/defaultLocale/src/main/webapp/WEB-INF/faces-config.xml (working copy) @@ -0,0 +1,62 @@ + + + + + + + + + en + de + fr + + + + ApplicationStrings + msgs + + + Property changes on: test/agnostic/application/defaultLocale/src/main/webapp/WEB-INF/faces-config.xml ___________________________________________________________________ Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Index: test/agnostic/application/defaultLocale/src/main/webapp/WEB-INF/web.xml =================================================================== --- test/agnostic/application/defaultLocale/src/main/webapp/WEB-INF/web.xml (revision 0) +++ test/agnostic/application/defaultLocale/src/main/webapp/WEB-INF/web.xml (working copy) @@ -0,0 +1,69 @@ + + + + + + javax.faces.PROJECT_STAGE + ${webapp.projectStage} + + + javax.faces.PARTIAL_STATE_SAVING + ${webapp.partialStateSaving} + + + javax.faces.STATE_SAVING_METHOD + ${webapp.stateSavingMethod} + + + Faces Servlet + javax.faces.webapp.FacesServlet + 1 + + + Faces Servlet + /faces/* + + + faces/index.xhtml + + Index: test/agnostic/application/defaultLocale/src/main/webapp/index.xhtml =================================================================== --- test/agnostic/application/defaultLocale/src/main/webapp/index.xhtml (revision 0) +++ test/agnostic/application/defaultLocale/src/main/webapp/index.xhtml (working copy) @@ -0,0 +1,71 @@ + + + + + + + + + Test for default-locale in faces-config.xml + + + +

Test for default-locale in faces-config.xml

+

+ The faces-config.xml of this application contains: +

+
+                <locale-config>
+	        <default-locale>en</default-locale>
+	        <supported-locale>de</supported-locale>
+		</locale-config>
+            
+

+ But English is not used at all. + The following line is supposed to be a localized text: +

+ +
+ Index: test/agnostic/application/defaultLocale/src/test/java/com/sun/faces/test/agnostic/application/defaultLocale/DefaultLocaleIT.java =================================================================== --- test/agnostic/application/defaultLocale/src/test/java/com/sun/faces/test/agnostic/application/defaultLocale/DefaultLocaleIT.java (revision 0) +++ test/agnostic/application/defaultLocale/src/test/java/com/sun/faces/test/agnostic/application/defaultLocale/DefaultLocaleIT.java (working copy) @@ -0,0 +1,106 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. + * + * The contents of this file are subject to the terms of either the GNU + * General Public License Version 2 only ("GPL") or the Common Development + * and Distribution License("CDDL") (collectively, the "License"). You + * may not use this file except in compliance with the License. You can + * obtain a copy of the License at + * https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html + * or packager/legal/LICENSE.txt. See the License for the specific + * language governing permissions and limitations under the License. + * + * When distributing the software, include this License Header Notice in each + * file and include the License file at packager/legal/LICENSE.txt. + * + * GPL Classpath Exception: + * Oracle designates this particular file as subject to the "Classpath" + * exception as provided by Oracle in the GPL Version 2 section of the License + * file that accompanied this code. + * + * Modifications: + * If applicable, add the following below the License Header, with the fields + * enclosed by brackets [] replaced by your own identifying information: + * "Portions Copyright [year] [name of copyright owner]" + * + * Contributor(s): + * If you wish your version of this file to be governed by only the CDDL or + * only the GPL Version 2, indicate your decision by adding "[Contributor] + * elects to include this software in this distribution under the [CDDL or GPL + * Version 2] license." If you don't indicate a single choice of license, a + * recipient has the option to distribute your version of this file under + * either the CDDL, the GPL Version 2 or to extend the choice of license to + * its licensees as provided above. However, if you add GPL Version 2 code + * and therefore, elected the GPL Version 2 license, then the option applies + * only if the new code is made subject to such option by the copyright + * holder. + */ +package com.sun.faces.test.agnostic.application.defaultLocale; + +import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; +import com.gargoylesoftware.htmlunit.WebClient; +import com.gargoylesoftware.htmlunit.html.HtmlPage; +import com.gargoylesoftware.htmlunit.html.HtmlTextInput; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.assertEquals; + +public class DefaultLocaleIT { + /** + * Stores the web URL. + */ + private String webUrl; + /** + * Stores the web client. + */ + private WebClient webClient; + + /** + * Setup before testing. + * + * @throws Exception when a serious error occurs. + */ + @BeforeClass + public static void setUpClass() throws Exception { + } + + /** + * Cleanup after testing. + * + * @throws Exception when a serious error occurs. + */ + @AfterClass + public static void tearDownClass() throws Exception { + } + + /** + * Setup before testing. + */ + @Before + public void setUp() { + webUrl = System.getProperty("integration.url"); + webClient = new WebClient(); + } + + /** + * Tear down after testing. + */ + @After + public void tearDown() { + webClient.closeAllWindows(); + } + + @Test + public void testJIRA3246() throws Exception { + webClient.addRequestHeader("Accept-Language", "EN, FR, DE"); + HtmlPage page = webClient.getPage(webUrl + "/faces/index.xhtml"); + + assertTrue(page.getBody().asText().indexOf("Thank you") != -1); + } +} Index: test/agnostic/application/pom.xml =================================================================== --- test/agnostic/application/pom.xml (revision 13432) +++ test/agnostic/application/pom.xml (working copy) @@ -59,5 +59,6 @@ navigation navigationJSF2 runtimeConfig + defaultLocale SECTION: New Files ---------------------------- SEE ATTACHMENTS