ComponentEventLinkEncoderMethodAdvice#rewriteIfNeeded drops parameters when
rewriting links.
--------------------------------------------------------------------------------------------
Key: TAP5-961
URL: https://issues.apache.org/jira/browse/TAP5-961
Project: Tapestry 5
Issue Type: Bug
Components: tapestry-core
Affects Versions: 5.1.0.5
Reporter: Richard Bolkey
When a link is rewritten that contains parameters, the parameter information is
not passed along to the newly created link. This creates a problem, for
example, when the activation context "t:ac" is specified as a parameter in
event links.
Link rewriteIfNeeded(Link link, URLRewriteContext context)
{
Link newLink = null;
SimpleRequestWrapper fakeRequest = new SimpleRequestWrapper(request,
link.toAbsoluteURI());
Request rewritten = urlRewriter.processLink(fakeRequest,context);
// if the original request is equal to the rewritten one, no
// rewriting is needed
if (fakeRequest != rewritten)
{
final String originalServerName = request.getServerName();
final String rewrittenServerName = rewritten.getServerName();
boolean absolute = originalServerName.equals(rewrittenServerName)
== false;
final String newPath = rewritten.getPath();
String newUrl = absolute ? fullUrl(rewritten) : newPath;
newLink = new LinkImpl(newUrl, false, false, response, null);
(edit: ** newLink needs parameter information specified here)
}
return newLink;
}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.