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