Author: almaw Date: Mon Jun 25 03:36:20 2007 New Revision: 550446 URL: http://svn.apache.org/viewvc?view=rev&rev=550446 Log: Lazy-init property resolver.
Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Application.java incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/lang/PropertyResolver.java incubator/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/lang/PropertyResolverTest.java Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Application.java URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Application.java?view=diff&rev=550446&r1=550445&r2=550446 ============================================================================== --- incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Application.java (original) +++ incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Application.java Mon Jun 25 03:36:20 2007 @@ -905,9 +905,6 @@ settingsAccessible = true; IPageSettings pageSettings = getPageSettings(); - // Set up the property resolver with a new cache instance for this app. - PropertyResolver.init(this); - // Install default component resolvers pageSettings.addComponentResolver(new ParentResolver()); pageSettings.addComponentResolver(new AutoComponentResolver()); Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/lang/PropertyResolver.java URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/lang/PropertyResolver.java?view=diff&rev=550446&r1=550445&r2=550446 ============================================================================== --- incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/lang/PropertyResolver.java (original) +++ incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/lang/PropertyResolver.java Mon Jun 25 03:36:20 2007 @@ -1242,17 +1242,16 @@ private static Map getClassesToGetAndSetters() { - return (Map)applicationToClassesToGetAndSetters.get(Application.get()); - } - - /** - * Initialize cache for this app. - * - * @param application - */ - public static void init(Application application) - { - applicationToClassesToGetAndSetters.put(application, new ConcurrentHashMap(64)); + Application app = Application.get(); + Map result = (Map)applicationToClassesToGetAndSetters.get(Application.get()); + if (result == null) + { + // Don't synchronize this - Doesn't matter if we create two of them, + // as it's only a cache and the first will go out of scope and get + // GC'ed. + applicationToClassesToGetAndSetters.put(app, result = new ConcurrentHashMap(64)); + } + return result; } /** Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/lang/PropertyResolverTest.java URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/lang/PropertyResolverTest.java?view=diff&rev=550446&r1=550445&r2=550446 ============================================================================== --- incubator/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/lang/PropertyResolverTest.java (original) +++ incubator/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/lang/PropertyResolverTest.java Mon Jun 25 03:36:20 2007 @@ -63,7 +63,6 @@ } }, "/foo"); - PropertyResolver.init(app.getApplication()); } protected void tearDown() throws Exception