You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by db...@apache.org on 2008/05/22 12:26:02 UTC

svn commit: r659073 - in /incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer: BasicActivitiesService.java BasicDataService.java BasicPeopleService.java XmlStateFileFetcher.java

Author: dbentley
Date: Thu May 22 03:26:02 2008
New Revision: 659073

URL: http://svn.apache.org/viewvc?rev=659073&view=rev
Log:
Allow users of XmlStateFileFetcher to ensure some data has been loaded.
Use this function in the BasicActivitiesServices.

Referenced in Shindig JIRA 298


Modified:
    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/XmlStateFileFetcher.java

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=659073&r1=659072&r2=659073&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 Thu May 22 03:26:02 2008
@@ -38,6 +38,7 @@
   @Inject
   public BasicActivitiesService(XmlStateFileFetcher fetcher) {
     this.fetcher = fetcher;
+    fetcher.loadDefaultStateFileIfNoneLoaded();
   }
 
   public ResponseItem<List<Activity>> getActivities(List<String> ids,

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=659073&r1=659072&r2=659073&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 Thu May 22 03:26:02 2008
@@ -37,6 +37,7 @@
   @Inject
   public BasicDataService(XmlStateFileFetcher fetcher) {
     this.fetcher = fetcher;
+    fetcher.loadDefaultStateFileIfNoneLoaded();
   }
 
   public ResponseItem<Map<String, Map<String, String>>> getPersonData(

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=659073&r1=659072&r2=659073&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 Thu May 22 03:26:02 2008
@@ -50,6 +50,7 @@
   @Inject
   public BasicPeopleService(XmlStateFileFetcher fetcher) {
     this.fetcher = fetcher;
+    fetcher.loadDefaultStateFileIfNoneLoaded();
   }
 
   private List<Person> getPeople(List<String> ids, SecurityToken token) {

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=659073&r1=659072&r2=659073&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 Thu May 22 03:26:02 2008
@@ -22,6 +22,7 @@
 import javax.xml.parsers.ParserConfigurationException;
 import java.io.IOException;
 import java.net.URI;
+import java.net.URISyntaxException;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
@@ -30,6 +31,10 @@
 
 @Singleton
 public class XmlStateFileFetcher {
+  private static final String DEFAULT_STATE_URL
+    = "http://localhost:8080/gadgets/files/samplecontainer/"
+    + "state-basicfriendlist.xml";
+
   // Evil javascript strings
   private static final String REDEFINE_NEW_DATA_REQUEST
       = "opensocial.newDataRequest = "
@@ -74,6 +79,21 @@
     setupPeopleData();
   }
 
+  /**
+   * If this StateFileFetcher has not had any document loaded so far,
+   * load the default state url.
+   */
+  public void loadDefaultStateFileIfNoneLoaded() {
+    try {
+      if (document == null) {
+        resetStateFile(new URI(DEFAULT_STATE_URL));
+      }
+    } catch (URISyntaxException e) {
+      throw new RuntimeException(
+          "The default state file could not be fetched. ", e);
+    }
+  }
+
   public void setEvilness(boolean doEvil) {
     this.doEvil = doEvil;
   }