You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by hl...@apache.org on 2008/11/11 20:45:28 UTC

svn commit: r713131 [1/2] - in /tapestry/tapestry5/trunk: tapestry-core/ tapestry-core/src/main/java/org/apache/tapestry5/ tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ tapestry-core/src/main/java/org/apache/tapestry5/internal/str...

Author: hlship
Date: Tue Nov 11 11:45:25 2008
New Revision: 713131

URL: http://svn.apache.org/viewvc?rev=713131&view=rev
Log:
Merge changes from 5.1-dev branch to trunk:
TAP5-215: Configuration interface should support contributing a class (which is autobuilt) in addition to an instance
TAP5-217: Warnings related to service configuration validations should be escalated to exceptions
TAP5-216: Many methods of the Page interface could be moved to PageResources (which should be renamed to ComponentPageElementResources)

Added:
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResources.java
      - copied, changed from r712893, tapestry/tapestry5/branches/5.1-dev/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResources.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesImpl.java
      - copied, changed from r712893, tapestry/tapestry5/branches/5.1-dev/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesSource.java
      - copied unchanged from r712893, tapestry/tapestry5/branches/5.1-dev/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesSource.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesSourceImpl.java
      - copied, changed from r712893, tapestry/tapestry5/branches/5.1-dev/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesSourceImpl.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/ContributeByClassModule.java
      - copied unchanged from r712893, tapestry/tapestry5/branches/5.1-dev/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/ContributeByClassModule.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/UppercaseStringTransformer.java
      - copied unchanged from r712893, tapestry/tapestry5/branches/5.1-dev/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/UppercaseStringTransformer.java
Removed:
    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/PageResourcesSource.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/PageResourcesSourceImpl.java
Modified:
    tapestry/tapestry5/trunk/tapestry-core/pom.xml
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ComponentResources.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ComponentResourcesCommon.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentEventImpl.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/services/LinkFactory.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageElementFactoryImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageLoaderImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageLoaderProcessor.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/InternalComponentResourcesImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/Page.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/PageImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/ComponentEventRequestFilter.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/ComponentEventImplTest.java
    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/PageLoaderImplTest.java
    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/structure/ComponentPageElementImplTest.java
    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/structure/InternalComponentResourcesImplTest.java
    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/structure/PageImplTest.java
    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/test/InternalBaseTestCase.java
    tapestry/tapestry5/trunk/tapestry-hibernate/pom.xml
    tapestry/tapestry5/trunk/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/HibernateModule.java
    tapestry/tapestry5/trunk/tapestry-ioc/pom.xml
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/Configuration.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/MappedConfiguration.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/OrderedConfiguration.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/IOCMessages.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/RegistryImpl.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ValidatingConfigurationWrapper.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ValidatingMappedConfigurationWrapper.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ValidatingOrderedConfigurationWrapper.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/TapestryIOCModule.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/resources/org/apache/tapestry5/ioc/internal/IOCStrings.properties
    tapestry/tapestry5/trunk/tapestry-ioc/src/site/apt/configuration.apt
    tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/IntegrationTest.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/ValidatingConfigurationWrapperTest.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/ValidatingMappedConfigurationWrapperTest.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/ValidatingOrderedConfigurationWrapperTest.java
    tapestry/tapestry5/trunk/tapestry-spring/pom.xml
    tapestry/tapestry5/trunk/tapestry-test/pom.xml
    tapestry/tapestry5/trunk/tapestry-tutorial1/pom.xml
    tapestry/tapestry5/trunk/tapestry-tutorial1/tutorial1.iml
    tapestry/tapestry5/trunk/tapestry-upload/pom.xml

Modified: tapestry/tapestry5/trunk/tapestry-core/pom.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/pom.xml?rev=713131&r1=713130&r2=713131&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/pom.xml (original)
+++ tapestry/tapestry5/trunk/tapestry-core/pom.xml Tue Nov 11 11:45:25 2008
@@ -7,7 +7,7 @@
     <parent>
         <groupId>org.apache.tapestry</groupId>
         <artifactId>tapestry-project</artifactId>
-        <version>5.0.16</version>
+        <version>5.1.0.0-SNAPSHOT</version>
     </parent>
     <name>Tapestry Core Library</name>
     <description>

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ComponentResources.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ComponentResources.java?rev=713131&r1=713130&r2=713131&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ComponentResources.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ComponentResources.java Tue Nov 11 11:45:25 2008
@@ -162,74 +162,6 @@
 
 
     /**
-     * Creates a component event request link as a callback for this component. The event type and context (as well as
-     * the page name and nested component id) will be encoded into a URL. A request for the URL will {@linkplain
-     * #triggerEvent(String, Object[], ComponentEventCallback)}  trigger} the named event on the component.
-     *
-     * @param eventType the type of event to be triggered.  Event types should be Java identifiers (contain only
-     *                  letters, numbers and the underscore).
-     * @param forForm   if true, the link will be used as the eventType for an HTML form submission, which may affect
-     *                  what information is encoded into the link
-     * @param context   additional objects to be encoded into the path portion of the link; each is converted to a
-     *                  string and URI encoded
-     * @return link object for the callback
-     * @deprecated Use {@link #createEventLink(String, Object[])} instead
-     */
-    Link createActionLink(String eventType, boolean forForm, Object... context);
-
-    /**
-     * Creates a component event request link as a callback for this component. The event type and context (as well as
-     * the page name and nested component id) will be encoded into a URL. A request for the URL will {@linkplain
-     * #triggerEvent(String, Object[], ComponentEventCallback)}  trigger} the named event on the component.
-     *
-     * @param eventType the type of event to be triggered.  Event types should be Java identifiers (contain only
-     *                  letters, numbers and the underscore).
-     * @param context   additional objects to be encoded into the path portion of the link; each is converted to a
-     *                  string and URI encoded
-     * @return link object for the callback
-     */
-    Link createEventLink(String eventType, Object... context);
-
-    /**
-     * Creates a component event request link as a callback for this component. The event type and context (as well as
-     * the page name and nested component id) will be encoded into a URL. A request for the URL will {@linkplain
-     * #triggerEvent(String, Object[], ComponentEventCallback)}  trigger} the named event on the component. This is only
-     * used for form submission events, as extra data may be encoded in the form as hidden fields.
-     *
-     * @param eventType the type of event to be triggered.  Event types should be Java identifiers (contain only
-     *                  letters, numbers and the underscore).
-     * @param context   additional objects to be encoded into the path portion of the link; each is converted to a
-     *                  string and URI encoded
-     * @return link object for the callback
-     */
-    Link createFormEventLink(String eventType, Object... context);
-
-    /**
-     * Creates a page render request link to render a specific page.
-     *
-     * @param pageName the logical name of the page to link to
-     * @param override if true, the context is used even if empty (normally, the target page is allowed to passivate,
-     *                 providing a context, when the provided context is empty)
-     * @param context  the activation context for the page. If omitted, the activation context is obtained from the
-     *                 target page
-     * @return link for a render request to the targetted page
-     */
-    Link createPageLink(String pageName, boolean override, Object... context);
-
-    /**
-     * Creates a page render request link to render a specific page. Using a page class, rather than a page name, is
-     * more refactoring safe (in the even the page is renamed or moved).
-     *
-     * @param pageClass identifies the page to link to
-     * @param override  if true, the context is used even if empty (normally, the target page is allowed to passivate,
-     *                  providing a context, when the provided context is empty)
-     * @param context   the activation context for the page. If omitted, the activation context is obtained from the
-     *                  target page
-     * @return link for a render request to the targetted page
-     */
-    Link createPageLink(Class pageClass, boolean override, Object... context);
-
-    /**
      * Discards all persistent field changes for the page containing the component.  Changes are eliminated from
      * persistent storage (such as the {@link org.apache.tapestry5.services.Session}) which will take effect in the
      * <em>next</em> request (the attached page instance is not affected).

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ComponentResourcesCommon.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ComponentResourcesCommon.java?rev=713131&r1=713130&r2=713131&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ComponentResourcesCommon.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ComponentResourcesCommon.java Tue Nov 11 11:45:25 2008
@@ -157,4 +157,75 @@
      * component's body.
      */
     Block getBody();
