Return-Path: Delivered-To: apmail-click-commits-archive@www.apache.org Received: (qmail 87371 invoked from network); 26 Jun 2010 06:18:22 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 26 Jun 2010 06:18:22 -0000 Received: (qmail 92969 invoked by uid 500); 26 Jun 2010 06:18:22 -0000 Delivered-To: apmail-click-commits-archive@click.apache.org Received: (qmail 92954 invoked by uid 500); 26 Jun 2010 06:18:22 -0000 Mailing-List: contact commits-help@click.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: click-dev@click.apache.org Delivered-To: mailing list commits@click.apache.org Received: (qmail 92946 invoked by uid 99); 26 Jun 2010 06:18:21 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 26 Jun 2010 06:18:21 +0000 X-ASF-Spam-Status: No, hits=-1825.2 required=10.0 tests=ALL_TRUSTED,AWL X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 26 Jun 2010 06:18:20 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id C9B9E23889F1; Sat, 26 Jun 2010 06:17:28 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r958187 - in /click/trunk/click/framework/src/org/apache/click: Context.java service/DefaultMessagesMapService.java service/MessagesMapService.java util/MessagesMap.java Date: Sat, 26 Jun 2010 06:17:28 -0000 To: commits@click.apache.org From: sabob@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100626061728.C9B9E23889F1@eris.apache.org> Author: sabob Date: Sat Jun 26 06:17:28 2010 New Revision: 958187 URL: http://svn.apache.org/viewvc?rev=958187&view=rev Log: made locale an explicit dependency and cut down on threadlocal overhead Modified: click/trunk/click/framework/src/org/apache/click/Context.java click/trunk/click/framework/src/org/apache/click/service/DefaultMessagesMapService.java click/trunk/click/framework/src/org/apache/click/service/MessagesMapService.java click/trunk/click/framework/src/org/apache/click/util/MessagesMap.java Modified: click/trunk/click/framework/src/org/apache/click/Context.java URL: http://svn.apache.org/viewvc/click/trunk/click/framework/src/org/apache/click/Context.java?rev=958187&r1=958186&r2=958187&view=diff ============================================================================== --- click/trunk/click/framework/src/org/apache/click/Context.java (original) +++ click/trunk/click/framework/src/org/apache/click/Context.java Sat Jun 26 06:17:28 2010 @@ -634,10 +634,10 @@ public class Context { * @return a new messages map with the messages for the target. */ public Map createMessagesMap(Class baseClass, String globalResource) { - MessagesMapService messagesMapService = + MessagesMapService messagesMapService = clickServlet.getConfigService().getMessagesMapService(); - - return messagesMapService.createMessagesMap(baseClass, globalResource); + + return messagesMapService.createMessagesMap(baseClass, globalResource, getLocale()); } /** Modified: click/trunk/click/framework/src/org/apache/click/service/DefaultMessagesMapService.java URL: http://svn.apache.org/viewvc/click/trunk/click/framework/src/org/apache/click/service/DefaultMessagesMapService.java?rev=958187&r1=958186&r2=958187&view=diff ============================================================================== --- click/trunk/click/framework/src/org/apache/click/service/DefaultMessagesMapService.java (original) +++ click/trunk/click/framework/src/org/apache/click/service/DefaultMessagesMapService.java Sat Jun 26 06:17:28 2010 @@ -18,6 +18,7 @@ */ package org.apache.click.service; +import java.util.Locale; import java.util.Map; import javax.servlet.ServletContext; @@ -46,19 +47,20 @@ public class DefaultMessagesMapService i } /** - * Return a MessagesMap instance for the target baseClass and global - * resource name. - * + * Return a MessagesMap instance for the target baseClass, global resource + * name and locale. + * * @param baseClass the target class * @param globalResource the global resource bundle name - * + * @param the users Locale + * * @return a MessagesMap instance. - * - * @see MessagesMapService#createMessagesMap(Class, String) + * + * @see MessagesMapService#createMessagesMap(java.lang.Class, java.lang.String, java.util.Locale) * @see MessagesMap#MessagesMap(Class, String) */ public Map createMessagesMap(Class baseClass, - String globalResource) { - return new MessagesMap(baseClass, globalResource); + String globalResource, Locale locale) { + return new MessagesMap(baseClass, globalResource, locale); } } Modified: click/trunk/click/framework/src/org/apache/click/service/MessagesMapService.java URL: http://svn.apache.org/viewvc/click/trunk/click/framework/src/org/apache/click/service/MessagesMapService.java?rev=958187&r1=958186&r2=958187&view=diff ============================================================================== --- click/trunk/click/framework/src/org/apache/click/service/MessagesMapService.java (original) +++ click/trunk/click/framework/src/org/apache/click/service/MessagesMapService.java Sat Jun 26 06:17:28 2010 @@ -18,6 +18,7 @@ */ package org.apache.click.service; +import java.util.Locale; import java.util.Map; import javax.servlet.ServletContext; @@ -48,13 +49,13 @@ import javax.servlet.ServletContext; * * public class CustomMessagesMapService implements MessagesMapService { * - * public Map createMessagesMap(Class<?> baseClass, String globalResource) { - * return new MessagesMap(baseClass, globalResource); + * public Map createMessagesMap(Class<?> baseClass, String globalResource, Locale locale) { + * return new MyMessagesMap(baseClass, globalResource, locale); * } * } */ public interface MessagesMapService { - + /** * Initialize the MessagesMapService with the given application servlet context. *

@@ -69,14 +70,16 @@ public interface MessagesMapService { * Destroy the MessagesMapService. */ public void onDestroy(); - + /** * Return a new messages map for the given baseClass (a page or control) - * and the given global resource bundle name. - + * and the given global resource bundle name. + * * @param baseClass the target class - * @param globalResource the global resource bundle name + * @param globalResource the global resource bundle name + * @param the users Locale * @return a new messages map with the messages for the target. */ - public Map createMessagesMap(Class baseClass, String globalResource); + public Map createMessagesMap(Class baseClass, + String globalResource, Locale locale); } Modified: click/trunk/click/framework/src/org/apache/click/util/MessagesMap.java URL: http://svn.apache.org/viewvc/click/trunk/click/framework/src/org/apache/click/util/MessagesMap.java?rev=958187&r1=958186&r2=958187&view=diff ============================================================================== --- click/trunk/click/framework/src/org/apache/click/util/MessagesMap.java (original) +++ click/trunk/click/framework/src/org/apache/click/util/MessagesMap.java Sat Jun 26 06:17:28 2010 @@ -107,12 +107,27 @@ public class MessagesMap implements Map< * @param globalResource the global resource bundle name */ public MessagesMap(Class baseClass, String globalResource) { + this(baseClass, globalResource, Context.getThreadLocalContext().getLocale()); + } + + /** + * Create a resource bundle messages Map adaptor for the given + * object's class resource bundle, the global resource bundle and + * Context. + *

+ * Messages located in the object's resource bundle will override any + * messages defined in the global resource bundle. + * + * @param baseClass the target class + * @param globalResource the global resource bundle name + * @param the resource bundle locale. + */ + public MessagesMap(Class baseClass, String globalResource, Locale locale) { Validate.notNull(baseClass, "Null object parameter"); this.baseClass = baseClass; - this.locale = Context.getThreadLocalContext().getLocale(); - this.globalBaseName = globalResource; + this.locale = locale; } // --------------------------------------------------------- Public Methods