Author: doll
Date: Tue Apr 22 03:22:49 2008
New Revision: 650437

URL: http://svn.apache.org/viewvc?rev=650437&view=rev
Log:
SHINDIG-206
Fixed the build which broke after the ContentFetcher refactoring. Includes 
patch from Brian Eaton. 

This required using guice for the XmlStateFileFetcher class and moving a guice 
dependency from the gadgets guice module to common.


Modified:
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/common/CommonGuiceModule.java
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java
    
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicActivitiesService.java
    
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicDataService.java
    
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicPeopleService.java
    
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/StateFileDataHandler.java
    
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/XmlStateFileFetcher.java

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/common/CommonGuiceModule.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/common/CommonGuiceModule.java?rev=650437&r1=650436&r2=650437&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/common/CommonGuiceModule.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/common/CommonGuiceModule.java
 Tue Apr 22 03:22:49 2008
@@ -1,7 +1,9 @@
 package org.apache.shindig.common;
 
+import org.apache.shindig.gadgets.BasicContentCache;
 import org.apache.shindig.gadgets.BasicGadgetTokenDecoder;
 import org.apache.shindig.gadgets.BasicRemoteContentFetcher;
+import org.apache.shindig.gadgets.ContentCache;
 import org.apache.shindig.gadgets.ContentFetcher;
 import org.apache.shindig.gadgets.GadgetTokenDecoder;
 
@@ -20,5 +22,6 @@
     // java/common.
     bind(ContentFetcher.class).to(BasicRemoteContentFetcher.class);
     bind(GadgetTokenDecoder.class).to(BasicGadgetTokenDecoder.class);
+    bind(ContentCache.class).to(BasicContentCache.class);
   }
 }

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java?rev=650437&r1=650436&r2=650437&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java
 Tue Apr 22 03:22:49 2008
@@ -45,7 +45,6 @@
   @Override
   protected void configure() {
     Names.bindProperties(this.binder(), properties);
-    bind(ContentCache.class).to(BasicContentCache.class);
 
     bind(RemoteContentFetcherFactory.class);
     bind(SigningFetcherFactory.class);

Modified: 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicActivitiesService.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicActivitiesService.java?rev=650437&r1=650436&r2=650437&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicActivitiesService.java
 (original)
+++ 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicActivitiesService.java
 Tue Apr 22 03:22:49 2008
@@ -24,16 +24,24 @@
 import org.apache.shindig.social.opensocial.model.Activity;
 import org.json.JSONObject;
 
+import com.google.inject.Inject;
+
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.Date;
 
 public class BasicActivitiesService implements ActivitiesService {
-  public ResponseItem<List<Activity>> getActivities(List<String> ids, 
+  private XmlStateFileFetcher fetcher;
+
+  @Inject
+  public BasicActivitiesService(XmlStateFileFetcher fetcher) {
+    this.fetcher = fetcher;
+  }
+
+  public ResponseItem<List<Activity>> getActivities(List<String> ids,
       GadgetToken token) {
-    Map<String, List<Activity>> allActivities =
-        XmlStateFileFetcher.get().getActivities();
+    Map<String, List<Activity>> allActivities = fetcher.getActivities();
 
     List<Activity> activities = new ArrayList<Activity>();
 
@@ -48,13 +56,13 @@
     return new ResponseItem<List<Activity>>(activities);
   }
 
-  public ResponseItem createActivity(String personId, Activity activity, 
-        GadgetToken token) {
+  public ResponseItem createActivity(String personId, Activity activity,
+      GadgetToken token) {
     // TODO: Validate the activity and do any template expanding
     activity.setUserId(personId);
     activity.setPostedTime(new Date().getTime());
 
-    XmlStateFileFetcher.get().createActivity(personId, activity);
+    fetcher.createActivity(personId, activity);
     return new ResponseItem<JSONObject>(new JSONObject());
   }
 }

Modified: 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicDataService.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicDataService.java?rev=650437&r1=650436&r2=650437&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicDataService.java
 (original)
+++ 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicDataService.java
 Tue Apr 22 03:22:49 2008
@@ -23,17 +23,25 @@
 import org.apache.shindig.social.opensocial.DataService;
 import org.json.JSONObject;
 
+import com.google.inject.Inject;
+
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
 public class BasicDataService implements DataService {
 
+  private XmlStateFileFetcher fetcher;
+
+  @Inject
+  public BasicDataService(XmlStateFileFetcher fetcher) {
+    this.fetcher = fetcher;
+  }
+
   public ResponseItem<Map<String, Map<String, String>>> getPersonData(
-        List<String> ids, List<String> keys, GadgetToken token) {
+      List<String> ids, List<String> keys, GadgetToken token) {
 
-    Map<String, Map<String, String>> allData
-        = XmlStateFileFetcher.get().getAppData();
+    Map<String, Map<String, String>> allData = fetcher.getAppData();
 
     // TODO: Use the opensource Collections library
     Map<String, Map<String, String>> data =
@@ -64,7 +72,7 @@
           new JSONObject());
     }
 
-    XmlStateFileFetcher.get().setAppData(id, key, value);
+    fetcher.setAppData(id, key, value);
     return new ResponseItem<JSONObject>(new JSONObject());
   }
 

Modified: 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicPeopleService.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicPeopleService.java?rev=650437&r1=650436&r2=650437&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicPeopleService.java
 (original)
+++ 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicPeopleService.java
 Tue Apr 22 03:22:49 2008
@@ -25,6 +25,8 @@
 import org.apache.shindig.gadgets.GadgetToken;
 import org.json.JSONException;
 
+import com.google.inject.Inject;
+
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -42,10 +44,17 @@
     }
   };
 