+
+    /**
+     * Creates a component event request link as a callback for this component. The event type and context (as well as
+     * the page name and nested component id) will be encoded into a URL. A request for the URL will {@linkplain
+     * #triggerEvent(String, Object[], org.apache.tapestry5.ComponentEventCallback)}  trigger} the named event on the
+     * component.
+     *
+     * @param eventType the type of event to be triggered.  Event types should be Java identifiers (contain only
+     *                  letters, numbers and the underscore).
+     * @param context   additional objects to be encoded into the path portion of the link; each is converted to a
+     *                  string and URI encoded
+     * @return link object for the callback
+     */
+    Link createEventLink(String eventType, Object... context);
+
+    /**
+     * Creates a component event request link as a callback for this component. The event type and context (as well as
+     * the page name and nested component id) will be encoded into a URL. A request for the URL will {@linkplain
+     * #triggerEvent(String, Object[], org.apache.tapestry5.ComponentEventCallback)}  trigger} the named event on the
+     * component.
+     *
+     * @param eventType the type of event to be triggered.  Event types should be Java identifiers (contain only
+     *                  letters, numbers and the underscore).
+     * @param forForm   if true, the link will be used as the eventType for an HTML form submission, which may affect
+     *                  what information is encoded into the link
+     * @param context   additional objects to be encoded into the path portion of the link; each is converted to a
+     *                  string and URI encoded
+     * @return link object for the callback
+     * @deprecated Use {@link #createEventLink(String, Object[])} instead
+     */
+    Link createActionLink(String eventType, boolean forForm, Object... context);
+
+    /**
+     * Creates a component event request link as a callback for this component. The event type and context (as well as
+     * the page name and nested component id) will be encoded into a URL. A request for the URL will {@linkplain
+     * #triggerEvent(String, Object[], org.apache.tapestry5.ComponentEventCallback)}  trigger} the named event on the
+     * component. This is only used for form submission events, as extra data may be encoded in the form as hidden
+     * fields.
+     *
+     * @param eventType the type of event to be triggered.  Event types should be Java identifiers (contain only
+     *                  letters, numbers and the underscore).
+     * @param context   additional objects to be encoded into the path portion of the link; each is converted to a
+     *                  string and URI encoded
+     * @return link object for the callback
+     */
+    Link createFormEventLink(String eventType, Object... context);
+
+    /**
+     * Creates a page render request link to render a specific page.
+     *
+     * @param pageName the logical name of the page to link to
+     * @param override if true, the context is used even if empty (normally, the target page is allowed to passivate,
+     *                 providing a context, when the provided context is empty)
+     * @param context  the activation context for the page. If omitted, the activation context is obtained from the
+     *                 target page
+     * @return link for a render request to the targetted page
+     */
+    Link createPageLink(String pageName, boolean override, Object... context);
+
+    /**
+     * Creates a page render request link to render a specific page. Using a page class, rather than a page name, is
+     * more refactoring safe (in the even the page is renamed or moved).
+     *
+     * @param pageClass identifies the page to link to
+     * @param override  if true, the context is used even if empty (normally, the target page is allowed to passivate,
+     *                  providing a context, when the provided context is empty)
+     * @param context   the activation context for the page. If omitted, the activation context is obtained from the
+     *                  target page
+     * @return link for a render request to the targetted page
+     */
+    Link createPageLink(Class pageClass, boolean override, Object... context);
 }

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentEventImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentEventImpl.java?rev=713131&r1=713130&r2=713131&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentEventImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentEventImpl.java Tue Nov 11 11:45:25 2008
@@ -16,7 +16,7 @@
 
 import org.apache.tapestry5.ComponentEventCallback;
 import org.apache.tapestry5.EventContext;
-import org.apache.tapestry5.internal.structure.PageResources;
+import org.apache.tapestry5.internal.structure.ComponentPageElementResources;
 import org.apache.tapestry5.runtime.ComponentEvent;
 import org.slf4j.Logger;
 
@@ -28,24 +28,25 @@
 
     private final EventContext context;
 
-    private final PageResources pageResources;
+    private final ComponentPageElementResources elementResources;
 
     /**
      * @param eventType              non blank string used to identify the type of event that was triggered
      * @param originatingComponentId the id of the component that triggered the event
      * @param context                provides access to parameter values
      * @param handler                invoked when a non-null return value is obtained from an event handler method
-     * @param pageResources          provides access to common resources and services
+     * @param elementResources       provides access to common resources and services
      * @param logger                 used to log method invocations
      */
     public ComponentEventImpl(String eventType, String originatingComponentId, EventContext context,
-                              ComponentEventCallback handler, PageResources pageResources, Logger logger)
+                              ComponentEventCallback handler,
+                              ComponentPageElementResources elementResources, Logger logger)
     {
         super(handler, logger);
 
         this.eventType = eventType;
         this.originatingComponentId = originatingComponentId;
-        this.pageResources = pageResources;
+        this.elementResources = elementResources;
         this.context = context;
     }
 
@@ -71,10 +72,9 @@
                 .contextIndexOutOfRange(getMethodDescription()));
         try
         {
-            Class desiredType = pageResources.toClass(desiredTypeName);
+            Class desiredType = elementResources.toClass(desiredTypeName);
 
             return context.get(desiredType, index);
-
         }
         catch (Exception ex)
         {

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=713131&r1=713130&r2=713131&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 Tue Nov 11 11:45:25 2008
@@ -15,8 +15,8 @@
 package org.apache.tapestry5.internal.services;
 
 import org.apache.tapestry5.SymbolConstants;
-import org.apache.tapestry5.internal.structure.PageResourcesSource;
-import org.apache.tapestry5.internal.structure.PageResourcesSourceImpl;
+import org.apache.tapestry5.internal.structure.ComponentPageElementResourcesSource;
+import org.apache.tapestry5.internal.structure.ComponentPageElementResourcesSourceImpl;
 import org.apache.tapestry5.ioc.ObjectLocator;
 import org.apache.tapestry5.ioc.ScopeConstants;
 import org.apache.tapestry5.ioc.ServiceBinder;
@@ -80,7 +80,7 @@
         binder.bind(AjaxPartialResponseRenderer.class, AjaxPartialResponseRendererImpl.class);
         binder.bind(PageContentTypeAnalyzer.class, PageContentTypeAnalyzerImpl.class);
         binder.bind(RequestPathOptimizer.class, RequestPathOptimizerImpl.class);
-        binder.bind(PageResourcesSource.class, PageResourcesSourceImpl.class);
+        binder.bind(ComponentPageElementResourcesSource.class, ComponentPageElementResourcesSourceImpl.class);
         binder.bind(RequestSecurityManager.class, RequestSecurityManagerImpl.class);
         binder.bind(InternalRequestGlobals.class, InternalRequestGlobalsImpl.class);
         binder.bind(EndOfRequestListenerHub.class);

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LinkFactory.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LinkFactory.java?rev=713131&r1=713130&r2=713131&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LinkFactory.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LinkFactory.java Tue Nov 11 11:45:25 2008
@@ -18,7 +18,7 @@
 import org.apache.tapestry5.internal.structure.Page;
 
 /**
- * A source for {@link Link} objects.
+ * A source for {@link org.apache.tapestry5.Link} objects.
  *
  * @see LinkFactoryListener
  */
@@ -57,12 +57,12 @@
 
     /**
      * As with {@link #createPageRenderLink(Page, boolean, Object[])}, but the page is specified by logical name, rather
-     * than as an instance.
+     * than as an instance.  Note: renamed from createPageLink() in 5.1.
      *
      * @param logicalPageName the logical name of the page to generate a link to
      * @param override        if true, then the provided activation context is always used even if empty
      * @param context         activation context for the page
-     * @return
+     * @return a link
      */
     Link createPageRenderLink(String logicalPageName, boolean override, Object... context);
 

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageElementFactoryImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageElementFactoryImpl.java?rev=713131&r1=713130&r2=713131&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageElementFactoryImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageElementFactoryImpl.java Tue Nov 11 11:45:25 2008
@@ -44,7 +44,7 @@
 
     private final BindingSource bindingSource;
 
-    private final PageResourcesSource pageResourcesSource;
+    private final ComponentPageElementResourcesSource componentPageElementResourcesSource;
 
     private static final String EXPANSION_START = "${";
 
@@ -65,13 +65,13 @@
 
     public PageElementFactoryImpl(ComponentInstantiatorSource componentInstantiatorSource,
                                   ComponentClassResolver resolver, TypeCoercer typeCoercer, BindingSource bindingSource,
-                                  PageResourcesSource pageResourcesSource)
+                                  ComponentPageElementResourcesSource componentPageElementResourcesSource)
     {
         this.componentInstantiatorSource = componentInstantiatorSource;
         componentClassResolver = resolver;
         this.typeCoercer = typeCoercer;
         this.bindingSource = bindingSource;
-        this.pageResourcesSource = pageResourcesSource;
+        this.componentPageElementResourcesSource = componentPageElementResourcesSource;
     }
 
     public PageElement newAttributeElement(ComponentResources componentResources, final AttributeToken token)
