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 2006/11/06 00:15:43 UTC

svn commit: r471565 [1/2] - in /tapestry/tapestry5/tapestry-core/trunk/src: main/java/org/apache/tapestry/ main/java/org/apache/tapestry/corelib/components/ main/java/org/apache/tapestry/internal/ main/java/org/apache/tapestry/internal/services/ main/j...

Author: hlship
Date: Sun Nov  5 15:15:41 2006
New Revision: 471565

URL: http://svn.apache.org/viewvc?view=rev&rev=471565
Log:
Rename ComponentLifecycle interface to just Component.
Minor efficiency improvements for component rendering.

Added:
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/ComponentCallback.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/runtime/Component.java
      - copied, changed from r471051, tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/runtime/ComponentLifecycle.java
Removed:
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/runtime/ComponentLifecycle.java
Modified:
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/ComponentResources.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/ComponentResourcesCommon.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/Form.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/FormSupportImpl.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/InternalComponentResourcesCommon.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/ComponentEventImpl.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/ComponentLifecycleMethodWorker.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/ComponentSourceImpl.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/Instantiator.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/InternalClassTransformationImpl.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/OnEventWorker.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/PersistWorker.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/ReflectiveInstantiator.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/ComponentPageElement.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/ComponentPageElementImpl.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/InternalComponentResourcesImpl.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/Page.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/PageElement.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/PageImpl.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/test/InternalBaseTestCase.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/model/MutableComponentModel.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/runtime/ComponentEvent.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/runtime/ComponentResourcesAware.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/runtime/RenderCommand.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/services/ComponentSource.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/services/TransformConstants.java
    tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/bindings/DefaultComponentLifecyle.java
    tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/bindings/PropBindingFactoryTest.java
    tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/ComponentEventImplTest.java
    tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/ComponentInstantiatorSourceImplTest.java
    tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/ComponentSourceImplTest.java
    tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/InternalClassTransformationImplTest.java
    tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/OnEventWorkerTest.java
    tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/ParameterWorkerTest.java
    tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/structure/ComponentPageElementImplTest.java

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/ComponentResources.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/ComponentResources.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/ComponentResources.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/ComponentResources.java Sun Nov  5 15:15:41 2006
@@ -15,7 +15,7 @@
 package org.apache.tapestry;
 
 import org.apache.tapestry.model.ComponentModel;
-import org.apache.tapestry.runtime.ComponentLifecycle;
+import org.apache.tapestry.runtime.Component;
 
 /**
  * Provides a component instance with the resources provided by the framework. In many
@@ -32,14 +32,14 @@
     /**
      * Returns the component this object provides resources for.
      */
-    ComponentLifecycle getComponent();
+    Component getComponent();
 
     /**
      * Returns the page that contains this component. Technically, the page itself is an internal
      * object in Tapestry and this returns the root component of the actual page, but from an
      * application developer point of view, this is the page.
      */
-    ComponentLifecycle getPage();
+    Component getPage();
 
     /**
      * Returns an embedded component, given the component's id.
@@ -48,7 +48,7 @@
      *             if this component does not contain a component with the given id
      */
 
-    ComponentLifecycle getEmbeddedComponent(String embeddedId);
+    Component getEmbeddedComponent(String embeddedId);
 
     /** Returns true if the named parameter is bound, false if not. */
     boolean isBound(String parameterName);

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/ComponentResourcesCommon.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/ComponentResourcesCommon.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/ComponentResourcesCommon.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/ComponentResourcesCommon.java Sun Nov  5 15:15:41 2006
@@ -64,7 +64,7 @@
     String getCompleteId();
 
     /**
-     * Triggers a component event. A search for a event handling method will occur, first in the
+     * Triggers a component event. A search for an event handling method will occur, first in the
      * component, then its container, and so on.
      * 
      * @param eventType

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/Form.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/Form.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/Form.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/Form.java Sun Nov  5 15:15:41 2006
@@ -36,7 +36,7 @@
 import org.apache.tapestry.internal.util.AcceptVoidEventHandler;
 import org.apache.tapestry.internal.util.Base64ObjectInputStream;
 import org.apache.tapestry.internal.util.Base64ObjectOutputStream;
-import org.apache.tapestry.runtime.ComponentLifecycle;
+import org.apache.tapestry.runtime.Component;
 import org.apache.tapestry.services.ComponentSource;
 import org.apache.tapestry.services.Environment;
 import org.apache.tapestry.services.FormSupport;
@@ -189,7 +189,7 @@
                 String componentId = ois.readUTF();
                 ComponentAction action = (ComponentAction) ois.readObject();
 
-                ComponentLifecycle component = _source.getComponent(componentId);
+                Component component = _source.getComponent(componentId);
 
                 action.execute(component);
             }

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/FormSupportImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/FormSupportImpl.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/FormSupportImpl.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/FormSupportImpl.java Sun Nov  5 15:15:41 2006
@@ -24,7 +24,7 @@
 import java.io.ObjectOutputStream;
 
 import org.apache.tapestry.ComponentAction;
-import org.apache.tapestry.runtime.ComponentLifecycle;
+import org.apache.tapestry.runtime.Component;
 import org.apache.tapestry.services.FormSupport;
 import org.apache.tapestry.util.IdAllocator;
 
@@ -46,10 +46,10 @@
 
     public <T> void store(T component, ComponentAction<T> action)
     {
-        ComponentLifecycle lifecycle = cast(component, ComponentLifecycle.class, "component");
+        Component castComponent = cast(component, Component.class, "component");
         notNull(action, "action");
 
-        String completeId = lifecycle.getComponentResources().getCompleteId();
+        String completeId = castComponent.getComponentResources().getCompleteId();
 
         try
         {

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/InternalComponentResourcesCommon.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/InternalComponentResourcesCommon.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/InternalComponentResourcesCommon.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/InternalComponentResourcesCommon.java Sun Nov  5 15:15:41 2006
@@ -17,7 +17,7 @@
 import org.apache.tapestry.Binding;
 import org.apache.tapestry.internal.structure.ComponentPageElement;
 import org.apache.tapestry.internal.structure.Page;
-import org.apache.tapestry.runtime.ComponentLifecycle;
+import org.apache.tapestry.runtime.Component;
 import org.apache.tapestry.services.PersistentFieldManager;
 
 /**
@@ -39,10 +39,10 @@
     /**
      * Posts a change to a persistent field. If the component is still loading, then this change is
      * ignored. Otherwise, it is propogated, via the
-     * {@link Page#postFieldChange(org.apache.tapestry.internal.structure.ComponentPageElement, String, Object) page}
+     * {@link Page#persistFieldChange(org.apache.tapestry.internal.structure.ComponentPageElement, String, Object) page}
      * to the {@link PersistentFieldManager}.
      */
-    void postFieldChange(String fieldName, Object newValue);
+    void persistFieldChange(String fieldName, Object newValue);
 
     /** Checks to see if there is a value stored for the indicated field. */
     boolean hasFieldChange(String fieldName);
@@ -68,5 +68,5 @@
      *            fully qualified class name
      * @return IllegalArgumentException if no such mixin is associated with the core component
      */
-    ComponentLifecycle getMixinByClassName(String mixinClassName);
+    Component getMixinByClassName(String mixinClassName);
 }

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/ComponentEventImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/ComponentEventImpl.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/ComponentEventImpl.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/ComponentEventImpl.java Sun Nov  5 15:15:41 2006
@@ -36,6 +36,8 @@
 
     private boolean _aborted;
 
