[
https://issues.apache.org/jira/browse/TAPESTRY-1627?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nick Westgate updated TAPESTRY-1627:
------------------------------------
Attachment: TAPESTRY-1627.patch
Well, here's a 3 line patch!
I had a go at adding a test for this, but the redirect makes it tough.
You can't use a test with a context, because the RootPathDispatcher won't catch
that.
It might be easier in app2, or require another test app entirely.
It also might not be worth testing it at all!
For the record, I tried to use an ASO in the Start page of app1 as follows:
import org.apache.tapestry.integration.app1.SimpleASO;
/**
* Have to start somewhere!
*/
public class Start
{
@ApplicationState
private SimpleASO _aso;
private boolean _asoExists;
Object onActivate()
{
if (!_asoExists)
{
// test redirect handling from root page
_aso = new SimpleASO();
return this;
}
return null;
}
}
The result if broken:
FAILURE!
com.thoughtworks.selenium.SeleniumException: ERROR: Element link=Expansion Page
not found
The result if fixed:
FAILURE!
crushing_number_of_threads_at_startup(org.apache.tapestry.integration.LaunchCrusherTest)
Cheers,
Nick.
> Start page redirect requests can return an empty response.
> ----------------------------------------------------------
>
> Key: TAPESTRY-1627
> URL: https://issues.apache.org/jira/browse/TAPESTRY-1627
> Project: Tapestry
> Issue Type: Bug
> Components: tapestry-core
> Affects Versions: 5.0.5
> Reporter: Nick Westgate
> Attachments: TAPESTRY-1627.patch
>
>
> A Start page redirect request will produce an empty response if the request
> URL was root, e.g: http://localhost:8080/myapp/
> It will succeed only if the URL maps to the Start page, eg:
> http://localhost:8080/myapp/start
> It looks like just a couple of lines need to be (changed/added) in
> org.apache.tapestry.internal.services.RootPathDispatcher.dispatch()
> [Marked by -/+ below.]
> public boolean dispatch(Request request, final Response response) throws
> IOException
> {
> // Only match the root path
> if (!request.getPath().equals("/")) return false;
> if (_componentClassResolver.isPageName(_startPageName))
> {
> - _handler.handle(_startPageName, _emptyContext);
> + ActionResponseGenerator responseGenerator =
> _handler.handle(pageName, context);
> + if (responseGenerator != null)
> responseGenerator.sendClientResponse(response);
> return true;
> }
> return false;
> }
> Cheers,
> Nick.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]