[
https://issues.apache.org/jira/browse/TAP5-961?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12837423#action_12837423
]
Howard M. Lewis Ship commented on TAP5-961:
-------------------------------------------
Also, this is a chance to remove the gratuitous use of method advice (rather
than decoration). Advice is when the underlying interface is not known,
decoration is smarter when it is known (such as in this case, when a decorator
is being put specifically around the ComponentEventLinkEncoder service).
> 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
> Assignee: Howard M. Lewis Ship
> Attachments: tap5-961.patch
>
>
> 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.