Author: etnu
Date: Tue Jan 27 20:09:13 2009
New Revision: 738213

URL: http://svn.apache.org/viewvc?rev=738213&view=rev
Log:
Fixed some dangling issues related to request pipeline refactoring:

- Deleted unused classes
- Fixed bindings for Default*Factory to properly use the pipeline and not the 
http fetchers directly.


Removed:
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/ChainedContentFetcher.java
    
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/InterceptingContentFetcher.java
Modified:
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGadgetSpecFactory.java
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultMessageBundleFactory.java
    
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultGadgetSpecFactoryTest.java
    
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultMessageBundleFactoryTest.java
    
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/BaseRewriterTestCase.java

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGadgetSpecFactory.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGadgetSpecFactory.java?rev=738213&r1=738212&r2=738213&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGadgetSpecFactory.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGadgetSpecFactory.java
 Tue Jan 27 20:09:13 2009
@@ -23,15 +23,15 @@
 import org.apache.shindig.common.cache.SoftExpiringCache;
 import org.apache.shindig.common.uri.Uri;
 import org.apache.shindig.config.ContainerConfig;
-import org.apache.shindig.gadgets.http.HttpFetcher;
 import org.apache.shindig.gadgets.http.HttpRequest;
 import org.apache.shindig.gadgets.http.HttpResponse;
+import org.apache.shindig.gadgets.http.RequestPipeline;
 import org.apache.shindig.gadgets.spec.GadgetSpec;
 
+import com.google.common.base.Preconditions;
 import com.google.inject.Inject;
 import com.google.inject.Singleton;
 import com.google.inject.name.Named;
-import com.google.common.base.Preconditions;
 
 import java.net.URI;
 import java.util.logging.Logger;
@@ -48,15 +48,15 @@
   static final String ERROR_KEY = "parse.exception";
   static final Logger LOG = 
Logger.getLogger(DefaultGadgetSpecFactory.class.getName());
 
-  private final HttpFetcher fetcher;
+  private final RequestPipeline pipeline;
   private final SoftExpiringCache<Uri, GadgetSpec> cache;
   private final long refresh;
 
   @Inject
