Modified: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/BasicHttpCacheTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/BasicHttpCacheTest.java?rev=687932&r1=687931&r2=687932&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/BasicHttpCacheTest.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/BasicHttpCacheTest.java
 Thu Aug 21 19:43:49 2008
@@ -17,20 +17,13 @@
  */
 package org.apache.shindig.gadgets.http;
 
-import org.apache.shindig.common.uri.Uri;
-import org.apache.shindig.common.util.DateUtil;
+import junit.framework.TestCase;
 import org.apache.shindig.common.cache.CacheProvider;
 import org.apache.shindig.common.cache.DefaultCacheProvider;
+import org.apache.shindig.common.uri.Uri;
+import org.apache.shindig.common.util.DateUtil;
 
-import org.apache.commons.lang.ArrayUtils;
-
-import junit.framework.TestCase;
-
-import java.util.Arrays;
 import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
 
 /**
  * Tests for basic content cache
@@ -53,18 +46,15 @@
     super.tearDown();
   }
 
-  private HttpRequest createRequest(String method) {
+  private static HttpRequest createRequest(String method) {
     return new 
HttpRequest(Uri.parse("http://www.example.org";)).setMethod(method);
   }
 
-  private HttpResponse createResponse(int statusCode, String header,
-      String headerValue) {
-    Map<String, List<String>> headers = new HashMap<String, List<String>>();
-    if (header != null) {
-      headers.put(header, Arrays.asList(headerValue));
-    }
-    HttpResponse resp = new HttpResponse(statusCode, 
ArrayUtils.EMPTY_BYTE_ARRAY, headers);
-    return resp;
+  private static HttpResponse createResponse(int statusCode, String header, 
String headerValue) {
+   return new HttpResponseBuilder()
+        .setHttpStatusCode(statusCode)
+        .addHeader(header, headerValue)
+        .create();
   }
 
   private HttpResponse createExpiresResponse(int statusCode, long expiration) {
@@ -87,7 +77,7 @@
     HttpResponse resp = createResponse(200, null, null);
     HttpCacheKey key = new HttpCacheKey(req);
     cache.addResponse(key, req, resp);
-    assertEquals(cache.getResponse(key, req), resp);
+    assertEquals(resp, cache.getResponse(key, req));
   }
 
   public void testNotCacheableForPost() {
@@ -112,7 +102,7 @@
         System.currentTimeMillis() + 10000L);
     HttpCacheKey key = new HttpCacheKey(req);
     cache.addResponse(key, req, resp);
-    assertEquals(cache.getResponse(key, req), resp);
+    assertEquals(resp, cache.getResponse(key, req));
   }
 
   public void testNotCacheableForPastExpires() {
@@ -130,7 +120,7 @@
         10000L);
     HttpCacheKey key = new HttpCacheKey(req);
     cache.addResponse(key, req, resp);
-    assertEquals(cache.getResponse(key, req), resp);
+    assertEquals(resp, cache.getResponse(key, req));
   }
 
   public void testNotCacheableForNoCache() {

Modified: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/BasicHttpFetcherTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/BasicHttpFetcherTest.java?rev=687932&r1=687931&r2=687932&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/BasicHttpFetcherTest.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/BasicHttpFetcherTest.java
 Thu Aug 21 19:43:49 2008
@@ -19,7 +19,6 @@
 
 import org.apache.shindig.common.cache.CacheProvider;
 import org.apache.shindig.common.cache.DefaultCacheProvider;
-
 import org.junit.Before;
 
 public class BasicHttpFetcherTest extends AbstractHttpFetcherTest {

Modified: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/EchoServer.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/EchoServer.java?rev=687932&r1=687931&r2=687932&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/EchoServer.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/EchoServer.java
 Thu Aug 21 19:43:49 2008
@@ -18,18 +18,17 @@
  */
 package org.apache.shindig.gadgets.http;
 
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
+import org.mortbay.jetty.servlet.ServletHolder;
 
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-
-import org.mortbay.jetty.servlet.ServletHolder;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
 
 /**
  * A server that echoes back whatever you send to it.

Modified: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/HttpCacheKeyTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/HttpCacheKeyTest.java?rev=687932&r1=687931&r2=687932&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/HttpCacheKeyTest.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/HttpCacheKeyTest.java
 Thu Aug 21 19:43:49 2008
@@ -13,14 +13,12 @@
  */
 package org.apache.shindig.gadgets.http;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
 import org.apache.shindig.common.uri.Uri;