+    private String _methodDescription;
+
     /**
      * @param eventType
      *            non blank string used to identify the type of event that was triggered
@@ -94,21 +96,25 @@
         return false;
     }
 
-    public boolean storeResult(Object result, String methodDescription)
+    public void setMethod(String methodDescription)
     {
-        // Given that this method is *only* invoked from code
+        _methodDescription = methodDescription;
+    }
+
+    public boolean storeResult(Object result)
+    { // Given that this method is *only* invoked from code
         // that is generated at runtime and proven to be correct,
         // this should never, ever happen. But what the hell,
         // let's check anyway.
 
         if (_aborted)
             throw new IllegalStateException(ServicesMessages
-                    .componentEventIsAborted(methodDescription));
+                    .componentEventIsAborted(_methodDescription));
 
         if (result == null)
             return false;
 
-        _handler.handleResult(result, methodDescription);
+        _handler.handleResult(result, _methodDescription);
 
         _aborted = true;
 
@@ -116,11 +122,11 @@
     }
 
     @SuppressWarnings("unchecked")
-    public Object coerceContext(int index, String desiredTypeName, String methodDescription)
+    public Object coerceContext(int index, String desiredTypeName)
     {
         if (index >= _contextLength)
             throw new IllegalArgumentException(ServicesMessages
-                    .contextIndexOutOfRange(methodDescription));
+                    .contextIndexOutOfRange(_methodDescription));
 
         try
         {
@@ -131,7 +137,7 @@
         catch (Exception ex)
         {
             throw new IllegalArgumentException(ServicesMessages.exceptionInMethodParameter(
-                    methodDescription,
+                    _methodDescription,
                     index,
                     ex), ex);
         }

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/ComponentLifecycleMethodWorker.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/ComponentLifecycleMethodWorker.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/ComponentLifecycleMethodWorker.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/ComponentLifecycleMethodWorker.java Sun Nov  5 15:15:41 2006
@@ -28,7 +28,7 @@
 import org.apache.tapestry.util.MethodInvocationBuilder;
 
 /**
- * Converts one of the methods of {@link org.apache.tapestry.runtime.ComponentLifecycle} into a
+ * Converts one of the methods of {@link org.apache.tapestry.runtime.Component} into a
  * chain of command that, itself, invokes certain methods marked with an annotation.
  */
 public class ComponentLifecycleMethodWorker implements ComponentClassTransformWorker

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/ComponentSourceImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/ComponentSourceImpl.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/ComponentSourceImpl.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/ComponentSourceImpl.java Sun Nov  5 15:15:41 2006
@@ -15,7 +15,7 @@
 package org.apache.tapestry.internal.services;
 
 import org.apache.tapestry.internal.structure.Page;
-import org.apache.tapestry.runtime.ComponentLifecycle;
+import org.apache.tapestry.runtime.Component;
 import org.apache.tapestry.services.ComponentSource;
 
 public class ComponentSourceImpl implements ComponentSource
@@ -27,7 +27,7 @@
         _pageCache = pageCache;
     }
 
