You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2008/07/02 18:52:51 UTC

svn commit: r673439 - in /tapestry/tapestry5/trunk/tapestry-core/src: main/java/org/apache/tapestry5/ main/java/org/apache/tapestry5/internal/services/ main/java/org/apache/tapestry5/internal/structure/ main/java/org/apache/tapestry5/services/ test/jav...

Author: hlship
Date: Wed Jul  2 09:52:50 2008
New Revision: 673439

URL: http://svn.apache.org/viewvc?rev=673439&view=rev
Log:
TAPESTRY-2452: Introduce a new symbol for the path to the application message catalog

Added:
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentMessagesSource.java
      - copied, changed from r669747, tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/ComponentMessagesSource.java
Removed:
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/ComponentMessagesSource.java
Modified:
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/SymbolConstants.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentMessagesSourceImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/InternalModule.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/PageResources.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/PageResourcesImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/PageResourcesSourceImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java
    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentMessagesSourceImplTest.java
    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/PageElementFactoryImplTest.java

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/SymbolConstants.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/SymbolConstants.java?rev=673439&r1=673438&r2=673439&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/SymbolConstants.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/SymbolConstants.java Wed Jul  2 09:52:50 2008
@@ -1,3 +1,17 @@
+// Copyright 2008 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
 package org.apache.tapestry5;
 
 /**
@@ -45,4 +59,10 @@
      * should only occur when developing Tapestry).
      */
     public static final String TAPESTRY_VERSION = "tapestry.version";
+
+    /**
+     * The location of the application-wide component messages catalog, relative to the web application context. This
+     * will normally be <code>WEB-INF/app.properties</code>.
+     */
+    public static final String APPLICATION_CATALOG = "tapestry.app-catalog";
 }

Copied: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentMessagesSource.java (from r669747, tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/ComponentMessagesSource.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentMessagesSource.java?p2=tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentMessagesSource.java&p1=tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/ComponentMessagesSource.java&r1=669747&r2=673439&rev=673439&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/ComponentMessagesSource.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentMessagesSource.java Wed Jul  2 09:52:50 2008
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.services;
+package org.apache.tapestry5.internal.services;
 
 import org.apache.tapestry5.internal.event.InvalidationEventHub;
 import org.apache.tapestry5.ioc.Messages;

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentMessagesSourceImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentMessagesSourceImpl.java?rev=673439&r1=673438&r2=673439&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentMessagesSourceImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentMessagesSourceImpl.java Wed Jul  2 09:52:50 2008
@@ -20,7 +20,6 @@
 import org.apache.tapestry5.ioc.Messages;
 import org.apache.tapestry5.ioc.Resource;
 import org.apache.tapestry5.model.ComponentModel;
-import org.apache.tapestry5.services.ComponentMessagesSource;
 
 import java.util.Locale;
 

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/InternalModule.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/InternalModule.java?rev=673439&r1=673438&r2=673439&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/InternalModule.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/InternalModule.java Wed Jul  2 09:52:50 2008
@@ -21,6 +21,7 @@
 import org.apache.tapestry5.ioc.ObjectLocator;
 import org.apache.tapestry5.ioc.ServiceBinder;
 import org.apache.tapestry5.ioc.ServiceResources;
+import org.apache.tapestry5.ioc.annotations.Inject;
 import org.apache.tapestry5.ioc.annotations.Marker;
 import org.apache.tapestry5.ioc.annotations.Scope;
 import org.apache.tapestry5.ioc.annotations.Symbol;
@@ -101,6 +102,7 @@
         return locator.autobuild(ActionRenderResponseGeneratorImpl.class);
     }
 
+
     @Scope(PERTHREAD_SCOPE)
     public static RequestPageCache buildRequestPageCache(PagePool pagePool, PerthreadManager perthreadManager)
     {
@@ -119,6 +121,22 @@
     }
 
 
