You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by mf...@apache.org on 2012/04/17 03:08:00 UTC

svn commit: r1326858 - in /rave/branches/bootstrap: ./ rave-portal-resources/src/main/webapp/WEB-INF/db/ rave-portal-resources/src/main/webapp/script/ rave-portal-resources/src/test/javascript/ rave-providers/rave-opensocial-provider/rave-opensocial-cl...

Author: mfranklin
Date: Tue Apr 17 01:08:00 2012
New Revision: 1326858

URL: http://svn.apache.org/viewvc?rev=1326858&view=rev
Log:
Merged changes from trunk

Modified:
    rave/branches/bootstrap/   (props changed)
    rave/branches/bootstrap/pom.xml
    rave/branches/bootstrap/rave-portal-resources/src/main/webapp/WEB-INF/db/initial_data.sql
    rave/branches/bootstrap/rave-portal-resources/src/main/webapp/script/rave.js
    rave/branches/bootstrap/rave-portal-resources/src/main/webapp/script/rave_opensocial.js
    rave/branches/bootstrap/rave-portal-resources/src/test/javascript/raveOpenSocialSpec.js
    rave/branches/bootstrap/rave-portal-resources/src/test/javascript/raveSpec.js
    rave/branches/bootstrap/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/main/java/org/apache/rave/provider/opensocial/config/OpenSocialEnvironment.java
    rave/branches/bootstrap/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/main/java/org/apache/rave/provider/opensocial/repository/impl/ShindigGadgetMetadataRepository.java
    rave/branches/bootstrap/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/test/java/org/apache/rave/provider/opensocial/repository/ShindigGadgetMetadataRepositoryTest.java
    rave/branches/bootstrap/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/service/impl/DefaultPersonService.java

Propchange: rave/branches/bootstrap/
------------------------------------------------------------------------------
  Merged /rave/trunk:r1325812-1326857

Modified: rave/branches/bootstrap/pom.xml
URL: http://svn.apache.org/viewvc/rave/branches/bootstrap/pom.xml?rev=1326858&r1=1326857&r2=1326858&view=diff
==============================================================================
--- rave/branches/bootstrap/pom.xml (original)
+++ rave/branches/bootstrap/pom.xml Tue Apr 17 01:08:00 2012
@@ -44,7 +44,7 @@
     </scm>
 
     <properties>
-        <apache.shindig.version>3.0.0-beta4</apache.shindig.version>
+        <apache.shindig.version>2.5.0-beta1</apache.shindig.version>
         <apache.wookie.version>0.9.2-incubating</apache.wookie.version>
         <org.springframework.version>3.1.0.RELEASE</org.springframework.version>
         <org.springframework.mobile.version>1.0.0.M3</org.springframework.mobile.version>

Modified: rave/branches/bootstrap/rave-portal-resources/src/main/webapp/WEB-INF/db/initial_data.sql
URL: http://svn.apache.org/viewvc/rave/branches/bootstrap/rave-portal-resources/src/main/webapp/WEB-INF/db/initial_data.sql?rev=1326858&r1=1326857&r2=1326858&view=diff
==============================================================================
--- rave/branches/bootstrap/rave-portal-resources/src/main/webapp/WEB-INF/db/initial_data.sql (original)
+++ rave/branches/bootstrap/rave-portal-resources/src/main/webapp/WEB-INF/db/initial_data.sql Tue Apr 17 01:08:00 2012
@@ -382,6 +382,18 @@ insert into widget (entity_id, title, ur
 values(@ohloh_stats_widget_id, 'Ohloh Apache Rave Stats', 'http://www.ohloh.net/p/521520/widgets/project_basic_stats.xml', 'OpenSocial', 'PUBLISHED', 'Ohloh is an open source network that connects people through the software they create and use. Ohloh gadgets provide detailed statistics about open source software projects and developers.', 'Ohloh', @user_id_1);
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @widget_seq;
 
+-- Pub/Sub Publisher
+set @pubsub_publisher_widget_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @widget_seq);
+insert into widget (entity_id, title, url, type, widget_status, description, author, owner_id)
+values(@pubsub_publisher_widget_id, 'OpenAJAX Hub Publisher', 'http://localhost:8080/container/sample-pubsub-2-publisher.xml', 'OpenSocial', 'PUBLISHED', 'OpenAJAX Hub publisher gadget from Shindig', 'Apache Shindig', @user_id_1);
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @widget_seq;
+
+-- Pub/Sub Subscriber
+set @pubsub_subscriber_widget_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @widget_seq);
+insert into widget (entity_id, title, url, type, widget_status, description, author, owner_id)
+values(@pubsub_subscriber_widget_id, 'OpenAJAX Hub Subscriber', 'http://localhost:8080/container/sample-pubsub-2-subscriber.xml', 'OpenSocial', 'PUBLISHED', 'OpenAJAX Hub subscriber gadget from Shindig', 'Apache Shindig', @user_id_1);
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @widget_seq;
+
 -- end gadget data ----
 
 -- W3C Widget data
