You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by Gagandeep singh <ga...@gmail.com> on 2010/10/13 07:17:02 UTC

Re: Issue 2058042: Refactoring ResponseRewriterRegistry to take into account container

+ dev@shindig as the mail doesn't seem to have gone.

On Wed, Oct 13, 2010 at 10:36 AM, Gagandeep singh <ga...@gmail.com>wrote:

> Reviewers: dev@shindig.apache.org
>
> Description:
>
> Refactoring ResponseRewriterRegistry to take into account the container of the
> request being processed.
>
> This change adds a ContextAwareRegistry which determines the list of rewriters
> to apply using the container of the http request being processed and the rewrite
> flow id specified.
>
> Each handler (ProxyHandler , AccelHandler etc.) will inject
> ResponseRewriterRegistry and will specify the rewrite flow id as shown below:
>
> @ResponseRewriters(rewriteFlow="accelerate") ResponseRewriterRegistry
> @ResponseRewriters(rewriteFlow="requestPipeline") ResponseRewriterRegistry
> @ResponseRewriters(rewriteFlow="default") ResponseRewriterRegistry
>
>
> ResponseRewriters for a given rewrite flow and container will be provided as
> follows:
> @ResponseRewritersList(rewriteFlow="accelerate", container="default")
> protected List<ResponseRewriter> provide() {
>   return ImmutableList.of(absolutePathReferenceRewriter);
> }
> ....
>
> We will then aggregate the rewrite flows and the list of rewriters for each
> container, and generate a map of Container -> [ RewriteFlow -> List of rewriters
> ].
>
>
> Some boilerplate code is added at the bottom of RewriteModule.java so that you
> don't have to instantiate the ContextAwareRegistry yourself. Just provide
> methods which provide list of rewriters for a given flow and container.
>
>
> Please review this at http://codereview.appspot.com/2058042/
>
> Affected files:
> A
>  java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/RewriteModuleTest.java
> M
>  java/gadgets/src/main/java/org/apache/shindig/gadgets/http/DefaultRequestPipeline.java
> M
>  java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/AccelHandler.java
> M
>  java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ConcatProxyServlet.java
> M
>  java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java
> M
>  java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java
> M
>  java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpRequestHandler.java
> A
>  java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/ResponseRewriterList.java
> M
>  java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RewriteModule.java
> A
>  java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/ContextAwareRegistry.java
> D
>  java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/AccelResponseRewriterRegistry.java
> A
>  java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RewriterRegistryImpl.java
>  A
>  java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RewriterRegistry.java
>
>  Thanks
> Gagan
>
>