You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by hl...@apache.org on 2011/12/31 02:11:22 UTC
svn commit: r1226010 - in /tapestry/tapestry5/trunk/tapestry-core/src:
main/java/org/apache/tapestry5/ main/java/org/apache/tapestry5/internal/
main/java/org/apache/tapestry5/internal/services/
main/java/org/apache/tapestry5/services/ test/app1/ test/c...
Author: hlship
Date: Sat Dec 31 01:11:21 2011
New Revision: 1226010
URL: http://svn.apache.org/viewvc?rev=1226010&view=rev
Log:
TAP5-1810: Remove deprecated "suppress redirects from action" code
Removed:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ActionRenderResponseGenerator.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ActionRenderResponseGeneratorImpl.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ImmediateActionRenderResponseFilter.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ImmediateActionRenderResponseGenerator.java
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app4/ImmediateModeTests.java
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app4/pages/Destination.java
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app4/pages/Start.java
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app4/services/AppModule.java
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/SymbolConstants.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/InternalConstants.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClassResultProcessor.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentEventRequestHandlerImpl.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstanceResultProcessor.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/InternalModule.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageNameComponentEventResultProcessor.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/PageLinkContext.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/conf/testng.xml
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentInstanceResultProcessorTest.java
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/test/InternalBaseTestCase.java
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/SymbolConstants.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/SymbolConstants.java?rev=1226010&r1=1226009&r2=1226010&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/SymbolConstants.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/SymbolConstants.java Sat Dec 31 01:11:21 2011
@@ -49,16 +49,6 @@ public class SymbolConstants
public static final String PRODUCTION_MODE_VALUE = String.format("${%s}", PRODUCTION_MODE);
/**
- * If set to "true", then action requests will render a page markup response immediately, rather than sending a
- * redirect to render the response. "Action request" is an outdated term for "component event request" (i.e., most
- * links and all form submissions).
- *
- * @deprecated In 5.3, to be removed (along with the support it implies) in 5.4
- */
- @Deprecated
- public static final String SUPPRESS_REDIRECT_FROM_ACTION_REQUESTS = "tapestry.suppress-redirect-from-action-requests";
-
- /**
* The list of locales supported by the application; locales identified in the incoming request are "narrowed" to
* one of these values. The first locale name in the list is the default locale used when no proper match can be
* found.
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/InternalConstants.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/InternalConstants.java?rev=1226010&r1=1226009&r2=1226010&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/InternalConstants.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/InternalConstants.java Sat Dec 31 01:11:21 2011
@@ -71,15 +71,6 @@ public final class InternalConstants
public static final String CHARSET_CONTENT_TYPE_PARAMETER = "charset";
/**
- * Request attribute that stores a {@link org.apache.tapestry5.internal.structure.Page} instance
- * that will be
- * rendered as the {@linkplain org.apache.tapestry5.SymbolConstants#SUPPRESS_REDIRECT_FROM_ACTION_REQUESTS
- * immediate
- * mode response}.
- */
- public static final String IMMEDIATE_RESPONSE_PAGE_ATTRIBUTE = "tapestry.immediate-response-page";
-
- /**
* Required MIME type for JSON responses. If this MIME type is not used, the client-side
* Prototype code will not
* recognize the response as JSON, and the Ajax.Response.responseJSON property will be null.
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClassResultProcessor.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClassResultProcessor.java?rev=1226010&r1=1226009&r2=1226010&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClassResultProcessor.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClassResultProcessor.java Sat Dec 31 01:11:21 2011
@@ -1,4 +1,4 @@
-// Copyright 2007, 2008 The Apache Software Foundation
+// Copyright 2007, 2008, 2011 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -14,40 +14,39 @@
package org.apache.tapestry5.internal.services;
-import org.apache.tapestry5.internal.structure.Page;
+import org.apache.tapestry5.ioc.annotations.Primary;
import org.apache.tapestry5.services.ComponentClassResolver;
import org.apache.tapestry5.services.ComponentEventResultProcessor;
+import org.apache.tapestry5.services.Traditional;
import java.io.IOException;
/**
- * Used when a component event handler returns a class value. The value is interpreted as the page class. A link to the
- * page will be sent.
+ * Used when a component event handler returns a class value. The value is interpreted as the page class. A redirect
+ * to the page will be sent.
*/
public class ClassResultProcessor implements ComponentEventResultProcessor<Class>
{
private final ComponentClassResolver resolver;
- private final RequestPageCache requestPageCache;
+ private final ComponentEventResultProcessor primary;
- private final ActionRenderResponseGenerator generator;
+ public ClassResultProcessor(ComponentClassResolver resolver,
- public ClassResultProcessor(ComponentClassResolver resolver, RequestPageCache requestPageCache,
- ActionRenderResponseGenerator generator)
+ @Traditional @Primary
+ ComponentEventResultProcessor primary)
{
this.resolver = resolver;
- this.requestPageCache = requestPageCache;
- this.generator = generator;
+ this.primary = primary;
}
public void processResultValue(Class value) throws IOException
{
String className = value.getName();
- String pageName = resolver.resolvePageClassNameToPageName(className);
- Page page = requestPageCache.get(pageName);
+ String pageName = resolver.resolvePageClassNameToPageName(className);
- generator.generateResponse(page);
+ primary.processResultValue(pageName);
}
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentEventRequestHandlerImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentEventRequestHandlerImpl.java?rev=1226010&r1=1226009&r2=1226010&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentEventRequestHandlerImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentEventRequestHandlerImpl.java Sat Dec 31 01:11:21 2011
@@ -14,19 +14,14 @@
package org.apache.tapestry5.internal.services;
-import java.io.IOException;
-
import org.apache.tapestry5.TrackableComponentEventCallback;
import org.apache.tapestry5.internal.structure.ComponentPageElement;
import org.apache.tapestry5.internal.structure.Page;
import org.apache.tapestry5.ioc.annotations.Primary;
import org.apache.tapestry5.ioc.internal.util.TapestryException;
-import org.apache.tapestry5.services.ComponentEventRequestHandler;
-import org.apache.tapestry5.services.ComponentEventRequestParameters;
-import org.apache.tapestry5.services.ComponentEventResultProcessor;
-import org.apache.tapestry5.services.Environment;
-import org.apache.tapestry5.services.Response;
-import org.apache.tapestry5.services.Traditional;
+import org.apache.tapestry5.services.*;
+
+import java.io.IOException;
@SuppressWarnings("unchecked")
public class ComponentEventRequestHandlerImpl implements ComponentEventRequestHandler
@@ -39,25 +34,22 @@ public class ComponentEventRequestHandle
private final PageActivator pageActivator;
- private final ActionRenderResponseGenerator generator;
-
private final Environment environment;
public ComponentEventRequestHandlerImpl(@Traditional
- @Primary
- ComponentEventResultProcessor resultProcessor,
+ @Primary
+ ComponentEventResultProcessor resultProcessor,
- RequestPageCache cache, Response response,
+ RequestPageCache cache, Response response,
- PageActivator pageActivator,
+ PageActivator pageActivator,
- ActionRenderResponseGenerator generator, Environment environment)
+ Environment environment)
{
this.resultProcessor = resultProcessor;
this.cache = cache;
this.response = response;
this.pageActivator = pageActivator;
- this.generator = generator;
this.environment = environment;
}
@@ -67,7 +59,9 @@ public class ComponentEventRequestHandle
if (pageActivator.activatePage(activePage.getRootElement().getComponentResources(), parameters
.getPageActivationContext(), resultProcessor))
+ {
return;
+ }
Page containerPage = cache.get(parameters.getContainingPageName());
@@ -78,12 +72,13 @@ public class ComponentEventRequestHandle
ComponentPageElement element = containerPage.getComponentElementByNestedId(parameters.getNestedComponentId());
- boolean handled = element
- .triggerContextEvent(parameters.getEventType(), parameters.getEventContext(), callback);
+ boolean handled = element.triggerContextEvent(parameters.getEventType(), parameters.getEventContext(), callback);
if (!handled)
+ {
throw new TapestryException(String.format("Request event '%s' (on component %s) was not handled; you must provide a matching event handler method in the component or in one of its containers.", parameters.getEventType(), element.getCompleteId()), element,
null);
+ }
environment.pop(TrackableComponentEventCallback.class);
environment.pop(ComponentEventResultProcessor.class);
@@ -94,7 +89,12 @@ public class ComponentEventRequestHandle
return;
}
+ // If we get this far without generating a response, the default behavior is to
+ // generate a redirect back to the active page; we can let the ComponentEventResultProcessor handle that.
+
if (!response.isCommitted())
- generator.generateResponse(activePage);
+ {
+ resultProcessor.processResultValue(activePage.getName());
+ }
}
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstanceResultProcessor.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstanceResultProcessor.java?rev=1226010&r1=1226009&r2=1226010&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstanceResultProcessor.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstanceResultProcessor.java Sat Dec 31 01:11:21 2011
@@ -15,8 +15,8 @@
package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.ComponentResources;
-import org.apache.tapestry5.internal.structure.Page;
import org.apache.tapestry5.ioc.annotations.Marker;
+import org.apache.tapestry5.ioc.annotations.Primary;
import org.apache.tapestry5.runtime.Component;
import org.apache.tapestry5.services.ComponentEventResultProcessor;
import org.apache.tapestry5.services.Traditional;
@@ -27,18 +27,15 @@ import java.io.IOException;
@Marker({Traditional.class, ComponentInstanceProcessor.class})
public class ComponentInstanceResultProcessor implements ComponentEventResultProcessor<Component>
{
- private final RequestPageCache requestPageCache;
-
private final Logger logger;
- private final ActionRenderResponseGenerator generator;
+ private final ComponentEventResultProcessor resultProcessor;
- public ComponentInstanceResultProcessor(Logger logger, RequestPageCache requestPageCache,
- ActionRenderResponseGenerator generator)
+ public ComponentInstanceResultProcessor(Logger logger,
+ @Traditional @Primary ComponentEventResultProcessor resultProcessor)
{
- this.requestPageCache = requestPageCache;
this.logger = logger;
- this.generator = generator;
+ this.resultProcessor = resultProcessor;
}
public void processResultValue(Component value) throws IOException
@@ -46,13 +43,10 @@ public class ComponentInstanceResultProc
ComponentResources resources = value.getComponentResources();
if (resources.getContainer() != null)
+ {
logger.warn(String.format("Component %s was returned from an event handler method, but is not a page component. The page containing the component will render the client response.", value.getComponentResources().getCompleteId()));
+ }
- // We have all these layers and layers between us and the page instance, but its easy to
- // extract the page class name and quickly re-resolve that to the page instance.
-
- Page page = requestPageCache.get(resources.getPageName());
-
- generator.generateResponse(page);
+ resultProcessor.processResultValue(resources.getPageName());
}
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/InternalModule.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/InternalModule.java?rev=1226010&r1=1226009&r2=1226010&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/InternalModule.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/InternalModule.java Sat Dec 31 01:11:21 2011
@@ -14,7 +14,6 @@
package org.apache.tapestry5.internal.services;
-import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.internal.pageload.PageLoaderImpl;
import org.apache.tapestry5.internal.services.ajax.AjaxFormUpdateController;
import org.apache.tapestry5.internal.services.javascript.JavaScriptStackPathConstructor;
@@ -27,7 +26,6 @@ import org.apache.tapestry5.ioc.ServiceB
import org.apache.tapestry5.ioc.annotations.Autobuild;
import org.apache.tapestry5.ioc.annotations.Contribute;
import org.apache.tapestry5.ioc.annotations.Marker;
-import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.services.*;
import org.apache.tapestry5.services.transform.ControlledPackageType;
@@ -87,22 +85,6 @@ public class InternalModule
binder.bind(InternalComponentInvalidationEventHub.class);
}
- /**
- * Chooses one of two implementations, based on the configured mode.
- */
- public static ActionRenderResponseGenerator buildActionRenderResponseGenerator(
-
- @Symbol(SymbolConstants.SUPPRESS_REDIRECT_FROM_ACTION_REQUESTS)
- boolean immediateMode,
-
- ObjectLocator locator)
- {
- if (immediateMode)
- return locator.autobuild(ImmediateActionRenderResponseGenerator.class);
-
- return locator.autobuild(ActionRenderResponseGeneratorImpl.class);
- }
-
public PageLoader buildPageLoader(@Autobuild
PageLoaderImpl service,
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageNameComponentEventResultProcessor.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageNameComponentEventResultProcessor.java?rev=1226010&r1=1226009&r2=1226010&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageNameComponentEventResultProcessor.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageNameComponentEventResultProcessor.java Sat Dec 31 01:11:21 2011
@@ -1,4 +1,4 @@
-// Copyright 2006, 2007, 2008 The Apache Software Foundation
+// Copyright 2006, 2007, 2008, 2011 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -14,8 +14,10 @@
package org.apache.tapestry5.internal.services;
-import org.apache.tapestry5.internal.structure.Page;
+import org.apache.tapestry5.Link;
+import org.apache.tapestry5.ioc.annotations.Primary;
import org.apache.tapestry5.services.ComponentEventResultProcessor;
+import org.apache.tapestry5.services.Traditional;
import java.io.IOException;
@@ -25,21 +27,22 @@ import java.io.IOException;
*/
public class PageNameComponentEventResultProcessor implements ComponentEventResultProcessor<String>
{
- private final RequestPageCache requestPageCache;
+ private final LinkSource linkSource;
- private final ActionRenderResponseGenerator generator;
+ private final ComponentEventResultProcessor primary;
- public PageNameComponentEventResultProcessor(RequestPageCache requestPageCache,
- ActionRenderResponseGenerator generator)
+ public PageNameComponentEventResultProcessor(LinkSource linkSource,
+ @Traditional @Primary
+ ComponentEventResultProcessor primary)
{
- this.requestPageCache = requestPageCache;
- this.generator = generator;
+ this.linkSource = linkSource;
+ this.primary = primary;
}
public void processResultValue(String value) throws IOException
{
- Page page = requestPageCache.get(value);
+ Link link = linkSource.createPageRenderLink(value, false);
- generator.generateResponse(page);
+ primary.processResultValue(link);
}
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java?rev=1226010&r1=1226009&r2=1226010&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java Sat Dec 31 01:11:21 2011
@@ -2253,8 +2253,6 @@ public final class TapestryModule
configuration.add(SymbolConstants.DEFAULT_STYLESHEET, "classpath:/org/apache/tapestry5/default.css");
configuration.add("tapestry.spacer-image", "classpath:/org/apache/tapestry5/spacer.gif");
- configuration.add(SymbolConstants.SUPPRESS_REDIRECT_FROM_ACTION_REQUESTS, false);
-
configuration.add(SymbolConstants.PRODUCTION_MODE, true);
configuration.add(SymbolConstants.CLUSTERED_SESSIONS, true);
@@ -2426,12 +2424,9 @@ public final class TapestryModule
handler.handle(parameters);
}
};
+ configuration.add("Secure", secureFilter);
configuration.add("Ajax", new AjaxFilter(request, ajaxHandler));
-
- configuration.addInstance("ImmediateRender", ImmediateActionRenderResponseFilter.class);
-
- configuration.add("Secure", secureFilter, "before:Ajax");
}
/**
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/PageLinkContext.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/PageLinkContext.tml?rev=1226010&r1=1226009&r2=1226010&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/PageLinkContext.tml (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/PageLinkContext.tml Sat Dec 31 01:11:21 2011
@@ -3,9 +3,9 @@
<h1>PageLink Context Demo</h1>
<p>
- Demonstrates how to supply explicit context is a page link. This is often used in pages with a master/detail
+ Demonstrates how to supply explicit context is a page link. This is often used in pages with a primary/detail
relationship,
- with the master page providing links to the detail page, configured via the explicit context.
+ with the primary page providing links to the detail page, configured via the explicit context.
</p>
<a t:type="pagelink" page="target">no context</a>
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/conf/testng.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/conf/testng.xml?rev=1226010&r1=1226009&r2=1226010&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/conf/testng.xml (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/conf/testng.xml Sat Dec 31 01:11:21 2011
@@ -64,14 +64,6 @@
</packages>
</test>
- <test name="Immediate Mode Integration Tests" enabled="true">
- <parameter name="tapestry.web-app-folder" value="src/test/app4"/>
-
- <packages>
- <package name="org.apache.tapestry5.integration.app4"/>
- </packages>
- </test>
-
<test name="Live Reload Tests" enabled="true">
<packages>
<package name="org.apache.tapestry5.integration.reload"/>
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentInstanceResultProcessorTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentInstanceResultProcessorTest.java?rev=1226010&r1=1226009&r2=1226010&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentInstanceResultProcessorTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentInstanceResultProcessorTest.java Sat Dec 31 01:11:21 2011
@@ -1,4 +1,4 @@
-// Copyright 2006, 2007, 2008 The Apache Software Foundation
+// Copyright 2006, 2007, 2008, 2011 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -15,7 +15,6 @@
package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.ComponentResources;
-import org.apache.tapestry5.internal.structure.Page;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
import org.apache.tapestry5.runtime.Component;
import org.apache.tapestry5.services.ComponentEventResultProcessor;
@@ -26,31 +25,25 @@ public class ComponentInstanceResultProc
{
private static final String PAGE_NAME = "Zoop";
- private static final String METHOD_DESCRIPTION = "foo.bar.Baz.biff()";
-
@Test
public void result_is_root_component() throws Exception
{
Component result = mockComponent();
- Component source = mockComponent();
ComponentResources resources = mockComponentResources();
Logger logger = mockLogger();
- RequestPageCache cache = mockRequestPageCache();
- Page page = mockPage();
- ActionRenderResponseGenerator generator = mockActionRenderResponseGenerator();
+ ComponentEventResultProcessor primary = mockComponentEventResultProcessor();
train_getComponentResources(result, resources);
train_getContainer(resources, null);
train_getPageName(resources, PAGE_NAME);
- train_get(cache, PAGE_NAME, page);
- generator.generateResponse(page);
+ primary.processResultValue(PAGE_NAME);
replay();
- ComponentEventResultProcessor<Component> processor = new ComponentInstanceResultProcessor(logger, cache,
- generator);
+ ComponentEventResultProcessor<Component> processor = new ComponentInstanceResultProcessor(logger,
+ primary);
processor.processResultValue(result);
@@ -64,10 +57,7 @@ public class ComponentInstanceResultProc
Component containerResources = mockComponent();
ComponentResources valueResources = mockComponentResources();
Logger logger = mockLogger();
- RequestPageCache cache = mockRequestPageCache();
- Page page = mockPage();
- ActionRenderResponseGenerator generator = mockActionRenderResponseGenerator();
-
+ ComponentEventResultProcessor primary = mockComponentEventResultProcessor();
train_getComponentResources(value, valueResources);
@@ -79,14 +69,12 @@ public class ComponentInstanceResultProc
.warn("Component Zoop:child was returned from an event handler method, but is not a page component. The page containing the component will render the client response.");
train_getPageName(valueResources, PAGE_NAME);
- train_get(cache, PAGE_NAME, page);
- generator.generateResponse(page);
+ primary.processResultValue(PAGE_NAME);
replay();
- ComponentEventResultProcessor<Component> processor = new ComponentInstanceResultProcessor(logger, cache,
- generator);
+ ComponentEventResultProcessor<Component> processor = new ComponentInstanceResultProcessor(logger, primary);
processor.processResultValue(value);
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/test/InternalBaseTestCase.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/test/InternalBaseTestCase.java?rev=1226010&r1=1226009&r2=1226010&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/test/InternalBaseTestCase.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/test/InternalBaseTestCase.java Sat Dec 31 01:11:21 2011
@@ -342,11 +342,6 @@ public class InternalBaseTestCase extend
return newMock(PageContentTypeAnalyzer.class);
}
- protected final ActionRenderResponseGenerator mockActionRenderResponseGenerator()
- {
- return newMock(ActionRenderResponseGenerator.class);
- }
-
protected final PageRenderQueue mockPageRenderQueue()
{
return newMock(PageRenderQueue.class);