You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by te...@apache.org on 2008/04/13 17:15:29 UTC
svn commit: r647578 - in
/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry:
internal/transform/InjectPageWorker.java services/TapestryModule.java
Author: tedst
Date: Sun Apr 13 08:15:28 2008
New Revision: 647578
URL: http://svn.apache.org/viewvc?rev=647578&view=rev
Log:
TAPESTRY-2342: The InjectPageWorker should use the ComponentSource service, rather than the RequestPageCache
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/transform/InjectPageWorker.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/TapestryModule.java
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/transform/InjectPageWorker.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/transform/InjectPageWorker.java?rev=647578&r1=647577&r2=647578&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/transform/InjectPageWorker.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/transform/InjectPageWorker.java Sun Apr 13 08:15:28 2008
@@ -15,14 +15,13 @@
package org.apache.tapestry.internal.transform;
import org.apache.tapestry.annotations.InjectPage;
-import org.apache.tapestry.internal.services.RequestPageCache;
-import org.apache.tapestry.internal.structure.Page;
import org.apache.tapestry.ioc.internal.util.InternalUtils;
import org.apache.tapestry.ioc.util.BodyBuilder;
import org.apache.tapestry.model.MutableComponentModel;
import org.apache.tapestry.services.ClassTransformation;
import org.apache.tapestry.services.ComponentClassResolver;
import org.apache.tapestry.services.ComponentClassTransformWorker;
+import org.apache.tapestry.services.ComponentSource;
import org.apache.tapestry.services.TransformMethodSignature;
import java.lang.reflect.Modifier;
@@ -35,13 +34,13 @@
*/
public class InjectPageWorker implements ComponentClassTransformWorker
{
- private final RequestPageCache _requestPageCache;
+ private final ComponentSource _componentSource;
private final ComponentClassResolver _resolver;
- public InjectPageWorker(RequestPageCache requestPageCache, ComponentClassResolver resolver)
+ public InjectPageWorker(ComponentSource componentSource, ComponentClassResolver resolver)
{
- _requestPageCache = requestPageCache;
+ _componentSource = componentSource;
_resolver = resolver;
}
@@ -51,15 +50,16 @@
if (names.isEmpty()) return;
- String cacheFieldName = transformation.addInjectedField(RequestPageCache.class, "_requestPageCache",
- _requestPageCache);
-
+ String componentSource = transformation.addInjectedField(ComponentSource.class, "_componentSource",
+ _componentSource);
+
+
for (String name : names)
- addInjectedPage(transformation, name, cacheFieldName);
+ addInjectedPage(transformation, name, componentSource);
}
- private void addInjectedPage(ClassTransformation transformation, String fieldName, String cacheFieldName)
+ private void addInjectedPage(ClassTransformation transformation, String fieldName, String componentSource)
{
InjectPage annotation = transformation.getFieldAnnotation(fieldName, InjectPage.class);
@@ -77,9 +77,7 @@
BodyBuilder builder = new BodyBuilder();
builder.begin();
- builder.addln("%s page = %s.get(\"%s\");", Page.class.getName(), cacheFieldName, injectedPageName);
-
- builder.addln("return (%s) page.getRootElement().getComponent();", fieldType);
+ builder.addln("return (%s) %s.getPage(\"%s\");", fieldType, componentSource, injectedPageName);
builder.end();
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/TapestryModule.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/TapestryModule.java?rev=647578&r1=647577&r2=647578&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/TapestryModule.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/TapestryModule.java Sun Apr 13 08:15:28 2008
@@ -231,7 +231,7 @@
ComponentClassResolver resolver,
- RequestPageCache requestPageCache,
+ ComponentSource componentSource,
BindingSource bindingsource)
{
@@ -252,7 +252,7 @@
configuration.add("Mixin", new MixinWorker(resolver));
configuration.add("OnEvent", new OnEventWorker());
configuration.add("SupportsInformalParameters", new SupportsInformalParametersWorker());
- configuration.add("InjectPage", new InjectPageWorker(requestPageCache, resolver));
+ configuration.add("InjectPage", new InjectPageWorker(componentSource, resolver));
configuration.add("InjectContainer", new InjectContainerWorker());
configuration.add("InjectComponent", new InjectComponentWorker());
configuration.add("RenderCommand", new RenderCommandWorker());