You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Taha Hafeez <ta...@gmail.com> on 2011/05/06 01:46:32 UTC
Encrypting a url
Hi
I want to encrypt urls using jasypt. I tried using LinkTransformer api but
that would force me to do the conversion from request to
PageRenderRequestParameters after decryption and from
PageRenderRequestParameters to request before encryption.
What am I missing ?
regards
Taha
Re: Encrypting a url
Posted by "Thiago H. de Paula Figueiredo" <th...@gmail.com>.
On Thu, 05 May 2011 22:43:38 -0300, Taha Hafeez <ta...@gmail.com>
wrote:
> Hi Thiago!
Hi, Taha!
> I did the exact same thing(great people think alike!! :)) but it lead to
> recursion. The trace is below.
A a workaround is to instantiate ComponentEventLinkEncoder(Impl) yourself
to avoid the recursive calls. Injecting ObjectLocator and using its
autobuild(Class) method should solve it.
--
Thiago H. de Paula Figueiredo
Independent Java, Apache Tapestry 5 and Hibernate consultant, developer,
and instructor
Owner, Ars Machina Tecnologia da Informação Ltda.
http://www.arsmachina.com.br
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: Encrypting a url
Posted by Taha Hafeez <ta...@gmail.com>.
Hi Thiago!
I did the exact same thing(great people think alike!! :)) but it lead to
recursion. The trace is below.
[ERROR] TapestryModule.RequestExceptionHandler Processing of request failed
with uncaught exception: java.lang.StackOverflowError
java.lang.StackOverflowError
at sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:246)
at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:106)
at java.io.OutputStreamWriter.write(OutputStreamWriter.java:190)
at java.io.BufferedWriter.flushBuffer(BufferedWriter.java:111)
at java.io.PrintStream.write(PrintStream.java:476)
at java.io.PrintStream.print(PrintStream.java:619)
at java.io.PrintStream.println(PrintStream.java:756)
at
com.googlecode.tawus.exports.internal.EncryptionLinkTransformer.decodePageRenderRequest(EncryptionLinkTransformer.java:31)
at
$PageRenderLinkTransformer_12fc10b3d74.decodePageRenderRequest($PageRenderLinkTransformer_12fc10b3d74.java)
at
$PageRenderLinkTransformer_12fc10b3d75.decodePageRenderRequest($PageRenderLinkTransformer_12fc10b3d75.java)
at
$PageRenderLinkTransformer_12fc10b3d72.decodePageRenderRequest($PageRenderLinkTransformer_12fc10b3d72.java)
at
org.apache.tapestry5.internal.services.linktransform.LinkTransformerImpl.decodePageRenderRequest(LinkTransformerImpl.java:57)
at
$LinkTransformer_12fc10b3d70.decodePageRenderRequest($LinkTransformer_12fc10b3d70.java)
at
org.apache.tapestry5.internal.services.linktransform.LinkTransformerInterceptor.decodePageRenderRequest(LinkTransformerInterceptor.java:65)
at
$ComponentEventLinkEncoder_12fc10b3d60.decodePageRenderRequest($ComponentEventLinkEncoder_12fc10b3d60.java)
at
com.googlecode.tawus.exports.internal.EncryptionLinkTransformer.decodePageRenderRequest(EncryptionLinkTransformer.java:32)
at
$PageRenderLinkTransformer_12fc10b3d74.decodePageRenderRequest($PageRenderLinkTransformer_12fc10b3d74.java)
at
$PageRenderLinkTransformer_12fc10b3d75.decodePageRenderRequest($PageRenderLinkTransformer_12fc10b3d75.java)
at
$PageRenderLinkTransformer_12fc10b3d72.decodePageRenderRequest($PageRenderLinkTransformer_12fc10b3d72.java)
at
org.apache.tapestry5.internal.services.linktransform.LinkTransformerImpl.decodePageRenderRequest(LinkTransformerImpl.java:57)
at
$LinkTransformer_12fc10b3d70.decodePageRenderRequest($LinkTransformer_12fc10b3d70.java)
I think it might be because of decoration. No I tried to create another
service and give it a different service id but as this service is used in
the core module without a service id, two implementations are not possible.
Finally I got it working by creating an instance of
ComponentEventLinkEncoderImpl.
regards
Taha
On Fri, May 6, 2011 at 6:30 AM, Thiago H. de Paula Figueiredo <
thiagohp@gmail.com> wrote:
> On Thu, 05 May 2011 20:46:32 -0300, Taha Hafeez <ta...@gmail.com>
> wrote:
>
> Hi
>>
>
> Hi, Taha!
>
>
> I want to encrypt urls using jasypt. I tried using LinkTransformer api but
>> that would force me to do the conversion from request to
>> PageRenderRequestParameters after decryption and from
>> PageRenderRequestParameters to request before encryption.
>> What am I missing ?
>>
>
> You description is quite vague. Aren't the URLs being really encrypted?
> They are encrypted but you're thinking that it should be simpler and you
> shouldn't even do these conversions?
>
> PageRenderLinkTransformer has two methods:
> PageRenderRequestParameters decodePageRenderRequest(Request request):
> receives a request. I'd get the path, decode it, and then use
> ComponentEventLinkEncoder.decodeComponentEventRequest(Request request)
> passing a mock request which returns the decoded path in its getPaht()
> method.
>
> Link transformPageRenderLink(Link defaultLink, PageRenderRequestParameters
> parameters): I'd get the received link, invoke toAbsoluteURI(), encrypt it
> and return a new Link object based on it.
>
> --
> Thiago H. de Paula Figueiredo
> Independent Java, Apache Tapestry 5 and Hibernate consultant, developer,
> and instructor
> Owner, Ars Machina Tecnologia da Informação Ltda.
> http://www.arsmachina.com.br
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
Re: Encrypting a url
Posted by "Thiago H. de Paula Figueiredo" <th...@gmail.com>.
On Thu, 05 May 2011 20:46:32 -0300, Taha Hafeez <ta...@gmail.com>
wrote:
> Hi
Hi, Taha!
> I want to encrypt urls using jasypt. I tried using LinkTransformer api
> but that would force me to do the conversion from request to
> PageRenderRequestParameters after decryption and from
> PageRenderRequestParameters to request before encryption.
> What am I missing ?
You description is quite vague. Aren't the URLs being really encrypted?
They are encrypted but you're thinking that it should be simpler and you
shouldn't even do these conversions?
PageRenderLinkTransformer has two methods:
PageRenderRequestParameters decodePageRenderRequest(Request request):
receives a request. I'd get the path, decode it, and then use
ComponentEventLinkEncoder.decodeComponentEventRequest(Request request)
passing a mock request which returns the decoded path in its getPaht()
method.
Link transformPageRenderLink(Link defaultLink, PageRenderRequestParameters
parameters): I'd get the received link, invoke toAbsoluteURI(), encrypt it
and return a new Link object based on it.
--
Thiago H. de Paula Figueiredo
Independent Java, Apache Tapestry 5 and Hibernate consultant, developer,
and instructor
Owner, Ars Machina Tecnologia da Informação Ltda.
http://www.arsmachina.com.br
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org