-
 import org.json.JSONArray;
 import org.json.JSONObject;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 import org.junit.Test;
 
 public class HttpCacheKeyTest {

Modified: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/HttpRequestTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/HttpRequestTest.java?rev=687932&r1=687931&r2=687932&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/HttpRequestTest.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/HttpRequestTest.java
 Thu Aug 21 19:43:49 2008
@@ -18,15 +18,11 @@
  */
 package org.apache.shindig.gadgets.http;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
+import org.apache.commons.io.IOUtils;
 import org.apache.shindig.common.AnonymousSecurityToken;
 import org.apache.shindig.common.uri.Uri;
-
-import com.google.common.collect.Multimaps;
-
-import org.apache.commons.io.IOUtils;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 import org.junit.Test;
 
 import java.util.Arrays;
@@ -54,7 +50,7 @@
   @Test
   public void contentTypeExtraction() throws Exception {
     HttpRequest request = new HttpRequest(DEFAULT_URI)
-    .addHeader("Content-Type", CONTENT_TYPE);
+        .addHeader("Content-Type", CONTENT_TYPE);
     assertEquals(CONTENT_TYPE, request.getContentType());
   }
 
@@ -63,15 +59,15 @@
     Map<String, List<String>> headers = new HashMap<String, List<String>>();
     headers.put(TEST_HEADER_KEY, Arrays.asList(TEST_HEADER_VALUE));
     HttpRequest request = new HttpRequest(DEFAULT_URI)
-    .addHeader(TEST_HEADER_KEY, TEST_HEADER_VALUE);
+        .addHeader(TEST_HEADER_KEY, TEST_HEADER_VALUE);
     assertEquals(TEST_HEADER_VALUE, request.getHeader(TEST_HEADER_KEY));
   }
 
   @Test
   public void getHeaders() throws Exception {
     HttpRequest request = new HttpRequest(DEFAULT_URI)
-    .addHeader(TEST_HEADER_KEY, TEST_HEADER_VALUE)
-    .addHeader(TEST_HEADER_KEY, TEST_HEADER_VALUE2);
+        .addHeader(TEST_HEADER_KEY, TEST_HEADER_VALUE)
+        .addHeader(TEST_HEADER_KEY, TEST_HEADER_VALUE2);
 
     Collection<String> expected = Arrays.asList(TEST_HEADER_VALUE, 
TEST_HEADER_VALUE2);
     assertTrue(request.getHeaders(TEST_HEADER_KEY).containsAll(expected));
@@ -88,17 +84,17 @@
   @Test
   public void copyCtorCopiesAllFields() {
     HttpRequest request = new HttpRequest(DEFAULT_URI)
-    .setCacheTtl(100)
-    .addHeaders(Multimaps.immutableMultimap(TEST_HEADER_KEY, 
TEST_HEADER_VALUE))
-    .setContainer("container")
-    .setGadget(DEFAULT_URI)
-    .setMethod("POST")
-    .setPostBody(POST_BODY.getBytes())
-    .setContentRewriter(null)
-    .setRewriteMimeType("text/fake")
-    .setSecurityToken(AnonymousSecurityToken.getInstance())
-    .setSignOwner(false)
-    .setSignViewer(false);
+        .setCacheTtl(100)
+        .addHeader(TEST_HEADER_KEY, TEST_HEADER_VALUE)
+        .setContainer("container")
+        .setGadget(DEFAULT_URI)
+        .setMethod("POST")
+        .setPostBody(POST_BODY.getBytes())
+        .setContentRewriter(null)
+        .setRewriteMimeType("text/fake")
+        .setSecurityToken(AnonymousSecurityToken.getInstance())
+        .setSignOwner(false)
+        .setSignViewer(false);
 
     HttpRequest request2 = new 
HttpRequest(request).setUri(Uri.parse("http://example.org/foo";));
 

Added: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/HttpResponseBuilderTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/HttpResponseBuilderTest.java?rev=687932&view=auto
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/HttpResponseBuilderTest.java
 (added)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/HttpResponseBuilderTest.java
 Thu Aug 21 19:43:49 2008
@@ -0,0 +1,126 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+package org.apache.shindig.gadgets.http;
+
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import org.junit.Test;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Tests for HttpResponseBuilder.
+ *
+ * This test case compliments HttpResponseTest; not all tests are duplicated 
here.
+ */
+public class HttpResponseBuilderTest {
+
+  @Test
+  public void copyConstructor() {
+    HttpResponseBuilder builder = new HttpResponseBuilder()
+        .setHttpStatusCode(HttpResponse.SC_NOT_FOUND)
+        .setMetadata("foo", "bar")
+        .addHeader("Foo-bar", "baz")
+        .setRewritten(HttpResponse.notFound());
+
+    HttpResponseBuilder builder2 = new HttpResponseBuilder(builder);
+    assertEquals(builder.create(), builder2.create());
+  }
+
+  @Test
+  public void addHeader() {
+    HttpResponseBuilder builder = new HttpResponseBuilder()
+        .addHeader("Foo-bar", "baz");
+
+    assertEquals("baz", builder.getHeaders().get("Foo-bar").iterator().next());
+  }
+
+  @Test
+  public void addHeadersMap() {
+    Map<String, String> headers = Maps.immutableMap("foo", "bar", "blah", 
"blah");    
+
+    HttpResponseBuilder builder = new HttpResponseBuilder()
+        .addHeaders(headers);
+
+    assertEquals(Arrays.asList("bar"), builder.getHeaders().get("foo"));
+    assertEquals(Arrays.asList("blah"), builder.getHeaders().get("blah"));
+  }
+
+  @Test
+  public void addAllHeaders() {
+    Map<String, List<String>> headers = Maps.newHashMap();
+
+    List<String> foo = Lists.newArrayList("bar", "blah");
+    List<String> bar = Lists.newArrayList("baz");
+    headers.put("foo", foo);
+    headers.put("bar", bar);
+
+
+    HttpResponseBuilder builder = new HttpResponseBuilder()
+        .addAllHeaders(headers);
+
+    assertTrue(builder.getHeaders().get("foo").containsAll(foo));
+    assertTrue(builder.getHeaders().get("bar").containsAll(bar));
+  }
+
+  @Test
+  public void setExpirationTime() {
+    HttpResponseBuilder builder = new HttpResponseBuilder()
+        .addHeader("Pragma", "no-cache")
+        .addHeader("Cache-Control", "public,max-age=100")
+        .setExpirationTime(100);
+
+    Map<String, List<String>> headers = builder.getHeaders();
+    assertTrue("No Expires header added.", headers.containsKey("Expires"));
+    assertFalse("Pragma header not removed", headers.containsKey("Pragma"));
+    assertFalse("Cache-Control header not removed", 
headers.containsKey("Cache-Control"));
+  }
+
+  @Test
+  public void setCacheTtl() {
+    HttpResponseBuilder builder = new HttpResponseBuilder()
+        .addHeader("Pragma", "no-cache")
+        .addHeader("Expires", "some time stamp normally goes here")
+        .setCacheTtl(100);
+
+    Map<String, List<String>> headers = builder.getHeaders();
+    assertFalse("Expires header not removed.", headers.containsKey("Expires"));
+    assertFalse("Pragma header not removed", headers.containsKey("Pragma"));
+    assertEquals("public,max-age=100", headers.get("Cache-Control").get(0));
+  }
+
+  @Test
+  public void setStrictNoCache() {
+    HttpResponseBuilder builder = new HttpResponseBuilder()
+        .addHeader("Cache-Control", "public,max-age=100")
+        .addHeader("Expires", "some time stamp normally goes here")
+        .setStrictNoCache();
+
+    Map<String, List<String>> headers = builder.getHeaders();
+    assertFalse("Expires header not removed.", headers.containsKey("Expires"));
+    assertEquals("no-cache", headers.get("Cache-Control").iterator().next());
+    assertEquals("no-cache", headers.get("Pragma").get(0));
+  }
+
+
+}

Modified: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/HttpResponseTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/HttpResponseTest.java?rev=687932&r1=687931&r2=687932&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/HttpResponseTest.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/HttpResponseTest.java
 Thu Aug 21 19:43:49 2008
@@ -17,157 +17,159 @@
  */
 package org.apache.shindig.gadgets.http;
 
-import org.apache.shindig.common.util.DateUtil;
-
-import org.apache.commons.io.IOUtils;
-
 import junit.framework.TestCase;
+import org.apache.commons.io.IOUtils;
+import org.apache.shindig.common.util.DateUtil;
 
 import java.util.Arrays;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
 
 public class HttpResponseTest extends TestCase {
-  private final static byte[] UTF8_DATA = new byte[] {
+  private static final byte[] UTF8_DATA = new byte[] {
     (byte)0xEF, (byte)0xBB, (byte)0xBF, 'h', 'e', 'l', 'l', 'o'
   };
-  private final static String UTF8_STRING = "hello";
+  private static final String UTF8_STRING = "hello";
 
   // A large string is needed for accurate charset detection.
-  private final static byte[] LATIN1_DATA = new byte[] {
+  private static final byte[] LATIN1_DATA = new byte[] {
     'G', 'a', 'm', 'e', 's', ',', ' ', 'H', 'Q', ',', ' ', 'M', 'a', 'n', 'g', 
(byte)0xE1, ',', ' ',
     'A', 'n', 'i', 'm', 'e', ' ', 'e', ' ', 't', 'u', 'd', 'o', ' ', 'q', 'u', 
'e', ' ', 'u', 'm',
     ' ', 'b', 'o', 'm', ' ', 'n', 'e', 'r', 'd', ' ', 'a', 'm', 'a'
   };
-  private final static String LATIN1_STRING
+  private static final String LATIN1_STRING
       = "Games, HQ, Mang\u00E1, Anime e tudo que um bom nerd ama";
 
-  private final static byte[] BIG5_DATA = new byte[] {
+  private static final byte[] BIG5_DATA = new byte[] {
     (byte)0xa7, (byte)0x41, (byte)0xa6, (byte)0x6e
   };
-  private final static String BIG5_STRING = "\u4F60\u597D";
 
-  private Map<String, List<String>> headers;
+  private static final String BIG5_STRING = "\u4F60\u597D";
 
-  @Override
-  public void setUp() throws Exception {
-    super.setUp();
-    headers = new HashMap<String, List<String>>();
-  }
 
-  private void addHeader(String name, String value) {
-    java.util.List<String> existing = headers.get(name);
-    if (existing == null) {
-      existing = new LinkedList<String>();
-      headers.put(name, existing);
-    }
-    existing.add(value);
-  }
-
-  private int roundToSeconds(long ts) {
+  private static int roundToSeconds(long ts) {
     return (int)(ts / 1000);
   }
 
   public void testGetEncoding() throws Exception {
-    addHeader("Content-Type", "text/plain; charset=TEST-CHARACTER-SET");
-    HttpResponse response = new HttpResponse(200, null, headers);
+    HttpResponse response = new HttpResponseBuilder()
+        .addHeader("Content-Type", "text/plain; charset=TEST-CHARACTER-SET")
+        .create();
     assertEquals("TEST-CHARACTER-SET", response.getEncoding());
   }
 
   public void testEncodingDetectionUtf8WithBom() throws Exception {
-    // Input is UTF-8 with BOM.
-    addHeader("Content-Type", "text/plain; charset=UTF-8");
-    HttpResponse response = new HttpResponse(200, UTF8_DATA, headers);
+     HttpResponse response = new HttpResponseBuilder()
+         .addHeader("Content-Type", "text/plain; charset=UTF-8")
+         .setResponse(UTF8_DATA)
+         .create();
     assertEquals(UTF8_STRING, response.getResponseAsString());
   }
 
   public void testEncodingDetectionLatin1() throws Exception {
     // Input is a basic latin-1 string with 1 non-UTF8 compatible char.
-    addHeader("Content-Type", "text/plain; charset=iso-8859-1");
-    HttpResponse response = new HttpResponse(200, LATIN1_DATA, headers);
+    HttpResponse response = new HttpResponseBuilder()
+        .addHeader("Content-Type", "text/plain; charset=iso-8859-1")
+        .setResponse(LATIN1_DATA)
+        .create();
     assertEquals(LATIN1_STRING, response.getResponseAsString());
   }
 
   public void testEncodingDetectionBig5() throws Exception {
-    addHeader("Content-Type", "text/plain; charset=BIG5");
-    HttpResponse response = new HttpResponse(200, BIG5_DATA, headers);
+    HttpResponse response = new HttpResponseBuilder()
+        .addHeader("Content-Type", "text/plain; charset=BIG5")
+        .setResponse(BIG5_DATA)
+        .create();
     assertEquals(BIG5_STRING, response.getResponseAsString());
   }
 
   public void testEncodingDetectionUtf8WithBomNoCharsetSpecified() throws 
Exception {
-    addHeader("Content-Type", "text/plain");
-    HttpResponse response = new HttpResponse(200, UTF8_DATA, headers);
+    HttpResponse response = new HttpResponseBuilder()
+        .addHeader("Content-Type", "text/plain")
+        .setResponse(UTF8_DATA)
+        .create();
     assertEquals("UTF-8", response.getEncoding().toUpperCase());
     assertEquals(UTF8_STRING, response.getResponseAsString());
   }
 
   public void testEncodingDetectionLatin1NoCharsetSpecified() throws Exception 
{
-    addHeader("Content-Type", "text/plain;");
-    HttpResponse response = new HttpResponse(200, LATIN1_DATA, headers);
+    HttpResponse response = new HttpResponseBuilder()
+        .addHeader("Content-Type", "text/plain;")
+        .setResponse(LATIN1_DATA)
+        .create();
     assertEquals("ISO-8859-1", response.getEncoding().toUpperCase());
     assertEquals(LATIN1_STRING, response.getResponseAsString());
   }
 
   public void testEncodingDetectionUtf8WithBomNoContentHeader() throws 
Exception {
-    HttpResponse response = new HttpResponse(200, UTF8_DATA, headers);
+    HttpResponse response = new HttpResponseBuilder()
+        .setResponse(UTF8_DATA)
+        .create();
     assertEquals("UTF-8", response.getEncoding().toUpperCase());
     assertEquals(UTF8_STRING, response.getResponseAsString());
   }
 
   public void testEncodingDetectionLatin1NoContentHeader() throws Exception {
-    HttpResponse response = new HttpResponse(200, LATIN1_DATA, headers);
+     HttpResponse response = new HttpResponseBuilder()
+        .setResponse(LATIN1_DATA)
+        .create();
     assertEquals("ISO-8859-1", response.getEncoding().toUpperCase());
     assertEquals(LATIN1_STRING, response.getResponseAsString());
   }
 
   public void testGetEncodingForImageContentType() throws Exception {
-    addHeader("Content-Type", "image/png; charset=iso-8859-1");
-    HttpResponse response = new HttpResponse(200, LATIN1_DATA, headers);
-    assertEquals("UTF-8", response.getEncoding().toUpperCase());
+    HttpResponse response = new HttpResponseBuilder()
+        .setResponse(LATIN1_DATA)
+        .addHeader("Content-Type", "image/png; charset=iso-8859-1")
+        .create();
+    assertEquals(HttpResponse.DEFAULT_ENCODING, 
response.getEncoding().toUpperCase());
   }
 
   public void testGetEncodingForFlashContentType() throws Exception {
-    addHeader("Content-Type", "application/x-shockwave-flash; 
charset=iso-8859-1");
-    HttpResponse response = new HttpResponse(200, LATIN1_DATA, headers);
-    assertEquals("UTF-8", response.getEncoding().toUpperCase());
+    HttpResponse response = new HttpResponseBuilder()
+        .setResponse(LATIN1_DATA)
+        .addHeader("Content-Type", "application/x-shockwave-flash; 
charset=iso-8859-1")
+        .create();
+    assertEquals(HttpResponse.DEFAULT_ENCODING, 
response.getEncoding().toUpperCase());
   }
 
   public void testPreserveBinaryData() throws Exception {
     byte[] data = new byte[] {
         (byte)0x00, (byte)0xDE, (byte)0xEA, (byte)0xDB, (byte)0xEE, (byte)0xF0
     };
-    addHeader("Content-Type", "application/octet-stream");
-    HttpResponse response = new HttpResponse(200, data, headers);
+    HttpResponse response = new HttpResponseBuilder()
+        .addHeader("Content-Type", "application/octet-stream")
+        .setResponse(data)
+        .create();
 
     byte[] out = IOUtils.toByteArray(response.getResponse());
     assertEquals(data.length, response.getContentLength());
     assertTrue(Arrays.equals(data, out));
 
-    out = response.getResponseAsBytes();
+    out = IOUtils.toByteArray(response.getResponse());
     assertTrue(Arrays.equals(data, out));
   }
 
   public void testStrictCacheControlNoCache() throws Exception {
-    addHeader("Cache-Control", "no-cache");
-    HttpResponse response = new HttpResponse(200, null, headers);
+    HttpResponse response = new HttpResponseBuilder()
+        .addHeader("Cache-Control", "no-cache")
+        .create();
     assertTrue(response.isStrictNoCache());
     assertEquals(-1, response.getCacheExpiration());
     assertEquals(-1, response.getCacheTtl());
   }
 
   public void testStrictPragmaNoCache() throws Exception {
-    addHeader("Pragma", "no-cache");
-    HttpResponse response = new HttpResponse(200, null, headers);
+    HttpResponse response = new HttpResponseBuilder()
+        .addHeader("Pragma", "no-cache")
+        .create();
     assertTrue(response.isStrictNoCache());
     assertEquals(-1, response.getCacheExpiration());
     assertEquals(-1, response.getCacheTtl());
   }
 
   public void testStrictPragmaJunk() throws Exception {
-    addHeader("Pragma", "junk");
-    HttpResponse response = new HttpResponse(200, null, headers);
+    HttpResponse response = new HttpResponseBuilder()
+        .addHeader("Pragma", "junk")
+        .create();
     assertFalse(response.isStrictNoCache());
     int expected = roundToSeconds(System.currentTimeMillis() + 
HttpResponse.DEFAULT_TTL);
     int expires = roundToSeconds(response.getCacheExpiration());
@@ -179,15 +181,16 @@
    * Verifies that the cache TTL is within acceptable ranges.
    * This always rounds down due to timing, so actual verification will be 
against maxAge - 1.
    */
-  private void assertTtlOk(int maxAge, HttpResponse response) {
+  private static void assertTtlOk(int maxAge, HttpResponse response) {
     assertEquals(maxAge - 1, roundToSeconds(response.getCacheTtl() - 1));
   }
 
   public void testExpires() throws Exception {
     int maxAge = 10;
     int time = roundToSeconds(System.currentTimeMillis()) + maxAge;
-    addHeader("Expires", DateUtil.formatDate(1000L * time));
-    HttpResponse response = new HttpResponse(200, null, headers);
+    HttpResponse response = new HttpResponseBuilder()
+        .addHeader("Expires", DateUtil.formatDate(1000L * time))
+        .create();
     assertEquals(time, roundToSeconds(response.getCacheExpiration()));
     // Second rounding makes this n-1.
     assertTtlOk(maxAge, response);
@@ -197,8 +200,9 @@
     int maxAge = 10;
     // Guess time.
     int expected = roundToSeconds(System.currentTimeMillis()) + maxAge;
-    addHeader("Cache-Control", "public, max-age=" + maxAge);
-    HttpResponse response = new HttpResponse(200, null, headers);
+    HttpResponse response = new HttpResponseBuilder()
+        .addHeader("Cache-Control", "public, max-age=" + maxAge)
+        .create();
     int expiration = roundToSeconds(response.getCacheExpiration());
 
     assertEquals(expected, expiration);
@@ -209,9 +213,11 @@
     int maxAge = 10;
     // Guess time.
     int expected = roundToSeconds(System.currentTimeMillis()) + maxAge;
-    addHeader("Date", "Wed, 09 Jul 2008 19:18:33 EDT");
-    addHeader("Cache-Control", "public, max-age=" + maxAge);
-    HttpResponse response = new HttpResponse(200, null, headers);
+
+    HttpResponse response = new HttpResponseBuilder()
+        .addHeader("Date", "Wed, 09 Jul 2008 19:18:33 EDT")
+        .addHeader("Cache-Control", "public, max-age=" + maxAge)
+        .create();
     int expiration = roundToSeconds(response.getCacheExpiration());
 
     assertEquals(expected, expiration);
@@ -221,9 +227,10 @@
   public void testMaxAgeWithDate() throws Exception {
     int maxAge = 10;
     int now = roundToSeconds(System.currentTimeMillis());
-    addHeader("Date", DateUtil.formatDate(1000L * now));
-    addHeader("Cache-Control", "public, max-age=" + maxAge);
-    HttpResponse response = new HttpResponse(200, null, headers);
+    HttpResponse response = new HttpResponseBuilder()
+        .addHeader("Date", DateUtil.formatDate(1000L * now))
+        .addHeader("Cache-Control", "public, max-age=" + maxAge)
+        .create();
 
     assertEquals(now + maxAge, roundToSeconds(response.getCacheExpiration()));
     assertTtlOk(maxAge, response);
@@ -231,9 +238,9 @@
 
   public void testFixedDate() throws Exception {
     int time = roundToSeconds(System.currentTimeMillis());
-    addHeader("Date", DateUtil.formatDate(1000L * time));
-    HttpResponse response = new HttpResponse(200, null, headers);
-    assertEquals(time, roundToSeconds(response.getDate()));
+    HttpResponse response = new HttpResponseBuilder()
+        .addHeader("Date", DateUtil.formatDate(1000L * time))
+        .create();    
     assertEquals(time + roundToSeconds(HttpResponse.DEFAULT_TTL),
         roundToSeconds(response.getCacheExpiration()));
     assertTtlOk(roundToSeconds(HttpResponse.DEFAULT_TTL), response);
@@ -249,50 +256,51 @@
     long ttl = HttpResponse.error().getCacheTtl();
     assertTrue(ttl <= HttpResponse.DEFAULT_TTL && ttl > 0);
   }
-  
-  public void testStrictNoCacheAndNegativeCaching() {
-    HttpResponse response = new HttpResponse(401, UTF8_DATA, null);
-    response.setNoCache();
-    assertEquals(-1, response.getCacheTtl());
-    
-    response = new HttpResponse(403, UTF8_DATA, null);
-    response.setNoCache();
-    assertEquals(-1, response.getCacheTtl());
-    
-    response = new HttpResponse(200, UTF8_DATA, null);
-    response.setNoCache();
+
+  private static void assertDoesNotAllowNegativeCaching(int status)  {
+    HttpResponse response = new HttpResponseBuilder()
+        .setHttpStatusCode(status)
+        .setResponse(UTF8_DATA)
+        .setStrictNoCache()
+        .create();
     assertEquals(-1, response.getCacheTtl());
-    
-    response = new HttpResponse(302, UTF8_DATA, null);
-    response.setNoCache();
+  }
+
+  private static void assertAllowsNegativeCaching(int status) {
+    HttpResponse response = new HttpResponseBuilder()
+        .setHttpStatusCode(status)
+        .setResponse(UTF8_DATA)
+        .setStrictNoCache()
+        .create();
     long ttl = response.getCacheTtl();
     assertTrue(ttl <= HttpResponse.DEFAULT_TTL && ttl > 0);
-    
-    response = new HttpResponse(404, UTF8_DATA, null);
-    response.setNoCache();
-     ttl = response.getCacheTtl();
-    assertTrue(ttl <= HttpResponse.DEFAULT_TTL && ttl > 0);
-    
-    response = new HttpResponse(500, UTF8_DATA, null);
-    response.setNoCache();
-    ttl = response.getCacheTtl();
-    assertTrue(ttl <= HttpResponse.DEFAULT_TTL && ttl > 0);
+  }
+  
+  public void testStrictNoCacheAndNegativeCaching() {
+    assertDoesNotAllowNegativeCaching(HttpResponse.SC_UNAUTHORIZED);
+    assertDoesNotAllowNegativeCaching(HttpResponse.SC_FORBIDDEN);
+    assertDoesNotAllowNegativeCaching(HttpResponse.SC_OK);
+    assertAllowsNegativeCaching(HttpResponse.SC_NOT_FOUND);
+    assertAllowsNegativeCaching(HttpResponse.SC_INTERNAL_SERVER_ERROR);
+    assertAllowsNegativeCaching(HttpResponse.SC_TIMEOUT);
   }
 
   public void testSetNoCache() {
     int time = roundToSeconds(System.currentTimeMillis());
-    addHeader("Expires", DateUtil.formatDate(1000L * time));
-    HttpResponse response = new HttpResponse(200, null, headers);
-    response.setNoCache();
+    HttpResponse response = new HttpResponseBuilder()
+        .addHeader("Expires", DateUtil.formatDate(1000L * time))
+        .setStrictNoCache()
+        .create();
     assertNull(response.getHeader("Expires"));
     assertEquals("no-cache", response.getHeader("Pragma"));
     assertEquals("no-cache", response.getHeader("Cache-Control"));
   }
 
   public void testNullHeaderNamesStripped() {
-    addHeader(null, "dummy");
-    HttpResponse response = new HttpResponse(200, null, headers);
-    for (String key : response.getAllHeaders().keySet()) {
+    HttpResponse response = new HttpResponseBuilder()
+        .addHeader(null, "dummy")
+        .create();
+    for (String key : response.getHeaders().keySet()) {
       assertNotNull("Null header not removed.", key);
     }
   }

Modified: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/FakeOAuthServiceProvider.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/FakeOAuthServiceProvider.java?rev=687932&r1=687931&r2=687932&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/FakeOAuthServiceProvider.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/FakeOAuthServiceProvider.java
 Thu Aug 21 19:43:49 2008
@@ -17,12 +17,6 @@
  */
 package org.apache.shindig.gadgets.oauth;
 
-import org.apache.shindig.common.crypto.Crypto;
-import org.apache.shindig.gadgets.GadgetException;
-import org.apache.shindig.gadgets.http.HttpFetcher;
-import org.apache.shindig.gadgets.http.HttpRequest;
-import org.apache.shindig.gadgets.http.HttpResponse;
-
 import net.oauth.OAuth;
 import net.oauth.OAuthAccessor;
 import net.oauth.OAuthConsumer;
@@ -30,13 +24,17 @@
 import net.oauth.OAuthServiceProvider;
 import net.oauth.OAuthValidator;
 import net.oauth.SimpleOAuthValidator;
+import org.apache.shindig.common.crypto.Crypto;
+import org.apache.shindig.gadgets.GadgetException;
+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 java.io.IOException;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 
 public class FakeOAuthServiceProvider implements HttpFetcher {
 
@@ -180,24 +178,21 @@
     return new HttpResponse(resp);
   }
 
-  private HttpResponse makeOAuthProblemReport(String code, String text)
-      throws IOException {
+  private HttpResponse makeOAuthProblemReport(String code, String text) throws 
IOException {
     if (vagueErrors) {
-      int rc = 401;
+      int rc = HttpResponse.SC_UNAUTHORIZED;
       if ("consumer_key_unknown".equals(code)) {
-        rc = 403;
+        rc = HttpResponse.SC_FORBIDDEN;
       }
-      return new HttpResponse(rc, null, null);
+      return new HttpResponseBuilder().setHttpStatusCode(rc).create();
     }
     OAuthMessage msg = new OAuthMessage(null, null, null);
     msg.addParameter("oauth_problem", code);
-    msg.addParameter("oauth_problem_advice", text);
-    Map<String, List<String>> headers = new HashMap<String, List<String>>();
-    headers.put(
-        "WWW-Authenticate",
-        Arrays.asList(msg.getAuthorizationHeader("realm")));
-    HttpResponse response = new HttpResponse(403, null, headers);
-    return response;
+    msg.addParameter("oauth_problem_advice", text);    
+    return new HttpResponseBuilder()
+        .setHttpStatusCode(HttpResponse.SC_FORBIDDEN)
+        .addHeader("WWW-Authenticate", msg.getAuthorizationHeader("realm"))
+        .create();
   }
 
   // Loosely based off net.oauth.OAuthServlet, and even more loosely related

Modified: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/OAuthResponseParamsTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/OAuthResponseParamsTest.java?rev=687932&r1=687931&r2=687932&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/OAuthResponseParamsTest.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/OAuthResponseParamsTest.java
 Thu Aug 21 19:43:49 2008
@@ -19,13 +19,13 @@
 
 package org.apache.shindig.gadgets.oauth;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
 import org.apache.shindig.common.crypto.BasicBlobCrypter;
 import org.apache.shindig.common.crypto.BlobCrypter;
 import org.apache.shindig.gadgets.http.HttpResponse;
+import org.apache.shindig.gadgets.http.HttpResponseBuilder;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -61,8 +61,9 @@
     params.setAznUrl("aznurl");
     params.setError(OAuthError.BAD_OAUTH_CONFIGURATION);
     params.setErrorText("errortext");
-    HttpResponse response = new HttpResponse(200);
-    params.addToResponse(response);
+    HttpResponseBuilder responseBuilder = new HttpResponseBuilder();
+    params.addToResponse(responseBuilder);
+    HttpResponse response = responseBuilder.create();
     assertEquals("BAD_OAUTH_CONFIGURATION", 
response.getMetadata().get("oauthError"));
     assertEquals("errortext", response.getMetadata().get("oauthErrorText"));
     assertEquals("aznurl", response.getMetadata().get("oauthApprovalUrl"));
@@ -72,9 +73,10 @@
     
   @Test
   public void testAddEmptyParams() {
-    HttpResponse response = new HttpResponse(200);
     OAuthResponseParams params = new OAuthResponseParams(crypter);
-    params.addToResponse(response);
+    HttpResponseBuilder responseBuilder = new HttpResponseBuilder();
+    params.addToResponse(responseBuilder);
+    HttpResponse response = responseBuilder.create();
     assertTrue(response.getMetadata().isEmpty());
   }
 

Modified: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetRenderingTaskTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetRenderingTaskTest.java?rev=687932&r1=687931&r2=687932&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetRenderingTaskTest.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetRenderingTaskTest.java
 Thu Aug 21 19:43:49 2008
@@ -18,10 +18,6 @@
  */
 package org.apache.shindig.gadgets.servlet;
 
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.expectLastCall;
-import static org.easymock.EasyMock.isA;
-
 import org.apache.shindig.common.ContainerConfig;
 import org.apache.shindig.common.SecurityToken;
 import org.apache.shindig.common.SecurityTokenDecoder;
@@ -32,11 +28,15 @@
 import org.apache.shindig.gadgets.GadgetContext;
 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.oauth.OAuthArguments;
 import org.apache.shindig.gadgets.oauth.OAuthFetcher;
 import org.apache.shindig.gadgets.oauth.OAuthResponseParams;
 import org.apache.shindig.gadgets.spec.GadgetSpec;
 import org.easymock.EasyMock;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.expectLastCall;
+import static org.easymock.EasyMock.isA;
 import org.json.JSONArray;
 import org.json.JSONObject;
 
@@ -192,9 +192,11 @@
         isA(SecurityToken.class), isA(OAuthArguments.class))).
         andReturn(oauthFetcher);
 
-    HttpResponse resp = new HttpResponse(401, null, null);
-    resp.getMetadata().put(OAuthResponseParams.APPROVAL_URL, "approval 
please");
-    resp.getMetadata().put(OAuthResponseParams.CLIENT_STATE, "state blob");
+    HttpResponse resp = new HttpResponseBuilder()
+        .setHttpStatusCode(HttpResponse.SC_UNAUTHORIZED)
+        .setMetadata(OAuthResponseParams.APPROVAL_URL, "approval please")
+        .setMetadata(OAuthResponseParams.CLIENT_STATE, "state blob")
+        .create();
 
     expect(oauthFetcher.fetch(isA(HttpRequest.class))).andReturn(resp);
 

Modified: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestHandlerTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestHandlerTest.java?rev=687932&r1=687931&r2=687932&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestHandlerTest.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestHandlerTest.java
 Thu Aug 21 19:43:49 2008
@@ -18,12 +18,8 @@
  */
 package org.apache.shindig.gadgets.servlet;
 
-import static junitx.framework.StringAssert.assertStartsWith;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-
 import com.google.common.collect.Lists;
-
+import static junitx.framework.StringAssert.assertStartsWith;
 import org.apache.shindig.common.SecurityToken;
 import org.apache.shindig.common.SecurityTokenDecoder;
 import org.apache.shindig.common.SecurityTokenException;
@@ -33,8 +29,11 @@
 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.spec.Auth;
 import org.apache.shindig.gadgets.spec.Preload;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.isA;
 import org.json.JSONArray;
 import org.json.JSONException;
 import org.json.JSONObject;
@@ -360,8 +359,11 @@
 
   public void testMetadataCopied() throws Exception {
     HttpRequest internalRequest = new HttpRequest(REQUEST_URL);
-    HttpResponse response = new HttpResponse("foo");
-    response.getMetadata().put("foo", RESPONSE_BODY);
+    HttpResponse response = new HttpResponseBuilder()
+        .setResponse("foo".getBytes("UTF-8"))
+        .setMetadata("foo", RESPONSE_BODY)
+        .create();
+    
     expect(fetcher.fetch(internalRequest)).andReturn(response);
     replay();
 

Modified: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyBaseTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyBaseTest.java?rev=687932&r1=687931&r2=687932&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyBaseTest.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyBaseTest.java
 Thu Aug 21 19:43:49 2008
@@ -18,21 +18,19 @@
  */
 package org.apache.shindig.gadgets.servlet;
 
-import static org.easymock.EasyMock.expect;
-
 import com.google.common.collect.Maps;
-
 import org.apache.shindig.common.uri.Uri;
 import org.apache.shindig.gadgets.GadgetException;
 import org.apache.shindig.gadgets.http.HttpResponse;
+import org.apache.shindig.gadgets.http.HttpResponseBuilder;
+import static org.easymock.EasyMock.expect;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
 /**
  * Tests for ProxyBase.
  */
@@ -135,7 +133,7 @@
   }
 
   public void testSetResponseHeaders() {
-    HttpResponse results = new HttpResponse(HttpResponse.SC_OK);
+    HttpResponse results = new HttpResponseBuilder().create();
     replay();
 
     proxy.setResponseHeaders(request, recorder, results);
@@ -149,7 +147,9 @@
   public void testSetResponseHeadersNoCache() {
     Map<String, List<String>> headers = 
Maps.newTreeMap(String.CASE_INSENSITIVE_ORDER);
     headers.put("Pragma", Arrays.asList("no-cache"));
-    HttpResponse results = new HttpResponse(HttpResponse.SC_OK, new byte[0], 
headers);
+    HttpResponse results = new HttpResponseBuilder()
+        .addHeader("Pragma", "no-cache")
+        .create();
     replay();
 
     proxy.setResponseHeaders(request, recorder, results);
@@ -162,7 +162,7 @@
   }
 
   public void testSetResponseHeadersForceParam() {
-    HttpResponse results = new HttpResponse(HttpResponse.SC_OK);
+    HttpResponse results = new HttpResponseBuilder().create();
     
expect(request.getParameter(ProxyBase.REFRESH_PARAM)).andReturn("30").anyTimes();
     replay();
 

Modified: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java?rev=687932&r1=687931&r2=687932&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java
 Thu Aug 21 19:43:49 2008
@@ -18,20 +18,19 @@
  */
 package org.apache.shindig.gadgets.servlet;
 
-import static org.easymock.EasyMock.expect;
-
 import org.apache.shindig.common.uri.Uri;
 import org.apache.shindig.gadgets.GadgetException;
 import org.apache.shindig.gadgets.http.HttpRequest;
 import org.apache.shindig.gadgets.http.HttpResponse;
+import org.apache.shindig.gadgets.http.HttpResponseBuilder;
+import static org.easymock.EasyMock.expect;
 
+import javax.servlet.http.HttpServletResponse;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import javax.servlet.http.HttpServletResponse;
-
 public class ProxyHandlerTest extends ServletTestFixture {
   private final static String URL_ONE = "http://www.example.org/test.html";;
   private final static String DATA_ONE = "hello world";
@@ -41,14 +40,14 @@
 
   private void expectGetAndReturnData(String url, byte[] data) throws 
Exception {
     HttpRequest req = new HttpRequest(Uri.parse(url));
-    HttpResponse resp = new HttpResponse(200, data, null);
+    HttpResponse resp = new HttpResponseBuilder().setResponse(data).create();
     expect(fetcher.fetch(req)).andReturn(resp);
   }
 
-  private void expectGetAndReturnHeaders(String url,
-      Map<String, List<String>> headers) throws Exception {
+  private void expectGetAndReturnHeaders(String url, Map<String, List<String>> 
headers)
+      throws Exception {
     HttpRequest req = new HttpRequest(Uri.parse(url));
-    HttpResponse resp = new HttpResponse(200, null, headers);
+    HttpResponse resp = new 
HttpResponseBuilder().addAllHeaders(headers).create();
     expect(fetcher.fetch(req)).andReturn(resp);
   }
 


Reply via email to