@@ -261,9 +261,9 @@
     {
         Instantiator instantiator = componentInstantiatorSource.findInstantiator(componentType);
 
-        PageResources pageResources = pageResourcesSource.get(locale);
+        ComponentPageElementResources componentPageElementResources = componentPageElementResourcesSource.get(locale);
 
-        ComponentPageElement result = new ComponentPageElementImpl(page, instantiator, pageResources);
+        ComponentPageElement result = new ComponentPageElementImpl(page, instantiator, componentPageElementResources);
 
         page.addLifecycleListener(result);
 

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageLoaderImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageLoaderImpl.java?rev=713131&r1=713130&r2=713131&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageLoaderImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageLoaderImpl.java Tue Nov 11 11:45:25 2008
@@ -28,19 +28,16 @@
 
     private final PageElementFactory pageElementFactory;
 
-    private final LinkFactory linkFactory;
-
     private final PersistentFieldManager persistentFieldManager;
 
     private final ComponentClassResolver componentClassResolver;
 
     public PageLoaderImpl(ComponentTemplateSource templateSource,
-                          PageElementFactory pageElementFactory, LinkFactory linkFactory,
+                          PageElementFactory pageElementFactory,
                           PersistentFieldManager persistentFieldManager, ComponentClassResolver componentClassResolver)
     {
         this.templateSource = templateSource;
         this.pageElementFactory = pageElementFactory;
-        this.linkFactory = linkFactory;
         this.persistentFieldManager = persistentFieldManager;
         this.componentClassResolver = componentClassResolver;
     }
@@ -51,8 +48,8 @@
         // effort to pool them for reuse, but not too likely.
 
         PageLoaderProcessor processor = new PageLoaderProcessor(templateSource,
-                                                                pageElementFactory, linkFactory,
-                                                                persistentFieldManager, componentClassResolver);
+                                                                pageElementFactory,
+                                                                persistentFieldManager);
 
         String pageClassName = componentClassResolver.resolvePageNameToClassName(logicalPageName);
 

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageLoaderProcessor.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageLoaderProcessor.java?rev=713131&r1=713130&r2=713131&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageLoaderProcessor.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageLoaderProcessor.java Tue Nov 11 11:45:25 2008
@@ -28,7 +28,6 @@
 import org.apache.tapestry5.model.EmbeddedComponentModel;
 import org.apache.tapestry5.runtime.RenderQueue;
 import org.apache.tapestry5.services.BindingSource;
-import org.apache.tapestry5.services.ComponentClassResolver;
 
 import java.util.List;
 import java.util.Locale;
@@ -80,10 +79,6 @@
 
     private final IdAllocator idAllocator = new IdAllocator();
 
-    private final LinkFactory linkFactory;
-
-    private final ComponentClassResolver componentClassResolver;
-
     private ComponentModel loadingComponentModel;
 
     private ComponentPageElement loadingElement;
@@ -138,14 +133,11 @@
     }
 
     PageLoaderProcessor(ComponentTemplateSource templateSource, PageElementFactory pageElementFactory,
-                        LinkFactory linkFactory, PersistentFieldManager persistentFieldManager,
-                        ComponentClassResolver componentClassResolver)
+                        PersistentFieldManager persistentFieldManager)
     {
         this.templateSource = templateSource;
         this.pageElementFactory = pageElementFactory;
-        this.linkFactory = linkFactory;
         this.persistentFieldManager = persistentFieldManager;
-        this.componentClassResolver = componentClassResolver;
     }
 
     private void bindParameterFromTemplate(ComponentPageElement component, AttributeToken token)
@@ -385,7 +377,7 @@
         // Todo: Need a resources object for Pages, not just ComponentPageElement ... too many
         // parameters here.
 
-        page = new PageImpl(logicalPageName, this.locale, linkFactory, persistentFieldManager, componentClassResolver);
+        page = new PageImpl(logicalPageName, this.locale, persistentFieldManager);
 
         loadRootComponent(pageClassName);
 

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementImpl.java?rev=713131&r1=713130&r2=713131&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementImpl.java Tue Nov 11 11:45:25 2008
@@ -381,7 +381,7 @@
 
     private final String elementName;
 
-    private final PageResources pageResources;
+    private final ComponentPageElementResources elementResources;
 
     private final Logger logger;
 
@@ -521,7 +521,7 @@
     public ComponentPageElement newChild(String id, String elementName, Instantiator instantiator, Location location)
     {
         ComponentPageElementImpl child = new ComponentPageElementImpl(page, this, id, elementName, instantiator,
-                                                                      location, pageResources);
+                                                                      location, elementResources);
 
         addEmbeddedElement(child);
 
@@ -531,18 +531,19 @@
     /**
      * Constructor for other components embedded within the root component or at deeper levels of the hierarchy.
      *
-     * @param page          ultimately containing this component
-     * @param container     component immediately containing this component (may be null for a root component)
-     * @param id            unique (within the container) id for this component (may be null for a root component)
-     * @param elementName   the name of the element which represents this component in the template, or null for
-     *                      &lt;comp&gt; element or a page component
-     * @param instantiator  used to create the new component instance and access the component's model
-     * @param location      location of the element (within a template), used as part of exception reporting
-     * @param pageResources Provides access to common methods of various services
+     * @param page             ultimately containing this component
+     * @param container        component immediately containing this component (may be null for a root component)
+     * @param id               unique (within the container) id for this component (may be null for a root component)
+     * @param elementName      the name of the element which represents this component in the template, or null for
+     *                         &lt;comp&gt; element or a page component
+     * @param instantiator     used to create the new component instance and access the component's model
+     * @param location         location of the element (within a template), used as part of exception reporting
+     * @param elementResources Provides access to common methods of various services
      */
 
     ComponentPageElementImpl(Page page, ComponentPageElement container, String id, String elementName,
-                             Instantiator instantiator, Location location, PageResources pageResources)
+                             Instantiator instantiator, Location location,
+                             ComponentPageElementResources elementResources)
     {
         super(location);
 
@@ -550,7 +551,7 @@
         this.container = container;
         this.id = id;
         this.elementName = elementName;
-        this.pageResources = pageResources;
+        this.elementResources = elementResources;
 
         ComponentResources containerResources = container == null
                                                 ? null
@@ -586,7 +587,8 @@
             }
         }
 
-        coreResources = new InternalComponentResourcesImpl(this.page, this, containerResources, this.pageResources,
+        coreResources = new InternalComponentResourcesImpl(this.page, this, containerResources,
+                                                           this.elementResources,
                                                            completeId, nestedId, instantiator);
 
         coreComponent = coreResources.getComponent();
@@ -597,9 +599,10 @@
     /**
      * Constructor for the root component of a page.
      */
-    public ComponentPageElementImpl(Page page, Instantiator instantiator, PageResources pageResources)
+    public ComponentPageElementImpl(Page page, Instantiator instantiator,
+                                    ComponentPageElementResources elementResources)
     {
-        this(page, null, null, null, instantiator, null, pageResources);
+        this(page, null, null, null, instantiator, null, elementResources);
     }
 
     void addEmbeddedElement(ComponentPageElement child)
@@ -629,7 +632,7 @@
         String mixinExtension = "$" + mixinName.toLowerCase();
 
         InternalComponentResourcesImpl resources = new InternalComponentResourcesImpl(page, this, coreResources,
-                                                                                      pageResources,
+                                                                                      elementResources,
                                                                                       completeId + mixinExtension,
                                                                                       nestedId + mixinExtension,
                                                                                       instantiator);
@@ -989,7 +992,6 @@
 
     private EventContext createParameterContext(final Object... values)
     {
-
         return new EventContext()
         {
             public int getCount()
@@ -999,7 +1001,7 @@
 
             public <T> T get(Class<T> desiredType, int index)
             {
-                return pageResources.coerce(values[index], desiredType);
+                return elementResources.coerce(values[index], desiredType);
             }
         };
     }
@@ -1052,7 +1054,7 @@
                 Logger logger = component.getEventLogger();
 
                 ComponentEvent event = new ComponentEventImpl(currentEventType, componentId, currentContext, wrapped,
-                                                              pageResources, logger);
+                                                              elementResources, logger);
 
                 logger.debug(TapestryMarkers.EVENT_DISPATCH, "Dispatch event: {}", event);
 
