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