Sorry Lance but I don't understand how to replace the link with an
interface if I can't make a copyWithBasePath because I cant set/access all
the attributes of the link.

Sorry but I don't understand.

I am talking about link.getBasePath() and
the link.copyWithBasePath(newPath) in the method transform from the
class ModeComponentEventLinkEncoder.


Regards.


On Tue, Apr 3, 2012 at 4:49 PM, Lance Java <lance.j...@googlemail.com>wrote:

> Take a look at my RequestDelegate class which delegates every method to
> another class. I then override one method which I want to change.
>
> You could do exactly the same and create a LinkDelegate. After all, it's
> just an interface
>
> :)
>
> On Tuesday, 3 April 2012, Juan Alba <juan.a...@condortech.com.ar> wrote:
> > First of all thanks a lot for all your time and help Lance. I have used
> > your example and worked perfect. I could use the mode to put the
> > css dynamically as I wished. Thanks a lot.
> >
> > Now my problem is trying to use it in my web app. In tapestry 5.1.0.5
> > LinkImpl doesn't have getBasePath(), or copyWithBasePath(). You are using
> > them in the ModeComponentEventLinkEncoder.
> >
> > I decided to replace the getBasePath() with toAbsoluteURI() and to create
> a
> > private method to copy the link passing the link as an attribute but it
> is
> > imposible to create an instance of LinkImpl from the link because I can't
> > get the values of optimizable, linkforForm, response, optimizer from it.
> > I don't know how to continue from here and if I can replace the basePath
> > with the AbsoluteUri. :(
> >
> > Thanks.
> >
> > On Sat, Mar 31, 2012 at 9:43 AM, Lance Java <lance.j...@googlemail.com
> >wrote:
> >
> >> I've put together a little demo decorating the ComponentEventLinkEncoder
> >> which I'm sure you could adapt to the deprecated URLRewriter if you
> prefer
> >> it that way. I've done it in tapestry 5.3 but it could be packported to
> >> tapestry 5.1.0.5 as is.
> >>
> >> I've setup three "special" prefixes for "foo", "bar" and "facebook"
> >>
> >> If you download it and mvn jetty:run then hit
> >> http://localhost:8080/tapestry-sandbox/facebook/modepage1. You will see
> >> that the "mode" environmental is set to "facebook". Click on either of
> the
> >> links and you will be sent to
> >> http://localhost:8080/tapestry-sandbox/facebook/modepage2<
> >> http://localhost:8080/tapestry-sandbox/facebook/modepage1>
> >>
> >> Likewise, you can try
> >> http://localhost:8080/tapestry-sandbox/foo/modepage1<
> >> http://localhost:8080/tapestry-sandbox/facebook/modepage1>
> >> (mode
> >> = foo)
> >>
> >> Or
> >> http://localhost:8080/tapestry-sandbox/modepage1<
> >> http://localhost:8080/tapestry-sandbox/facebook/modepage1>
> >> (mode
> >> = null)
> >>
> >>
> >> Code is here
> >> https://github.com/uklance/tapestry-sandbox
> >>
> >> Interesting files here
> >>
> >>
>
> https://github.com/uklance/tapestry-sandbox/tree/master/src/main/java/com/github/uklance/extras
> >>
> >>
> >> Cheers,
> >> Lance.
> >>
> >
>

Reply via email to