@@ -1215,6 +1217,31 @@
 
     public Logger getEventLogger()
     {
-        return pageResources.getEventLogger(logger);
+        return elementResources.getEventLogger(logger);
+    }
+
+    public Link createEventLink(String eventType, Object... context)
+    {
+        return elementResources.createComponentEventLink(coreResources, eventType, false, context);
+    }
+
+    public Link createActionLink(String eventType, boolean forForm, Object... context)
+    {
+        return elementResources.createComponentEventLink(coreResources, eventType, forForm, context);
+    }
+
+    public Link createFormEventLink(String eventType, Object... context)
+    {
+        return elementResources.createComponentEventLink(coreResources, eventType, true, context);
+    }
+
+    public Link createPageLink(String pageName, boolean override, Object... context)
+    {
+        return elementResources.createPageRenderLink(pageName, override, context);
+    }
+
+    public Link createPageLink(Class pageClass, boolean override, Object... context)
+    {
+        return elementResources.createPageRenderLink(pageClass, override, context);
     }
 }

Copied: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResources.java (from r712893, tapestry/tapestry5/branches/5.1-dev/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResources.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResources.java?p2=tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResources.java&p1=tapestry/tapestry5/branches/5.1-dev/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResources.java&r1=712893&r2=713131&rev=713131&view=diff
==============================================================================
--- tapestry/tapestry5/branches/5.1-dev/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResources.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResources.java Tue Nov 11 11:45:25 2008
@@ -19,6 +19,7 @@
 import org.apache.tapestry5.ioc.Messages;
 import org.apache.tapestry5.model.ComponentModel;
 import org.apache.tapestry5.services.ContextValueEncoder;
+import org.slf4j.Logger;
 
 /**
  * Provides access to common methods of various services, needed by implementations of {@link ComponentPageElement} and
@@ -99,4 +100,13 @@
      * @since 5.1
      */
     Link createPageRenderLink(Class pageClass, boolean override, Object... context);
+
+    /**
+     * Returns the event logger for the provided component logger.  The event logger is based on the component logger's
+     * name (which matches the component class name) with a "tapestry..events." prefix.
+     *
+     * @param componentLogger provides base name for logger
+     * @return the logger
+     */
+    Logger getEventLogger(Logger componentLogger);
 }

Copied: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesImpl.java (from r712893, tapestry/tapestry5/branches/5.1-dev/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesImpl.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesImpl.java?p2=tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesImpl.java&p1=tapestry/tapestry5/branches/5.1-dev/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesImpl.java&r1=712893&r2=713131&rev=713131&view=diff
==============================================================================
--- tapestry/tapestry5/branches/5.1-dev/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesImpl.java Tue Nov 11 11:45:25 2008
@@ -20,17 +20,21 @@
 import org.apache.tapestry5.internal.services.ComponentMessagesSource;
 import org.apache.tapestry5.internal.services.LinkFactory;
 import org.apache.tapestry5.internal.services.RequestPageCache;
+import org.apache.tapestry5.ioc.LoggerSource;
 import org.apache.tapestry5.ioc.Messages;
 import org.apache.tapestry5.ioc.internal.util.Defense;
 import org.apache.tapestry5.ioc.services.TypeCoercer;
 import org.apache.tapestry5.model.ComponentModel;
 import org.apache.tapestry5.services.ComponentClassResolver;
 import org.apache.tapestry5.services.ContextValueEncoder;
+import org.slf4j.Logger;
 
 import java.util.Locale;
 
 public class ComponentPageElementResourcesImpl implements ComponentPageElementResources
 {
+    private static final Object[] EMPTY = new Object[0];
+
     private final Locale locale;
 
     private final ComponentMessagesSource componentMessagesSource;
@@ -47,12 +51,14 @@
 
     private final ComponentClassResolver componentClassResolver;
 
+    private final LoggerSource loggerSource;
+
     public ComponentPageElementResourcesImpl(Locale locale, ComponentMessagesSource componentMessagesSource,
                                              TypeCoercer typeCoercer,
                                              ComponentClassCache componentClassCache,
                                              ContextValueEncoder contextValueEncoder, LinkFactory linkFactory,
                                              RequestPageCache requestPageCache,
-                                             ComponentClassResolver componentClassResolver)
+                                             ComponentClassResolver componentClassResolver, LoggerSource loggerSource)
     {
         this.componentMessagesSource = componentMessagesSource;
         this.locale = locale;
@@ -62,6 +68,7 @@
         this.linkFactory = linkFactory;
         this.requestPageCache = requestPageCache;
         this.componentClassResolver = componentClassResolver;
+        this.loggerSource = loggerSource;
     }
 
     public Messages getMessages(ComponentModel componentModel)
@@ -84,12 +91,13 @@
     {
         Page page = requestPageCache.get(resources.getPageName());
 
-        return linkFactory.createComponentEventLink(page, resources.getNestedId(), eventType, forForm, context);
+        return linkFactory.createComponentEventLink(page, resources.getNestedId(), eventType, forForm,
+                                                    defaulted(context));
     }
 
     public Link createPageRenderLink(String pageName, boolean override, Object... context)
     {
-        return linkFactory.createPageRenderLink(pageName, override, context);
+        return linkFactory.createPageRenderLink(pageName, override, defaulted(context));
     }
 
     public Link createPageRenderLink(Class pageClass, boolean override, Object... context)
@@ -98,7 +106,14 @@
 
         String pageName = componentClassResolver.resolvePageClassNameToPageName(pageClass.getName());
 
-        return linkFactory.createPageRenderLink(pageName, override, context);
+        return linkFactory.createPageRenderLink(pageName, override, defaulted(context));
+    }
+
+    public Logger getEventLogger(Logger componentLogger)
+    {
+        String name = "tapestry.events." + componentLogger.getName();
+
+        return loggerSource.getLogger(name);
     }
 
     public String toClient(Object value)
@@ -106,8 +121,14 @@
         return contextValueEncoder.toClient(value);
     }
 
+
     public <T> T toValue(Class<T> requiredType, String clientValue)
     {
         return contextValueEncoder.toValue(requiredType, clientValue);
     }
+
+    private Object[] defaulted(Object[] context)
+    {
+        return context == null ? EMPTY : context;
+    }
 }

Copied: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesSourceImpl.java (from r712893, tapestry/tapestry5/branches/5.1-dev/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesSourceImpl.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesSourceImpl.java?p2=tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesSourceImpl.java&p1=tapestry/tapestry5/branches/5.1-dev/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesSourceImpl.java&r1=712893&r2=713131&rev=713131&view=diff
==============================================================================
--- tapestry/tapestry5/branches/5.1-dev/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesSourceImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesSourceImpl.java Tue Nov 11 11:45:25 2008
@@ -18,6 +18,7 @@
 import org.apache.tapestry5.internal.services.ComponentMessagesSource;
 import org.apache.tapestry5.internal.services.LinkFactory;
 import org.apache.tapestry5.internal.services.RequestPageCache;
+import org.apache.tapestry5.ioc.LoggerSource;
 import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
 import org.apache.tapestry5.ioc.internal.util.Defense;
 import org.apache.tapestry5.ioc.services.TypeCoercer;
@@ -45,12 +46,15 @@
 
     private final ComponentClassResolver componentClassResolver;
 
+    private final LoggerSource loggerSource;
+
     public ComponentPageElementResourcesSourceImpl(ComponentMessagesSource componentMessagesSource,
                                                    TypeCoercer typeCoercer,
                                                    ComponentClassCache componentClassCache,
                                                    ContextValueEncoder contextValueEncoder, LinkFactory linkFactory,
                                                    RequestPageCache requestPageCache,
-                                                   ComponentClassResolver componentClassResolver)
+                                                   ComponentClassResolver componentClassResolver,
+                                                   LoggerSource loggerSource)
     {
         this.componentMessagesSource = componentMessagesSource;
         this.typeCoercer = typeCoercer;
@@ -59,6 +63,7 @@
         this.linkFactory = linkFactory;
         this.requestPageCache = requestPageCache;
         this.componentClassResolver = componentClassResolver;
+        this.loggerSource = loggerSource;
     }
 
     public ComponentPageElementResources get(Locale locale)