+    public ComponentMessagesSource buildComponentMessagesSource(
+            @ContextProvider
+            AssetFactory contextAssetFactory,
+
+            @Inject
+            @Symbol(SymbolConstants.APPLICATION_CATALOG)
+            String appCatalog)
+    {
+        ComponentMessagesSourceImpl service = new ComponentMessagesSourceImpl(contextAssetFactory
+                .getRootResource(), appCatalog);
+
+        updateListenerHub.addUpdateListener(service);
+
+        return service;
+    }
+
     public ComponentInstantiatorSource buildComponentInstantiatorSource(@Builtin ClassFactory classFactory,
 
                                                                         ComponentClassTransformer transformer,

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/PageResources.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/PageResources.java?rev=673439&r1=673438&r2=673439&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/PageResources.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/PageResources.java Wed Jul  2 09:52:50 2008
@@ -31,7 +31,7 @@
      *
      * @param componentModel
      * @return the message catalog for the component, in the indicated locale
-     * @see org.apache.tapestry5.services.ComponentMessagesSource
+     * @see org.apache.tapestry5.internal.services.ComponentMessagesSource
      */
     Messages getMessages(ComponentModel componentModel);
 

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/PageResourcesImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/PageResourcesImpl.java?rev=673439&r1=673438&r2=673439&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/PageResourcesImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/PageResourcesImpl.java Wed Jul  2 09:52:50 2008
@@ -15,10 +15,10 @@
 package org.apache.tapestry5.internal.structure;
 
 import org.apache.tapestry5.internal.services.ComponentClassCache;
+import org.apache.tapestry5.internal.services.ComponentMessagesSource;
 import org.apache.tapestry5.ioc.Messages;
 import org.apache.tapestry5.ioc.services.TypeCoercer;
 import org.apache.tapestry5.model.ComponentModel;
-import org.apache.tapestry5.services.ComponentMessagesSource;
 import org.apache.tapestry5.services.ContextValueEncoder;
 
 import java.util.Locale;

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/PageResourcesSourceImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/PageResourcesSourceImpl.java?rev=673439&r1=673438&r2=673439&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/PageResourcesSourceImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/PageResourcesSourceImpl.java Wed Jul  2 09:52:50 2008
@@ -15,10 +15,10 @@
 package org.apache.tapestry5.internal.structure;
 
 import org.apache.tapestry5.internal.services.ComponentClassCache;
+import org.apache.tapestry5.internal.services.ComponentMessagesSource;
 import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
 import org.apache.tapestry5.ioc.internal.util.Defense;
 import org.apache.tapestry5.ioc.services.TypeCoercer;
-import org.apache.tapestry5.services.ComponentMessagesSource;
 import org.apache.tapestry5.services.ContextValueEncoder;
 
 import java.util.Locale;

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java?rev=673439&r1=673438&r2=673439&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java Wed Jul  2 09:52:50 2008
@@ -61,7 +61,7 @@
 /**
  * The root module for Tapestry.
  */
-@SuppressWarnings({ "JavaDoc" })
+@SuppressWarnings({"JavaDoc"})
 @Marker(Core.class)
 @SubModule(InternalModule.class)
 public final class TapestryModule
@@ -80,8 +80,6 @@
 
     private final ComponentInstantiatorSource componentInstantiatorSource;
 
-    private final UpdateListenerHub updateListenerHub;
-
     private final ChainBuilder chainBuilder;
 
     private final Request request;
@@ -121,8 +119,6 @@
 
                           PropertyAccess propertyAccess,
 
-                          UpdateListenerHub updateListenerHub,
-
                           Request request,
 
                           Response response,
@@ -142,7 +138,6 @@
         this.strategyBuilder = strategyBuilder;
         this.componentInstantiatorSource = componentInstantiatorSource;
         this.propertyAccess = propertyAccess;
-        this.updateListenerHub = updateListenerHub;
         this.request = request;
         this.response = response;
         this.threadLocale = threadLocale;
@@ -573,6 +568,8 @@
                                          @IntermediateType(TimeInterval.class)
                                          long updateTimeout,
 
+                                         UpdateListenerHub updateListenerHub,
+
                                          LocalizationSetter localizationSetter,
 
                                          ObjectLocator locator)
