- From: Denis Tea via cvs-syncmail <cvsmail@w3.org>
- Date: Tue, 22 Jan 2008 13:55:11 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2006/unicorn/org/w3c/unicorn/tests In directory hutz:/tmp/cvs-serv16946/org/w3c/unicorn/tests Modified Files: FirstServlet.java Log Message: Internationalization : Addition of template language in accept language list. Index: FirstServlet.java =================================================================== RCS file: /sources/public/2006/unicorn/org/w3c/unicorn/tests/FirstServlet.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- FirstServlet.java 21 Sep 2006 16:01:25 -0000 1.3 +++ FirstServlet.java 22 Jan 2008 13:55:09 -0000 1.4 @@ -29,6 +29,7 @@ import org.apache.commons.logging.LogFactory; import org.apache.velocity.exception.ParseErrorException; import org.apache.velocity.exception.ResourceNotFoundException; +import org.w3c.unicorn.Framework; import org.w3c.unicorn.UnicornCall; import org.w3c.unicorn.contract.EnumInputMethod; import org.w3c.unicorn.exceptions.NoTaskException; @@ -116,7 +117,6 @@ throws ServletException, IOException { FirstServlet.logger.trace("doGet"); - // Variables related to the output final Map<String, String[]> mapOfSpecificParameter = new Hashtable<String, String[]>(); final Map<String, String> mapOfOutputParameter = new Hashtable<String, String>(); @@ -124,17 +124,31 @@ mapOfOutputParameter.put("format", "xhtml10"); mapOfOutputParameter.put("charset", "UTF-8"); mapOfOutputParameter.put("mimetype", "text/html"); - final Locale aLocale = aHttpServletRequest.getLocale(); - final UnicornCall aUnicornCall = new UnicornCall(); + + // Returns the preferred Locale that the client will accept content in, + // based on the Accept-Language header + final String aLocale = aHttpServletRequest.getHeader("Accept-Language"); + + final UnicornCall aUnicornCall = new UnicornCall(); + + // Language of the template + // ucn_lang is a parameter which is define in xx_index.html.vm. + // It is an hidden parameter of a form. + String templateLang = null; + if (aHttpServletRequest.getParameterValues("ucn_lang") != null){ + templateLang = aHttpServletRequest.getParameterValues("ucn_lang")[0]; + } + else + templateLang = aLocale.toString(); + + mapOfOutputParameter.put("lang", templateLang); + if (null == aLocale) { - mapOfOutputParameter.put("lang", LocalizedString.DEFAULT_LANGUAGE); aUnicornCall.setLang(LocalizedString.DEFAULT_LANGUAGE); } else { - mapOfOutputParameter.put("lang", aLocale.toString()); - aUnicornCall.setLang(aLocale.toString()); + aUnicornCall.setLang(templateLang + "," + aLocale); } - - + for ( final Enumeration aEnumParamName = aHttpServletRequest.getParameterNames(); aEnumParamName.hasMoreElements();) { @@ -182,6 +196,8 @@ * @see javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) */ @Override + + protected void doPost ( final HttpServletRequest aHttpServletRequest, final HttpServletResponse aHttpServletResponse) @@ -209,13 +225,18 @@ mapOfOutputParameter.put("charset", "UTF-8"); mapOfOutputParameter.put("mimetype", "text/html"); final Locale aLocale = aHttpServletRequest.getLocale(); - if (null == aLocale) { + + if (null == aLocale) { mapOfOutputParameter.put("lang", LocalizedString.DEFAULT_LANGUAGE); aUnicornCall.setLang(LocalizedString.DEFAULT_LANGUAGE); + } else { mapOfOutputParameter.put("lang", aLocale.toString()); - aUnicornCall.setLang(aLocale.toString()); + + //aUnicornCall.setLang(aLocale.toString()); + aUnicornCall.setLang("fr"); } + final Map<String, String[]> mapOfSpecificParameter = new Hashtable<String, String[]>(); FileItem aFileItemUploaded = null; @@ -304,13 +325,19 @@ // Unicorn parameter sParamName = sParamName.substring(4); - + + // Output specific parameter if (sParamName.startsWith(Property.get("UNICORN_PARAMETER_OUTPUT_PREFIX"))) { sParamName = sParamName.substring(4); mapOfSpecificParameter.put(sParamName, tStringParamValue); return; } + + if (sParamName.equals("lang")) { + aUnicornCall.addParameter("ucn_lang", tStringParamValue); + } + // Global Unicorn parameter if (sParamName.equals("task")) { //FirstServlet.logger.debug("");
Received on Tuesday, 22 January 2008 13:55:22 UTC