@@ -570,10 +582,10 @@ UPDATE RAVE_PORTAL_SEQUENCES SET seq_cou
 --- End user_id_4 layout ---
 
 --- Layout for user_id_5 ---
-set @page_1_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
-values (@page_1_id, 'Main', @user_id_5, null, 1, @two_col_id, 'USER');
-UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
+---set @page_1_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
+---INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
+---values (@page_1_id, 'Main', @user_id_5, null, 1, @two_col_id, 'USER');
+---UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
 --- End user_id_5 layout ---
 
 

Modified: rave/branches/bootstrap/rave-portal-resources/src/main/webapp/script/rave.js
URL: http://svn.apache.org/viewvc/rave/branches/bootstrap/rave-portal-resources/src/main/webapp/script/rave.js?rev=1326858&r1=1326857&r2=1326858&view=diff
==============================================================================
--- rave/branches/bootstrap/rave-portal-resources/src/main/webapp/script/rave.js (original)
+++ rave/branches/bootstrap/rave-portal-resources/src/main/webapp/script/rave.js Tue Apr 17 01:08:00 2012
@@ -21,6 +21,7 @@ var rave = rave || (function() {
     var widgetByIdMap = {};
     var context = "";
     var clientMessages = {};
+    var openAjaxHub;
 
     /**
      * Separate sub-namespace for isolating UI functions and state management
@@ -748,6 +749,38 @@ var rave = rave || (function() {
         }
     }
 
+    function createNewOpenAjaxHub() {
+        if(typeof OpenAjax == "undefined"){
+            throw "No implementation of OpenAjax found.  " +
+                "Please ensure that an implementation has been included in the page.";
+        }
+        return new OpenAjax.hub.ManagedHub({
+            onSubscribe:function (topic, container) {
+                log(container.getClientID() + " subscribes to this topic '" + topic + "'");
+                return true;
+            },
+            onUnsubscribe:function (topic, container) {
+                log(container.getClientID() + " unsubscribes from this topic '" + topic + "'");
+                return true;
+            },
+            onPublish:function (topic, data, pcont, scont) {
+                log(pcont.getClientID() + " publishes '" + data + "' to topic '" + topic + "' subscribed by " + scont.getClientID());
+                return true;
+            }
+        });
+    }
+
+    function getOpenAjaxHubInstance() {
+        if(typeof openAjaxHub == "undefined" || openAjaxHub == null) {
+            openAjaxHub = createNewOpenAjaxHub();
+        }
+        return openAjaxHub;
+    }
+
+    function resetOpenAjaxHubInstance() {
+        openAjaxHub = null;
+    }
+
     function initializeWidgets(widgetsByRegionIdMap) {
         //We get the widget objects in a map keyed by region ID.  The code below converts that map into a flat array
         //of widgets with all the top widgets in each region first, then the seconds widgets in each region, then the
@@ -872,6 +905,16 @@ var rave = rave || (function() {
     }
 
     /**
+     * Logs to a console object if it exists
+     * @param message the message to log
+     */
+    function log(message) {
+        if(typeof console != "undefined" && console.log) {
+            console.log(message);
+        }
+    }
+
+    /**
      * Public API
      */
     return {
@@ -1081,6 +1124,23 @@ var rave = rave || (function() {
          * @param key
          * @param message
          */
-        addClientMessage: addClientMessage
+        addClientMessage: addClientMessage,
+
+        /**
+         * Gets the singleton Managed OpenAJAX 2.0 Hub
+         */
+        getManagedHub: getOpenAjaxHubInstance,
+
+        /**
+         * Resets the managed hub
+         */
+        resetManagedHub: resetOpenAjaxHubInstance,
+
+        /**
+         * Logs a message to a central logging facility (console by default)
+         *
+         * @param message the message to log
+         */
+        log: log
     }
 })();

Modified: rave/branches/bootstrap/rave-portal-resources/src/main/webapp/script/rave_opensocial.js
URL: http://svn.apache.org/viewvc/rave/branches/bootstrap/rave-portal-resources/src/main/webapp/script/rave_opensocial.js?rev=1326858&r1=1326857&r2=1326858&view=diff
==============================================================================
--- rave/branches/bootstrap/rave-portal-resources/src/main/webapp/script/rave_opensocial.js (original)
+++ rave/branches/bootstrap/rave-portal-resources/src/main/webapp/script/rave_opensocial.js Tue Apr 17 01:08:00 2012
@@ -36,6 +36,9 @@ rave.opensocial = rave.opensocial || (fu
     function initOpenSocial() {
         initContainer();
         registerRpcHooks();
+        gadgets.pubsub2router.init({
+            hub: rave.getManagedHub()
+        })
     }
 
     function initContainer() {
@@ -50,7 +53,7 @@ rave.opensocial = rave.opensocial || (fu
      * Gets the container singleton or initializes if not instantiated
      */
     function getContainer() {
-        if (!container) {
+        if (typeof container == "undefined" || container == null) {
             initContainer();
         }
         return container;
@@ -71,7 +74,6 @@ rave.opensocial = rave.opensocial || (fu
         container.rpcRegister('set_title', setTitle);
         container.rpcRegister('requestNavigateTo', requestNavigateTo);
         container.rpcRegister('set_pref', setPref);
-        //container.rpcRegister('pubsub', null);
     }
 
     /**
@@ -197,18 +199,18 @@ rave.opensocial = rave.opensocial || (fu
     }
 
     /**
-     * Returns the Common Container activeGadgetHolder object for the given widgetId
+     * Returns the Common Container activeSiteHolder object for the given widgetId
      * @param widgetId the widgetId
      */ 
-    function getActiveGadgetHolderByWidgetId(widgetId) {
-        return rave.getRegionWidgetById(widgetId).site.getActiveGadgetHolder();     
+    function getActiveSiteHolderByWidgetId(widgetId) {
+        return rave.getRegionWidgetById(widgetId).site.getActiveSiteHolder();
     }
 
     /**
      * Returns the iframe element of the gadget for the given widgetId
      */
     function getGadgetIframeByWidgetId(widgetId) {
-        return getActiveGadgetHolderByWidgetId(widgetId).getIframeElement();     
+        return getActiveSiteHolderByWidgetId(widgetId).getIframeElement();
     }        
 
     /**
@@ -245,7 +247,7 @@ rave.opensocial = rave.opensocial || (fu
     function getCurrentView(regionWidgetId) {
         // the active gadget holder will be null if the gadget is collapsed
         // as it won't be rendered on the page
-        var activeGadgetHolder = getActiveGadgetHolderByWidgetId(regionWidgetId);
+        var activeGadgetHolder = getActiveSiteHolderByWidgetId(regionWidgetId);
         return (activeGadgetHolder == null) ? null : activeGadgetHolder.getView();
     }
 
@@ -274,7 +276,7 @@ rave.opensocial = rave.opensocial || (fu
         //to retrieve the module ID
         //A patch should be submitted to Shindig's common container code to properly
         //set the iFrame ID to the module id
-        var bodyId = args.gs.getActiveGadgetHolder().getElement().id;
+        var bodyId = args.gs.getActiveSiteHolder().getElement().id;
         var titleId = "widget-" + rave.getObjectIdFromDomId(bodyId) + "-title";
         var element = document.getElementById(titleId);
         if (element) {
@@ -293,7 +295,7 @@ rave.opensocial = rave.opensocial || (fu
      * @param prefValue the userpref value
      */ 
     function setPref(args, editToken, prefName, prefValue) {        
-        var widgetId = rave.getObjectIdFromDomId(args.gs.getActiveGadgetHolder().getElement().id);                               
+        var widgetId = rave.getObjectIdFromDomId(args.gs.getActiveSiteHolder().getElement().id);
         var regionWidget = rave.getRegionWidgetById(widgetId);
         // update the memory prefs object
         regionWidget.userPrefs[prefName] = prefValue;
@@ -308,7 +310,7 @@ rave.opensocial = rave.opensocial || (fu
      * @param viewName the view name to render
      */
     function requestNavigateTo(args, viewName) {       
-        var widgetId = rave.getObjectIdFromDomId(args.gs.getActiveGadgetHolder().getElement().id);
+        var widgetId = rave.getObjectIdFromDomId(args.gs.getActiveSiteHolder().getElement().id);
         var fnArgs = {};
         fnArgs.data = {}
         fnArgs.data.id = widgetId;

Modified: rave/branches/bootstrap/rave-portal-resources/src/test/javascript/raveOpenSocialSpec.js
URL: http://svn.apache.org/viewvc/rave/branches/bootstrap/rave-portal-resources/src/test/javascript/raveOpenSocialSpec.js?rev=1326858&r1=1326857&r2=1326858&view=diff
==============================================================================
--- rave/branches/bootstrap/rave-portal-resources/src/test/javascript/raveOpenSocialSpec.js (original)
+++ rave/branches/bootstrap/rave-portal-resources/src/test/javascript/raveOpenSocialSpec.js Tue Apr 17 01:08:00 2012
@@ -44,13 +44,38 @@ describe("Rave OpenSocial", function() {
                 }
             }
         };
-        gadgets = {
-            util : {
-                escapeString : function(string) {
-                    return string;
+        gadgets = (function(){
+            var pubSubArgs;
+            return {
+                util : {
+                    escapeString : function(string) {
+                        return string;
+                    }
+                },
+                pubsub2router: {
+                    init : function(args) {
+                        pubSubArgs = args;
+                    },
+                    getArgs: function() {return pubSubArgs;}
+
+                }
+        }})();
+        OpenAjax = (function () {
+            var cArgs;
+            return{
+                hub:{
+                    ManagedHub:function (args) {
+                        cArgs = args;
+                        return {
+
+                        }
+                    },
+                    getArgs:function () {
+                        return cArgs;
+                    }
                 }
             }
-        };
+        })();
 
     });
 
@@ -67,7 +92,6 @@ describe("Rave OpenSocial", function() {
 
         it("initializes the OpenSocial container machinery", function() {
             rave.opensocial.init();
-
             expect(container.args()[0]).toEqual("/rpc");
             expect(container.args()[1]).toEqual("1");
         });
@@ -106,7 +130,7 @@ describe("Rave OpenSocial", function() {
                 f : "frameId",
                 a : arrayOut ? ["TITLE"] : "TITLE",
                 gs : {
-                    getActiveGadgetHolder : function() {
+                    getActiveSiteHolder : function() {
                         return {getElement : function() {
                             return { id : id }
                         }}
@@ -133,7 +157,7 @@ describe("Rave OpenSocial", function() {
             return {
                 f : "frameId",               
                 gs : {
-                    getActiveGadgetHolder : function() {
+                    getActiveSiteHolder : function() {
                         return {getElement : function() {
                             return { id : id }
                         }}

Modified: rave/branches/bootstrap/rave-portal-resources/src/test/javascript/raveSpec.js
URL: http://svn.apache.org/viewvc/rave/branches/bootstrap/rave-portal-resources/src/test/javascript/raveSpec.js?rev=1326858&r1=1326857&r2=1326858&view=diff
==============================================================================
--- rave/branches/bootstrap/rave-portal-resources/src/test/javascript/raveSpec.js (original)
+++ rave/branches/bootstrap/rave-portal-resources/src/test/javascript/raveSpec.js Tue Apr 17 01:08:00 2012
@@ -651,4 +651,81 @@ describe("Rave", function() {
             expect(mockWidget.minimizeWasCalled).toEqual(true);             
         });                    
     });
+
+    describe("log", function(){
+
+        afterEach(function() {
+           if(typeof console != "undefined") {delete console;}
+        });
+
+        it("successfully logs", function(){
+            console = (function(){
+                var messages =[];
+
+                return {
+                    log: function(message) {
+                        messages.push(message);
+                    },
+
+                    getMessages: function() {return messages;}
+                }
+            })();
+            var mess = "boo";
+            rave.log(mess);
+            expect(console.getMessages().length).toEqual(1);
+            expect(console.getMessages()[0]).toEqual(mess);
+        });
+
+        it("does not error if console doesn't exist", function(){
+            rave.log("boo");
+            expect(true).toBeTruthy();
+        });
+
+        it("does not error if console.log doesn't exist", function(){
+            console = {};
+            rave.log("boo");
+            expect(true).toBeTruthy();
+        });
+    });
+
+    describe("getManagedHub", function(){
+       beforeEach(function(){
+           rave.resetManagedHub();
+           OpenAjax = (function () {
+               return{
+                   hub:{
+                       ManagedHub:function (args) {
+                           var cArgs = args;
+                           return {
+                               getArgs:function () {
+                                  return cArgs;
+                               }
+                           }
+                       }
+                   }
+               }
+           })();
+       });
+
+
+       it("throws an error if there is no OpenAjax code on the page", function(){
+           delete OpenAjax;
+           expect(rave.getManagedHub).toThrow(new Error("No implementation of OpenAjax found.  " +
+               "Please ensure that an implementation has been included in the page."));
+       });
+
+       it("returns a new instance of the managed hub", function(){
+           var hub = rave.getManagedHub();
+           expect(hub).toBeDefined();
+           var hub2 = rave.getManagedHub();
+           expect(hub).toBe(hub2);
+       });
+
+        it("initializes the hub properly", function(){
+            var args = rave.getManagedHub().getArgs();
+            expect(args.onSubscribe).toBeDefined();
+            expect(args.onUnsubscribe).toBeDefined();
+            expect(args.onPublish).toBeDefined();
+        });
+    });
 });
\ No newline at end of file

Modified: rave/branches/bootstrap/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/main/java/org/apache/rave/provider/opensocial/config/OpenSocialEnvironment.java
URL: http://svn.apache.org/viewvc/rave/branches/bootstrap/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/main/java/org/apache/rave/provider/opensocial/config/OpenSocialEnvironment.java?rev=1326858&r1=1326857&r2=1326858&view=diff
==============================================================================
--- rave/branches/bootstrap/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/main/java/org/apache/rave/provider/opensocial/config/OpenSocialEnvironment.java (original)
+++ rave/branches/bootstrap/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/main/java/org/apache/rave/provider/opensocial/config/OpenSocialEnvironment.java Tue Apr 17 01:08:00 2012
@@ -33,7 +33,7 @@ import javax.annotation.PostConstruct;
 @Component
 public class OpenSocialEnvironment {
 
-    private static final String SCRIPT_TEMPLATE = "<script src=\"%1$s://%2$s%3$s/js/container.js?c=1&amp;container=default&amp;debug=1\"></script>";
+    private static final String SCRIPT_TEMPLATE = "<script src=\"%1$s://%2$s%3$s/js/container:pubsub-2.js?c=1&amp;container=default&amp;debug=1\"></script>";
 
     private ScriptManager scriptManager;
 

Modified: rave/branches/bootstrap/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/main/java/org/apache/rave/provider/opensocial/repository/impl/ShindigGadgetMetadataRepository.java
URL: http://svn.apache.org/viewvc/rave/branches/bootstrap/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/main/java/org/apache/rave/provider/opensocial/repository/impl/ShindigGadgetMetadataRepository.java?rev=1326858&r1=1326857&r2=1326858&view=diff
==============================================================================
--- rave/branches/bootstrap/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/main/java/org/apache/rave/provider/opensocial/repository/impl/ShindigGadgetMetadataRepository.java (original)
+++ rave/branches/bootstrap/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/main/java/org/apache/rave/provider/opensocial/repository/impl/ShindigGadgetMetadataRepository.java Tue Apr 17 01:08:00 2012
@@ -64,10 +64,8 @@ public class ShindigGadgetMetadataReposi
                     .put("id", "gadgets.metadata")
                     .put("params", new JSONObject()
                             .put("container", "default")
-
                             .append("ids", gadgetUrl)
-
-                            .append("fields", "iframeUrl")
+                            .append("fields", "iframeUrls")
                             .append("fields", "modulePrefs.*")
                             .append("fields", "needsTokenRefresh")
                             .append("fields", "userPrefs.*")
@@ -75,7 +73,6 @@ public class ShindigGadgetMetadataReposi
                             .append("fields", "views.preferredWidth")
                             .append("fields", "expireTimeMs")
                             .append("fields", "responseTimeMs")
-
                             .put("userId", "@viewer")
                             .put("groupId", "@self")
                     );

Modified: rave/branches/bootstrap/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/test/java/org/apache/rave/provider/opensocial/repository/ShindigGadgetMetadataRepositoryTest.java
URL: http://svn.apache.org/viewvc/rave/branches/bootstrap/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/test/java/org/apache/rave/provider/opensocial/repository/ShindigGadgetMetadataRepositoryTest.java?rev=1326858&r1=1326857&r2=1326858&view=diff
==============================================================================
--- rave/branches/bootstrap/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/test/java/org/apache/rave/provider/opensocial/repository/ShindigGadgetMetadataRepositoryTest.java (original)
+++ rave/branches/bootstrap/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/test/java/org/apache/rave/provider/opensocial/repository/ShindigGadgetMetadataRepositoryTest.java Tue Apr 17 01:08:00 2012
@@ -51,7 +51,7 @@ public class ShindigGadgetMetadataReposi
     private static final String VALID_SHINDIG_METADATA_RPC_REQUEST = "[{\"id\":\"gadgets.metadata\"," +
             "\"method\":\"gadgets.metadata\",\"params\":{\"groupId\":\"@self\"," +
             "\"ids\":[\"http://www.example.com/gadget.xml\"],\"container\":\"default\",\"userId\":\"@viewer\"," +
-            "\"fields\":[\"iframeUrl\",\"modulePrefs.*\",\"needsTokenRefresh\",\"userPrefs.*\",\"views.preferredHeight\"," +
+            "\"fields\":[\"iframeUrls\",\"modulePrefs.*\",\"needsTokenRefresh\",\"userPrefs.*\",\"views.preferredHeight\"," +
             "\"views.preferredWidth\",\"expireTimeMs\",\"responseTimeMs\"]}}]";
     private static final String VALID_METADATA = "[{\"id\":\"gadgets.metadata\",\"result\"" +
             ":{\"http://www.example.com/gadget.xml\":{\"data-snipped\":\"here-for-brevity\",\"userPrefs\":{\"age\":{\"dataType\":\"STRING\",\"default\":\"0\",\"displayName\":\"Age\"}}   }}}]";

Modified: rave/branches/bootstrap/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/service/impl/DefaultPersonService.java
URL: http://svn.apache.org/viewvc/rave/branches/bootstrap/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/service/impl/DefaultPersonService.java?rev=1326858&r1=1326857&r2=1326858&view=diff
==============================================================================
--- rave/branches/bootstrap/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/service/impl/DefaultPersonService.java (original)
+++ rave/branches/bootstrap/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/service/impl/DefaultPersonService.java Tue Apr 17 01:08:00 2012
@@ -71,6 +71,11 @@ public class DefaultPersonService implem
     }
 
     @Override
+    public Future<Person> updatePerson(UserId id, Person person, SecurityToken token) throws ProtocolException {
+        throw new ProtocolException(HttpServletResponse.SC_NOT_IMPLEMENTED, "Not Implemented");
+    }
+
+    @Override
     public List<org.apache.rave.portal.model.Person> getPeople(Set<UserId> userIds, GroupId groupId,
                                                                    CollectionOptions collectionOptions,
                                                                    SecurityToken token) {