You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Richard Bolkey (JIRA)" <ji...@apache.org> on 2009/12/29 20:53:29 UTC
[jira] Updated: (TAP5-961)
ComponentEventLinkEncoderMethodAdvice#rewriteIfNeeded drops parameters when
rewriting links.
[ https://issues.apache.org/jira/browse/TAP5-961?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Richard Bolkey updated TAP5-961:
--------------------------------
Attachment: tap5-961.patch
Adding a patch (albeit untested).
> 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
> 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.