-  public DefaultGadgetSpecFactory(HttpFetcher fetcher,
+  public DefaultGadgetSpecFactory(RequestPipeline pipeline,
                                   CacheProvider cacheProvider,
                                   @Named("shindig.cache.xml.refreshInterval") 
long refresh) {
-    this.fetcher = fetcher;
+    this.pipeline = pipeline;
     Cache<Uri, GadgetSpec> baseCache = cacheProvider.createCache(CACHE_NAME);
     this.cache = new SoftExpiringCache<Uri, GadgetSpec>(baseCache);
     this.refresh = refresh;
@@ -133,7 +133,7 @@
     // globally. This ensures propagation to shared caches when this is set.
     request.setCacheTtl((int) (refresh / 1000));
 
-    HttpResponse response = fetcher.fetch(request);
+    HttpResponse response = pipeline.execute(request);
     if (response.getHttpStatusCode() != HttpResponse.SC_OK) {
       throw new 
GadgetException(GadgetException.Code.FAILED_TO_RETRIEVE_CONTENT,
                                 "Unable to retrieve gadget xml. HTTP error " +

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultMessageBundleFactory.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultMessageBundleFactory.java?rev=738213&r1=738212&r2=738213&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultMessageBundleFactory.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultMessageBundleFactory.java
 Tue Jan 27 20:09:13 2009
@@ -23,9 +23,9 @@
 import org.apache.shindig.common.cache.SoftExpiringCache;
 import org.apache.shindig.common.cache.SoftExpiringCache.CachedObject;
 import org.apache.shindig.common.uri.Uri;
-import org.apache.shindig.gadgets.http.HttpFetcher;
 import org.apache.shindig.gadgets.http.HttpRequest;
 import org.apache.shindig.gadgets.http.HttpResponse;
+import org.apache.shindig.gadgets.http.RequestPipeline;
 import org.apache.shindig.gadgets.spec.GadgetSpec;
 import org.apache.shindig.gadgets.spec.LocaleSpec;
 import org.apache.shindig.gadgets.spec.MessageBundle;
@@ -48,15 +48,15 @@
   private static final Locale ALL_ALL = new Locale("all", "ALL");
   public static final String CACHE_NAME = "messageBundles";
   static final Logger LOG = 
Logger.getLogger(DefaultMessageBundleFactory.class.getName());
-  private final HttpFetcher fetcher;
+  private final RequestPipeline pipeline;
   final SoftExpiringCache<String, MessageBundle> cache;
   private final long refresh;
 
   @Inject
-  public DefaultMessageBundleFactory(HttpFetcher fetcher,
+  public DefaultMessageBundleFactory(RequestPipeline pipeline,
                                      CacheProvider cacheProvider,
                                      
@Named("shindig.cache.xml.refreshInterval") long refresh) {
-    this.fetcher = fetcher;
+    this.pipeline = pipeline;
     Cache<String, MessageBundle> baseCache = 
cacheProvider.createCache(CACHE_NAME);
     this.cache = new SoftExpiringCache<String, MessageBundle>(baseCache);
     this.refresh = refresh;
@@ -134,7 +134,7 @@
     // globally. This ensures propagation to shared caches when this is set.
     request.setCacheTtl((int) (refresh / 1000));
 
-    HttpResponse response = fetcher.fetch(request);
+    HttpResponse response = pipeline.execute(request);
     if (response.getHttpStatusCode() != HttpResponse.SC_OK) {
       throw new 
GadgetException(GadgetException.Code.FAILED_TO_RETRIEVE_CONTENT,
           "Unable to retrieve message bundle xml. HTTP error " +

Modified: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultGadgetSpecFactoryTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultGadgetSpecFactoryTest.java?rev=738213&r1=738212&r2=738213&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultGadgetSpecFactoryTest.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultGadgetSpecFactoryTest.java
 Tue Jan 27 20:09:13 2009
@@ -27,10 +27,10 @@
 import org.apache.shindig.common.cache.LruCacheProvider;
 import org.apache.shindig.common.uri.Uri;
 import org.apache.shindig.config.ContainerConfig;
-import org.apache.shindig.gadgets.http.HttpFetcher;
 import org.apache.shindig.gadgets.http.HttpRequest;
 import org.apache.shindig.gadgets.http.HttpResponse;
 import org.apache.shindig.gadgets.http.HttpResponseBuilder;
+import org.apache.shindig.gadgets.http.RequestPipeline;
 import org.apache.shindig.gadgets.spec.GadgetSpec;
 
 import org.easymock.EasyMock;
@@ -102,12 +102,12 @@
 
   private static final int MAX_AGE = 10000;
 
-  private final HttpFetcher fetcher = 
EasyMock.createNiceMock(HttpFetcher.class);
+  private final RequestPipeline pipeline = 
EasyMock.createNiceMock(RequestPipeline.class);
 
   private final CacheProvider cacheProvider = new LruCacheProvider(5);
 
   private final DefaultGadgetSpecFactory specFactory
-      = new DefaultGadgetSpecFactory(fetcher, cacheProvider, MAX_AGE);
+      = new DefaultGadgetSpecFactory(pipeline, cacheProvider, MAX_AGE);
 
   private static HttpRequest createIgnoreCacheRequest() {
     return new HttpRequest(SPEC_URL)
@@ -126,8 +126,8 @@
   public void specFetched() throws Exception {
     HttpRequest request = createIgnoreCacheRequest();
     HttpResponse response = new HttpResponse(LOCAL_SPEC_XML);
-    expect(fetcher.fetch(request)).andReturn(response);
-    replay(fetcher);
+    expect(pipeline.execute(request)).andReturn(response);
+    replay(pipeline);
 
     GadgetSpec spec = specFactory.getGadgetSpec(SPEC_URL.toJavaUri(), true);
 
@@ -139,8 +139,8 @@
     HttpRequest request = createIgnoreCacheRequest();
 
     HttpResponse response = new HttpResponse(LOCAL_SPEC_XML);
-    expect(fetcher.fetch(request)).andReturn(response);
-    replay(fetcher);
+    expect(pipeline.execute(request)).andReturn(response);
+    replay(pipeline);
 
     GadgetSpec spec = specFactory.getGadgetSpec(NO_CACHE_CONTEXT);
 
@@ -150,11 +150,11 @@
   @Test
   public void specFetchedFromParam() throws Exception {
     // Set up request as if it's a regular spec request, and ensure that
-    // the return value comes from rawxml, not the fetcher.
+    // the return value comes from rawxml, not the pipeline.
     HttpRequest request = createIgnoreCacheRequest();
     HttpResponse response = new HttpResponse(LOCAL_SPEC_XML);
-    expect(fetcher.fetch(request)).andReturn(response);
-    replay(fetcher);
+    expect(pipeline.execute(request)).andReturn(response);
+    replay(pipeline);
 
     GadgetSpec spec = specFactory.getGadgetSpec(RAWXML_GADGET_CONTEXT);
 
@@ -172,9 +172,9 @@
         .setResponse(LOCAL_SPEC_XML.getBytes("UTF-8"))
         .create();
     HttpResponse updatedResponse = new HttpResponse(ALT_LOCAL_SPEC_XML);
-    expect(fetcher.fetch(request)).andReturn(expiredResponse).once();
-    expect(fetcher.fetch(retriedRequest)).andReturn(updatedResponse).once();
-    replay(fetcher);
+    expect(pipeline.execute(request)).andReturn(expiredResponse).once();
+    expect(pipeline.execute(retriedRequest)).andReturn(updatedResponse).once();
+    replay(pipeline);
 
     specFactory.getGadgetSpec(SPEC_URL.toJavaUri(), true);
     GadgetSpec spec = specFactory.getGadgetSpec(SPEC_URL.toJavaUri(), false);
@@ -191,9 +191,9 @@
         .setResponse(LOCAL_SPEC_XML.getBytes("UTF-8"))
         .addHeader("Pragma", "no-cache")
         .create();
-    expect(fetcher.fetch(request)).andReturn(expiredResponse);
-    
expect(fetcher.fetch(retriedRequest)).andReturn(HttpResponse.notFound()).once();
-    replay(fetcher);
+    expect(pipeline.execute(request)).andReturn(expiredResponse);
+    
expect(pipeline.execute(retriedRequest)).andReturn(HttpResponse.notFound()).once();
+    replay(pipeline);
 
     specFactory.getGadgetSpec(SPEC_URL.toJavaUri(), true);
     GadgetSpec spec = specFactory.getGadgetSpec(SPEC_URL.toJavaUri(), false);
@@ -202,23 +202,23 @@
   }
 
   @Test
-  public void ttlPropagatesToFetcher() throws Exception {
-    CapturingFetcher capturingFetcher = new CapturingFetcher();
+  public void ttlPropagatesToPipeline() throws Exception {
+    CapturingPipeline capturingpipeline = new CapturingPipeline();
 
     DefaultGadgetSpecFactory forcedCacheFactory
-        = new DefaultGadgetSpecFactory(capturingFetcher, cacheProvider, 10000);
+        = new DefaultGadgetSpecFactory(capturingpipeline, cacheProvider, 
10000);
 
     forcedCacheFactory.getGadgetSpec(SPEC_URL.toJavaUri(), false);
 
-    assertEquals(10, capturingFetcher.request.getCacheTtl());
+    assertEquals(10, capturingpipeline.request.getCacheTtl());
   }
 
   @Test
   public void typeUrlNotFetchedRemote() throws Exception {
     HttpRequest request = createIgnoreCacheRequest();
     HttpResponse response = new HttpResponse(URL_SPEC_XML);
-    expect(fetcher.fetch(request)).andReturn(response);
-    replay(fetcher);
+    expect(pipeline.execute(request)).andReturn(response);
+    replay(pipeline);
 
     GadgetSpec spec = specFactory.getGadgetSpec(SPEC_URL.toJavaUri(), true);
 
@@ -229,8 +229,8 @@
   @Test(expected = GadgetException.class)
   public void badFetchThrows() throws Exception {
     HttpRequest request = createIgnoreCacheRequest();
-    expect(fetcher.fetch(request)).andReturn(HttpResponse.error());
-    replay(fetcher);
+    expect(pipeline.execute(request)).andReturn(HttpResponse.error());
+    replay(pipeline);
 
     specFactory.getGadgetSpec(SPEC_URL.toJavaUri(), true);
   }
@@ -238,10 +238,10 @@
   @Test(expected = GadgetException.class)
   public void badFetchServesCached() throws Exception {
     HttpRequest firstRequest = createCacheableRequest();
-    expect(fetcher.fetch(firstRequest)).andReturn(new 
HttpResponse(LOCAL_SPEC_XML)).once();
+    expect(pipeline.execute(firstRequest)).andReturn(new 
HttpResponse(LOCAL_SPEC_XML)).once();
     HttpRequest secondRequest = createIgnoreCacheRequest();
-    
expect(fetcher.fetch(secondRequest)).andReturn(HttpResponse.error()).once();
-    replay(fetcher);
+    
expect(pipeline.execute(secondRequest)).andReturn(HttpResponse.error()).once();
+    replay(pipeline);
 
     GadgetSpec original = specFactory.getGadgetSpec(SPEC_URL.toJavaUri(), 
false);
     GadgetSpec cached = specFactory.getGadgetSpec(SPEC_URL.toJavaUri(), true);
@@ -253,8 +253,8 @@
   @Test(expected = GadgetException.class)
   public void malformedGadgetSpecThrows() throws Exception {
     HttpRequest request = createIgnoreCacheRequest();
-    expect(fetcher.fetch(request)).andReturn(new HttpResponse("malformed 
junk"));
-    replay(fetcher);
+    expect(pipeline.execute(request)).andReturn(new HttpResponse("malformed 
junk"));
+    replay(pipeline);
 
     specFactory.getGadgetSpec(SPEC_URL.toJavaUri(), true);
   }
@@ -262,8 +262,8 @@
   @Test(expected = GadgetException.class)
   public void malformedGadgetSpecIsCachedAndThrows() throws Exception {
     HttpRequest request = createCacheableRequest();
-    expect(fetcher.fetch(request)).andReturn(new HttpResponse("malformed 
junk")).once();
-    replay(fetcher);
+    expect(pipeline.execute(request)).andReturn(new HttpResponse("malformed 
junk")).once();
+    replay(pipeline);
 
     try {
       specFactory.getGadgetSpec(SPEC_URL.toJavaUri(), false);
@@ -275,19 +275,19 @@
   }
 
   @Test(expected = GadgetException.class)
-  public void throwingFetcherRethrows() throws Exception {
+  public void throwingpipelineRethrows() throws Exception {
     HttpRequest request = createIgnoreCacheRequest();
-    expect(fetcher.fetch(request)).andThrow(
+    expect(pipeline.execute(request)).andThrow(
         new GadgetException(GadgetException.Code.FAILED_TO_RETRIEVE_CONTENT));
-    replay(fetcher);
+    replay(pipeline);
 
     specFactory.getGadgetSpec(SPEC_URL.toJavaUri(), true);
   }
 
-  protected static class CapturingFetcher implements HttpFetcher {
+  protected static class CapturingPipeline implements RequestPipeline {
     HttpRequest request;
 
-    public HttpResponse fetch(HttpRequest request) {
+    public HttpResponse execute(HttpRequest request) {
       this.request = request;
       return new HttpResponse(LOCAL_SPEC_XML);
     }

Modified: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultMessageBundleFactoryTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultMessageBundleFactoryTest.java?rev=738213&r1=738212&r2=738213&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultMessageBundleFactoryTest.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultMessageBundleFactoryTest.java
 Tue Jan 27 20:09:13 2009
@@ -30,10 +30,10 @@
 import org.apache.shindig.common.cache.LruCacheProvider;
 import org.apache.shindig.common.uri.Uri;
 import org.apache.shindig.common.util.TimeSource;
-import org.apache.shindig.gadgets.http.HttpFetcher;
 import org.apache.shindig.gadgets.http.HttpRequest;
 import org.apache.shindig.gadgets.http.HttpResponse;
 import org.apache.shindig.gadgets.http.HttpResponseBuilder;
+import org.apache.shindig.gadgets.http.RequestPipeline;
 import org.apache.shindig.gadgets.spec.GadgetSpec;
 import org.apache.shindig.gadgets.spec.MessageBundle;
 
@@ -86,12 +86,12 @@
 
   private static final int MAX_AGE = 10000;
 
-  private final HttpFetcher fetcher = 
EasyMock.createNiceMock(HttpFetcher.class);
+  private final RequestPipeline pipeline = 
EasyMock.createNiceMock(RequestPipeline.class);
   private final CacheProvider cacheProvider = new LruCacheProvider(10);
   private final Cache<String, MessageBundle> cache
       = cacheProvider.createCache(DefaultMessageBundleFactory.CACHE_NAME);
   private final DefaultMessageBundleFactory bundleFactory
-      = new DefaultMessageBundleFactory(fetcher, cacheProvider, MAX_AGE);
+      = new DefaultMessageBundleFactory(pipeline, cacheProvider, MAX_AGE);
   private final GadgetSpec gadgetSpec;
 
   public DefaultMessageBundleFactoryTest() {
@@ -106,8 +106,8 @@
   @Test
   public void getBundle() throws Exception {
     HttpResponse response = new HttpResponse(BASIC_BUNDLE);
-    expect(fetcher.fetch(isA(HttpRequest.class))).andReturn(response);
-    replay(fetcher);
+    expect(pipeline.execute(isA(HttpRequest.class))).andReturn(response);
+    replay(pipeline);
 
     MessageBundle bundle = bundleFactory.getBundle(gadgetSpec, LOCALE, true);
 
@@ -119,8 +119,8 @@
   @Test
   public void getBundleFromCache() throws Exception {
     HttpResponse response = new HttpResponse(BASIC_BUNDLE);
-    expect(fetcher.fetch(isA(HttpRequest.class))).andReturn(response).once();
-    replay(fetcher);
+    
expect(pipeline.execute(isA(HttpRequest.class))).andReturn(response).once();
+    replay(pipeline);
 
     MessageBundle bundle0 = bundleFactory.getBundle(gadgetSpec, LOCALE, false);
     MessageBundle bundle1 = bundleFactory.getBundle(gadgetSpec, LOCALE, false);
@@ -157,11 +157,11 @@
         .create();
     HttpResponse badResponse = HttpResponse.error();
 
-    expect(fetcher.fetch(isA(HttpRequest.class)))
+    expect(pipeline.execute(isA(HttpRequest.class)))
         .andReturn(expiredResponse).once();
-    expect(fetcher.fetch(isA(HttpRequest.class)))
+    expect(pipeline.execute(isA(HttpRequest.class)))
         .andReturn(badResponse).once();
-    replay(fetcher);
+    replay(pipeline);
 
     final AtomicLong time = new AtomicLong();
 
@@ -180,7 +180,7 @@
 
     MessageBundle bundle1 = bundleFactory.getBundle(gadgetSpec, LOCALE, false);
 
-    verify(fetcher);
+    verify(pipeline);
 
     assertSame("Did not respond from cache when refresh failed.", bundle0, 
bundle1);
   }
@@ -189,13 +189,13 @@
   public void badResponseIsEmptyWhenNotInCache() throws Exception {
     HttpResponse badResponse = HttpResponse.error();
 
-    expect(fetcher.fetch(isA(HttpRequest.class)))
+    expect(pipeline.execute(isA(HttpRequest.class)))
         .andReturn(badResponse).once();
-    replay(fetcher);
+    replay(pipeline);
 
     MessageBundle bundle = bundleFactory.getBundle(gadgetSpec, LOCALE, false);
 
-    verify(fetcher);
+    verify(pipeline);
 
     assertEquals(0, bundle.getMessages().size());
   }
@@ -212,13 +212,13 @@
     assertEquals(MAX_AGE / 1000, capturingFetcher.request.getCacheTtl());
   }
 
-  private static class CapturingFetcher implements HttpFetcher {
+  private static class CapturingFetcher implements RequestPipeline {
     HttpRequest request;
 
     protected CapturingFetcher() {
     }
 
-    public HttpResponse fetch(HttpRequest request) {
+    public HttpResponse execute(HttpRequest request) {
       this.request = request;
       return new HttpResponse(BASIC_BUNDLE);
     }

Modified: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/BaseRewriterTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/BaseRewriterTestCase.java?rev=738213&r1=738212&r2=738213&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/BaseRewriterTestCase.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/BaseRewriterTestCase.java
 Tue Jan 27 20:09:13 2009
@@ -17,8 +17,8 @@
  */
 package org.apache.shindig.gadgets.rewrite;
 
-import org.apache.shindig.common.PropertiesModule;
 import org.apache.shindig.common.EasyMockTestCase;
+import org.apache.shindig.common.PropertiesModule;
 import org.apache.shindig.common.uri.Uri;
 import org.apache.shindig.gadgets.Gadget;
 import org.apache.shindig.gadgets.GadgetContext;
@@ -26,10 +26,12 @@
 import org.apache.shindig.gadgets.http.HttpRequest;
 import org.apache.shindig.gadgets.http.HttpResponse;
 import org.apache.shindig.gadgets.http.HttpResponseBuilder;
+import org.apache.shindig.gadgets.http.RequestPipeline;
 import org.apache.shindig.gadgets.parse.GadgetHtmlParser;
 import org.apache.shindig.gadgets.parse.ParseModule;
 import org.apache.shindig.gadgets.spec.GadgetSpec;
 
+import com.google.inject.AbstractModule;
 import com.google.inject.Guice;
 import com.google.inject.Injector;
 
@@ -65,7 +67,8 @@
         SPEC_URL,
         defaultRewriterFeature,
         DEFAULT_PROXY_BASE);
-    injector = Guice.createInjector(new ParseModule(), new PropertiesModule());
+    injector = Guice.createInjector(new ParseModule(), new PropertiesModule(),
+        new TestRequestPipelineModule());
     parser = injector.getInstance(GadgetHtmlParser.class);
     fakeResponse = new HttpResponseBuilder().setHeader("Content-Type", 
"unknown")
         .setResponse(new byte[]{ (byte)0xFE, (byte)0xFF}).create();
@@ -154,4 +157,14 @@
       return feature;
     }
   }
+
+  private static class TestRequestPipelineModule extends AbstractModule {
+
+    @Override
+    protected void configure() {
+      bind(RequestPipeline.class).toInstance(new RequestPipeline() {
+        public HttpResponse execute(HttpRequest request) { return null; }
+      });
+    }
+  }
 }


Reply via email to