@@ -801,11 +798,12 @@
      */
     public ValidationMessagesSource buildValidationMessagesSource(Collection<String> configuration,
 
+                                                                  UpdateListenerHub updateListenerHub,
+
                                                                   @ClasspathProvider AssetFactory classpathAssetFactory)
     {
         ValidationMessagesSourceImpl service = new ValidationMessagesSourceImpl(configuration,
                                                                                 classpathAssetFactory.getRootResource());
-
         updateListenerHub.addUpdateListener(service);
 
         return service;
@@ -969,7 +967,7 @@
     /**
      * The component event result processor used for normal component requests.
      */
-    @Marker({ Primary.class, Traditional.class })
+    @Marker({Primary.class, Traditional.class})
     public ComponentEventResultProcessor buildComponentEventResultProcessor(
             Map<Class, ComponentEventResultProcessor> configuration)
     {
@@ -1032,21 +1030,6 @@
         return strategyBuilder.build(registry);
     }
 
-    public ComponentMessagesSource buildComponentMessagesSource(
-            @ContextProvider
-            AssetFactory contextAssetFactory,
-
-            @Inject
-            @Value("WEB-INF/${tapestry.app-name}.properties")
-            String appCatalog)
-    {
-        ComponentMessagesSourceImpl service = new ComponentMessagesSourceImpl(contextAssetFactory
-                .getRootResource(), appCatalog);
-
-        updateListenerHub.addUpdateListener(service);
-
-        return service;
-    }
 
     /**
      * Returns a {@link org.apache.tapestry5.ioc.services.ClassFactory} that can be used to create extra classes around
@@ -1702,7 +1685,8 @@
     /**
      * Contributes factory defaults that map be overridden.
      *
-     * @see TapestryModule#contributeClasspathAssetAliasManager(MappedConfiguration, String, String)
+     * @see TapestryModule#contributeClasspathAssetAliasManager(org.apache.tapestry5.ioc.MappedConfiguration, String,
+     *      String, String)
      */
     public static void contributeFactoryDefaults(MappedConfiguration<String, String> configuration)
     {
@@ -1760,6 +1744,8 @@
 
         configuration.add(MetaDataConstants.RESPONSE_CONTENT_TYPE, "text/html");
         configuration.add(MetaDataConstants.RESPONSE_ENCODING, "UTF-8");
+
+        configuration.add(SymbolConstants.APPLICATION_CATALOG, "WEB-INF/${tapestry.app-name}.properties");
     }
 
 
@@ -1767,7 +1753,7 @@
      * Adds content types for "css" and "js" file extensions. <dl> <dt>css</dt> <dd>test/css</dd> <dt>js</dt>
      * <dd>text/javascript</dd> </dl>
      */
-    @SuppressWarnings({ "JavaDoc" })
+    @SuppressWarnings({"JavaDoc"})
     public void contributeResourceStreamer(MappedConfiguration<String, String> configuration)
     {
         configuration.add("css", "text/css");

Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentMessagesSourceImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentMessagesSourceImplTest.java?rev=673439&r1=673438&r2=673439&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentMessagesSourceImplTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentMessagesSourceImplTest.java Wed Jul  2 09:52:50 2008
@@ -20,7 +20,6 @@
 import org.apache.tapestry5.ioc.Resource;
 import org.apache.tapestry5.ioc.internal.util.ClasspathResource;
 import org.apache.tapestry5.model.ComponentModel;
-import org.apache.tapestry5.services.ComponentMessagesSource;
 import org.testng.annotations.Test;
 
 import java.util.Locale;

Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/PageElementFactoryImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/PageElementFactoryImplTest.java?rev=673439&r1=673438&r2=673439&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/PageElementFactoryImplTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/PageElementFactoryImplTest.java Wed Jul  2 09:52:50 2008
@@ -27,7 +27,6 @@
 import org.apache.tapestry5.runtime.RenderQueue;
 import org.apache.tapestry5.services.BindingSource;
 import org.apache.tapestry5.services.ComponentClassResolver;
-import org.apache.tapestry5.services.ComponentMessagesSource;
 import org.testng.annotations.Test;
 
 public class PageElementFactoryImplTest extends InternalBaseTestCase