Author: zhoresh
Date: Tue Nov 9 00:23:35 2010
New Revision: 1032792
URL: http://svn.apache.org/viewvc?rev=1032792&view=rev
Log:
Ref http://codereview.appspot.com/2996041/
Use list binding for gadget rewriters
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/GadgetRewritersProvider.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RewriteModule.java
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/GadgetRewritersProvider.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/GadgetRewritersProvider.java?rev=1032792&r1=1032791&r2=1032792&view=diff
==============================================================================
---
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/GadgetRewritersProvider.java
(original)
+++
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/GadgetRewritersProvider.java
Tue Nov 9 00:23:35 2010
@@ -19,7 +19,7 @@
package org.apache.shindig.gadgets.render;
-import java.util.Set;
+import java.util.List;
import org.apache.shindig.gadgets.GadgetContext;
import org.apache.shindig.gadgets.rewrite.GadgetRewriter;
@@ -34,14 +34,15 @@ import com.google.inject.name.Named;
* @since 2.0.0
*/
public class GadgetRewritersProvider {
- private final Set<GadgetRewriter> renderRewriters;
+ private final List<GadgetRewriter> renderRewriters;
@Inject
- public GadgetRewritersProvider(@Named("shindig.rewriters.gadget")
Set<GadgetRewriter> renderRewriters) {
+ public GadgetRewritersProvider(
+ @Named("shindig.rewriters.gadget") List<GadgetRewriter> renderRewriters)
{
this.renderRewriters = renderRewriters;
}
- public Set<GadgetRewriter> getRewriters(GadgetContext context) {
+ public List<GadgetRewriter> getRewriters(GadgetContext context) {
return renderRewriters;
}
}
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RewriteModule.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RewriteModule.java?rev=1032792&r1=1032791&r2=1032792&view=diff
==============================================================================
---
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RewriteModule.java
(original)
+++
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RewriteModule.java
Tue Nov 9 00:23:35 2010
@@ -19,6 +19,7 @@
package org.apache.shindig.gadgets.rewrite;
import java.util.List;
+import java.util.Set;
import org.apache.shindig.gadgets.parse.GadgetHtmlParser;
import org.apache.shindig.gadgets.render.CajaResponseRewriter;
@@ -47,13 +48,14 @@ public class RewriteModule extends Abstr
bind(ResponseRewriterRegistry.class)
.annotatedWith(Names.named("shindig.accelerate.response.rewriter.registry"))
.to(AccelResponseRewriterRegistry.class);
-
+
configureRewriters();
}
private void configureRewriters() {
- Multibinder<GadgetRewriter> multibinder =
Multibinder.newSetBinder(binder(), GadgetRewriter.class,
Names.named("shindig.rewriters.gadget"));
+ Multibinder<GadgetRewriter> multibinder =
Multibinder.newSetBinder(binder(),
+ GadgetRewriter.class, Names.named("shindig.rewriters.gadget.set"));
multibinder.addBinding().to(PipelineDataGadgetRewriter.class);
multibinder.addBinding().to(TemplateRewriter.class);
multibinder.addBinding().to(AbsolutePathReferenceRewriter.class);
@@ -68,13 +70,22 @@ public class RewriteModule extends Abstr
@Provides
@Singleton
+ @Named("shindig.rewriters.gadget")
+ protected List<GadgetRewriter> provideGadgetRewriters(
+ @Named("shindig.rewriters.gadget.set") Set<GadgetRewriter>
gadgetRewritersSet) {
+ // Multibinding promise order within a binding module
+ return ImmutableList.copyOf(gadgetRewritersSet);
+ }
+
+ @Provides
+ @Singleton
@Named("shindig.rewriters.accelerate")
protected List<GadgetRewriter> provideAccelRewriters(
ProxyingContentRewriter proxyingContentRewriter,
CajaContentRewriter cajaRewriter) {
return ImmutableList.of(proxyingContentRewriter, cajaRewriter);
}
-
+
// TODO: Clean this up. Ideally we would let the ResponseRewriterRegistry
// binding create the concrete object instance.
@Provides