You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by rb...@apache.org on 2011/08/25 01:48:36 UTC

svn commit: r1161323 - in /shindig/trunk: content/samplecontainer/examples/embeddedexperiences/ content/sampledata/ java/social-api/src/main/java/org/apache/shindig/social/sample/spi/ java/social-api/src/test/java/org/apache/shindig/social/dataservice/...

Author: rbaxter85
Date: Wed Aug 24 23:48:36 2011
New Revision: 1161323

URL: http://svn.apache.org/viewvc?rev=1161323&view=rev
Log:
SHINDIG-1592
Committed For Li Xu
Fixed JsonDbOpensocialService and canonical db so it can handle arbitrary host, port, and context root.  Also updated the EE reference implementation to support any host, port, and context root.

Modified:
    shindig/trunk/content/samplecontainer/examples/embeddedexperiences/PhotoList.xml
    shindig/trunk/content/samplecontainer/examples/embeddedexperiences/index.html
    shindig/trunk/content/sampledata/canonicaldb.json
    shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialService.java
    shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryAtomIds.xml
    shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonGroup.json
    shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonId.json
    shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonIds.json
    shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryXmlIds.xml

Modified: shindig/trunk/content/samplecontainer/examples/embeddedexperiences/PhotoList.xml
URL: http://svn.apache.org/viewvc/shindig/trunk/content/samplecontainer/examples/embeddedexperiences/PhotoList.xml?rev=1161323&r1=1161322&r2=1161323&view=diff
==============================================================================
--- shindig/trunk/content/samplecontainer/examples/embeddedexperiences/PhotoList.xml (original)
+++ shindig/trunk/content/samplecontainer/examples/embeddedexperiences/PhotoList.xml Wed Aug 24 23:48:36 2011
@@ -67,7 +67,7 @@
              var result = "";
              for(var i = 0; i < photos.length; i++){
                  count = i+1;
-                 result = result + '<li style="text-decoration: underline; color: blue; cursor: pointer" onclick="showPreviewPhoto(\''+i+'\')">Photo '+count+'</li></br>';
+                 result = result + '<li style="text-decoration: underline; color: blue; cursor: pointer" onclick="showPreviewPhoto(\''+i+'\',\''+context.eeGadget+'\')">Photo '+count+'</li></br>';
              }
              document.getElementById('header').innerHTML = context.albumName;
              document.getElementById("album").innerHTML = result;
@@ -75,10 +75,10 @@
 
          gadgets.util.registerOnLoadHandler(initAlbum);
 
