You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by et...@apache.org on 2008/09/11 02:11:47 UTC

svn commit: r694072 - in /incubator/shindig/trunk/java/gadgets/src: main/java/org/apache/shindig/gadgets/ main/java/org/apache/shindig/gadgets/http/ main/java/org/apache/shindig/gadgets/oauth/ main/java/org/apache/shindig/gadgets/preload/ main/java/org...

Author: etnu
Date: Wed Sep 10 17:11:46 2008
New Revision: 694072

URL: http://svn.apache.org/viewvc?rev=694072&view=rev
Log:
Follow up for SHINDIG-558 / r693675.

This eliminates the need for calling code to be aware of how to delegate to different auth types.

ContentFetcherFactory should be renamed to something more appropriate, but that's a separate patch for now.


Added:
    incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/AuthType.java
      - copied, changed from r693690, incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/Auth.java
    incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/AuthTypeTest.java
      - copied, changed from r693690, incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/AuthTest.java
Removed:
    incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/Auth.java
    incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/AuthTest.java
Modified:
    incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetServer.java
    incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/ContentFetcherFactory.java
    incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpCacheKey.java
    incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpRequest.java
    incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth/OAuthArguments.java
    incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/HttpPreloader.java
    incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java
    incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/Preload.java
    incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/RequestAuthenticationInfo.java
    incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/View.java
    incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/GadgetServerTest.java
    incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/GadgetTestFixture.java
    incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/HttpRequestTest.java
    incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/OAuthArgumentsTest.java
    incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/preload/HttpPreloaderTest.java
    incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetRenderingTaskTest.java
    incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestHandlerTest.java
    incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestServletTest.java
    incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ServletTestFixture.java
    incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/PreloadTest.java

Copied: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/AuthType.java (from r693690, incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/Auth.java)
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/AuthType.java?p2=incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/AuthType.java&p1=incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/Auth.java&r1=693690&r2=694072&rev=694072&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/Auth.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/AuthType.java Wed Sep 10 17:11:46 2008
@@ -15,32 +15,30 @@
  * KIND, either express or implied. See the License for the
  * specific language governing permissions and limitations under the License.
  */
-package org.apache.shindig.gadgets.spec;
-
+package org.apache.shindig.gadgets;
 
 /**
-   * The supported auth modes for Preload
+ * The supported auth modes for outbound requests.
  */