@@ -72,7 +77,7 @@
             result = new ComponentPageElementResourcesImpl(locale, componentMessagesSource, typeCoercer,
                                                            componentClassCache,
                                                            contextValueEncoder, linkFactory, requestPageCache,
-                                                           componentClassResolver);
+                                                           componentClassResolver, loggerSource);
 
             // Small race condition here, where we may create two instances of the CPER for the same locale,
             // but that's not worth worrying about.

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/InternalComponentResourcesImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/InternalComponentResourcesImpl.java?rev=713131&r1=713130&r2=713131&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/InternalComponentResourcesImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/InternalComponentResourcesImpl.java Tue Nov 11 11:45:25 2008
@@ -57,7 +57,7 @@
 
     private final ComponentResources containerResources;
 
-    private final PageResources pageResources;
+    private final ComponentPageElementResources elementResources;
 
     // Case insensitive
     private Map<String, Binding> bindings;
@@ -70,14 +70,15 @@
     private static final Object[] EMPTY = new Object[0];
 
     public InternalComponentResourcesImpl(Page page, ComponentPageElement element,
-                                          ComponentResources containerResources, PageResources pageResources,
+                                          ComponentResources containerResources,
+                                          ComponentPageElementResources elementResources,
                                           String completeId, String nestedId, Instantiator componentInstantiator
     )
     {
         this.page = page;
         this.element = element;
         this.containerResources = containerResources;
-        this.pageResources = pageResources;
+        this.elementResources = elementResources;
         this.completeId = completeId;
         this.nestedId = nestedId;
 
@@ -121,35 +122,29 @@
         return getFieldChange(fieldName) != null;
     }
 
-    /**
-     * Delegates to the {@link Page#createComponentEventLink(String, String, boolean, Object[])} on the containing page.
-     * Uses the element's nested id (i.e., a mixin can generate a link, but the link targets the component, not the
-     * mixin itself). Why the extra layer? Trying to avoid some unwanted injection (of LinkFactory, into every component
-     * page element).
-     */
-    public Link createActionLink(String eventType, boolean forForm, Object... context)
+    public Link createEventLink(String eventType, Object... context)
     {
-        return page.createComponentEventLink(element.getNestedId(), eventType, forForm, defaulted(context));
+        return element.createEventLink(eventType, context);
     }
 
-    public Link createEventLink(String eventType, Object... context)
+    public Link createActionLink(String eventType, boolean forForm, Object... context)
     {
-        return page.createComponentEventLink(element.getNestedId(), eventType, false, defaulted(context));
+        return element.createActionLink(eventType, forForm, context);
     }
 
     public Link createFormEventLink(String eventType, Object... context)
     {
-        return page.createComponentEventLink(element.getNestedId(), eventType, true, defaulted(context));
+        return element.createFormEventLink(eventType, context);
     }
 
     public Link createPageLink(String pageName, boolean override, Object... context)
     {
-        return page.createPageRenderLink(pageName, override, defaulted(context));
+        return element.createPageLink(pageName, override, context);
     }
 
     public Link createPageLink(Class pageClass, boolean override, Object... context)
     {
-        return page.createPageRenderLink(pageClass, override, defaulted(context));
+        return element.createPageLink(pageClass, override, context);
     }
 
     public void discardPersistentFieldChanges()
@@ -283,7 +278,7 @@
 
             Object boundValue = b.get();
 
-            result = pageResources.coerce(boundValue, expectedType);
+            result = elementResources.coerce(boundValue, expectedType);
         }
         catch (Exception ex)
         {
@@ -310,7 +305,7 @@
 
     public Object readParameter(String parameterName, String desiredTypeName)
     {
-        Class parameterType = pageResources.toClass(desiredTypeName);
+        Class parameterType = elementResources.toClass(desiredTypeName);
 
         return readParameter(parameterName, parameterType);
     }
@@ -331,7 +326,7 @@
 
         try
         {
-            Object coerced = pageResources.coerce(parameterValue, bindingType);
+            Object coerced = elementResources.coerce(parameterValue, bindingType);
 
             b.set(coerced);
         }
@@ -383,7 +378,7 @@
 
             if (value instanceof Block) continue;
 
-            String valueString = pageResources.coerce(value, String.class);
+            String valueString = elementResources.coerce(value, String.class);
 
             writer.attributes(name, valueString);
         }
@@ -413,7 +408,7 @@
 
     public Messages getMessages()
     {
-        if (messages == null) messages = pageResources.getMessages(componentModel);
+        if (messages == null) messages = elementResources.getMessages(componentModel);
 
         return messages;
     }

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/Page.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/Page.java?rev=713131&r1=713130&r2=713131&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/Page.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/Page.java Tue Nov 11 11:45:25 2008
@@ -15,7 +15,6 @@
 package org.apache.tapestry5.internal.structure;
 
 import org.apache.tapestry5.ComponentResources;
-import org.apache.tapestry5.Link;
 import org.apache.tapestry5.runtime.Component;
 import org.apache.tapestry5.runtime.PageLifecycleListener;
 import org.slf4j.Logger;
@@ -113,27 +112,6 @@
     ComponentPageElement getComponentElementByNestedId(String nestedId);
 
     /**
-     * Creates a link that will trigger behavior in a component within the page.
-     *
-     * @see org.apache.tapestry5.ComponentResources#createEventLink(String, Object[])
-     */
-    Link createComponentEventLink(String nestedId, String eventType, boolean forForm, Object... context);
-
-    /**
-     * Creates a link to the named page.
-     *
-     * @see org.apache.tapestry5.ComponentResources#createPageLink(String, boolean, Object[])
-     */
-    Link createPageRenderLink(String pageName, boolean override, Object... context);
-
-    /**
-     * Creates a link to the named page.
-     *
-     * @see org.apache.tapestry5.ComponentResources#createPageLink(Class, boolean, Object[])
-     */
-    Link createPageRenderLink(Class pageClass, boolean override, Object... context);
-
-    /**
      * Posts a change to a persistent field.
      *
      * @param resources the component resources for the component or mixin containing the field whose value changed

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/PageImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/PageImpl.java?rev=713131&r1=713130&r2=713131&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/PageImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/PageImpl.java Tue Nov 11 11:45:25 2008
@@ -15,16 +15,12 @@
 package org.apache.tapestry5.internal.structure;
 
 import org.apache.tapestry5.ComponentResources;
-import org.apache.tapestry5.Link;
-import org.apache.tapestry5.internal.services.LinkFactory;
 import org.apache.tapestry5.internal.services.PersistentFieldManager;
 import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
-import org.apache.tapestry5.ioc.internal.util.Defense;
 import static org.apache.tapestry5.ioc.internal.util.Defense.notNull;
 import org.apache.tapestry5.ioc.internal.util.InternalUtils;
 import org.apache.tapestry5.runtime.Component;
 import org.apache.tapestry5.runtime.PageLifecycleListener;
-import org.apache.tapestry5.services.ComponentClassResolver;
 import org.apache.tapestry5.services.PersistentFieldBundle;
 import org.slf4j.Logger;
 
@@ -37,12 +33,8 @@
 
     private final Locale locale;
 
-    private final LinkFactory linkFactory;
-
     private final PersistentFieldManager persistentFieldManager;
 
-    private final ComponentClassResolver componentClassResolver;
-
     private ComponentPageElement rootElement;
 
     private final List<PageLifecycleListener> listeners = CollectionFactory.newList();
@@ -57,14 +49,11 @@
      */
     private PersistentFieldBundle fieldBundle;
 