-         function showPreviewPhoto(index) {
+         function showPreviewPhoto(index, eeGadget) {
 
             var eeDataModel = {
-                'gadget' : 'http://localhost:8080/samplecontainer/examples/embeddedexperiences/AlbumViewer.xml',
+                'gadget' : eeGadget,
                 'context' : {
                   "albumName": context.albumName,
                   "photoUrls": [context.photoUrls[index]]

Modified: shindig/trunk/content/samplecontainer/examples/embeddedexperiences/index.html
URL: http://svn.apache.org/viewvc/shindig/trunk/content/samplecontainer/examples/embeddedexperiences/index.html?rev=1161323&r1=1161322&r2=1161323&view=diff
==============================================================================
--- shindig/trunk/content/samplecontainer/examples/embeddedexperiences/index.html (original)
+++ shindig/trunk/content/samplecontainer/examples/embeddedexperiences/index.html Wed Aug 24 23:48:36 2011
@@ -45,11 +45,11 @@
 		</style>
 		<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
         <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
-        <script type="text/javascript" src="/gadgets/js/core:container:rpc:open-views.js?c=1&debug=1&container=default"></script>
+        <script type="text/javascript" src="../../../gadgets/js/core:container:rpc:open-views.js?c=1&debug=1&container=default"></script>
         <script type="text/javascript" src="EEContainer.js"></script>
     </head>
     <body style="font-size:62.5%;">
-      <div id="content">    
+      <div id="content">
         <div id="accordion">
         </div>
         <div id="preview"></div>

Modified: shindig/trunk/content/sampledata/canonicaldb.json
URL: http://svn.apache.org/viewvc/shindig/trunk/content/sampledata/canonicaldb.json?rev=1161323&r1=1161322&r2=1161323&view=diff
==============================================================================
--- shindig/trunk/content/sampledata/canonicaldb.json (original)
+++ shindig/trunk/content/sampledata/canonicaldb.json Wed Aug 24 23:48:36 2011
@@ -378,9 +378,10 @@
 	    },
           "openSocial": {
           "embed" : {
-          "gadget" : "http://localhost:8080/samplecontainer/examples/embeddedexperiences/PhotoList.xml",
+          "gadget" : "%origin%%contextroot%/samplecontainer/examples/embeddedexperiences/PhotoList.xml",
           "context" : {
             "albumName": "Germany 2009",
+            "eeGadget" : "%origin%%contextroot%/samplecontainer/examples/embeddedexperiences/AlbumViewer.xml",
             "photoUrls": [
               "http://farm4.static.flickr.com/3495/3925132517_5959dac775.jpg",
                  "http://farm4.static.flickr.com/3629/3394799776_47676abb46.jpg",
@@ -445,7 +446,7 @@
         },
         "openSocial": {
           "embed" : {
-          "gadget" : "http://localhost:8080/samplecontainer/examples/embeddedexperiences/AlbumViewer.xml",
+          "gadget" : "%origin%%contextroot%/samplecontainer/examples/embeddedexperiences/AlbumViewer.xml",
           "context" : {
             "albumName": "Germany 2009",
             "photoUrls": [
@@ -615,31 +616,31 @@
 // Gadgets/App information.  OAuth Consumer Key defaults to the app url.
 //
 "apps" : {
-    "http://localhost:8080/samplecontainer/examples/SocialHelloWorld.xml":
+    "http://localhost:8080%contextroot%/samplecontainer/examples/SocialHelloWorld.xml":
         { "title" : "Social Hello World",
           "consumerSecret" : "secret",
-           "icon" : "http://localhost:8080/samplecontainer/examples/icon.png"},
-    "http://localhost:8080/samplecontainer/examples/SocialActivitiesWorld.xml" :
+           "icon" : "http://localhost:8080%contextroot%/samplecontainer/examples/icon.png"},
+    "http://localhost:8080%contextroot%/samplecontainer/examples/SocialActivitiesWorld.xml" :
         { "title" : "Social Activities World",
           "consumerSecret" : "secret",
-          "icon" : "http://localhost:8080/samplecontainer/examples/icon.png"},
-    "http://localhost:8080/samplecontainer/examples/oauth.xml" :
+          "icon" : "http://localhost:8080%contextroot%/samplecontainer/examples/icon.png"},
+    "http://localhost:8080%contextroot%/samplecontainer/examples/oauth.xml" :
         { "title" : "Demo OAuth Gadget",
           "consumerSecret" : "secret",
-          "icon" : "http://localhost:8080/samplecontainer/examples/icon.png"},
-    "http://localhost:8080/samplecontainer/examples/shindigoauth.xml" :
+          "icon" : "http://localhost:8080%contextroot%/samplecontainer/examples/icon.png"},
+    "http://localhost:8080%contextroot%/samplecontainer/examples/shindigoauth.xml" :
         { "title" : "Demo OAuth Gadget",
           "consumerSecret" : "secret",
-          "icon" : "http://localhost:8080/samplecontainer/examples/icon.png"}
+          "icon" : "http://localhost:8080%contextroot%/samplecontainer/examples/icon.png"}
  },
 
  // duplicates userApplications as above..
  "permissions": {
-   "john.doe" : { "http://localhost:8080/samplecontainer/examples/SocialHelloWorld.xml" : { "installed" : true},
-                  "http://localhost:8080/samplecontainer/examples/SocialActivitiesWorld.xml" : { "installed" : true}
+   "john.doe" : { "http://localhost:8080%contextroot%/samplecontainer/examples/SocialHelloWorld.xml" : { "installed" : true},
+                  "http://localhost:8080%contextroot%/samplecontainer/examples/SocialActivitiesWorld.xml" : { "installed" : true}
    },
-   "canonical" :{ "http://localhost:8080/samplecontainer/examples/SocialHelloWorld.xml" : { "installed" : true},
-                  "http://localhost:8080/samplecontainer/examples/SocialActivitiesWorld.xml" : { "installed" : true}
+   "canonical" :{ "http://localhost:8080%contextroot%/samplecontainer/examples/SocialHelloWorld.xml" : { "installed" : true},
+                  "http://localhost:8080%contextroot%/samplecontainer/examples/SocialActivitiesWorld.xml" : { "installed" : true}
    }
  },
 // Passwords for authenticaiton service

Modified: shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialService.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialService.java?rev=1161323&r1=1161322&r2=1161323&view=diff
==============================================================================
--- shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialService.java (original)
+++ shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialService.java Wed Aug 24 23:48:36 2011
@@ -30,6 +30,7 @@ import javax.servlet.http.HttpServletRes
 
 import org.apache.commons.io.IOUtils;
 import org.apache.shindig.auth.SecurityToken;
+import org.apache.shindig.common.servlet.Authority;
 import org.apache.shindig.common.util.ImmediateFuture;
 import org.apache.shindig.common.util.ResourceLoader;
 import org.apache.shindig.protocol.DataCollection;
@@ -63,6 +64,7 @@ import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
 import com.google.inject.Inject;
+import com.google.inject.Provider;
 import com.google.inject.Singleton;
 import com.google.inject.name.Named;
 
@@ -92,22 +94,22 @@ public class JsonDbOpensocialService imp
   private BeanConverter converter;
 
   /**
-   * db["activities"] -> Array<Person>
+   * db["people"] -> Array<Person>
    */
   private static final String PEOPLE_TABLE = "people";
 
   /**
-   * db["people"] -> Map<Person.Id, Array<Activity>>
+   * db["activities"] -> Map<Person.Id, Array<Activity>>
    */
   private static final String ACTIVITIES_TABLE = "activities";
-  
+
   /**
-   * db["people"] -> Map<Person.Id, Array<Album>>
+   * db["albums"] -> Map<Person.Id, Array<Album>>
    */
   private static final String ALBUMS_TABLE = "albums";
-  
+
   /**
-   * db["people"] -> Map<Person.Id, Array<MediaItem>>
+   * db["mediaItems"] -> Map<Person.Id, Array<MediaItem>>
    */
   private static final String MEDIAITEMS_TABLE = "mediaItems";
 
@@ -130,12 +132,14 @@ public class JsonDbOpensocialService imp
    * db["passwords"] -> Map<Person.Id, String>
    */
   private static final String PASSWORDS_TABLE = "passwords";
-  
+
   /**
-   * db["people"] -> Map<Person.Id, Array<ActivityEntry>>
+   * db["activityEntries"] -> Map<Person.Id, Array<ActivityEntry>>
    */
   private static final String ACTIVITYSTREAMS_TABLE = "activityEntries";
 
+  private Provider<Authority> hostProvider;
+
   /**
    * Initializes the JsonDbOpensocialService using Guice
    *
@@ -146,9 +150,10 @@ public class JsonDbOpensocialService imp
   @Inject
   public JsonDbOpensocialService(@Named("shindig.canonical.json.db")
   String jsonLocation, @Named("shindig.bean.converter.json")
-  BeanConverter converter) throws Exception {
-    String content = IOUtils.toString(ResourceLoader.openResource(jsonLocation), "UTF-8");
-    this.db = new JSONObject(content);
+  BeanConverter converter,
+  @Named("shindig.contextroot") String contextroot) throws Exception {
+    String content = IOUtils.toString(ResourceLoader.openResource(jsonLocation), "UTF-8");    
+    this.db = new JSONObject(content.replace("%contextroot%", contextroot));
     this.converter = converter;
   }
 
@@ -161,7 +166,7 @@ public class JsonDbOpensocialService imp
     return db;
   }
 
-  /**
+   /**
    * override the json database
    * @param db a {@link org.json.JSONObject}.
    */
@@ -1287,7 +1292,8 @@ public class JsonDbOpensocialService imp
     }
   }
   
-  /** {@inheritDoc} */
+
+/** {@inheritDoc} */
   public Future<RestfulCollection<ActivityEntry>> getActivityEntries(
       Set<UserId> userIds, GroupId groupId, String appId, Set<String> fields,
       CollectionOptions options, SecurityToken token)
@@ -1311,7 +1317,7 @@ public class JsonDbOpensocialService imp
       throw new ProtocolException(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, je.getMessage(), je);
     }
   }
-  
+
   /** {@inheritDoc} */
   public Future<RestfulCollection<ActivityEntry>> getActivityEntries(
       UserId userId, GroupId groupId, String appId, Set<String> fields,
@@ -1369,6 +1375,13 @@ public class JsonDbOpensocialService imp
       object = new JSONObject(object, fields.toArray(new String[fields
           .size()]));
     }
-    return converter.convertToObject(object.toString(), clz);
+    String objectVal = object.toString();
+    if ( hostProvider != null ) {
+      objectVal = objectVal.replace("%origin%", hostProvider.get().getOrigin());
+    } else { 
+      //provide default for junit tests
+      objectVal = objectVal.replace("%origin%", "http://localhost:8080");
+    }
+    return converter.convertToObject(objectVal, clz);
   }
 }

Modified: shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryAtomIds.xml
URL: http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryAtomIds.xml?rev=1161323&r1=1161322&r2=1161323&view=diff
==============================================================================
--- shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryAtomIds.xml (original)
+++ shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryAtomIds.xml Wed Aug 24 23:48:36 2011
@@ -115,6 +115,7 @@
           <embed>
             <context>
                 <albumName>Germany 2009</albumName>
+                <eeGadget>http://localhost:8080/samplecontainer/examples/embeddedexperiences/AlbumViewer.xml</eeGadget>
                 <photoUrls>
                   <java.lang.String>http://farm4.static.flickr.com/3495/3925132517_5959dac775.jpg</java.lang.String>
                   <java.lang.String>http://farm4.static.flickr.com/3629/3394799776_47676abb46.jpg</java.lang.String>

Modified: shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonGroup.json
URL: http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonGroup.json?rev=1161323&r1=1161322&r2=1161323&view=diff
==============================================================================
--- shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonGroup.json (original)
+++ shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonGroup.json Wed Aug 24 23:48:36 2011
@@ -33,6 +33,7 @@
             "gadget" : "http://localhost:8080/samplecontainer/examples/embeddedexperiences/PhotoList.xml",
             "context" : {
               "albumName": "Germany 2009",
+              "eeGadget" : "http://localhost:8080/samplecontainer/examples/embeddedexperiences/AlbumViewer.xml",
               "photoUrls": [
                 "http://farm4.static.flickr.com/3495/3925132517_5959dac775.jpg",
      	        "http://farm4.static.flickr.com/3629/3394799776_47676abb46.jpg",

Modified: shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonId.json
URL: http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonId.json?rev=1161323&r1=1161322&r2=1161323&view=diff
==============================================================================
--- shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonId.json (original)
+++ shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonId.json Wed Aug 24 23:48:36 2011
@@ -30,6 +30,7 @@
             "gadget" : "http://localhost:8080/samplecontainer/examples/embeddedexperiences/PhotoList.xml",
             "context" : {
               "albumName": "Germany 2009",
+              "eeGadget" : "http://localhost:8080/samplecontainer/examples/embeddedexperiences/AlbumViewer.xml",
               "photoUrls": [
                 "http://farm4.static.flickr.com/3495/3925132517_5959dac775.jpg",
      	        "http://farm4.static.flickr.com/3629/3394799776_47676abb46.jpg",

Modified: shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonIds.json
URL: http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonIds.json?rev=1161323&r1=1161322&r2=1161323&view=diff
==============================================================================
--- shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonIds.json (original)
+++ shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonIds.json Wed Aug 24 23:48:36 2011
@@ -33,6 +33,7 @@
             "gadget" : "http://localhost:8080/samplecontainer/examples/embeddedexperiences/PhotoList.xml",
             "context" : {
               "albumName": "Germany 2009",
+              "eeGadget" : "http://localhost:8080/samplecontainer/examples/embeddedexperiences/AlbumViewer.xml",
               "photoUrls": [
                 "http://farm4.static.flickr.com/3495/3925132517_5959dac775.jpg",
      	        "http://farm4.static.flickr.com/3629/3394799776_47676abb46.jpg",

Modified: shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryXmlIds.xml
URL: http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryXmlIds.xml?rev=1161323&r1=1161322&r2=1161323&view=diff
==============================================================================
--- shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryXmlIds.xml (original)
+++ shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryXmlIds.xml Wed Aug 24 23:48:36 2011
@@ -39,7 +39,8 @@
         <embed>
           <context>
                <albumName>Germany 2009</albumName>
-                <photoUrls>
+               <eeGadget>http://localhost:8080/samplecontainer/examples/embeddedexperiences/AlbumViewer.xml</eeGadget>
+               <photoUrls>
                   <java.lang.String>http://farm4.static.flickr.com/3495/3925132517_5959dac775.jpg</java.lang.String>
                   <java.lang.String>http://farm4.static.flickr.com/3629/3394799776_47676abb46.jpg</java.lang.String>
                   <java.lang.String>http://farm5.static.flickr.com/4009/4413640211_715d924d9b.jpg</java.lang.String>