-    public ComponentLifecycle getComponent(String componentId)
+    public Component getComponent(String componentId)
     {
         int colonx = componentId.indexOf(':');
 

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/Instantiator.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/Instantiator.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/Instantiator.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/Instantiator.java Sun Nov  5 15:15:41 2006
@@ -16,7 +16,7 @@
 
 import org.apache.tapestry.internal.InternalComponentResources;
 import org.apache.tapestry.model.ComponentModel;
-import org.apache.tapestry.runtime.ComponentLifecycle;
+import org.apache.tapestry.runtime.Component;
 
 /**
  * An object that can instantiate a component. This is used with transformed classes, in which the
@@ -28,10 +28,10 @@
 {
     /**
      * Instantiates and returns a new instance of the desired class. Component classes are always
-     * modified so that they implement {@link ComponentLifecycle} (and often, other interfaces as
+     * modified so that they implement {@link Component} (and often, other interfaces as
      * well).
      */
-    ComponentLifecycle newInstance(InternalComponentResources resources);
+    Component newInstance(InternalComponentResources resources);
 
     /** Returns the model that defines the behavior of the component. */
     ComponentModel getModel();

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/InternalClassTransformationImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/InternalClassTransformationImpl.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/InternalClassTransformationImpl.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/InternalClassTransformationImpl.java Sun Nov  5 15:15:41 2006
@@ -48,7 +48,7 @@
 import org.apache.tapestry.internal.InternalComponentResources;
 import org.apache.tapestry.internal.util.InternalUtils;
 import org.apache.tapestry.model.ComponentModel;
-import org.apache.tapestry.runtime.ComponentLifecycle;
+import org.apache.tapestry.runtime.Component;
 import org.apache.tapestry.services.MethodSignature;
 import org.apache.tapestry.services.TransformUtils;
 import org.apache.tapestry.util.CollectionFactory;
@@ -141,7 +141,7 @@
         _constructorArgs = newList();
         _constructor.append("{\n");
 
-        addImplementedInterface(ComponentLifecycle.class);
+        addImplementedInterface(Component.class);
 
         _resourcesFieldName = addInjectedFieldUncached(
                 InternalComponentResources.class,

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/OnEventWorker.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/OnEventWorker.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/OnEventWorker.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/OnEventWorker.java Sun Nov  5 15:15:41 2006
@@ -18,7 +18,7 @@
 
 import org.apache.tapestry.annotations.OnEvent;
 import org.apache.tapestry.model.MutableComponentModel;
-import org.apache.tapestry.runtime.ComponentLifecycle;
+import org.apache.tapestry.runtime.Component;
 import org.apache.tapestry.services.ClassTransformation;
 import org.apache.tapestry.services.ComponentClassTransformWorker;
 import org.apache.tapestry.services.MethodSignature;
@@ -28,8 +28,8 @@
 
 /**
  * Provides implementations of the
- * {@link ComponentLifecycle#handleComponentEvent(org.apache.tapestry.runtime.ComponentEvent)}
- * method, based on {@link OnEvent} annotations.
+ * {@link Component#handleComponentEvent(org.apache.tapestry.runtime.ComponentEvent)} method, based
+ * on {@link OnEvent} annotations.
  */
 public class OnEventWorker implements ComponentClassTransformWorker
 {
@@ -46,7 +46,6 @@
         builder.begin();
 
         builder.addln("if ($1.isAborted()) return $_;");
-        builder.addln("String methodName = null;");
 
         for (MethodSignature method : methods)
             addCodeForMethod(builder, method, transformation);
@@ -103,7 +102,7 @@
 
         // Several subsequent calls need to know the method name.
 
-        builder.addln("methodName = \"%s.%s\";", transformation.getClassName(), method
+        builder.addln("$1.setMethod(\"%s.%s\");", transformation.getClassName(), method
                 .getMediumDescription());
 
         boolean isNonVoid = !method.getReturnType().equals("void");
@@ -122,7 +121,7 @@
         }
 
         if (isNonVoid)
-            builder.addln("), methodName) return;");
+            builder.addln(")) return;");
         else
             builder.addln(");");
 
@@ -145,7 +144,7 @@
         // of constructor parameters pretty dramatically, however, and will reduce
         // the readability of the output method bodies.
 
-        builder.add("$1.coerceContext(%d, \"%s\", methodName)", index, wrapperType);
+        builder.add("$1.coerceContext(%d, \"%s\")", index, wrapperType);
 
         // and invoke a method on the cast value to get back to primitive
         if (isPrimitive)

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/PersistWorker.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/PersistWorker.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/PersistWorker.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/PersistWorker.java Sun Nov  5 15:15:41 2006
@@ -88,7 +88,7 @@
         BodyBuilder builder = new BodyBuilder();
 
         builder.begin();
-        builder.addln("%s.postFieldChange(\"%s\", ($w) $1);", resourcesFieldName, logicalFieldName);
+        builder.addln("%s.persistFieldChange(\"%s\", ($w) $1);", resourcesFieldName, logicalFieldName);
         builder.addln("%s = $1;", fieldName);
         builder.end();
 

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/ReflectiveInstantiator.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/ReflectiveInstantiator.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/ReflectiveInstantiator.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/ReflectiveInstantiator.java Sun Nov  5 15:15:41 2006
@@ -18,7 +18,7 @@
 
 import org.apache.tapestry.internal.InternalComponentResources;
 import org.apache.tapestry.model.ComponentModel;
-import org.apache.tapestry.runtime.ComponentLifecycle;
+import org.apache.tapestry.runtime.Component;
 
 /**
  * Implementation of {@link Instantiator} based on a class, a list of parameters to the class'
@@ -71,7 +71,7 @@
         throw new RuntimeException(ServicesMessages.noConstructorFound(instanceClass));
     }
 
-    public ComponentLifecycle newInstance(InternalComponentResources resources)
+    public Component newInstance(InternalComponentResources resources)
     {
         // Hm. Is it faster to clone the parameters, or to synchronize this method?
 
@@ -81,7 +81,7 @@
 
         try
         {
-            return (ComponentLifecycle) _constructor.newInstance(parameters);
+            return (Component) _constructor.newInstance(parameters);
         }
         catch (Exception ex)
         {

Added: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/ComponentCallback.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/ComponentCallback.java?view=auto&rev=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/ComponentCallback.java (added)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/ComponentCallback.java Sun Nov  5 15:15:41 2006
@@ -0,0 +1,12 @@
+package org.apache.tapestry.internal.structure;
+
+import org.apache.tapestry.runtime.Component;
+
+/** Callback interface, used when invoking lifecycle methods on components. */
+public interface ComponentCallback
+{
+    /**
+     * Callback method, passed a component to operate upon.
+     */
+    void run(Component component);
+}

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/ComponentPageElement.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/ComponentPageElement.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/ComponentPageElement.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/ComponentPageElement.java Sun Nov  5 15:15:41 2006
@@ -19,7 +19,7 @@
 import org.apache.tapestry.internal.InternalComponentResourcesCommon;
 import org.apache.tapestry.internal.services.Instantiator;
 import org.apache.tapestry.runtime.ComponentEvent;
-import org.apache.tapestry.runtime.ComponentLifecycle;
+import org.apache.tapestry.runtime.Component;
 import org.apache.tapestry.runtime.RenderCommand;
 import org.apache.tapestry.runtime.RenderQueue;
 
@@ -34,7 +34,7 @@
      * Returns the core component associated with this page element (as opposed to any mixins
      * attached to the component).
      */
-    ComponentLifecycle getComponent();
+    Component getComponent();
 
     /** Returns the resources associated with the core component. */
     InternalComponentResources getComponentResources();
@@ -94,7 +94,7 @@
 
     /**
      * Asks each mixin and component to
-     * {@link ComponentLifecycle#handleComponentEvent(ComponentEvent)}, returning true if any
+     * {@link Component#handleComponentEvent(ComponentEvent)}, returning true if any
      * handler was found.
      * 
      * @param event

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/ComponentPageElementImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/ComponentPageElementImpl.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/ComponentPageElementImpl.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/ComponentPageElementImpl.java Sun Nov  5 15:15:41 2006
@@ -38,7 +38,7 @@
 import org.apache.tapestry.model.ComponentModel;
 import org.apache.tapestry.model.ParameterModel;
 import org.apache.tapestry.runtime.ComponentEvent;
-import org.apache.tapestry.runtime.ComponentLifecycle;
+import org.apache.tapestry.runtime.Component;
 import org.apache.tapestry.runtime.LifecycleEvent;
 import org.apache.tapestry.runtime.PageLifecycleListener;
 import org.apache.tapestry.runtime.RenderCommand;
@@ -48,7 +48,7 @@
  * Implements {@link org.apache.tapestry.internal.structure.PageElement} and
  * {@link org.apache.tapestry.internal.InternalComponentResources}, and represents a component
  * within an overall page. Much of a component page element's behavior is delegated to user code,
- * via a {@link org.apache.tapestry.runtime.ComponentLifecycle} instance.
+ * via a {@link org.apache.tapestry.runtime.Component} instance.
  * <p>
  * Once instantiated, a ComponentPageElementImpl should be registered as a
  * {@link org.apache.tapestry.runtime.PageLifecycleListener} with the containing
@@ -80,7 +80,7 @@
     private final Log _log;
 
     // The user-provided class, with runtime code enhancements.
-    private final ComponentLifecycle _component;
+    private final Component _component;
 
     private final InternalComponentResources _coreResources;
 
@@ -99,7 +99,7 @@
      * Component lifecycle instances for all mixins; the core component is added to this list during
      * page load.
      */
-    private final List<ComponentLifecycle> _components = newList();
+    private final List<Component> _components = newList();
 
     /**
      * Constructor for the root component of a page.
@@ -107,7 +107,6 @@
     public ComponentPageElementImpl(Page page, Instantiator instantiator, TypeCoercer typeCoercer)
     {
         this(page, null, null, instantiator, typeCoercer, null);
-
     }
 
     /**
@@ -195,7 +194,7 @@
         return _container;
     }
 
-    public ComponentLifecycle getPage()
+    public Component getPage()
     {
         return _page.getRootElement().getComponent();
     }
@@ -273,7 +272,7 @@
         _children.put(childId, child);
     }
 
-    public ComponentLifecycle getEmbeddedComponent(String embeddedId)
+    public Component getEmbeddedComponent(String embeddedId)
     {
         return getEmbeddedElement(embeddedId).getComponent();
     }
@@ -300,7 +299,7 @@
 
             LifecycleEvent<Boolean> event = newEvent(true);
 
-            for (ComponentLifecycle component : _components)
+            for (Component component : _components)
                 component.setupRender(writer, event);
 
             // Here's the problem: if an exception gets thrown during rendering, then
@@ -326,12 +325,19 @@
 
     private final RenderCommand _beginRender = new RenderCommand()
     {
-        public void render(MarkupWriter writer, RenderQueue queue)
+        public void render(final MarkupWriter writer, final RenderQueue queue)
         {
-            LifecycleEvent<Boolean> event = newEvent(true);
+            final LifecycleEvent<Boolean> event = newEvent(true);
+
+            ComponentCallback callback = new ComponentCallback()
+            {
+                public void run(Component component)
+                {
+                    component.beginRender(writer, event);
+                }
+            };
 
-            for (ComponentLifecycle component : _components)
-                component.beginRender(writer, event);
+            invoke(false, callback);
 
             // If the component has no template whatsoever, then a
             // renderBody element is added as the lone element of the component's template.
@@ -353,12 +359,19 @@
 
     private final RenderCommand _beforeRenderTemplate = new RenderCommand()
     {
-        public void render(MarkupWriter writer, RenderQueue queue)
+        public void render(final MarkupWriter writer, final RenderQueue queue)
         {
-            LifecycleEvent<Boolean> event = newEvent(true);
+            final LifecycleEvent<Boolean> event = newEvent(true);
+
+            ComponentCallback callback = new ComponentCallback()
+            {
+                public void run(Component component)
+                {
+                    component.beforeRenderTemplate(writer, event);
+                }
+            };
 
-            for (ComponentLifecycle component : _components)
-                component.beforeRenderTemplate(writer, event);
+            invoke(false, callback);
 
             queue.push(_afterRenderTemplate);
 
@@ -375,14 +388,19 @@
 
     private final RenderCommand _afterRenderTemplate = new RenderCommand()
     {
-        public void render(MarkupWriter writer, RenderQueue queue)
+        public void render(final MarkupWriter writer, final RenderQueue queue)
         {
-            LifecycleEvent<Boolean> event = newEvent(false);
+            final LifecycleEvent<Boolean> event = newEvent(false);
 
-            Iterator<ComponentLifecycle> i = InternalUtils.reverseIterator(_components);
+            ComponentCallback callback = new ComponentCallback()
+            {
+                public void run(Component component)
+                {
+                    component.afterRenderTemplate(writer, event);
+                }
+            };
 
-            while (i.hasNext())
-                i.next().afterRenderTemplate(writer, event);
+            invoke(true, callback);
 
             if (event.getResult())
                 queue.push(_beforeRenderTemplate);
@@ -397,13 +415,19 @@
 
     private final RenderCommand _beforeRenderBody = new RenderCommand()
     {
-
-        public void render(MarkupWriter writer, RenderQueue queue)
+        public void render(final MarkupWriter writer, RenderQueue queue)
         {
-            LifecycleEvent<Boolean> event = newEvent(true);
+            final LifecycleEvent<Boolean> event = newEvent(true);
+
+            ComponentCallback callback = new ComponentCallback()
+            {
+                public void run(Component component)
+                {
+                    component.beforeRenderBody(writer, event);
+                }
+            };
 
-            for (ComponentLifecycle component : _components)
-                component.beforeRenderBody(writer, event);
+            invoke(false, callback);
 
             queue.push(_afterRenderBody);
 
@@ -421,14 +445,19 @@
 
     private final RenderCommand _afterRenderBody = new RenderCommand()
     {
-        public void render(MarkupWriter writer, RenderQueue queue)
+        public void render(final MarkupWriter writer, RenderQueue queue)
         {
-            LifecycleEvent<Boolean> event = newEvent(false);
+            final LifecycleEvent<Boolean> event = newEvent(false);
 
-            Iterator<ComponentLifecycle> i = InternalUtils.reverseIterator(_components);
+            ComponentCallback callback = new ComponentCallback()
+            {
+                public void run(Component component)
+                {
+                    component.afterRenderBody(writer, event);
+                }
+            };
 
-            while (i.hasNext())
-                i.next().afterRenderBody(writer, event);
+            invoke(true, callback);
 
             if (event.getResult())
                 queue.push(_beforeRenderBody);
@@ -443,14 +472,19 @@
 
     private final RenderCommand _afterRender = new RenderCommand()
     {
-        public void render(MarkupWriter writer, RenderQueue queue)
+        public void render(final MarkupWriter writer, RenderQueue queue)
         {
-            LifecycleEvent<Boolean> event = newEvent(false);
+            final LifecycleEvent<Boolean> event = newEvent(false);
 
-            Iterator<ComponentLifecycle> i = InternalUtils.reverseIterator(_components);
+            ComponentCallback callback = new ComponentCallback()
+            {
+                public void run(Component component)
+                {
+                    component.afterRender(writer, event);
+                }
+            };
 
-            while (i.hasNext())
-                i.next().afterRender(writer, event);
+            invoke(true, callback);
 
             if (event.getResult())
                 queue.push(_beginRender);
@@ -465,14 +499,19 @@
 
     private final RenderCommand _cleanupRender = new RenderCommand()
     {
-        public void render(MarkupWriter writer, RenderQueue queue)
+        public void render(final MarkupWriter writer, RenderQueue queue)
         {
-            LifecycleEvent<Boolean> event = newEvent(false);
+            final LifecycleEvent<Boolean> event = newEvent(false);
 
-            Iterator<ComponentLifecycle> i = InternalUtils.reverseIterator(_components);
+            ComponentCallback callback = new ComponentCallback()
+            {
+                public void run(Component component)
+                {
+                    component.cleanupRender(writer, event);
+                }
+            };
 
-            while (i.hasNext())
-                i.next().cleanupRender(writer, event);
+            invoke(true, callback);
 
             if (event.getResult())
             {
@@ -484,7 +523,7 @@
 
                 // Order here should not matter.
 
-                for (ComponentLifecycle component : _components)
+                for (Component component : _components)
                     component.postRenderCleanup();
             }
         }
@@ -528,7 +567,7 @@
         return String.format("ComponentPageElement[%s]", _completeId);
     }
 
-    public ComponentLifecycle getComponent()
+    public Component getComponent()
     {
         return _component;
     }
@@ -540,13 +579,13 @@
 
     public void containingPageDidAttach()
     {
-        for (ComponentLifecycle component : _components)
+        for (Component component : _components)
             component.containingPageDidAttach();
     }
 
     public void containingPageDidDetach()
     {
-        for (ComponentLifecycle component : _components)
+        for (Component component : _components)
             component.containingPageDidDetach();
     }
 
@@ -565,7 +604,7 @@
 
         _components.add(_component);
 
-        for (ComponentLifecycle component : _components)
+        for (Component component : _components)
             component.containingPageDidLoad();
 
     }
@@ -642,7 +681,7 @@
     {
         boolean result = false;
 
-        for (ComponentLifecycle component : _components)
+        for (Component component : _components)
         {
             result |= component.handleComponentEvent(event);
 
@@ -663,13 +702,13 @@
         return embeddedElement;
     }
 
-    public void postFieldChange(String fieldName, Object newValue)
+    public void persistFieldChange(String fieldName, Object newValue)
     {
         // While loading the page (i.e., when setting field defaults), ignore these
         // changes.
 
         if (_loaded)
-            _page.postFieldChange(this, fieldName, newValue);
+            _page.persistFieldChange(this, fieldName, newValue);
     }
 
     public Object getFieldChange(String fieldName)
@@ -709,9 +748,9 @@
         return _coreResources.getLog();
     }
 
-    public ComponentLifecycle getMixinByClassName(String mixinClassName)
+    public Component getMixinByClassName(String mixinClassName)
     {
-        ComponentLifecycle result = null;
+        Component result = null;
 
         if (_mixinsByShortName != null)
         {
@@ -731,6 +770,33 @@
                     mixinClassName));
 
         return result;
+    }
+
+    /**
+     * Invokes a callback on the component instances (the core component plus any mixins).
+     * 
+     * @param reverse
+     *            if true, the callbacks are in the reverse of the normal order (this is associated
+     *            with AfterXXX phases)
+     * @param callback
+     *            the object to receive each component instance
+     */
+    private void invoke(boolean reverse, ComponentCallback callback)
+    {
+        // Optimization: In the most general case (just the one component, no mixins)
+        // invoke the callback on the component and be done ... no iterators, no nothing.
+
+        if (_components.size() == 1)
+        {
+            callback.run(_coreResources.getComponent());
+            return;
+        }
+
+        Iterator<Component> i = reverse ? InternalUtils.reverseIterator(_components) : _components
+                .iterator();
+
+        while (i.hasNext())
+            callback.run(i.next());
     }
 
 }

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/InternalComponentResourcesImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/InternalComponentResourcesImpl.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/InternalComponentResourcesImpl.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/InternalComponentResourcesImpl.java Sun Nov  5 15:15:41 2006
@@ -27,7 +27,7 @@
 import org.apache.tapestry.internal.services.Instantiator;
 import org.apache.tapestry.ioc.services.TypeCoercer;
 import org.apache.tapestry.model.ComponentModel;
-import org.apache.tapestry.runtime.ComponentLifecycle;
+import org.apache.tapestry.runtime.Component;
 
 /**
  * The bridge between a component and its {@link ComponentPageElement}, that supplies all kinds of
@@ -43,7 +43,7 @@
 
     private final TypeCoercer _typeCoercer;
 
-    private final ComponentLifecycle _component;
+    private final Component _component;
 
     private Map<String, Binding> _bindings;
 
@@ -68,7 +68,7 @@
         return _componentModel;
     }
 
-    public ComponentLifecycle getEmbeddedComponent(String embeddedId)
+    public Component getEmbeddedComponent(String embeddedId)
     {
         return _element.getEmbeddedElement(embeddedId).getComponent();
     }
@@ -98,7 +98,7 @@
         return _element.getCompleteId();
     }
 
-    public ComponentLifecycle getComponent()
+    public Component getComponent()
     {
         return _component;
     }
@@ -123,7 +123,7 @@
         return _element.getNestedId();
     }
 
-    public ComponentLifecycle getPage()
+    public Component getPage()
     {
         return _element.getContainingPage().getRootElement().getComponent();
     }
@@ -140,9 +140,9 @@
         return _element.isLoaded();
     }
 
-    public void postFieldChange(String fieldName, Object newValue)
+    public void persistFieldChange(String fieldName, Object newValue)
     {
-        _element.postFieldChange(fieldName, newValue);
+        _element.persistFieldChange(fieldName, newValue);
     }
 
     public void addParameter(String parameterName, Binding binding)
@@ -213,7 +213,7 @@
         return _componentModel.getLog();
     }
 
-    public ComponentLifecycle getMixinByClassName(String mixinClassName)
+    public Component getMixinByClassName(String mixinClassName)
     {
         return _element.getMixinByClassName(mixinClassName);
     }

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/Page.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/Page.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/Page.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/Page.java Sun Nov  5 15:15:41 2006
@@ -36,7 +36,7 @@
 {
     /**
      * Returns the name of the page, which is the fully qualifed class name of the page's
-     * <em>root component</em>. The name is unique within the application, though it is modified
+     * <em>root component</em>. The name is unique within the application, though it is combined
      * with the locale to select and pool page instances.
      */
     String getName();
@@ -60,17 +60,17 @@
     ComponentPageElement getRootElement();
 
     /**
-     * Inform page that it is being detached from the current request. This occurs just before the
-     * page is returned to the page pool.
+     * Invoked to inform the page that it is being detached from the current request. This occurs
+     * just before the page is returned to the page pool.
      * 
      * @see org.apache.tapestry.runtime.PageLifecycleListener#containingPageDidDetach()
      */
     void detached();
 
     /**
-     * Inform the page that it is attached to the current request. This occurs when a page is first
-     * referenced within a request. If the page was created for this request, the call to
-     * {@link #loaded()} will preceded the call to {@link #attached()}.
+     * Invoked to inform the page that it is attached to the current request. This occurs when a
+     * page is first referenced within a request. If the page was created from scratch for this
+     * request, the call to {@link #loaded()} will preceded the call to {@link #attached()}.
      */
 
     void attached();
@@ -88,7 +88,7 @@
      */
     void addLifecycleListener(PageLifecycleListener listener);
 
-    /** Returns the log of the root element. */
+    /** Returns the log of the root component element. */
     Log getLog();
 
     /**
@@ -121,7 +121,7 @@
      * @param newValue
      *            the new value for the field
      */
-    void postFieldChange(ComponentPageElement element, String fieldName, Object newValue);
+    void persistFieldChange(ComponentPageElement element, String fieldName, Object newValue);
 
     /**
      * Gets a change for a field within the component.

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/PageElement.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/PageElement.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/PageElement.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/PageElement.java Sun Nov  5 15:15:41 2006
@@ -18,10 +18,7 @@
 
 /**
  * An element within a page. Page elements are placeholders that delegate much of their behavior to
- * application-specific component classes. A page element will also, ultimately, provide
- * {@link org.apache.tapestry.ComponentResources} to the component classes.
- * 
- * 
+ * application-specific component classes.
  */
 public interface PageElement extends RenderCommand
 {

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/PageImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/PageImpl.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/PageImpl.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/PageImpl.java Sun Nov  5 15:15:41 2006
@@ -127,7 +127,7 @@
         return _linkFactory.createActionLink(element, action, forForm, context);
     }
 
-    public void postFieldChange(ComponentPageElement element, String fieldName, Object newValue)
+    public void persistFieldChange(ComponentPageElement element, String fieldName, Object newValue)
     {
         String strategy = element.getComponentResources().getComponentModel()
                 .getFieldPersistenceStrategy(fieldName);

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/test/InternalBaseTestCase.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/test/InternalBaseTestCase.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/test/InternalBaseTestCase.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/test/InternalBaseTestCase.java Sun Nov  5 15:15:41 2006
@@ -50,7 +50,7 @@
 import org.apache.tapestry.ioc.def.ServiceDef;
 import org.apache.tapestry.model.ComponentModel;
 import org.apache.tapestry.model.EmbeddedComponentModel;
-import org.apache.tapestry.runtime.ComponentLifecycle;
+import org.apache.tapestry.runtime.Component;
 import org.apache.tapestry.runtime.RenderQueue;
 import org.apache.tapestry.services.BindingSource;
 import org.apache.tapestry.services.ComponentClassResolver;
@@ -189,9 +189,9 @@
         return newMock(ComponentInstantiatorSource.class);
     }
 
-    protected ComponentLifecycle newComponentLifecycle()
+    protected Component newComponent()
     {
-        return newMock(ComponentLifecycle.class);
+        return newMock(Component.class);
     }
 
     protected final Page newPage()
@@ -244,7 +244,7 @@
     }
 
     protected final void train_getComponent(ComponentPageElement element,
-            ComponentLifecycle component)
+            Component component)
     {
         element.getComponent();
         setReturnValue(component);

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/model/MutableComponentModel.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/model/MutableComponentModel.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/model/MutableComponentModel.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/model/MutableComponentModel.java Sun Nov  5 15:15:41 2006
@@ -61,7 +61,7 @@
      *            the strategy for persisting the field, from {@link Persist#value()}
      * @return a logical name for the field, to be used with
      *         {@link ComponentModel#getFieldPersistenceStrategy(String)}, and with
-     *         {@link InternalComponentResources#postFieldChange(String, Object)}, etc.
+     *         {@link InternalComponentResources#persistFieldChange(String, Object)}, etc.
      */
     String setFieldPersistenceStrategy(String fieldName, String strategy);
 

Copied: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/runtime/Component.java (from r471051, tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/runtime/ComponentLifecycle.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/runtime/Component.java?view=diff&rev=471565&p1=tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/runtime/ComponentLifecycle.java&r1=471051&p2=tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/runtime/Component.java&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/runtime/ComponentLifecycle.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/runtime/Component.java Sun Nov  5 15:15:41 2006
@@ -28,7 +28,7 @@
  * <p>
  * This interface is likely to change without notice.
  */
-public interface ComponentLifecycle extends ComponentResourcesAware, PageLifecycleListener
+public interface Component extends ComponentResourcesAware, PageLifecycleListener
 {
 
     /**

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/runtime/ComponentEvent.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/runtime/ComponentEvent.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/runtime/ComponentEvent.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/runtime/ComponentEvent.java Sun Nov  5 15:15:41 2006
@@ -14,10 +14,17 @@
 
 package org.apache.tapestry.runtime;
 
+import org.apache.tapestry.ComponentEventHandler;
 import org.apache.tapestry.ComponentResources;
+import org.apache.tapestry.ComponentResourcesCommon;
 
 /**
+ * An event that may originate in application logic, or as a result of a client interaction (a GET
+ * or POST from the client).
  * 
+ * @see ComponentResourcesCommon#triggerEvent(String, Object[],
+ *      org.apache.tapestry.ComponentEventHandler)
+ * @see ComponentEventHandler
  */
 public interface ComponentEvent
 {
@@ -41,25 +48,30 @@
      * Returns true if the originating component matches any of the components identified by their
      * ids. This filter is only relevent in the immediate container of the originating component (it
      * will never match at higher levels).
-     * 
-     * @param resources
-     *            TODO
      */
     boolean matchesByComponentId(ComponentResources resources, String[] componentId);
 
     /**
+     * Invoked before {@link #coerceContext(int, String, String)} or
+     * {@link #storeResult(Object, String)} to identify, to the event, what method is being acted
+     * upon (used for some kinds of exception reporting).
+     * 
+     * @param methodDescription
+     */
+    void setMethod(String methodDescription);
+
+    /**
      * Stores a result for the event. Storing a non-null result value will abort the event.
      * 
      * @param result
      *            the result obtained from a method invocations
-     * @param methodDescription
-     *            describes the method from which the result was obtained
      * @return true if the event is now aborted
      */
-    boolean storeResult(Object result, String methodDescription);
+    boolean storeResult(Object result);
 
     /**
-     * Coerces a context value to a particular type.
+     * Coerces a context value to a particular type. The context is an array of objects; typically
+     * it is an array of strings of extra path information encoded into the action URL.
      * 
      * @param <T>
      * @param index
@@ -70,5 +82,5 @@
      *            the method for which the conversion will take place (used if reporting an error)
      * @return the coerced value (a wrapper type if the desired type is a primitive)
      */
-    Object coerceContext(int index, String desiredTypeName, String methodDescription);
+    Object coerceContext(int index, String desiredTypeName);
 }

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/runtime/ComponentResourcesAware.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/runtime/ComponentResourcesAware.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/runtime/ComponentResourcesAware.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/runtime/ComponentResourcesAware.java Sun Nov  5 15:15:41 2006
@@ -19,8 +19,6 @@
 /**
  * Interface implemented by components (after they have been transformed at load time). Component
  * classes should not implement this interface directly.
- * 
- * 
  */
 public interface ComponentResourcesAware
 {

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/runtime/RenderCommand.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/runtime/RenderCommand.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/runtime/RenderCommand.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/runtime/RenderCommand.java Sun Nov  5 15:15:41 2006
@@ -18,10 +18,16 @@
 
 /**
  * A command used during rendering of a page.
- * 
- * 
  */
 public interface RenderCommand
 {
+    /**
+     * Invoked on an object to request that it render itself. This involves a mix of invoking
+     * methods on the writer, and queueing up additional commands (often, representing children of
+     * the object that was invoked) to perform additional rendering.
+     * <p>
+     * In this way, rendering is a tail recursive algorithm, but is not implemented using tail
+     * recursion.
+     */
     void render(MarkupWriter writer, RenderQueue queue);
 }

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/services/ComponentSource.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/services/ComponentSource.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/services/ComponentSource.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/services/ComponentSource.java Sun Nov  5 15:15:41 2006
@@ -15,7 +15,7 @@
 package org.apache.tapestry.services;
 
 import org.apache.tapestry.ComponentResourcesCommon;
-import org.apache.tapestry.runtime.ComponentLifecycle;
+import org.apache.tapestry.runtime.Component;
 
 /**
  * Used by classes that need to retrieve a component by its complete id. The complete id is the FQCN
@@ -34,5 +34,5 @@
      *             if the component can not be found
      * @see ComponentResourcesCommon#getCompleteId()
      */
-    ComponentLifecycle getComponent(String componentId);
+    Component getComponent(String componentId);
 }

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/services/TransformConstants.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/services/TransformConstants.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/services/TransformConstants.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/services/TransformConstants.java Sun Nov  5 15:15:41 2006
@@ -33,7 +33,7 @@
 
     /**
      * Signature for
-     * {@link org.apache.tapestry.runtime.ComponentLifecycle#handleComponentEvent(ComponentEvent event)
+     * {@link org.apache.tapestry.runtime.Component#handleComponentEvent(ComponentEvent event)
      * 
      * @see org.apache.tapestry.annotations.OnEvent
      */
@@ -48,7 +48,7 @@
     public static final MethodSignature CONTAINING_PAGE_DID_LOAD_SIGNATURE = new MethodSignature(
             "containingPageDidLoad");
 
-    /** Signature for {@link org.apache.tapestry.runtime.ComponentLifecycle#postRenderCleanup()}. */
+    /** Signature for {@link org.apache.tapestry.runtime.Component#postRenderCleanup()}. */
     public static final MethodSignature POST_RENDER_CLEANUP_SIGNATURE = new MethodSignature(
             "postRenderCleanup");
 
@@ -68,7 +68,7 @@
 
     /**
      * Signature for
-     * {@link org.apache.tapestry.runtime.ComponentLifecycle#setupRender(MarkupWriter, LifecycleEvent)}.
+     * {@link org.apache.tapestry.runtime.Component#setupRender(MarkupWriter, LifecycleEvent)}.
      * 
      * @see org.apache.tapestry.annotations.SetupRender
      */
@@ -76,7 +76,7 @@
 
     /**
      * Signature for
-     * {@link org.apache.tapestry.runtime.ComponentLifecycle#beginRender(MarkupWriter, LifecycleEvent)}.
+     * {@link org.apache.tapestry.runtime.Component#beginRender(MarkupWriter, LifecycleEvent)}.
      * 
      * @see org.apache.tapestry.annotations.BeginRender
      */
@@ -84,7 +84,7 @@
 
     /**
      * Signature for
-     * {@link org.apache.tapestry.runtime.ComponentLifecycle#beforeRenderTemplate(MarkupWriter, LifecycleEvent)}.
+     * {@link org.apache.tapestry.runtime.Component#beforeRenderTemplate(MarkupWriter, LifecycleEvent)}.
      * 
      * @see org.apache.tapestry.annotations.BeforeRenderTemplate
      */
@@ -92,7 +92,7 @@
 
     /**
      * Signature for
-     * {@link org.apache.tapestry.runtime.ComponentLifecycle#afterRenderTemplate(MarkupWriter, LifecycleEvent)}.
+     * {@link org.apache.tapestry.runtime.Component#afterRenderTemplate(MarkupWriter, LifecycleEvent)}.
      * 
      * @see org.apache.tapestry.annotations.BeforeRenderTemplate
      */
@@ -100,7 +100,7 @@
 
     /**
      * Signature for
-     * {@link org.apache.tapestry.runtime.ComponentLifecycle#beforeRenderBody(MarkupWriter, LifecycleEvent)}.
+     * {@link org.apache.tapestry.runtime.Component#beforeRenderBody(MarkupWriter, LifecycleEvent)}.
      * 
      * @see org.apache.tapestry.annotations.BeforeRenderBody
      */
@@ -108,7 +108,7 @@
 
     /**
      * Signature for
-     * {@link org.apache.tapestry.runtime.ComponentLifecycle#afterRenderBody(MarkupWriter, LifecycleEvent)}.
+     * {@link org.apache.tapestry.runtime.Component#afterRenderBody(MarkupWriter, LifecycleEvent)}.
      * 
      * @see org.apache.tapestry.annotations.AfterRenderBody
      */
@@ -116,7 +116,7 @@
 
     /**
      * Signature for
-     * {@link org.apache.tapestry.runtime.ComponentLifecycle#afterRender(MarkupWriter, LifecycleEvent)}
+     * {@link org.apache.tapestry.runtime.Component#afterRender(MarkupWriter, LifecycleEvent)}
      * 
      * @see org.apache.tapestry.annotations.AfterRender
      */
@@ -124,7 +124,7 @@
 
     /**
      * Signature for
-     * {@link org.apache.tapestry.runtime.ComponentLifecycle#cleanupRender(MarkupWriter, LifecycleEvent)}.
+     * {@link org.apache.tapestry.runtime.Component#cleanupRender(MarkupWriter, LifecycleEvent)}.
      * 
      * @see org.apache.tapestry.annotations.CleanupRender
      */

Modified: tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/bindings/DefaultComponentLifecyle.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/bindings/DefaultComponentLifecyle.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/bindings/DefaultComponentLifecyle.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/bindings/DefaultComponentLifecyle.java Sun Nov  5 15:15:41 2006
@@ -17,13 +17,13 @@
 import org.apache.tapestry.ComponentResources;
 import org.apache.tapestry.MarkupWriter;
 import org.apache.tapestry.runtime.ComponentEvent;
-import org.apache.tapestry.runtime.ComponentLifecycle;
+import org.apache.tapestry.runtime.Component;
 import org.apache.tapestry.runtime.LifecycleEvent;
 
 /**
  * For use in places where we don't want to have to transform a class just for testing purposes.
  */
-public class DefaultComponentLifecyle implements ComponentLifecycle
+public class DefaultComponentLifecyle implements Component
 {
 
     public void postRenderCleanup()

Modified: tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/bindings/PropBindingFactoryTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/bindings/PropBindingFactoryTest.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/bindings/PropBindingFactoryTest.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/bindings/PropBindingFactoryTest.java Sun Nov  5 15:15:41 2006
@@ -23,7 +23,7 @@
 import org.apache.tapestry.ioc.StringHolder;
 import org.apache.tapestry.ioc.services.ClassFactory;
 import org.apache.tapestry.ioc.services.PropertyAccess;
-import org.apache.tapestry.runtime.ComponentLifecycle;
+import org.apache.tapestry.runtime.Component;
 import org.apache.tapestry.services.BindingFactory;
 import org.apache.tapestry.util.IntegerRange;
 import org.testng.annotations.AfterClass;
@@ -49,7 +49,7 @@
         _factory = null;
     }
 
-    private ComponentResources newComponentResources(ComponentLifecycle component)
+    private ComponentResources newComponentResources(Component component)
     {
         ComponentResources resources = newComponentResources();
         train_getComponent(resources, component);
@@ -65,7 +65,7 @@
         setReturnValue(completeId);
     }
 
-    private void train_getComponent(ComponentResources resources, ComponentLifecycle component)
+    private void train_getComponent(ComponentResources resources, Component component)
     {
         resources.getComponent();
         setReturnValue(component);
@@ -349,7 +349,7 @@
         Location l = newLocation();
         String description = "my description";
         ComponentResources resources = newComponentResources();
-        ComponentLifecycle component = newComponentLifecycle();
+        Component component = newComponent();
 
         train_getComponent(resources, component);
 

Modified: tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/ComponentEventImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/ComponentEventImplTest.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/ComponentEventImplTest.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/ComponentEventImplTest.java Sun Nov  5 15:15:41 2006
@@ -83,7 +83,7 @@
         ComponentEvent event = new ComponentEventImpl("eventType", "someId", new String[]
         { "27" }, handler, _coercer);
 
-        assertEquals(event.coerceContext(0, "java.lang.Integer", "method descrip"), new Integer(27));
+        assertEquals(event.coerceContext(0, "java.lang.Integer"), new Integer(27));
 
         verify();
     }
@@ -98,9 +98,11 @@
         ComponentEvent event = new ComponentEventImpl("eventType", "someId", new String[]
         { "27" }, handler, _coercer);
 
+        event.setMethod("foo.Bar.baz()");
+
         try
         {
-            event.coerceContext(1, "java.lang.Integer", "foo.Bar.baz()");
+            event.coerceContext(1, "java.lang.Integer");
         }
         catch (IllegalArgumentException ex)
         {
@@ -122,9 +124,11 @@
         ComponentEvent event = new ComponentEventImpl("eventType", "someId", new String[]
         { "abc" }, handler, _coercer);
 
+        event.setMethod("foo.Bar.baz()");
+
         try
         {
-            event.coerceContext(0, "java.lang.Integer", "foo.Bar.baz()");
+            event.coerceContext(0, "java.lang.Integer");
             unreachable();
         }
         catch (IllegalArgumentException ex)
@@ -154,9 +158,11 @@
         ComponentEvent event = new ComponentEventImpl("eventType", "someId", null, handler,
                 _coercer);
 
+        event.setMethod(methodDescription);
+
         assertFalse(event.isAborted());
 
-        assertTrue(event.storeResult(result, methodDescription));
+        assertTrue(event.storeResult(result));
 
         assertTrue(event.isAborted());
 
@@ -166,8 +172,6 @@
     @Test
     public void store_null_result_does_not_abort_or_invoke_handler()
     {
-        String methodDescription = "foo.Bar.baz()";
-
         ComponentEventHandler handler = newComponentEventHandler();
 
         replay();
@@ -175,7 +179,7 @@
         ComponentEvent event = new ComponentEventImpl("eventType", "someId", null, handler,
                 _coercer);
 
-        assertFalse(event.storeResult(null, methodDescription));
+        assertFalse(event.storeResult(null));
 
         assertFalse(event.isAborted());
 
@@ -191,22 +195,22 @@
     public void store_result_when_aborted_is_failure()
     {
         Object result = new Object();
-        String methodDescription = "foo.Bar.baz()";
-
         ComponentEventHandler handler = newComponentEventHandler();
 
-        handler.handleResult(result, methodDescription);
+        handler.handleResult(result, "foo.Bar.baz()");
 
         replay();
 
         ComponentEvent event = new ComponentEventImpl("eventType", "someId", null, handler,
                 _coercer);
 
-        event.storeResult(result, methodDescription);
+        event.setMethod("foo.Bar.baz()");
+        event.storeResult(result);
 
         try
         {
-            event.storeResult(null, "foo.Bar.biff()");
+            event.setMethod("foo.Bar.biff()");
+            event.storeResult(null);
             unreachable();
         }
         catch (IllegalStateException ex)

Modified: tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/ComponentInstantiatorSourceImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/ComponentInstantiatorSourceImplTest.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/ComponentInstantiatorSourceImplTest.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/ComponentInstantiatorSourceImplTest.java Sun Nov  5 15:15:41 2006
@@ -36,7 +36,7 @@
 import org.apache.tapestry.ioc.Registry;
 import org.apache.tapestry.ioc.RegistryBuilder;
 import org.apache.tapestry.ioc.services.PropertyAccess;
-import org.apache.tapestry.runtime.ComponentLifecycle;
+import org.apache.tapestry.runtime.Component;
 import org.apache.tapestry.services.Infrastructure;
 import org.apache.tapestry.services.TapestryModule;
 import org.testng.annotations.AfterClass;
@@ -105,7 +105,7 @@
     @Test
     public void load_component_via_service() throws Exception
     {
-        ComponentLifecycle target = createComponent(BasicComponent.class);
+        Component target = createComponent(BasicComponent.class);
 
         // Should not be an instance, since it is loaded by a different class loader.
         assertFalse(BasicComponent.class.isInstance(target));
@@ -133,7 +133,7 @@
     @Test
     public void load_sub_component_via_service() throws Exception
     {
-        ComponentLifecycle target = createComponent(BasicSubComponent.class);
+        Component target = createComponent(BasicSubComponent.class);
 
         target.containingPageDidLoad();
 
@@ -216,14 +216,14 @@
         ctClass.writeFile(_extraClasspath.getAbsolutePath());
     }
 
-    private ComponentLifecycle createComponent(Class componentClass)
+    private Component createComponent(Class componentClass)
     {
         String classname = componentClass.getName();
 
         return createComponent(classname);
     }
 
-    private ComponentLifecycle createComponent(String classname)
+    private Component createComponent(String classname)
     {
         InternalComponentResources resources = newInternalComponentResources();
 
@@ -234,7 +234,7 @@
 
         Instantiator inst = _source.findInstantiator(classname);
 
-        ComponentLifecycle target = inst.newInstance(resources);
+        Component target = inst.newInstance(resources);
 
         verify();
 

Modified: tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/ComponentSourceImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/ComponentSourceImplTest.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/ComponentSourceImplTest.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/ComponentSourceImplTest.java Sun Nov  5 15:15:41 2006
@@ -17,7 +17,7 @@
 import org.apache.tapestry.internal.structure.ComponentPageElement;
 import org.apache.tapestry.internal.structure.Page;
 import org.apache.tapestry.internal.test.InternalBaseTestCase;
-import org.apache.tapestry.runtime.ComponentLifecycle;
+import org.apache.tapestry.runtime.Component;
 import org.apache.tapestry.services.ComponentSource;
 import org.testng.annotations.Test;
 
@@ -33,7 +33,7 @@
         RequestPageCache cache = newPageRequestCache();
         Page page = newPage();
         ComponentPageElement element = newComponentPageElement();
-        ComponentLifecycle component = newComponentLifecycle();
+        Component component = newComponent();
 
         train_getByClassName(cache, PAGE_NAME, page);
 
@@ -56,7 +56,7 @@
         RequestPageCache cache = newPageRequestCache();
         Page page = newPage();
         ComponentPageElement element = newComponentPageElement();
-        ComponentLifecycle component = newComponentLifecycle();
+        Component component = newComponent();
 
         train_getByClassName(cache, PAGE_NAME, page);
 

Modified: tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/InternalClassTransformationImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/InternalClassTransformationImplTest.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/InternalClassTransformationImplTest.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/InternalClassTransformationImplTest.java Sun Nov  5 15:15:41 2006
@@ -49,7 +49,7 @@
 import org.apache.tapestry.internal.transform.pages.TargetObject;
 import org.apache.tapestry.internal.transform.pages.TargetObjectSubclass;
 import org.apache.tapestry.ioc.services.PropertyAccess;
-import org.apache.tapestry.runtime.ComponentLifecycle;
+import org.apache.tapestry.runtime.Component;
 import org.apache.tapestry.runtime.ComponentResourcesAware;
 import org.apache.tapestry.services.ClassTransformation;
 import org.apache.tapestry.services.MethodSignature;
@@ -550,7 +550,7 @@
         Class[] interfaces = transformed.getInterfaces();
 
         assertEquals(interfaces, new Class[]
-        { ComponentLifecycle.class, FooInterface.class, GetterMethodsInterface.class });
+        { Component.class, FooInterface.class, GetterMethodsInterface.class });
 
         Object target = ct.createInstantiator(transformed).newInstance(resources);
 

Modified: tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/OnEventWorkerTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/OnEventWorkerTest.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/OnEventWorkerTest.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/OnEventWorkerTest.java Sun Nov  5 15:15:41 2006
@@ -37,9 +37,7 @@
 
     private static final String BOILERPLATE_1 = "if ($1.isAborted()) return $_;";
 
-    private static final String BOILERPLATE_2 = "String methodName = null;";
-
-    private static final String BOILERPLATE_3 = "$_ = true;";
+    private static final String BOILERPLATE_2 = "$_ = true;";
 
     @Test
     public void no_methods_with_annotation()
@@ -82,8 +80,7 @@
                 "{",
                 BOILERPLATE_1,
                 BOILERPLATE_2,
-                BOILERPLATE_3,
-                "methodName = \"foo.Bar.foo()\";",
+                "$1.setMethod(\"foo.Bar.foo()\");",
                 "foo();",
                 "}");
 
@@ -124,11 +121,10 @@
                 TransformConstants.HANDLE_COMPONENT_EVENT,
                 "{",
                 BOILERPLATE_1,
-                BOILERPLATE_2,
                 "if ($1.matchesByEventType(_v))",
                 "{",
-                BOILERPLATE_3,
-                "methodName = \"foo.Bar.foo()\";",
+                BOILERPLATE_2,
+                "$1.setMethod(\"foo.Bar.foo()\");",
                 "foo();",
                 "}",
                 "}");
@@ -171,11 +167,10 @@
                 TransformConstants.HANDLE_COMPONENT_EVENT,
                 "{",
                 BOILERPLATE_1,
-                BOILERPLATE_2,
                 "if ($1.matchesByComponentId(_res, _ids))",
                 "{",
-                BOILERPLATE_3,
-                "methodName = \"foo.Bar.foo()\";",
+                BOILERPLATE_2,
+                "$1.setMethod(\"foo.Bar.foo()\");",
                 "foo();",
                 "}",
                 "}");
@@ -223,13 +218,12 @@
                 TransformConstants.HANDLE_COMPONENT_EVENT,
                 "{",
                 BOILERPLATE_1,
-                BOILERPLATE_2,
                 "if ($1.matchesByEventType(_v))",
                 "{",
                 "if ($1.matchesByComponentId(_res, _ids))",
                 "{",
-                BOILERPLATE_3,
-                "methodName = \"foo.Bar.foo()\";",
+                BOILERPLATE_2,
+                "$1.setMethod(\"foo.Bar.foo()\");",
                 "foo();",
                 "}",
                 "}",
@@ -269,9 +263,8 @@
                 "{",
                 BOILERPLATE_1,
                 BOILERPLATE_2,
-                BOILERPLATE_3,
-                "methodName = \"foo.Bar.foo()\";",
-                "if ($1.storeResult(foo(), methodName) return;",
+                "$1.setMethod(\"foo.Bar.foo()\");",
+                "if ($1.storeResult(foo()) return;",
                 "}");
 
         replay();
@@ -308,9 +301,8 @@
                 "{",
                 BOILERPLATE_1,
                 BOILERPLATE_2,
-                BOILERPLATE_3,
-                "methodName = \"foo.Bar.foo(java.lang.String)\";",
-                "foo($1.coerceContext(0, \"java.lang.String\", methodName));",
+                "$1.setMethod(\"foo.Bar.foo(java.lang.String)\");",
+                "foo($1.coerceContext(0, \"java.lang.String\"));",
                 "}");
 
         replay();
@@ -347,9 +339,8 @@
                 "{",
                 BOILERPLATE_1,
                 BOILERPLATE_2,
-                BOILERPLATE_3,
-                "methodName = \"foo.Bar.foo(boolean)\";",
-                "foo(((java.lang.Boolean)$1.coerceContext(0, \"java.lang.Boolean\", methodName)).booleanValue());",
+                "$1.setMethod(\"foo.Bar.foo(boolean)\");",
+                "foo(((java.lang.Boolean)$1.coerceContext(0, \"java.lang.Boolean\")).booleanValue());",
                 "}");
 
         replay();
@@ -387,10 +378,9 @@
                 "{",
                 BOILERPLATE_1,
                 BOILERPLATE_2,
-                BOILERPLATE_3,
-                "methodName = \"foo.Bar.foo(java.lang.String, java.lang.Integer)\";",
-                "foo($1.coerceContext(0, \"java.lang.String\", methodName), ",
-                "$1.coerceContext(1, \"java.lang.Integer\", methodName));",
+                "$1.setMethod(\"foo.Bar.foo(java.lang.String, java.lang.Integer)\");",
+                "foo($1.coerceContext(0, \"java.lang.String\"), ",
+                "$1.coerceContext(1, \"java.lang.Integer\"));",
                 "}");
 
         replay();

Modified: tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/ParameterWorkerTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/ParameterWorkerTest.java?view=diff&rev=471565&r1=471564&r2=471565
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/ParameterWorkerTest.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/ParameterWorkerTest.java Sun Nov  5 15:15:41 2006
@@ -25,7 +25,7 @@
 import org.apache.tapestry.internal.test.InternalBaseTestCase;
 import org.apache.tapestry.ioc.services.PropertyAccess;
 import org.apache.tapestry.model.MutableComponentModel;
-import org.apache.tapestry.runtime.ComponentLifecycle;
+import org.apache.tapestry.runtime.Component;
 import org.testng.annotations.AfterClass;
 import org.testng.annotations.Test;
 
@@ -61,7 +61,7 @@
     {
         InternalComponentResources resources = newInternalComponentResources();
 
-        ComponentLifecycle component = setupForIntegrationTest(resources);
+        Component component = setupForIntegrationTest(resources);
 
         // On first invocation, the resources are queried.
 
@@ -105,7 +105,7 @@
     {
         InternalComponentResources resources = newInternalComponentResources();
 
-        ComponentLifecycle component = setupForIntegrationTest(resources);
+        Component component = setupForIntegrationTest(resources);
 
         // On first invocation, the resources are queried.
 
@@ -155,7 +155,7 @@
     {
         InternalComponentResources resources = newInternalComponentResources();
 
-        ComponentLifecycle component = setupForIntegrationTest(resources);
+        Component component = setupForIntegrationTest(resources);
 
         train_isLoaded(resources, false);
 
@@ -222,7 +222,7 @@
     {
         InternalComponentResources resources = newInternalComponentResources();
 
-        ComponentLifecycle component = setupForIntegrationTest(resources);
+        Component component = setupForIntegrationTest(resources);
 
         train_isLoaded(resources, true);
         train_isBound(resources, "object", true);
@@ -284,7 +284,7 @@
     {
         InternalComponentResources resources = newInternalComponentResources();
 
-        ComponentLifecycle component = setupForIntegrationTest(resources);
+        Component component = setupForIntegrationTest(resources);
 
         train_isLoaded(resources, true);
         train_isBound(resources, "object", true);
@@ -338,7 +338,7 @@
     {
         InternalComponentResources resources = newInternalComponentResources();
 
-        ComponentLifecycle component = setupForIntegrationTest(resources);
+        Component component = setupForIntegrationTest(resources);
 
         train_isLoaded(resources, true);
         train_isBound(resources, "primitive", true);
@@ -399,7 +399,7 @@
     {
         InternalComponentResources resources = newInternalComponentResources();
 
-        ComponentLifecycle component = setupForIntegrationTest(resources);
+        Component component = setupForIntegrationTest(resources);
 
         // Notice no check for isRendering() since that is irrelevant to uncached parameters.
         // Also note difference between field name and parameter name, due to Parameter.name() being
@@ -432,7 +432,7 @@
     {
         InternalComponentResources resources = newInternalComponentResources();
 
-        ComponentLifecycle component = setupForIntegrationTest(resources);
+        Component component = setupForIntegrationTest(resources);
 
         // Notice no check for isRendering() since that is irrelevant to uncached parameters.
         // Also note difference between field name and parameter name, due to Parameter.name() being
@@ -467,7 +467,7 @@
         setReturnValue(value);
     }
 
-    private ComponentLifecycle setupForIntegrationTest(InternalComponentResources resources)
+    private Component setupForIntegrationTest(InternalComponentResources resources)
             throws Exception
     {
         Log log = newLog();
@@ -509,7 +509,7 @@
 
         replay();
 
-        ComponentLifecycle component = instantiator.newInstance(resources);
+        Component component = instantiator.newInstance(resources);
 
         component.containingPageDidLoad();