-    public PageImpl(String logicalPageName, Locale locale, LinkFactory linkFactory,
-                    PersistentFieldManager persistentFieldManager, ComponentClassResolver componentClassResolver)
+    public PageImpl(String logicalPageName, Locale locale, PersistentFieldManager persistentFieldManager)
     {
         this.logicalPageName = logicalPageName;
         this.locale = locale;
-        this.linkFactory = linkFactory;
         this.persistentFieldManager = persistentFieldManager;
-        this.componentClassResolver = componentClassResolver;
     }
 
     @Override
@@ -147,11 +136,6 @@
         loadComplete = true;
     }
 
-    public boolean isLoadComplete()
-    {
-        return loadComplete;
-    }
-
     public void attached()
     {
         if (dirtyCount != 0) throw new IllegalStateException(StructureMessages.pageIsDirty(this));
@@ -165,25 +149,6 @@
         return rootElement.getLogger();
     }
 
-    public Link createComponentEventLink(String nestedId, String eventType, boolean forForm, Object... context)
-    {
-        return linkFactory.createComponentEventLink(this, nestedId, eventType, forForm, context);
-    }
-
-    public Link createPageRenderLink(String pageName, boolean override, Object... context)
-    {
-        return linkFactory.createPageRenderLink(pageName, override, context);
-    }
-
-    public Link createPageRenderLink(Class pageClass, boolean override, Object... context)
-    {
-        Defense.notNull(pageClass, "pageClass");
-
-        String pageName = componentClassResolver.resolvePageClassNameToPageName(pageClass.getName());
-
-        return linkFactory.createPageRenderLink(pageName, override, context);
-    }
-
     public void persistFieldChange(ComponentResources resources, String fieldName, Object newValue)
     {
         if (!loadComplete)

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/ComponentEventRequestFilter.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/ComponentEventRequestFilter.java?rev=713131&r1=713130&r2=713131&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/ComponentEventRequestFilter.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/ComponentEventRequestFilter.java Tue Nov 11 11:45:25 2008
@@ -17,11 +17,7 @@
 import java.io.IOException;
 
 /**
- * Filter interface for {@link ComponentEventRequestHandler}.
- *
- * @see org.apache.tapestry5.services.TapestryModule#contributeComponentEventRequestHandler(org.apache.tapestry5.ioc.OrderedConfiguration,
- *      org.apache.tapestry5.internal.services.RequestSecurityManager, ComponentEventRequestHandler,
- *      org.apache.tapestry5.ioc.ObjectLocator)
+ * Filter interface for {@link org.apache.tapestry5.services.ComponentEventRequestHandler}.
  */
 public interface ComponentEventRequestFilter
 {

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=713131&r1=713130&r2=713131&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 Tue Nov 11 11:45:25 2008
@@ -190,6 +190,8 @@
         binder.bind(BindingFactory.class, AssetBindingFactory.class).withId("AssetBindingFactory");
         binder.bind(BindingFactory.class, NullFieldStrategyBindingFactory.class).withId(
                 "NullFieldStrategyBindingFactory");
+        binder.bind(ApplicationStatePersistenceStrategy.class, SessionApplicationStatePersistenceStrategy.class).withId(
+                "SessionApplicationStatePersistenceStrategy");
         binder.bind(URLEncoder.class, URLEncoderImpl.class);
         binder.bind(ContextPathEncoder.class, ContextPathEncoderImpl.class);
     }
@@ -327,7 +329,7 @@
         // only have a single annotation, the order doesn't matter so much, as long as
         // UnclaimedField is last.
 
-        configuration.add("Cached", locator.autobuild(CachedWorker.class));
+        configuration.addInstance("Cached", CachedWorker.class);
 
         configuration.add("Meta", new MetaWorker());
 
@@ -340,7 +342,7 @@
         configuration.add("Mixin", new MixinWorker(resolver));
         configuration.add("OnEvent", new OnEventWorker());
         configuration.add("SupportsInformalParameters", new SupportsInformalParametersWorker());
-        configuration.add("InjectPage", locator.autobuild(InjectPageWorker.class));
+        configuration.addInstance("InjectPage", InjectPageWorker.class);
         configuration.add("InjectContainer", new InjectContainerWorker());
         configuration.add("InjectComponent", new InjectComponentWorker());
         configuration.add("RenderCommand", new RenderCommandWorker());
@@ -348,7 +350,7 @@
         // Default values for parameters are often some form of injection, so make sure
         // that Parameter fields are processed after injections.
 
-        configuration.add("Parameter", locator.autobuild(ParameterWorker.class), "after:Inject*");
+        configuration.addInstance("Parameter", ParameterWorker.class, "after:Inject*");
 
         // Workers for the component rendering state machine methods; this is in typical
         // execution order.
@@ -375,9 +377,9 @@
         configuration.add("Retain", new RetainWorker());
         configuration.add("Persist", new PersistWorker());
 
-        configuration.add("IncludeStylesheet", locator.autobuild(IncludeStylesheetWorker.class), "after:SetupRender");
-        configuration.add("IncludeJavaScriptLibrary", locator.autobuild(IncludeJavaScriptLibraryWorker.class),
-                          "after:SetupRender");
+        configuration.addInstance("IncludeStylesheet", IncludeStylesheetWorker.class, "after:SetupRender");
+        configuration.addInstance("IncludeJavaScriptLibrary", IncludeJavaScriptLibraryWorker.class,
+                                  "after:SetupRender");
 
         configuration.add("InvokePostRenderCleanupOnResources", new InvokePostRenderCleanupOnResourcesWorker());
 
@@ -386,11 +388,10 @@
         configuration.add("Property", new PropertyWorker());
 
         // These must come after Property, since they actually delete fields that may still have the annotation
-        configuration.add("ApplicationState", locator.autobuild(ApplicationStateWorker.class),
-                          "after:Property");
-        configuration.add("Environment", locator.autobuild(EnvironmentalWorker.class), "after:Property");
+        configuration.addInstance("ApplicationState", ApplicationStateWorker.class, "after:Property");
+        configuration.addInstance("Environment", EnvironmentalWorker.class, "after:Property");
 
-        configuration.add("Log", locator.autobuild(LogWorker.class));
+        configuration.addInstance("Log", LogWorker.class);
 
         // This one is always last. Any additional private fields that aren't annotated will
         // be converted to clear out at the end of the request.
@@ -596,9 +597,7 @@
 
                                          LocalizationSetter localizationSetter,
 
-                                         final EndOfRequestListenerHub endOfRequestListenerHub,
-
-                                         ObjectLocator locator)
+                                         final EndOfRequestListenerHub endOfRequestListenerHub)
     {
         RequestFilter staticFilesFilter = new StaticFilesFilter(context);
 
@@ -632,7 +631,7 @@
 
         configuration.add("StaticFiles", staticFilesFilter);
 
-        configuration.add("ErrorFilter", locator.autobuild(RequestErrorFilter.class));
+        configuration.addInstance("ErrorFilter", RequestErrorFilter.class);
 
         configuration.add("StoreIntoGlobals", storeIntoGlobals, "after:StaticFiles", "before:ErrorFilter");
 
@@ -1286,11 +1285,6 @@
         configuration.add("session", sessionStategy);
     }
 
-    public ApplicationStatePersistenceStrategy buildSessionApplicationStatePersistenceStrategy(ObjectLocator locator)
-    {
-        return locator.autobuild(SessionApplicationStatePersistenceStrategy.class);
-    }
-
     public void contributeAssetSource(MappedConfiguration<String, AssetFactory> configuration,
                                       @ContextProvider AssetFactory contextAssetFactory,
 
@@ -1311,12 +1305,9 @@
      * external URL</dd> </dl>
      */
     public void contributeComponentEventResultProcessor(
-
             @InjectService("ComponentInstanceResultProcessor")
             ComponentEventResultProcessor componentInstanceProcessor,
 
-            ObjectLocator locator,
-
             MappedConfiguration<Class, ComponentEventResultProcessor> configuration)
     {
         configuration.add(Link.class, new ComponentEventResultProcessor<Link>()
@@ -1335,13 +1326,13 @@
             }
         });
 
-        configuration.add(String.class, locator.autobuild(PageNameComponentEventResultProcessor.class));
+        configuration.addInstance(String.class, PageNameComponentEventResultProcessor.class);
 
