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();