+  private XmlStateFileFetcher fetcher;
+
+  @Inject
+  public BasicPeopleService(XmlStateFileFetcher fetcher) {
+    this.fetcher = fetcher;
+  }
+
   public ResponseItem<ApiCollection<Person>> getPeople(List<String> ids,
-      SortOrder sortOrder, FilterType filter, int first, int max, 
+      SortOrder sortOrder, FilterType filter, int first, int max,
       Set<String> profileDetails, GadgetToken token) {
-    Map<String, Person> allPeople = XmlStateFileFetcher.get().getAllPeople();
+    Map<String, Person> allPeople = fetcher.getAllPeople();
 
     List<Person> people = new ArrayList<Person>();
     for (String id : ids) {
@@ -80,8 +89,7 @@
 
   public List<String> getIds(IdSpec idSpec, GadgetToken token)
       throws JSONException {
-    Map<String, List<String>> friendIds
-        = XmlStateFileFetcher.get().getFriendIds();
+    Map<String, List<String>> friendIds = fetcher.getFriendIds();
 
     List<String> ids = new ArrayList<String>();
     switch(idSpec.getType()) {

Modified: 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/StateFileDataHandler.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/StateFileDataHandler.java?rev=650437&r1=650436&r2=650437&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/StateFileDataHandler.java
 (original)
+++ 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/StateFileDataHandler.java
 Tue Apr 22 03:22:49 2008
@@ -17,17 +17,19 @@
  */
 package org.apache.shindig.social.samplecontainer;
 
-import org.json.JSONException;
-import org.json.JSONObject;
-import org.apache.shindig.social.ResponseItem;
-import org.apache.shindig.social.ResponseError;
 import org.apache.shindig.social.GadgetDataHandler;
 import org.apache.shindig.social.RequestItem;
+import org.apache.shindig.social.ResponseError;
+import org.apache.shindig.social.ResponseItem;
+
+import com.google.inject.Inject;
+import org.json.JSONException;
+import org.json.JSONObject;
 
 import java.net.URI;
 import java.net.URISyntaxException;
-import java.util.Map;
 import java.util.HashMap;
+import java.util.Map;
 
 /**
  * Servlet for serving the data required for opensocial.
@@ -35,12 +37,19 @@
  */
 public class StateFileDataHandler implements GadgetDataHandler {
 
-  public enum RequestType {
+  public static enum RequestType {
     DUMP_STATE, SET_STATE, SET_EVILNESS
   }
 
+  private XmlStateFileFetcher fetcher;
+
+  @Inject
+  public StateFileDataHandler(XmlStateFileFetcher fetcher) {
+    this.fetcher = fetcher;
+  }
+
   public boolean shouldHandle(String requestType) {
-     try {
+    try {
       // There should be a cleaner way to do this...
       RequestType.valueOf(requestType);
       return true;
@@ -52,8 +61,6 @@
   public ResponseItem handleRequest(RequestItem request) {
     RequestType type = RequestType.valueOf(request.getType());
     ResponseItem response = null;
-
-    XmlStateFileFetcher fetcher = XmlStateFileFetcher.get();
 
     switch (type) {
       case DUMP_STATE:

Modified: 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/XmlStateFileFetcher.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/XmlStateFileFetcher.java?rev=650437&r1=650436&r2=650437&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/XmlStateFileFetcher.java
 (original)
+++ 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/XmlStateFileFetcher.java
 Tue Apr 22 03:22:49 2008
@@ -1,9 +1,8 @@
 package org.apache.shindig.social.samplecontainer;
 
-import org.apache.shindig.gadgets.BasicRemoteContentFetcher;
+import org.apache.shindig.gadgets.ContentFetcher;
 import org.apache.shindig.gadgets.GadgetException;
 import org.apache.shindig.gadgets.RemoteContent;
-import org.apache.shindig.gadgets.RemoteContentFetcher;
 import org.apache.shindig.gadgets.RemoteContentRequest;
 import org.apache.shindig.social.opensocial.model.Activity;
 import org.apache.shindig.social.opensocial.model.Enum;
@@ -11,6 +10,9 @@
 import org.apache.shindig.social.opensocial.model.Name;
 import org.apache.shindig.social.opensocial.model.Person;
 import org.apache.shindig.social.opensocial.model.Phone;
+
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.NamedNodeMap;
@@ -30,6 +32,7 @@
 import java.util.List;
 import java.util.Map;
 
[EMAIL PROTECTED]
 public class XmlStateFileFetcher {
   private static final String DEFAULT_STATE_URL
       = "http://localhost:8080/gadgets/files/samplecontainer/";
@@ -48,17 +51,7 @@
 
   private static final String SCRIPT_SUFFIX = "</div>";
 
-
-  // TODO: Should use guice here This static fetcher is very gross.
-  private static XmlStateFileFetcher fetcher;
-
-  public static XmlStateFileFetcher get() {
-    if (fetcher == null) {
-      fetcher = new XmlStateFileFetcher();
-    }
-    return fetcher;
-  }
-
+  private ContentFetcher fetcher;
   private URI stateFile;
   private Document document;
   private boolean doEvil = false;
@@ -70,7 +63,9 @@
   private Map<String, Person> allPeople;
   private Map<String, List<Activity>> allActivities;
 
-  private XmlStateFileFetcher() {
+  @Inject
+  public XmlStateFileFetcher(ContentFetcher fetcher) {
+   this.fetcher = fetcher;
    try {
       stateFile = new URI(DEFAULT_STATE_URL);
     } catch (URISyntaxException e) {
@@ -97,9 +92,6 @@
       return document;
     }
 
-    // TODO: Eventually get the fetcher and processing options from a
-    // config file, just like the GadgetServer
-    RemoteContentFetcher fetcher = new BasicRemoteContentFetcher(1024 * 1024);
     RemoteContent xml = null;
     try {
       xml = fetcher.fetch(new RemoteContentRequest(stateFile));


Reply via email to