Return-Path: Delivered-To: apmail-velocity-commits-archive@minotaur.apache.org Received: (qmail 27760 invoked from network); 23 May 2009 22:50:05 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 23 May 2009 22:50:05 -0000 Received: (qmail 72541 invoked by uid 500); 23 May 2009 22:50:18 -0000 Delivered-To: apmail-velocity-commits-archive@velocity.apache.org Received: (qmail 72511 invoked by uid 500); 23 May 2009 22:50:18 -0000 Mailing-List: contact commits-help@velocity.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@velocity.apache.org Delivered-To: mailing list commits@velocity.apache.org Received: (qmail 72502 invoked by uid 99); 23 May 2009 22:50:18 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 23 May 2009 22:50:18 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED 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, 23 May 2009 22:50:16 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 0F8462388872; Sat, 23 May 2009 22:49:56 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r778054 - in /velocity/engine/branches/2.0_Exp/src/java/org/apache/velocity/util/introspection: ClassMap.java MethodMap.java Date: Sat, 23 May 2009 22:49:55 -0000 To: commits@velocity.apache.org From: nbubna@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090523224956.0F8462388872@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: nbubna Date: Sat May 23 22:49:55 2009 New Revision: 778054 URL: http://svn.apache.org/viewvc?rev=778054&view=rev Log: VELOCITY-718 prevent infinite loop in HashMap.get() Modified: velocity/engine/branches/2.0_Exp/src/java/org/apache/velocity/util/introspection/ClassMap.java velocity/engine/branches/2.0_Exp/src/java/org/apache/velocity/util/introspection/MethodMap.java Modified: velocity/engine/branches/2.0_Exp/src/java/org/apache/velocity/util/introspection/ClassMap.java URL: http://svn.apache.org/viewvc/velocity/engine/branches/2.0_Exp/src/java/org/apache/velocity/util/introspection/ClassMap.java?rev=778054&r1=778053&r2=778054&view=diff ============================================================================== --- velocity/engine/branches/2.0_Exp/src/java/org/apache/velocity/util/introspection/ClassMap.java (original) +++ velocity/engine/branches/2.0_Exp/src/java/org/apache/velocity/util/introspection/ClassMap.java Sat May 23 22:49:55 2009 @@ -23,6 +23,7 @@ import java.lang.reflect.Modifier; import java.util.HashMap; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import org.apache.commons.lang.text.StrBuilder; import org.apache.velocity.runtime.log.Log; @@ -215,7 +216,7 @@ * Cache of Methods, or CACHE_MISS, keyed by method * name and actual arguments used to find it. */ - private final Map cache = new HashMap(); + private final Map cache = new ConcurrentHashMap(); /** Map of methods that are searchable according to method parameters to find a match */ private final MethodMap methodMap = new MethodMap(); Modified: velocity/engine/branches/2.0_Exp/src/java/org/apache/velocity/util/introspection/MethodMap.java URL: http://svn.apache.org/viewvc/velocity/engine/branches/2.0_Exp/src/java/org/apache/velocity/util/introspection/MethodMap.java?rev=778054&r1=778053&r2=778054&view=diff ============================================================================== --- velocity/engine/branches/2.0_Exp/src/java/org/apache/velocity/util/introspection/MethodMap.java (original) +++ velocity/engine/branches/2.0_Exp/src/java/org/apache/velocity/util/introspection/MethodMap.java Sat May 23 22:49:55 2009 @@ -21,11 +21,11 @@ import java.lang.reflect.Method; import java.util.ArrayList; -import java.util.HashMap; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; /** * @@ -45,7 +45,7 @@ /** * Keep track of all methods with the same name. */ - Map methodByNameMap = new HashMap(); + Map methodByNameMap = new ConcurrentHashMap(); /** * Add a method to a list of methods by name.