-public enum Auth {
+public enum AuthType {
   NONE, SIGNED, OAUTH;
 
   /**
-   * @param value
    * @return The parsed value (defaults to NONE)
    */
-  public static Auth parse(String value) {
+  public static AuthType parse(String value) {
     if (value != null) {
       value = value.trim();
       if (value.length() == 0) {
-        return Auth.NONE;
+        return NONE;
       }
       try {
-        return Auth.valueOf(value.toUpperCase());
+        return valueOf(value.toUpperCase());
       } catch (IllegalArgumentException iae) {
-        return Auth.NONE;
+        return NONE;
       }
     } else {
-      return Auth.NONE;
+      return NONE;
     }
   }
 

Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetServer.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetServer.java?rev=694072&r1=694071&r2=694072&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetServer.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetServer.java Wed Sep 10 17:11:46 2008
@@ -25,7 +25,6 @@
 import org.apache.shindig.gadgets.oauth.OAuthArguments;
 import org.apache.shindig.gadgets.parse.GadgetHtmlParser;
 import org.apache.shindig.gadgets.rewrite.ContentRewriterRegistry;
-import org.apache.shindig.gadgets.spec.Auth;
 import org.apache.shindig.gadgets.spec.Feature;
 import org.apache.shindig.gadgets.spec.GadgetSpec;
 import org.apache.shindig.gadgets.spec.MessageBundle;
@@ -137,11 +136,11 @@
           = new ExecutorCompletionService<HttpResponse>(executor);
       for (Preload preload : gadget.getSpec().getModulePrefs().getPreloads()) {
         // Cant execute signed/oauth preloads without the token
-        if ((preload.getAuthType() == Auth.NONE ||
+        if ((preload.getAuthType() == AuthType.NONE ||
             gadget.getContext().getToken() != null) &&
             (preload.getViews().isEmpty() ||
             preload.getViews().contains(gadget.getContext().getView()))) {
-          PreloadTask task = new PreloadTask(gadget.getContext(), preload, preloadFetcherFactory);
+          PreloadTask task = new PreloadTask(gadget.getContext(), preload);
           Future<HttpResponse> future = preloadProcessor.submit(task);
           gadget.getPreloadMap().put(preload, future);
         }
@@ -185,36 +184,26 @@
    * Provides a task for preloading data into the gadget content
    * TODO: Remove when new preloading is committed.
    */
-  private static class PreloadTask implements Callable<HttpResponse> {
+  private class PreloadTask implements Callable<HttpResponse> {
     private final Preload preload;
-    private final ContentFetcherFactory preloadFetcherFactory;
     private final GadgetContext context;
 
     public HttpResponse call() {
       try {
         HttpRequest request = new HttpRequest(Uri.fromJavaUri(preload.getHref()))
+            .setSecurityToken(context.getToken())
             .setOAuthArguments(new OAuthArguments(preload))
+            .setAuthType(preload.getAuthType())
             .setContainer(context.getContainer())
-            .setSecurityToken(context.getToken())
             .setGadget(Uri.fromJavaUri(context.getUrl()));
-        switch (preload.getAuthType()) {
-          case NONE:
-            return preloadFetcherFactory.get().fetch(request);
-          case SIGNED:
-          case OAUTH:
-            return preloadFetcherFactory.getOAuthFetcher(request).fetch(request);
-          default:
-            return HttpResponse.error();
-        }
+        return preloadFetcherFactory.fetch(request);
       } catch (GadgetException e) {
         return HttpResponse.error();
       }
     }
 
-    public PreloadTask(GadgetContext context, Preload preload,
-        ContentFetcherFactory preloadFetcherFactory) {
+    public PreloadTask(GadgetContext context, Preload preload) {
       this.preload = preload;
-      this.preloadFetcherFactory = preloadFetcherFactory;
       this.context = context;
     }
   }

Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/ContentFetcherFactory.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/ContentFetcherFactory.java?rev=694072&r1=694071&r2=694072&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/ContentFetcherFactory.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/ContentFetcherFactory.java Wed Sep 10 17:11:46 2008
@@ -21,15 +21,19 @@
 import org.apache.shindig.gadgets.oauth.OAuthFetcherFactory;
 
 import com.google.inject.Inject;
-import com.google.inject.Provider;
+import com.google.inject.Singleton;
 
 /**
- * A factory of the supported HttpFetcher types.
+ * Implements HttpFetcher by delegating fetches to either plain or authenticated Http fetchers.
  *
- * TODO: Remove this.
+ * TODO: Make this actually implement HttpFetcher to simplify the bindings. Currently we just
+ * pretend that is implements HttpFetcher.
+ *
+ * TODO: Get rid of RemoteContentFetcherFactory by just injecting HttpFetcher.
+ * TODO: Get rid of OAUthFetcherFactory by injecting OAuthFetcher (requires significant work.
  */
-public class ContentFetcherFactory implements Provider<HttpFetcher> {
-
+@Singleton
+public class ContentFetcherFactory {
   private final RemoteContentFetcherFactory remoteContentFetcherFactory;
   private final OAuthFetcherFactory oauthFetcherFactory;
 
@@ -40,20 +44,17 @@
     this.oauthFetcherFactory = oauthFetcherFactory;
   }
 
-  /**
-   * @param request HttpRequest that will be sent through the fetcher
-   * @return an OAuth fetcher
-   * @throws GadgetException
-   */
-  public HttpFetcher getOAuthFetcher(HttpRequest request)
-      throws GadgetException {
-    return oauthFetcherFactory.getOAuthFetcher(remoteContentFetcherFactory.get(), request);
-  }
-
-  /**
-   * @return a standard fetcher
-   */
-  public HttpFetcher get() {
-    return remoteContentFetcherFactory.get();
+  public HttpResponse fetch(HttpRequest request) throws GadgetException {
+    switch (request.getAuthType()) {
+      case NONE:
+        return remoteContentFetcherFactory.get().fetch(request);
+      case SIGNED:
+      case OAUTH:
+        // TODO: Why do we have to pass the request twice? This doesn't make sense...
+        return oauthFetcherFactory.getOAuthFetcher(remoteContentFetcherFactory.get(), request)
+            .fetch(request);
+      default:
+        return HttpResponse.error();
+    }
   }
 }

Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpCacheKey.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpCacheKey.java?rev=694072&r1=694071&r2=694072&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpCacheKey.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpCacheKey.java Wed Sep 10 17:11:46 2008
@@ -50,6 +50,7 @@
     // provides some additional insurance that we aren't mixing cache content.
     set("method", request.getMethod());
     set("url", request.getUri().toString());
+    // TODO: We can go ahead and add authentication info here as well.
   }
 
   /**

Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpRequest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpRequest.java?rev=694072&r1=694071&r2=694072&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpRequest.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpRequest.java Wed Sep 10 17:11:46 2008
@@ -21,6 +21,7 @@
 import org.apache.shindig.auth.SecurityToken;
 import org.apache.shindig.common.ContainerConfig;
 import org.apache.shindig.common.uri.Uri;
+import org.apache.shindig.gadgets.AuthType;
 import org.apache.shindig.gadgets.oauth.OAuthArguments;
 
 import com.google.common.collect.Lists;
@@ -64,6 +65,7 @@
   // For signed fetch & OAuth
   private SecurityToken securityToken;
   private OAuthArguments oauthArguments;
+  private AuthType authType;
 
   private String rewriteMimeType;
 
@@ -72,6 +74,7 @@
    */
   public HttpRequest(Uri uri) {
     this.uri = uri;
+    authType = AuthType.NONE;
   }
 
   /**
@@ -90,6 +93,7 @@
     if (request.oauthArguments != null) {
       oauthArguments = new OAuthArguments(request.oauthArguments);
     }
+    authType = request.authType;
     rewriteMimeType = request.rewriteMimeType;
   }
 
@@ -230,6 +234,14 @@
   }
 
   /**
+   * @param authType The type of authentication being used for this request.
+   */
+  public HttpRequest setAuthType(AuthType authType) {
+    this.authType = authType;
+    return this;
+  }
+
+  /**
    * @param rewriteMimeType The assumed content type of the response to be rewritten. Overrides
    * any values set in the Content-Type response header.
    *
@@ -364,6 +376,13 @@
   }
 
   /**
+   * @return The type of authentication being used for this request.
+   */
+  public AuthType getAuthType() {
+    return authType;
+  }
+
+  /**
    * @return The content type to assume when rewriting.
    *
    * TODO: Move this to new rewriting facility.
@@ -378,6 +397,7 @@
     buf.append(' ').append(uri.getPath())
        .append(uri.getQuery() == null ? "" : uri.getQuery()).append("\n\n");
     buf.append("Host: ").append(uri.getAuthority()).append('\n');
+    buf.append("X-Shindig-AuthType: ").append(authType).append('\n');
     for (Map.Entry<String, List<String>> entry : headers.entrySet()) {
       String name = entry.getKey();
       for (String value : entry.getValue()) {
@@ -397,9 +417,11 @@
       HttpRequest req = (HttpRequest)obj;
       return method.equals(req.method) &&
              uri.equals(req.uri) &&
+             authType.equals(req.authType) &&
              Arrays.equals(postBody, req.postBody) &&
              headers.equals(req.headers);
-             // TODO: Verify that other fields aren't meaningful.
+             // TODO: Verify that other fields aren't meaningful. Especially important to check for
+             // oauth args.
     }
     return false;
   }

Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth/OAuthArguments.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth/OAuthArguments.java?rev=694072&r1=694071&r2=694072&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth/OAuthArguments.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth/OAuthArguments.java Wed Sep 10 17:11:46 2008
@@ -18,11 +18,11 @@
  */
 package org.apache.shindig.gadgets.oauth;
 
-import com.google.common.collect.Maps;
-
+import org.apache.shindig.gadgets.AuthType;
 import org.apache.shindig.gadgets.GadgetException;
-import org.apache.shindig.gadgets.spec.Auth;
-import org.apache.shindig.gadgets.spec.Preload;
+import org.apache.shindig.gadgets.spec.RequestAuthenticationInfo;
+
+import com.google.common.collect.Maps;
 
 import java.util.Map;
 
@@ -41,7 +41,7 @@
   private static final String BYPASS_SPEC_CACHE_PARAM = "bypassSpecCache";
   private static final String SIGN_OWNER_PARAM = "signOwner";
   private static final String SIGN_VIEWER_PARAM = "signViewer";
- 
+
   /**
    * Should the OAuth access token be used?
    */
@@ -53,42 +53,42 @@
     /** Use the access token if it exists, and prompt if it doesn't */
     ALWAYS,
   }
-  
+
   /** Should we attempt to use an access token for the request */
   private UseToken useToken = UseToken.ALWAYS;
-  
+
   /** OAuth service nickname.  Signed fetch uses the empty string */
   private String serviceName = "";
-  
+
   /** OAuth token nickname.  Signed fetch uses the empty string */
   private String tokenName = "";
-  
+
   /** Request token the client wants us to use, may be null */
   private String requestToken = null;
-  
+
   /** Token secret that goes with the request token */
   private String requestTokenSecret = null;
-  
+
   /** Encrypted state blob stored on the client */
   private String origClientState = null;
-  
+
   /** Whether we should bypass the gadget spec cache */
   private boolean bypassSpecCache = false;
-  
+
   /** Include information about the owner? */
   private boolean signOwner = false;
-  
+
   /** Include information about the viewer? */
   private boolean signViewer = false;
 
   /**
    * Parse OAuthArguments from parameters to the makeRequest servlet.
-   * 
+   *
    * @param auth authentication type for the request
    * @param request servlet request
    * @throws GadgetException if any parameters are invalid.
    */
-  public OAuthArguments(Auth auth, HttpServletRequest request) throws GadgetException {
+  public OAuthArguments(AuthType auth, HttpServletRequest request) throws GadgetException {
     useToken = parseUseToken(auth, getRequestParam(request, USE_TOKEN_PARAM, ""));
     serviceName = getRequestParam(request, SERVICE_PARAM, "");
     tokenName = getRequestParam(request, TOKEN_PARAM, "");
@@ -99,26 +99,26 @@
     signOwner = Boolean.parseBoolean(getRequestParam(request, SIGN_OWNER_PARAM, "true"));
     signViewer = Boolean.parseBoolean(getRequestParam(request, SIGN_VIEWER_PARAM, "true"));
   }
-  
-  public OAuthArguments(Preload preload) throws GadgetException {
+
+  public OAuthArguments(RequestAuthenticationInfo info) throws GadgetException {
     Map<String, String> attrs = Maps.newTreeMap(String.CASE_INSENSITIVE_ORDER);
-    attrs.putAll(preload.getAttributes());
-    useToken = parseUseToken(preload.getAuthType(), getPreloadParam(attrs, USE_TOKEN_PARAM, ""));
-    serviceName = getPreloadParam(attrs, SERVICE_PARAM, "");
-    tokenName = getPreloadParam(attrs, TOKEN_PARAM, "");
-    requestToken = getPreloadParam(attrs, REQUEST_TOKEN_PARAM, null);
-    requestTokenSecret = getPreloadParam(attrs, REQUEST_TOKEN_SECRET_PARAM, null);
+    attrs.putAll(info.getAttributes());
+    useToken = parseUseToken(info.getAuthType(), getAuthInfoParam(attrs, USE_TOKEN_PARAM, ""));
+    serviceName = getAuthInfoParam(attrs, SERVICE_PARAM, "");
+    tokenName = getAuthInfoParam(attrs, TOKEN_PARAM, "");
+    requestToken = getAuthInfoParam(attrs, REQUEST_TOKEN_PARAM, null);
+    requestTokenSecret = getAuthInfoParam(attrs, REQUEST_TOKEN_SECRET_PARAM, null);
     origClientState = null;
     bypassSpecCache = false;
-    signOwner = preload.isSignOwner();
-    signViewer = preload.isSignViewer();
+    signOwner = info.isSignOwner();
+    signViewer = info.isSignViewer();
   }
-  
+
   /**
    * @return the named attribute from the Preload tag attributes, or default if the attribute is
    * not present.
    */
-  private String getPreloadParam(Map<String, String> attrs, String name, String def) {
+  private static String getAuthInfoParam(Map<String, String> attrs, String name, String def) {
     String val = attrs.get(name);
     if (val == null) {
       val = def;
@@ -141,9 +141,9 @@
   /**
    * Figure out what the client wants us to do with the OAuth access token.
    */
-  private static UseToken parseUseToken(Auth auth, String useTokenStr) throws GadgetException {
+  private static UseToken parseUseToken(AuthType auth, String useTokenStr) throws GadgetException {
     if (useTokenStr.length() == 0) {
-      if (auth == Auth.SIGNED) {
+      if (auth == AuthType.SIGNED) {
         // signed fetch defaults to not using the token
         return UseToken.NEVER;
       } else {
@@ -164,18 +164,18 @@
     throw new GadgetException(GadgetException.Code.INVALID_PARAMETER,
         "Unknown use token value " + useTokenStr);
   }
-  
+
   /**
    * Create an OAuthArguments object with all default values.  The details can be filled in later
    * using the setters.
-   * 
+   *
    * Be careful using this in anything except test code.  If you find yourself wanting to use this
    * method in real code, consider writing a new constructor instead.
    */
   public OAuthArguments() {
   }
-  
-  
+
+
   /**
    * Copy constructor.
    */
@@ -194,7 +194,7 @@
   public boolean mustUseToken() {
     return (useToken == UseToken.ALWAYS);
   }
-  
+
   public boolean mayUseToken() {
     return (useToken == UseToken.IF_AVAILABLE || useToken == UseToken.ALWAYS);
   }

Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/HttpPreloader.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/HttpPreloader.java?rev=694072&r1=694071&r2=694072&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/HttpPreloader.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/HttpPreloader.java Wed Sep 10 17:11:46 2008
@@ -71,21 +71,12 @@
       // TODO: This should be extracted into a common helper that takes any
       // org.apache.shindig.gadgets.spec.RequestAuthenticationInfo.
       HttpRequest request = new HttpRequest(Uri.fromJavaUri(preload.getHref()))
-            .setOAuthArguments(new OAuthArguments(preload))
-            .setContainer(context.getContainer())
-            .setSecurityToken(context.getToken())
-            .setGadget(Uri.fromJavaUri(context.getUrl()));
-      HttpResponse response = null;
-      switch (preload.getAuthType()) {
-        case NONE:
-          response = fetcher.get().fetch(request);
-          break;
-        case SIGNED:
-        case OAUTH:
-          response = fetcher.getOAuthFetcher(request).fetch(request);
-          break;
-      }
-      return new HttpPreloadData(response);
+          .setSecurityToken(context.getToken())
+          .setOAuthArguments(new OAuthArguments(preload))
+          .setAuthType(preload.getAuthType())
+          .setContainer(context.getContainer())
+          .setGadget(Uri.fromJavaUri(context.getUrl()));
+      return new HttpPreloadData(fetcher.fetch(request));
     }
   }
 

Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java?rev=694072&r1=694071&r2=694072&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java Wed Sep 10 17:11:46 2008
@@ -22,15 +22,14 @@
 import org.apache.shindig.auth.SecurityToken;
 import org.apache.shindig.common.uri.Uri;
 import org.apache.shindig.common.util.Utf8UrlCoder;
+import org.apache.shindig.gadgets.AuthType;
 import org.apache.shindig.gadgets.FeedProcessor;
 import org.apache.shindig.gadgets.GadgetException;
 import org.apache.shindig.gadgets.http.ContentFetcherFactory;
-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.oauth.OAuthArguments;
 import org.apache.shindig.gadgets.rewrite.ContentRewriterRegistry;
-import org.apache.shindig.gadgets.spec.Auth;
 
 import com.google.inject.Inject;
 import com.google.inject.Singleton;
@@ -81,31 +80,16 @@
       throws GadgetException, IOException {
     HttpRequest rcr = buildHttpRequest(request);
 
-    // Figure out whether authentication is required
-    Auth auth = Auth.parse(getParameter(request, AUTHZ_PARAM, ""));
-    SecurityToken authToken = null;
-    OAuthArguments oauthArguments = null;
-    if (auth != Auth.NONE) {
-      authToken = extractAndValidateToken(request);
-      oauthArguments = new OAuthArguments(auth, request);
-    }
-
-    rcr.setSecurityToken(authToken);
-    rcr.setOAuthArguments(oauthArguments);
-
-    // Build the chain of fetchers that will handle the request
-    HttpFetcher fetcher = getHttpFetcher(auth, rcr);
-
     // Serialize the response
-    HttpResponse results = fetcher.fetch(rcr);
-    
+    HttpResponse results = contentFetcherFactory.fetch(rcr);
+
     // Rewrite the response
     if (contentRewriterRegistry != null) {
       results = contentRewriterRegistry.rewriteHttpResponse(rcr, results);
     }
 
     // Serialize the response
-    String output = convertResponseToJson(authToken, request, results);
+    String output = convertResponseToJson(rcr.getSecurityToken(), request, results);
 
     // Find and set the refresh interval
     setResponseHeaders(request, response, results);
@@ -158,6 +142,14 @@
     // allows proper rewriting of <script src="x"/> where x is returned with
     // a content type like text/html which unfortunately happens all too often
     req.setRewriteMimeType(request.getParameter(REWRITE_MIME_TYPE_PARAM));
+
+    // Figure out whether authentication is required
+    AuthType auth = AuthType.parse(getParameter(request, AUTHZ_PARAM, null));
+    req.setAuthType(auth);
+    if (auth != AuthType.NONE) {
+      req.setSecurityToken(extractAndValidateToken(request));
+      req.setOAuthArguments(new OAuthArguments(auth, request));
+    }
     return req;
   }
 
@@ -177,25 +169,6 @@
   }
 
   /**
-   * At the moment our fetcher chain is short.  In the future we might add
-   * additional layers for things like caching or throttling.
-   *
-   * Whatever we do needs to return a reference to the OAuthFetcher, if it is
-   * present, so we can pull data out as needed.
-   */
-  private HttpFetcher getHttpFetcher(Auth auth, HttpRequest request) throws GadgetException {
-    switch (auth) {
-      case NONE:
-        return contentFetcherFactory.get();
-      case SIGNED:
-      case OAUTH:
-        return contentFetcherFactory.getOAuthFetcher(request);
-      default:
-        return contentFetcherFactory.get();
-    }
-  }
-
-  /**
    * Format a response as JSON, including additional JSON inserted by
    * chained content fetchers.
    */

Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/Preload.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/Preload.java?rev=694072&r1=694071&r2=694072&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/Preload.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/Preload.java Wed Sep 10 17:11:46 2008
@@ -18,6 +18,7 @@
 package org.apache.shindig.gadgets.spec;
 
 import org.apache.shindig.common.xml.XmlUtil;
+import org.apache.shindig.gadgets.AuthType;
 import org.apache.shindig.gadgets.Substitutions;
 
 import com.google.common.collect.ImmutableSet;
@@ -65,7 +66,7 @@
     }
     this.views = Collections.unmodifiableSet(views);
 
-    auth = Auth.parse(XmlUtil.getAttribute(preload, "authz"));
+    auth = AuthType.parse(XmlUtil.getAttribute(preload, "authz"));
     signOwner = XmlUtil.getBoolAttribute(preload, "sign_owner", true);
     signViewer = XmlUtil.getBoolAttribute(preload, "sign_viewer", true);
     Map<String, String> attributes = Maps.newHashMap();
@@ -103,8 +104,8 @@
   /**
    * Preload@auth
    */
-  private final Auth auth;
-  public Auth getAuthType() {
+  private final AuthType auth;
+  public AuthType getAuthType() {
     return auth;
   }
 

Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/RequestAuthenticationInfo.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/RequestAuthenticationInfo.java?rev=694072&r1=694071&r2=694072&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/RequestAuthenticationInfo.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/RequestAuthenticationInfo.java Wed Sep 10 17:11:46 2008
@@ -18,6 +18,8 @@
  */
 package org.apache.shindig.gadgets.spec;
 
+import org.apache.shindig.gadgets.AuthType;
+
 import java.net.URI;
 import java.util.Map;
 
@@ -28,7 +30,7 @@
   /**
    * @return The type of authentication to use.
    */
-  Auth getAuthType();
+  AuthType getAuthType();
 
   /**
    * @return The destination URI for making authenticated requests to.

Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/View.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/View.java?rev=694072&r1=694071&r2=694072&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/View.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/View.java Wed Sep 10 17:11:46 2008
@@ -18,6 +18,7 @@
 package org.apache.shindig.gadgets.spec;
 
 import org.apache.shindig.common.xml.XmlUtil;
+import org.apache.shindig.gadgets.AuthType;
 import org.apache.shindig.gadgets.Substitutions;
 
 import com.google.common.collect.ImmutableSet;
@@ -99,7 +100,7 @@
     this.preferredHeight = preferredHeight;
     this.preferredWidth = preferredWidth;
     this.attributes = Collections.unmodifiableMap(attributes);
-    this.auth = Auth.parse(auth);
+    this.authType = AuthType.parse(auth);
     this.signOwner = signOwner;
     this.signViewer = signViewer;
     if (type == ContentType.URL && this.href == null) {
@@ -119,7 +120,7 @@
     quirks = view.quirks;
     preferredHeight = view.preferredHeight;
     preferredWidth = view.preferredWidth;
-    auth = view.auth;
+    authType = view.authType;
     signOwner = view.signOwner;
     signViewer = view.signViewer;
 
@@ -224,9 +225,9 @@
   /**
    * Content/@authz
    */
-  private final Auth auth;
-  public Auth getAuthType() {
-    return auth;
+  private final AuthType authType;
+  public AuthType getAuthType() {
+    return authType;
   }
 
   /**
@@ -274,7 +275,7 @@
        .append(" quirks='").append(quirks).append('\'')
        .append(" preferred_height='").append(preferredHeight).append('\'')
        .append(" preferred_width='").append(preferredWidth).append('\'')
-       .append(" authz=").append(auth.toString().toLowerCase()).append('\'');
+       .append(" authz=").append(authType.toString().toLowerCase()).append('\'');
     for (Map.Entry<String, String> entry : attributes.entrySet()) {
       buf.append(entry.getKey()).append("='").append(entry.getValue()).append('\'');
     }

Copied: incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/AuthTypeTest.java (from r693690, incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/AuthTest.java)
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/AuthTypeTest.java?p2=incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/AuthTypeTest.java&p1=incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/AuthTest.java&r1=693690&r2=694072&rev=694072&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/AuthTest.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/AuthTypeTest.java Wed Sep 10 17:11:46 2008
@@ -17,24 +17,24 @@
  * under the License.
  */
 
-package org.apache.shindig.gadgets.spec;
+package org.apache.shindig.gadgets;
 
 import static org.junit.Assert.assertEquals;
 
 import org.junit.Test;
 
-public class AuthTest {
-  
+public class AuthTypeTest {
+
   @Test
   public void testAuth() {
-    assertEquals(Auth.OAUTH, Auth.parse("oauth"));
-    assertEquals(Auth.OAUTH, Auth.parse("   oauth   "));
-    assertEquals(Auth.SIGNED, Auth.parse("SiGnEd"));
-    assertEquals(Auth.NONE, Auth.parse("NONE"));
-    assertEquals(Auth.NONE, Auth.parse(""));
-    assertEquals(Auth.NONE, Auth.parse(null));
-    assertEquals(Auth.NONE, Auth.parse("foo"));
-    assertEquals("none", Auth.NONE.toString());
-    assertEquals("oauth", Auth.OAUTH.toString());
+    assertEquals(AuthType.OAUTH, AuthType.parse("oauth"));
+    assertEquals(AuthType.OAUTH, AuthType.parse("   oauth   "));
+    assertEquals(AuthType.SIGNED, AuthType.parse("SiGnEd"));
+    assertEquals(AuthType.NONE, AuthType.parse("NONE"));
+    assertEquals(AuthType.NONE, AuthType.parse(""));
+    assertEquals(AuthType.NONE, AuthType.parse(null));
+    assertEquals(AuthType.NONE, AuthType.parse("foo"));
+    assertEquals("none", AuthType.NONE.toString());
+    assertEquals("oauth", AuthType.OAUTH.toString());
   }
 }

Modified: incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/GadgetServerTest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/GadgetServerTest.java?rev=694072&r1=694071&r2=694072&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/GadgetServerTest.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/GadgetServerTest.java Wed Sep 10 17:11:46 2008
@@ -19,7 +19,6 @@
 
 import static org.easymock.EasyMock.eq;
 import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
 
 import org.apache.shindig.auth.BasicSecurityToken;
 import org.apache.shindig.auth.SecurityToken;
@@ -27,7 +26,6 @@
 import org.apache.shindig.common.uri.Uri;
 import org.apache.shindig.gadgets.http.HttpRequest;
 import org.apache.shindig.gadgets.http.HttpResponse;
-import org.apache.shindig.gadgets.oauth.OAuthArguments;
 import org.apache.shindig.gadgets.spec.GadgetSpec;
 
 import java.net.URI;
@@ -178,10 +176,9 @@
           "  </ModulePrefs>" +
           "  <Content type=\"html\">dummy</Content>" +
           "</Module>";
-    expect(fetcherFactory.get()).andReturn(fetcher);
     expect(fetcher.fetch(SPEC_REQUEST))
          .andReturn(new HttpResponse(gadgetXml));
-    expect(fetcher.fetch(preloadRequest))
+    expect(fetcherFactory.fetch(preloadRequest))
         .andReturn(new HttpResponse(preloadData));
     replay();
 
@@ -204,10 +201,9 @@
           "  </ModulePrefs>" +
           "  <Content type=\"html\" view=\"v1,v2\">dummy</Content>" +
           "</Module>";
-    expect(fetcherFactory.get()).andReturn(fetcher);
     expect(fetcher.fetch(SPEC_REQUEST))
          .andReturn(new HttpResponse(gadgetXml));
-    expect(fetcher.fetch(preloadRequest))
+    expect(fetcherFactory.fetch(preloadRequest))
         .andReturn(new HttpResponse(preloadData));
     replay();
 
@@ -242,10 +238,9 @@
         "  </ModulePrefs>" +
         "  <Content type=\"html\" view=\"v1,v2\">dummy</Content>" +
         "</Module>";
-    expect(fetcherFactory.get()).andReturn(fetcher);
     expect(fetcher.fetch(SPEC_REQUEST))
         .andReturn(new HttpResponse(gadgetXml));
-    expect(fetcher.fetch(preloadRequest))
+    expect(fetcherFactory.fetch(preloadRequest))
         .andReturn(new HttpResponse(preloadData));
     replay();
 
@@ -294,7 +289,8 @@
   public void testSignedPreloadWithToken() throws Exception {
     String preloadUrl = "http://example.org/preload.txt";
     String preloadData = "Preload Data";
-    HttpRequest preloadRequest = new HttpRequest(Uri.parse(preloadUrl));
+    HttpRequest preloadRequest = new HttpRequest(Uri.parse(preloadUrl))
+        .setAuthType(AuthType.SIGNED);
 
     String gadgetXml
         = "<Module>" +
@@ -305,10 +301,7 @@
         "</Module>";
     expect(fetcher.fetch(SPEC_REQUEST))
         .andReturn(new HttpResponse(gadgetXml));
-    expect(fetcherFactory.getOAuthFetcher(
-        isA(HttpRequest.class)))
-        .andReturn(fetcher);
-    expect(fetcher.fetch(preloadRequest))
+    expect(fetcherFactory.fetch(preloadRequest))
         .andReturn(new HttpResponse(preloadData));
     replay();
 
@@ -320,7 +313,8 @@
   public void testOAuthPreload() throws Exception {
     String preloadUrl = "http://example.org/preload.txt";
     String preloadData = "Preload Data";
-    HttpRequest preloadRequest = new HttpRequest(Uri.parse(preloadUrl));
+    HttpRequest preloadRequest = new HttpRequest(Uri.parse(preloadUrl))
+        .setAuthType(AuthType.OAUTH);
 
     String gadgetXml
         = "<Module>" +
@@ -332,10 +326,7 @@
         "</Module>";
     expect(fetcher.fetch(SPEC_REQUEST))
         .andReturn(new HttpResponse(gadgetXml));
-    expect(fetcherFactory.getOAuthFetcher(
-        isA(HttpRequest.class)))
-        .andReturn(fetcher);
-    expect(fetcher.fetch(preloadRequest))
+    expect(fetcherFactory.fetch(preloadRequest))
         .andReturn(new HttpResponse(preloadData));
     replay();
 

Modified: incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/GadgetTestFixture.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/GadgetTestFixture.java?rev=694072&r1=694071&r2=694072&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/GadgetTestFixture.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/GadgetTestFixture.java Wed Sep 10 17:11:46 2008
@@ -24,7 +24,6 @@
 import org.apache.shindig.common.cache.DefaultCacheProvider;
 import org.apache.shindig.common.testing.TestExecutorService;
 import org.apache.shindig.common.util.FakeTimeSource;
-import org.apache.shindig.gadgets.MutableContent;
 import org.apache.shindig.gadgets.http.ContentFetcherFactory;
 import org.apache.shindig.gadgets.http.HttpFetcher;
 import org.apache.shindig.gadgets.http.HttpRequest;
@@ -36,11 +35,11 @@
 import java.util.concurrent.ExecutorService;
 
 public abstract class GadgetTestFixture extends EasyMockTestCase {
+  // TODO: Remove all of these.
   public final GadgetServer gadgetServer;
   public final ContentFetcherFactory fetcherFactory = mock(ContentFetcherFactory.class);
   public final HttpFetcher fetcher = mock(HttpFetcher.class);
   public final OAuthFetcher oauthFetcher = mock(OAuthFetcher.class);
-  public final ContentFetcherFactory contentFetcherFactory = mock(ContentFetcherFactory.class);
   public final GadgetBlacklist blacklist = mock(GadgetBlacklist.class);
   private final CacheProvider cacheProvider = new DefaultCacheProvider();
   public final MessageBundleFactory bundleFactory =
@@ -63,7 +62,7 @@
       throw new RuntimeException(e);
     }
   }
-  
+
   public static class CaptureRewriter implements ContentRewriter {
     private boolean rewroteView = false;
     private boolean rewroteResponse = false;
@@ -71,7 +70,7 @@
     public void rewrite(HttpRequest request, HttpResponse original, MutableContent content) {
       rewroteResponse = true;
     }
-    
+
     public boolean responseWasRewritten() {
       return rewroteResponse;
     }
@@ -79,7 +78,7 @@
     public void rewrite(Gadget gadget) {
       rewroteView = true;
     }
-    
+
     public boolean viewWasRewritten() {
       return rewroteView;
     }

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=694072&r1=694071&r2=694072&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 Wed Sep 10 17:11:46 2008
@@ -23,6 +23,7 @@
 
 import org.apache.shindig.auth.AnonymousSecurityToken;
 import org.apache.shindig.common.uri.Uri;
+import org.apache.shindig.gadgets.AuthType;
 import org.apache.shindig.gadgets.oauth.OAuthArguments;
 
 import org.apache.commons.io.IOUtils;
@@ -98,7 +99,8 @@
         .setPostBody(POST_BODY.getBytes())
         .setRewriteMimeType("text/fake")
         .setSecurityToken(new AnonymousSecurityToken())
-        .setOAuthArguments(oauthArguments);
+        .setOAuthArguments(oauthArguments)
+        .setAuthType(AuthType.OAUTH);
 
     HttpRequest request2 = new HttpRequest(request).setUri(Uri.parse("http://example.org/foo"));
 
@@ -114,5 +116,6 @@
         request2.getOAuthArguments().getSignOwner());
     assertEquals(request.getOAuthArguments().getSignViewer(),
         request2.getOAuthArguments().getSignViewer());
+    assertEquals(AuthType.OAUTH, request.getAuthType());
   }
 }

Modified: incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/OAuthArgumentsTest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/OAuthArgumentsTest.java?rev=694072&r1=694071&r2=694072&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/OAuthArgumentsTest.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/OAuthArgumentsTest.java Wed Sep 10 17:11:46 2008
@@ -24,10 +24,11 @@
 
 import org.apache.shindig.common.testing.FakeHttpServletRequest;
 import org.apache.shindig.common.xml.XmlUtil;
+import org.apache.shindig.gadgets.AuthType;
 import org.apache.shindig.gadgets.GadgetException;
 import org.apache.shindig.gadgets.oauth.OAuthArguments.UseToken;
-import org.apache.shindig.gadgets.spec.Auth;
 import org.apache.shindig.gadgets.spec.Preload;
+
 import org.junit.Test;
 
 import javax.servlet.http.HttpServletRequest;
@@ -36,7 +37,7 @@
  * Tests parameter parsing
  */
 public class OAuthArgumentsTest {
- 
+
   @Test
   public void testInitFromPreload() throws Exception {
     String xml = "<Preload href='http://www.example.com' " +
@@ -57,7 +58,7 @@
     assertNull(params.getOrigClientState());
     assertFalse(params.getBypassSpecCache());
   }
-  
+
   private FakeHttpServletRequest makeDummyRequest() throws Exception {
     FakeHttpServletRequest req = new FakeHttpServletRequest();
     req.setParameter("OAUTH_USE_TOKEN", true, "never");
@@ -71,12 +72,12 @@
     req.setParameter("signViewer", true, "false");
     return req;
   }
-  
+
   @Test
   public void testInitFromRequest() throws Exception {
     HttpServletRequest req = makeDummyRequest();
-    
-    OAuthArguments args = new OAuthArguments(Auth.SIGNED, req);
+
+    OAuthArguments args = new OAuthArguments(AuthType.SIGNED, req);
     assertEquals(UseToken.NEVER, args.getUseToken());
     assertEquals("service", args.getServiceName());
     assertEquals("token", args.getTokenName());
@@ -87,11 +88,11 @@
     assertEquals(false, args.getSignOwner());
     assertEquals(false, args.getSignViewer());
   }
-  
+
   @Test
   public void testInitFromRequest_defaults() throws Exception {
     HttpServletRequest req = new FakeHttpServletRequest();
-    OAuthArguments args = new OAuthArguments(Auth.SIGNED, req);
+    OAuthArguments args = new OAuthArguments(AuthType.SIGNED, req);
     assertEquals(UseToken.NEVER, args.getUseToken());
     assertEquals("", args.getServiceName());
     assertEquals("", args.getTokenName());
@@ -102,14 +103,14 @@
     assertEquals(true, args.getSignOwner());
     assertEquals(true, args.getSignViewer());
   }
-  
+
   @Test
   public void testInitFromRequest_oauthDefaults() throws Exception {
     FakeHttpServletRequest req = new FakeHttpServletRequest();
-    OAuthArguments args = new OAuthArguments(Auth.OAUTH, req);
+    OAuthArguments args = new OAuthArguments(AuthType.OAUTH, req);
     assertEquals(UseToken.ALWAYS, args.getUseToken());
   }
-  
+
   @Test
   public void testNoArgConstructorDefaults() throws Exception {
     OAuthArguments args = new OAuthArguments();
@@ -123,39 +124,39 @@
     assertEquals(false, args.getSignOwner());
     assertEquals(false, args.getSignViewer());
   }
-  
+
   @Test
   public void testGetAndSet() throws Exception {
     OAuthArguments args = new OAuthArguments();
     args.setBypassSpecCache(true);
     assertEquals(true, args.getBypassSpecCache());
-    
+
     args.setOrigClientState("thestate");
     assertEquals("thestate", args.getOrigClientState());
-    
+
     args.setRequestToken("rt");
     assertEquals("rt", args.getRequestToken());
-    
+
     args.setRequestTokenSecret("rts");
     assertEquals("rts", args.getRequestTokenSecret());
-    
+
     args.setServiceName("s");
     assertEquals("s", args.getServiceName());
-    
+
     args.setSignOwner(true);
     assertEquals(true, args.getSignOwner());
-    
+
     args.setSignViewer(true);
     assertEquals(true, args.getSignViewer());
-    
+
     args.setUseToken(UseToken.IF_AVAILABLE);
     assertEquals(UseToken.IF_AVAILABLE, args.getUseToken());
   }
-  
+
   @Test
   public void testCopyConstructor() throws Exception {
     HttpServletRequest req = makeDummyRequest();
-    OAuthArguments args = new OAuthArguments(Auth.OAUTH, req);
+    OAuthArguments args = new OAuthArguments(AuthType.OAUTH, req);
     args = new OAuthArguments(args);
     assertEquals(UseToken.NEVER, args.getUseToken());
     assertEquals("service", args.getServiceName());
@@ -167,33 +168,33 @@
     assertEquals(false, args.getSignOwner());
     assertEquals(false, args.getSignViewer());
   }
-  
+
   @Test
   public void testParseUseToken() throws Exception {
     FakeHttpServletRequest req = new FakeHttpServletRequest();
     req.setParameter("OAUTH_USE_TOKEN", "ALWAYS");
-    OAuthArguments args = new OAuthArguments(Auth.SIGNED, req);
+    OAuthArguments args = new OAuthArguments(AuthType.SIGNED, req);
     assertEquals(UseToken.ALWAYS, args.getUseToken());
-    
+
     req.setParameter("OAUTH_USE_TOKEN", "if_available");
-    args = new OAuthArguments(Auth.SIGNED, req);
-    assertEquals(UseToken.IF_AVAILABLE, args.getUseToken());     
-    
+    args = new OAuthArguments(AuthType.SIGNED, req);
+    assertEquals(UseToken.IF_AVAILABLE, args.getUseToken());
+
     req.setParameter("OAUTH_USE_TOKEN", "never");
-    args = new OAuthArguments(Auth.SIGNED, req);
+    args = new OAuthArguments(AuthType.SIGNED, req);
     assertEquals(UseToken.NEVER, args.getUseToken());
-    
+
     req.setParameter("OAUTH_USE_TOKEN", "");
-    args = new OAuthArguments(Auth.SIGNED, req);
+    args = new OAuthArguments(AuthType.SIGNED, req);
     assertEquals(UseToken.NEVER, args.getUseToken());
-    
+
     req.setParameter("OAUTH_USE_TOKEN", "");
-    args = new OAuthArguments(Auth.OAUTH, req);
+    args = new OAuthArguments(AuthType.OAUTH, req);
     assertEquals(UseToken.ALWAYS, args.getUseToken());
-    
+
     try {
       req.setParameter("OAUTH_USE_TOKEN", "stuff");
-      new OAuthArguments(Auth.OAUTH, req);
+      new OAuthArguments(AuthType.OAUTH, req);
       fail("Should have thrown");
     } catch (GadgetException e) {
       // good.

Modified: incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/preload/HttpPreloaderTest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/preload/HttpPreloaderTest.java?rev=694072&r1=694071&r2=694072&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/preload/HttpPreloaderTest.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/preload/HttpPreloaderTest.java Wed Sep 10 17:11:46 2008
@@ -18,29 +18,24 @@
  */
 package org.apache.shindig.gadgets.preload;
 
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
 import org.apache.shindig.auth.SecurityToken;
 import org.apache.shindig.common.testing.FakeGadgetToken;
+import org.apache.shindig.gadgets.AuthType;
 import org.apache.shindig.gadgets.GadgetContext;
 import org.apache.shindig.gadgets.http.ContentFetcherFactory;
 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.oauth.OAuthArguments;
 import org.apache.shindig.gadgets.spec.GadgetSpec;
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
-import org.easymock.IMocksControl;
-import org.easymock.classextension.EasyMock;
-import org.junit.Before;
 import org.junit.Test;
 
 import java.net.URI;
@@ -58,12 +53,19 @@
   private static final String CONTAINER = "some-container";
   private static final URI GADGET_URL = URI.create("http://example.org/gadget.xml");
   private static final Map<String, String> PRELOAD_METADATA = Maps.immutableMap("foo", "bar");
-
-  private final IMocksControl control = EasyMock.createNiceControl();
-  private final ContentFetcherFactory fetchers = control.createMock(ContentFetcherFactory.class);
   private final RecordingHttpFetcher plainFetcher = new RecordingHttpFetcher();
   private final RecordingHttpFetcher oauthFetcher = new RecordingHttpFetcher();
 
+  private final ContentFetcherFactory fetchers = new ContentFetcherFactory(null, null) {
+    @Override
+    public HttpResponse fetch(HttpRequest request) {
+      if (request.getAuthType() == AuthType.NONE) {
+        return plainFetcher.fetch(request);
+      }
+      return oauthFetcher.fetch(request);
+    }
+  };
+
   private final GadgetContext context = new GadgetContext() {
     @Override
     public SecurityToken getToken() {
@@ -81,14 +83,6 @@
     }
   };
 
-  @Before
-  public void setUp() throws Exception {
-    expect(fetchers.get())
-        .andReturn(plainFetcher).anyTimes();
-    expect(fetchers.getOAuthFetcher(isA(HttpRequest.class))).andReturn(oauthFetcher).anyTimes();
-    control.replay();
-  }
-
   private void checkRequest(HttpRequest request) {
     assertEquals(context.getContainer(), request.getContainer());
     assertEquals(GADGET_URL.toString(), request.getGadget().toString());

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=694072&r1=694071&r2=694072&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 Wed Sep 10 17:11:46 2008
@@ -163,12 +163,10 @@
     expectFetchGadget(PRELOAD_XML, false);
     expect(request.getAttribute(AuthInfo.Attribute.SECURITY_TOKEN.getId()))
         .andReturn(DUMMY_TOKEN).atLeastOnce();
-    OAuthFetcher oauthFetcher = mock(OAuthFetcher.class);
-    expect(fetcherFactory.getOAuthFetcher(isA(HttpRequest.class))).
-        andReturn(oauthFetcher);
+    mock(OAuthFetcher.class);
 
-    expect(oauthFetcher.fetch(isA(HttpRequest.class))).
-    andReturn(new HttpResponse("preloaded data"));
+    expect(fetcherFactory.fetch(isA(HttpRequest.class)))
+        .andReturn(new HttpResponse("preloaded data"));
 
     expectLockedDomainCheck();
     expectWriteResponse();
@@ -184,9 +182,6 @@
     expectFetchGadget(PRELOAD_XML, false);
     expect(request.getAttribute(AuthInfo.Attribute.SECURITY_TOKEN.getId()))
         .andReturn(DUMMY_TOKEN).atLeastOnce();
-    OAuthFetcher oauthFetcher = mock(OAuthFetcher.class);
-    expect(fetcherFactory.getOAuthFetcher(isA(HttpRequest.class))).
-        andReturn(oauthFetcher);
 
     HttpResponse resp = new HttpResponseBuilder()
         .setHttpStatusCode(HttpResponse.SC_UNAUTHORIZED)
@@ -194,7 +189,7 @@
         .setMetadata(OAuthResponseParams.CLIENT_STATE, "state blob")
         .create();
 
-    expect(oauthFetcher.fetch(isA(HttpRequest.class))).andReturn(resp);
+    expect(fetcherFactory.fetch(isA(HttpRequest.class))).andReturn(resp);
 
     expectLockedDomainCheck();
     expectWriteResponse();

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=694072&r1=694071&r2=694072&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 Wed Sep 10 17:11:46 2008
@@ -20,21 +20,17 @@
 
 import static junitx.framework.StringAssert.assertStartsWith;
 import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
 
 import org.apache.shindig.auth.AuthInfo;
 import org.apache.shindig.auth.SecurityToken;
 import org.apache.shindig.common.testing.FakeGadgetToken;
 import org.apache.shindig.common.uri.Uri;
+import org.apache.shindig.gadgets.AuthType;
 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 org.apache.shindig.gadgets.rewrite.BasicContentRewriterRegistry;
-import org.apache.shindig.gadgets.spec.Auth;
-
-import com.google.common.collect.Lists;
 
 import org.json.JSONArray;
 import org.json.JSONException;
@@ -42,7 +38,6 @@
 import org.junit.Test;
 
 import java.util.Collections;
-import java.util.List;
 
 /**
  * Tests for MakeRequestHandler.
@@ -53,27 +48,28 @@
   private static final String RESPONSE_BODY = "makeRequest response body";
   private static final SecurityToken DUMMY_TOKEN = new FakeGadgetToken();
 
-  private final MakeRequestHandler handler = new MakeRequestHandler(contentFetcherFactory,
+  private final MakeRequestHandler handler = new MakeRequestHandler(fetcherFactory,
       new BasicContentRewriterRegistry(rewriter, null));
 
   private void expectGetAndReturnBody(String response) throws Exception {
-    expectGetAndReturnBody(fetcher, response);
+    expectGetAndReturnBody(AuthType.NONE, response);
   }
 
-  private void expectGetAndReturnBody(HttpFetcher fetcher, String response) throws Exception {
-    HttpRequest request = new HttpRequest(REQUEST_URL);
-    expect(fetcher.fetch(request)).andReturn(new HttpResponse(response));
+  private void expectGetAndReturnBody(AuthType authType, String response) throws Exception {
+    HttpRequest request = new HttpRequest(REQUEST_URL).setAuthType(authType);
+    expect(fetcherFactory.fetch(request)).andReturn(new HttpResponse(response));
   }
 
   private void expectPostAndReturnBody(String postData, String response) throws Exception {
-    expectPostAndReturnBody(fetcher, postData, response);
+    expectPostAndReturnBody(AuthType.NONE, postData, response);
   }
 
-  private void expectPostAndReturnBody(HttpFetcher fetcher, String postData, String response)
+  private void expectPostAndReturnBody(AuthType authType, String postData, String response)
       throws Exception {
     HttpRequest req = new HttpRequest(REQUEST_URL).setMethod("POST")
-        .setPostBody(REQUEST_BODY.getBytes("UTF-8"));
-    expect(fetcher.fetch(req)).andReturn(new HttpResponse(response));
+        .setPostBody(REQUEST_BODY.getBytes("UTF-8"))
+        .setAuthType(authType);
+    expect(fetcherFactory.fetch(req)).andReturn(new HttpResponse(response));
     expect(request.getParameter(MakeRequestHandler.METHOD_PARAM)).andReturn("POST");
     expect(request.getParameter(MakeRequestHandler.POST_DATA_PARAM))
         .andReturn(REQUEST_BODY);
@@ -108,26 +104,16 @@
   public void testExplicitHeaders() throws Exception {
     String headerString = "X-Foo=bar&X-Bar=baz%20foo";
 
-    final List<HttpRequest> requests = Lists.newArrayList();
-    HttpFetcher fakeFetcher = new HttpFetcher() {
-      public HttpResponse fetch(HttpRequest request) {
-        requests.add(request);
-        return new HttpResponse(RESPONSE_BODY);
-      }
-    };
-
-    reset();
-    setUp();
-    expect(contentFetcherFactory.get()).andReturn(fakeFetcher);
+    HttpRequest expected = new HttpRequest(REQUEST_URL)
+        .addHeader("X-Foo", "bar")
+        .addHeader("X-Bar", "baz foo");
+    expect(fetcherFactory.fetch(expected)).andReturn(new HttpResponse(RESPONSE_BODY));
     expect(request.getParameter(MakeRequestHandler.HEADERS_PARAM)).andReturn(headerString);
     replay();
 
     handler.fetch(request, recorder);
     verify();
 
-    assertEquals("bar", requests.get(0).getHeader("X-Foo"));
-    assertEquals("baz foo", requests.get(0).getHeader("X-Bar"));
-
     JSONObject results = extractJsonFromResponse();
     assertEquals(HttpResponse.SC_OK, results.getInt("rc"));
     assertEquals(RESPONSE_BODY, results.get("body"));
@@ -244,8 +230,10 @@
     expect(request.getAttribute(AuthInfo.Attribute.SECURITY_TOKEN.getId()))
         .andReturn(DUMMY_TOKEN).atLeastOnce();
     expect(request.getParameter(MakeRequestHandler.AUTHZ_PARAM))
-        .andReturn(Auth.SIGNED.toString()).atLeastOnce();
-    expect(oauthFetcher.fetch(isA(HttpRequest.class)))
+        .andReturn(AuthType.SIGNED.toString()).atLeastOnce();
+    HttpRequest expected = new HttpRequest(REQUEST_URL)
+        .setAuthType(AuthType.SIGNED);
+    expect(fetcherFactory.fetch(expected))
         .andReturn(new HttpResponse(RESPONSE_BODY));
     replay();
 
@@ -259,11 +247,11 @@
   public void testSignedPostRequest() throws Exception {
     // Doesn't actually sign since it returns the standard fetcher.
     // Signing tests are in SigningFetcherTest
-    expectPostAndReturnBody(oauthFetcher, REQUEST_BODY, RESPONSE_BODY);
+    expectPostAndReturnBody(AuthType.SIGNED, REQUEST_BODY, RESPONSE_BODY);
     expect(request.getAttribute(AuthInfo.Attribute.SECURITY_TOKEN.getId()))
         .andReturn(DUMMY_TOKEN).atLeastOnce();
     expect(request.getParameter(MakeRequestHandler.AUTHZ_PARAM))
-        .andReturn(Auth.SIGNED.toString()).atLeastOnce();
+        .andReturn(AuthType.SIGNED.toString()).atLeastOnce();
     replay();
 
     handler.fetch(request, recorder);
@@ -278,12 +266,12 @@
   public void testChangeSecurityToken() throws Exception {
     // Doesn't actually sign since it returns the standard fetcher.
     // Signing tests are in SigningFetcherTest
-    expectGetAndReturnBody(oauthFetcher, RESPONSE_BODY);
+    expectGetAndReturnBody(AuthType.SIGNED, RESPONSE_BODY);
     FakeGadgetToken authToken = new FakeGadgetToken().setUpdatedToken("updated");
     expect(request.getAttribute(AuthInfo.Attribute.SECURITY_TOKEN.getId()))
         .andReturn(authToken).atLeastOnce();
     expect(request.getParameter(MakeRequestHandler.AUTHZ_PARAM))
-        .andReturn(Auth.SIGNED.toString()).atLeastOnce();
+        .andReturn(AuthType.SIGNED.toString()).atLeastOnce();
     replay();
 
     handler.fetch(request, recorder);
@@ -297,12 +285,12 @@
   public void testDoOAuthRequest() throws Exception {
     // Doesn't actually do oauth dance since it returns the standard fetcher.
     // OAuth tests are in OAuthFetcherTest
-    expectGetAndReturnBody(oauthFetcher, RESPONSE_BODY);
+    expectGetAndReturnBody(AuthType.OAUTH, RESPONSE_BODY);
     FakeGadgetToken authToken = new FakeGadgetToken().setUpdatedToken("updated");
     expect(request.getAttribute(AuthInfo.Attribute.SECURITY_TOKEN.getId()))
         .andReturn(authToken).atLeastOnce();
     expect(request.getParameter(MakeRequestHandler.AUTHZ_PARAM))
-        .andReturn(Auth.OAUTH.toString()).atLeastOnce();
+        .andReturn(AuthType.OAUTH.toString()).atLeastOnce();
     // This isn't terribly accurate, but is close enough for this test.
     expect(request.getParameterMap()).andStubReturn(Collections.EMPTY_MAP);
     replay();
@@ -330,7 +318,7 @@
 
   public void testBadHttpResponseIsPropagated() throws Exception {
     HttpRequest internalRequest = new HttpRequest(REQUEST_URL);
-    expect(fetcher.fetch(internalRequest)).andReturn(HttpResponse.error());
+    expect(fetcherFactory.fetch(internalRequest)).andReturn(HttpResponse.error());
     replay();
 
     handler.fetch(request, recorder);
@@ -344,7 +332,7 @@
     expect(request.getAttribute(AuthInfo.Attribute.SECURITY_TOKEN.getId()))
         .andReturn(null).atLeastOnce();
     expect(request.getParameter(MakeRequestHandler.AUTHZ_PARAM))
-        .andReturn(Auth.SIGNED.toString()).atLeastOnce();
+        .andReturn(AuthType.SIGNED.toString()).atLeastOnce();
     replay();
 
     try {
@@ -362,7 +350,7 @@
         .setMetadata("foo", RESPONSE_BODY)
         .create();
 
-    expect(fetcher.fetch(internalRequest)).andReturn(response);
+    expect(fetcherFactory.fetch(internalRequest)).andReturn(response);
     replay();
 
     handler.fetch(request, recorder);

Modified: incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestServletTest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestServletTest.java?rev=694072&r1=694071&r2=694072&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestServletTest.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestServletTest.java Wed Sep 10 17:11:46 2008
@@ -48,7 +48,7 @@
       = Collections.enumeration(Collections.<String>emptyList());
 
   private final MakeRequestServlet servlet = new MakeRequestServlet();
-  private final MakeRequestHandler handler = new MakeRequestHandler(contentFetcherFactory, null);
+  private final MakeRequestHandler handler = new MakeRequestHandler(fetcherFactory, null);
 
   private final HttpRequest internalRequest = new HttpRequest(REQUEST_URL);
   private final HttpResponse internalResponse = new HttpResponse(RESPONSE_BODY);
@@ -87,7 +87,7 @@
 
   public void testDoGetNormal() throws Exception {
     setupGet();
-    expect(fetcher.fetch(internalRequest)).andReturn(internalResponse);
+    expect(fetcherFactory.fetch(internalRequest)).andReturn(internalResponse);
     replay();
 
     servlet.doGet(request, recorder);
@@ -97,7 +97,7 @@
 
   public void testDoGetHttpError() throws Exception {
     setupGet();
-    expect(fetcher.fetch(internalRequest)).andReturn(HttpResponse.notFound());
+    expect(fetcherFactory.fetch(internalRequest)).andReturn(HttpResponse.notFound());
     replay();
 
     servlet.doGet(request, recorder);
@@ -107,7 +107,7 @@
 
   public void testDoGetException() throws Exception {
     setupGet();
-    expect(fetcher.fetch(internalRequest)).andThrow(
+    expect(fetcherFactory.fetch(internalRequest)).andThrow(
         new GadgetException(GadgetException.Code.FAILED_TO_RETRIEVE_CONTENT, ERROR_MESSAGE));
     replay();
 
@@ -119,7 +119,7 @@
 
   public void testDoPostNormal() throws Exception {
     setupPost();
-    expect(fetcher.fetch(internalRequest)).andReturn(internalResponse);
+    expect(fetcherFactory.fetch(internalRequest)).andReturn(internalResponse);
     replay();
 
     servlet.doPost(request, recorder);
@@ -129,7 +129,7 @@
 
   public void testDoPostHttpError() throws Exception {
     setupPost();
-    expect(fetcher.fetch(internalRequest)).andReturn(HttpResponse.notFound());
+    expect(fetcherFactory.fetch(internalRequest)).andReturn(HttpResponse.notFound());
     replay();
 
     servlet.doGet(request, recorder);
@@ -139,7 +139,7 @@
 
   public void testDoPostException() throws Exception {
     setupPost();
-    expect(fetcher.fetch(internalRequest)).andThrow(
+    expect(fetcherFactory.fetch(internalRequest)).andThrow(
         new GadgetException(GadgetException.Code.FAILED_TO_RETRIEVE_CONTENT, ERROR_MESSAGE));
     replay();
 

Modified: incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ServletTestFixture.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ServletTestFixture.java?rev=694072&r1=694071&r2=694072&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ServletTestFixture.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ServletTestFixture.java Wed Sep 10 17:11:46 2008
@@ -20,14 +20,10 @@
 
 import static junitx.framework.ComparableAssert.assertGreater;
 import static junitx.framework.ComparableAssert.assertLesser;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
 
 import org.apache.shindig.common.util.DateUtil;
-import org.apache.shindig.gadgets.GadgetException;
 import org.apache.shindig.gadgets.GadgetTestFixture;
 import org.apache.shindig.gadgets.LockedDomainService;
-import org.apache.shindig.gadgets.http.HttpRequest;
 
 import org.apache.commons.lang.StringUtils;
 
@@ -52,19 +48,10 @@
   private final long testStartTime = timeSource.currentTimeMillis();
 
   public ServletTestFixture() {
-    try {
-      // TODO: This is horrible. It needs to be fixed.
-      HttpUtil.setTimeSource(timeSource);
-      expect(contentFetcherFactory.get()).andReturn(fetcher).anyTimes();
-      expect(contentFetcherFactory.getOAuthFetcher(
-          isA(HttpRequest.class)))
-          .andReturn(oauthFetcher).anyTimes();
-      gadgetRenderer = new GadgetRenderingTask(gadgetServer, bundleFactory,
-          registry, containerConfig, urlGenerator, lockedDomainService);
-      jsonRpcHandler = new JsonRpcHandler(executor, gadgetServer, urlGenerator);
-    } catch (GadgetException e) {
-      throw new RuntimeException(e);
-    }
+    HttpUtil.setTimeSource(timeSource);
+    gadgetRenderer = new GadgetRenderingTask(gadgetServer, bundleFactory,
+        registry, containerConfig, urlGenerator, lockedDomainService);
+    jsonRpcHandler = new JsonRpcHandler(executor, gadgetServer, urlGenerator);
   }
 
   public void checkCacheControlHeaders(int ttl, boolean noProxy) {

Modified: incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/PreloadTest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/PreloadTest.java?rev=694072&r1=694071&r2=694072&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/PreloadTest.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/PreloadTest.java Wed Sep 10 17:11:46 2008
@@ -22,6 +22,7 @@
 import static org.junit.Assert.assertTrue;
 
 import org.apache.shindig.common.xml.XmlUtil;
+import org.apache.shindig.gadgets.AuthType;
 import org.apache.shindig.gadgets.Substitutions;
 
 import org.apache.commons.lang.StringUtils;
@@ -46,7 +47,7 @@
     Preload preload = new Preload(XmlUtil.parse(xml));
 
     assertEquals(HREF, preload.getHref().toString());
-    assertEquals(Auth.NONE, preload.getAuthType());
+    assertEquals(AuthType.NONE, preload.getAuthType());
     assertEquals(0, preload.getAttributes().size());
     assertTrue("Default value for sign_owner should be true.",
                 preload.isSignOwner());
@@ -60,7 +61,7 @@
 
     Preload preload = new Preload(XmlUtil.parse(xml));
 
-    assertEquals(Auth.SIGNED, preload.getAuthType());
+    assertEquals(AuthType.SIGNED, preload.getAuthType());
   }
 
   @Test
@@ -69,7 +70,7 @@
 
     Preload preload = new Preload(XmlUtil.parse(xml));
 
-    assertEquals(Auth.OAUTH, preload.getAuthType());
+    assertEquals(AuthType.OAUTH, preload.getAuthType());
   }
 
   @Test
@@ -78,7 +79,7 @@
 
     Preload preload = new Preload(XmlUtil.parse(xml));
 
-    assertEquals(Auth.NONE, preload.getAuthType());
+    assertEquals(AuthType.NONE, preload.getAuthType());
   }
 
   @Test
@@ -129,7 +130,7 @@
 
     assertEquals(VIEWS, preload2.getViews());
     assertEquals(HREF, preload2.getHref().toString());
-    assertEquals(Auth.SIGNED, preload2.getAuthType());
+    assertEquals(AuthType.SIGNED, preload2.getAuthType());
     assertEquals("yes", preload2.getAttributes().get("some_attribute"));
   }