-        configuration.add(Class.class, locator.autobuild(ClassResultProcessor.class));
+        configuration.addInstance(Class.class, ClassResultProcessor.class);
 
         configuration.add(Component.class, componentInstanceProcessor);
 
-        configuration.add(StreamResponse.class, locator.autobuild(StreamResponseResultProcessor.class));
+        configuration.addInstance(StreamResponse.class, StreamResponseResultProcessor.class);
     }
 
 
@@ -1358,17 +1349,17 @@
      * for that page</dd> </dl>
      */
 
-    public void contributeAjaxComponentEventResultProcessor(
-            MappedConfiguration<Class, ComponentEventResultProcessor> configuration, ObjectLocator locator)
+    public static void contributeAjaxComponentEventResultProcessor(
+            MappedConfiguration<Class, ComponentEventResultProcessor> configuration)
     {
-        configuration.add(RenderCommand.class, locator.autobuild(RenderCommandComponentEventResultProcessor.class));
-        configuration.add(Component.class, locator.autobuild(AjaxComponentInstanceEventResultProcessor.class));
-        configuration.add(JSONObject.class, locator.autobuild(JSONObjectEventResultProcessor.class));
-        configuration.add(JSONArray.class, locator.autobuild(JSONArrayEventResultProcessor.class));
-        configuration.add(StreamResponse.class, new StreamResponseResultProcessor(response));
-        configuration.add(String.class, locator.autobuild(AjaxPageNameComponentEventResultProcessor.class));
-        configuration.add(Link.class, locator.autobuild(AjaxLinkComponentEventResultProcessor.class));
-        configuration.add(Class.class, locator.autobuild(AjaxPageClassComponentEventResultProcessor.class));
+        configuration.addInstance(RenderCommand.class, RenderCommandComponentEventResultProcessor.class);
+        configuration.addInstance(Component.class, AjaxComponentInstanceEventResultProcessor.class);
+        configuration.addInstance(JSONObject.class, JSONObjectEventResultProcessor.class);
+        configuration.addInstance(JSONArray.class, JSONArrayEventResultProcessor.class);
+        configuration.addInstance(StreamResponse.class, StreamResponseResultProcessor.class);
+        configuration.addInstance(String.class, AjaxPageNameComponentEventResultProcessor.class);
+        configuration.addInstance(Link.class, AjaxLinkComponentEventResultProcessor.class);
+        configuration.addInstance(Class.class, AjaxPageClassComponentEventResultProcessor.class);
     }
 
     /**
@@ -1379,28 +1370,22 @@
      * PageRenderRequestHandler}</dd> <dt>ComponentEvent</dt> <dd>Identifies the {@link ComponentEventRequestParameters}
      * and forwards onto the {@link ComponentEventRequestHandler}</dd> </dl>
      */
-    public void contributeMasterDispatcher(OrderedConfiguration<Dispatcher> configuration,
-                                           ObjectLocator locator)
+    public static void contributeMasterDispatcher(OrderedConfiguration<Dispatcher> configuration)
     {
         // Looks for the root path and renders the start page. This is maintained for compatibility
         // with earlier versions of Tapestry 5, it is recommended that an Index page be used instead.
 
-        configuration.add("RootPath",
-                          locator.autobuild(RootPathDispatcher.class),
-                          "before:Asset");
+        configuration.addInstance("RootPath", RootPathDispatcher.class, "before:Asset");
 
         // This goes first because an asset to be streamed may have an file extension, such as
         // ".html", that will confuse the later dispatchers.
 
-        configuration.add("Asset",
-                          locator.autobuild(AssetDispatcher.class), "before:ComponentEvent");
+        configuration.addInstance("Asset", AssetDispatcher.class, "before:ComponentEvent");
 
 
-        configuration.add("ComponentEvent", locator.autobuild(ComponentEventDispatcher.class),
-                          "before:PageRender");
+        configuration.addInstance("ComponentEvent", ComponentEventDispatcher.class, "before:PageRender");
 
-        configuration.add("PageRender",
-                          locator.autobuild(PageRenderDispatcher.class));
+        configuration.addInstance("PageRender", PageRenderDispatcher.class);
     }
 
     /**
@@ -1413,9 +1398,7 @@
                                          @InjectService("LocationRenderer")
                                          ObjectRenderer locationRenderer,
 
-                                         final TypeCoercer typeCoercer,
-
-                                         ObjectLocator locator)
+                                         final TypeCoercer typeCoercer)
     {
         configuration.add(Object.class, new ObjectRenderer()
         {
@@ -1425,7 +1408,7 @@
             }
         });
 
-        configuration.add(Request.class, locator.autobuild(RequestRenderer.class));
+        configuration.addInstance(Request.class, RequestRenderer.class);
 
         configuration.add(Location.class, locationRenderer);
 
@@ -1441,10 +1424,10 @@
 
         configuration.add(ClassTransformation.class, preformatted);
 
-        configuration.add(List.class, locator.autobuild(ListRenderer.class));
-        configuration.add(Object[].class, locator.autobuild(ObjectArrayRenderer.class));
-        configuration.add(ComponentResources.class, locator.autobuild(ComponentResourcesRenderer.class));
-        configuration.add(EventContext.class, locator.autobuild(EventContextRenderer.class));
+        configuration.addInstance(List.class, ListRenderer.class);
+        configuration.addInstance(Object[].class, ObjectArrayRenderer.class);
+        configuration.addInstance(ComponentResources.class, ComponentResourcesRenderer.class);
+        configuration.addInstance(EventContext.class, EventContextRenderer.class);
     }
 
 
@@ -1747,10 +1730,9 @@
      * Contributes {@link ValueEncoderFactory}s for types: <ul> <li>Object <li>String <li>Enum </ul>
      */
     @SuppressWarnings("unchecked")
-    public static void contributeValueEncoderSource(MappedConfiguration<Class, ValueEncoderFactory> configuration,
-                                                    ObjectLocator locator)
+    public static void contributeValueEncoderSource(MappedConfiguration<Class, ValueEncoderFactory> configuration)
     {
-        configuration.add(Object.class, locator.autobuild(TypeCoercedValueEncoderFactory.class));
+        configuration.addInstance(Object.class, TypeCoercedValueEncoderFactory.class);
         configuration.add(String.class, GenericValueEncoderFactory.create(new StringValueEncoder()));
         configuration.add(Enum.class, new EnumValueEncoderFactory());
     }
