You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by aw...@apache.org on 2009/02/20 18:32:35 UTC

svn commit: r746299 - /incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PipelinedDataPreloader.java

Author: awiner
Date: Fri Feb 20 17:32:35 2009
New Revision: 746299

URL: http://svn.apache.org/viewvc?rev=746299&view=rev
Log:
Add hook for overriding the social data fetch

Modified:
    incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PipelinedDataPreloader.java

Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PipelinedDataPreloader.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PipelinedDataPreloader.java?rev=746299&r1=746298&r2=746299&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PipelinedDataPreloader.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PipelinedDataPreloader.java Fri Feb 20 17:32:35 2009
@@ -24,6 +24,7 @@
 import org.apache.shindig.gadgets.AuthType;
 import org.apache.shindig.gadgets.GadgetContext;
 import org.apache.shindig.gadgets.GadgetELResolver;
+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.RequestPipeline;
@@ -112,6 +113,18 @@
   }
 
   /**
+   * Hook for executing a JSON RPC fetch for social data.  Subclasses can override
+   * to provide special handling (e.g., directly invoking a local API)
+   * 
+   * @param request the social request
+   * @return the response to the request
+   */
+  protected HttpResponse executeSocialRequest(HttpRequest request) throws GadgetException {
+    HttpResponse response = requestPipeline.execute(request);
+    return response;
+  }
+
+  /**
    * Callable for issuing HttpRequests to JsonRpcServlet.
    */
   private class SocialPreloadTask implements Callable<PreloadedData> {
@@ -136,7 +149,7 @@
           .setContainer(context.getContainer())
           .setGadget(Uri.fromJavaUri(context.getUrl()));
 
-      HttpResponse response = requestPipeline.execute(request);
+      HttpResponse response = executeSocialRequest(request);
 
       // Unpack the response into a list of PreloadedData responses
       final List<Object> data = Lists.newArrayList();