@@ -2086,8 +2068,8 @@
      */
     public void contributeComponentEventRequestHandler(OrderedConfiguration<ComponentEventRequestFilter> configuration,
                                                        final RequestSecurityManager requestSecurityManager,
-                                                       @Ajax ComponentEventRequestHandler ajaxHandler,
-                                                       ObjectLocator locator)
+                                                       @Ajax ComponentEventRequestHandler ajaxHandler
+    )
     {
         ComponentEventRequestFilter secureFilter = new ComponentEventRequestFilter()
         {
@@ -2102,7 +2084,7 @@
 
         configuration.add("Ajax", new AjaxFilter(request, ajaxHandler));
 
-        configuration.add("ImmediateRender", locator.autobuild(ImmediateActionRenderResponseFilter.class));
+        configuration.addInstance("ImmediateRender", ImmediateActionRenderResponseFilter.class);
 
         configuration.add("Secure", secureFilter, "before:Ajax");
     }

Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentEventImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentEventImplTest.java?rev=713131&r1=713130&r2=713131&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentEventImplTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentEventImplTest.java Tue Nov 11 11:45:25 2008
@@ -17,7 +17,7 @@
 import org.apache.tapestry5.ComponentEventCallback;
 import org.apache.tapestry5.EventContext;
 import org.apache.tapestry5.TapestryMarkers;
-import org.apache.tapestry5.internal.structure.PageResources;
+import org.apache.tapestry5.internal.structure.ComponentPageElementResources;
 import org.apache.tapestry5.internal.test.InternalBaseTestCase;
 import org.apache.tapestry5.ioc.services.TypeCoercer;
 import org.apache.tapestry5.runtime.ComponentEvent;
@@ -120,7 +120,7 @@
     public void coerce_context()
     {
         ComponentEventCallback handler = mockComponentEventHandler();
-        PageResources resources = mockPageResources();
+        ComponentPageElementResources resources = mockComponentPageElementResources();
         EventContext context = mockEventContext();
         Integer value = new Integer(27);
 
@@ -173,7 +173,7 @@
     {
         ComponentEventCallback handler = mockComponentEventHandler();
         EventContext context = mockEventContext();
-        PageResources resources = mockPageResources();
+        ComponentPageElementResources resources = mockComponentPageElementResources();
         Logger logger = mockLogger();
 
         logger.debug(eq(TapestryMarkers.EVENT_HANDLER_METHOD), isA(String.class), isA(String.class));

Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/PageLoaderImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/PageLoaderImplTest.java?rev=713131&r1=713130&r2=713131&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/PageLoaderImplTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/PageLoaderImplTest.java Tue Nov 11 11:45:25 2008
@@ -82,7 +82,7 @@
 
         replay();
 
-        PageLoader loader = new PageLoaderImpl(templateSource, elementFactory, null, null, resolver);
+        PageLoader loader = new PageLoaderImpl(templateSource, elementFactory, null, resolver);
 
         try
         {
@@ -138,7 +138,7 @@
 
         replay();
 
-        PageLoader loader = new PageLoaderImpl(templateSource, elementFactory, null, null, resolver);
+        PageLoader loader = new PageLoaderImpl(templateSource, elementFactory, null, resolver);
 
         try
         {

Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/structure/ComponentPageElementImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/structure/ComponentPageElementImplTest.java?rev=713131&r1=713130&r2=713131&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/structure/ComponentPageElementImplTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/structure/ComponentPageElementImplTest.java Tue Nov 11 11:45:25 2008
@@ -330,7 +330,7 @@
         Component component = mockComponent();
         ComponentModel model = mockComponentModel();
         Binding binding = mockBinding();
-        PageResources resources = mockPageResources();
+        ComponentPageElementResources resources = mockComponentPageElementResources();
         Logger logger = mockLogger();
 
         train_getLogger(model, logger);
@@ -365,7 +365,7 @@
         Page page = newPage(PAGE_NAME);
         Component component = mockComponent();
         ComponentModel model = mockComponentModel();
-        PageResources resources = mockPageResources();
+        ComponentPageElementResources resources = mockComponentPageElementResources();
         Binding binding = mockBinding();
         Logger logger = mockLogger();
 

Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/structure/InternalComponentResourcesImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/structure/InternalComponentResourcesImplTest.java?rev=713131&r1=713130&r2=713131&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/structure/InternalComponentResourcesImplTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/structure/InternalComponentResourcesImplTest.java Tue Nov 11 11:45:25 2008
@@ -89,7 +89,7 @@
         Binding binding = mockBinding();
         Object rawValue = new Object();
         String convertedValue = "*converted*";
-        PageResources pageResources = mockPageResources();
+        ComponentPageElementResources componentPageElementResources = mockComponentPageElementResources();
 
         train_getModel(ins, model);
 
@@ -97,13 +97,14 @@
 
         train_get(binding, rawValue);
 
-        train_coerce(pageResources, rawValue, String.class, convertedValue);
+        train_coerce(componentPageElementResources, rawValue, String.class, convertedValue);
 
         writer.attributes("fred", convertedValue);
 
         replay();
 
-        InternalComponentResources resources = new InternalComponentResourcesImpl(null, element, null, pageResources,
+        InternalComponentResources resources = new InternalComponentResourcesImpl(null, element, null,
+                                                                                  componentPageElementResources,
                                                                                   null, null, ins);
 
         resources.bindParameter("fred", binding);

Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/structure/PageImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/structure/PageImplTest.java?rev=713131&r1=713130&r2=713131&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/structure/PageImplTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/structure/PageImplTest.java Tue Nov 11 11:45:25 2008
@@ -1,4 +1,4 @@
-// Copyright 2006, 2007 The Apache Software Foundation
+// Copyright 2006, 2007, 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.
@@ -36,7 +36,7 @@
 
         replay();
 
-        Page page = new PageImpl(LOGICAL_PAGE_NAME, locale, null, null, null);
+        Page page = new PageImpl(LOGICAL_PAGE_NAME, locale, null);
 
         assertNull(page.getRootElement());
 
@@ -60,7 +60,7 @@
 
         replay();
 
-        Page page = new PageImpl(null, locale, null, null, null);
+        Page page = new PageImpl(null, locale, null);
 
         page.addLifecycleListener(listener1);
         page.addLifecycleListener(listener2);
@@ -82,7 +82,7 @@
 
         replay();
 
-        Page page = new PageImpl(null, locale, null, null, null);
+        Page page = new PageImpl(null, locale, null);
 
         page.addLifecycleListener(listener);
 
@@ -116,7 +116,7 @@
 
         replay();
 
-        Page page = new PageImpl(null, locale, null, null, null);
+        Page page = new PageImpl(null, locale, null);
         page.setRootElement(element);
 
         page.addLifecycleListener(listener1);
@@ -144,7 +144,7 @@
 
         replay();
 
-        Page page = new PageImpl(null, locale, null, null, null);
+        Page page = new PageImpl(null, locale, null);
 
         page.addLifecycleListener(listener1);
         page.addLifecycleListener(listener2);
@@ -170,7 +170,7 @@
 
         replay();
 
-        Page page = new PageImpl(LOGICAL_PAGE_NAME, locale, null, null, null);
+        Page page = new PageImpl(LOGICAL_PAGE_NAME, locale, null);
 
         page.addLifecycleListener(listener1);
         page.addLifecycleListener(listener2);
@@ -187,7 +187,7 @@
 
         replay();
 
-        Page page = new PageImpl(LOGICAL_PAGE_NAME, locale, null, null, null);
+        Page page = new PageImpl(LOGICAL_PAGE_NAME, locale, null);
 
         page.setRootElement(root);
 

Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/test/InternalBaseTestCase.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/test/InternalBaseTestCase.java?rev=713131&r1=713130&r2=713131&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/test/InternalBaseTestCase.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/test/InternalBaseTestCase.java Tue Nov 11 11:45:25 2008
@@ -21,9 +21,9 @@
 import org.apache.tapestry5.internal.parser.TemplateToken;
 import org.apache.tapestry5.internal.services.*;
 import org.apache.tapestry5.internal.structure.ComponentPageElement;
+import org.apache.tapestry5.internal.structure.ComponentPageElementResources;
 import org.apache.tapestry5.internal.structure.Page;
 import org.apache.tapestry5.internal.structure.PageElement;
-import org.apache.tapestry5.internal.structure.PageResources;
 import org.apache.tapestry5.ioc.*;
 import org.apache.tapestry5.ioc.def.ContributionDef;
 import org.apache.tapestry5.ioc.def.ModuleDef;
@@ -574,20 +574,21 @@
         expect(queue.getRenderingPage()).andReturn(page);
     }
 
-    protected final PageResources mockPageResources()
+    protected final ComponentPageElementResources mockComponentPageElementResources()
     {
-        return newMock(PageResources.class);
+        return newMock(ComponentPageElementResources.class);
     }
 
-    protected final void train_toClass(PageResources resources, String className, Class toClass)
+    protected final void train_toClass(ComponentPageElementResources resources, String className, Class toClass)
     {
         expect(resources.toClass(className)).andReturn(toClass).atLeastOnce();
     }
 
-    protected final <S, T> void train_coerce(PageResources pageResources, S input, Class<T> expectedType,
+    protected final <S, T> void train_coerce(ComponentPageElementResources componentPageElementResources, S input,
+                                             Class<T> expectedType,
                                              T coercedValue)
     {
-        expect(pageResources.coerce(input, expectedType)).andReturn(coercedValue);
+        expect(componentPageElementResources.coerce(input, expectedType)).andReturn(coercedValue);
     }
 
     protected final EventContext mockEventContext()

Modified: tapestry/tapestry5/trunk/tapestry-hibernate/pom.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-hibernate/pom.xml?rev=713131&r1=713130&r2=713131&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-hibernate/pom.xml (original)
+++ tapestry/tapestry5/trunk/tapestry-hibernate/pom.xml Tue Nov 11 11:45:25 2008
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.apache.tapestry</groupId>
         <artifactId>tapestry-project</artifactId>
-        <version>5.0.16</version>
+        <version>5.1.0.0-SNAPSHOT</version>
     </parent>
     <inceptionYear>2007</inceptionYear>