Author: scottbw
Date: Sun Feb  9 19:34:55 2014
New Revision: 1566369

URL: http://svn.apache.org/r1566369
Log:
Changed Notifier and SharedContext to operate on AuthToken instead of 
IWidgetInstance

Modified:
    
wookie/trunk/wookie-server/src/main/java/org/apache/wookie/beans/SharedContext.java
    
wookie/trunk/wookie-server/src/main/java/org/apache/wookie/helpers/Notifier.java

Modified: 
wookie/trunk/wookie-server/src/main/java/org/apache/wookie/beans/SharedContext.java
URL: 
http://svn.apache.org/viewvc/wookie/trunk/wookie-server/src/main/java/org/apache/wookie/beans/SharedContext.java?rev=1566369&r1=1566368&r2=1566369&view=diff
==============================================================================
--- 
wookie/trunk/wookie-server/src/main/java/org/apache/wookie/beans/SharedContext.java
 (original)
+++ 
wookie/trunk/wookie-server/src/main/java/org/apache/wookie/beans/SharedContext.java
 Sun Feb  9 19:34:55 2014
@@ -17,7 +17,7 @@
 
 package org.apache.wookie.beans;
 
-import org.apache.wookie.helpers.SharedDataHelper;
+import org.apache.wookie.auth.AuthToken;
 import org.apache.wookie.services.SharedContextService;
 
 /**
@@ -35,11 +35,26 @@ import org.apache.wookie.services.Shared
  * tuple store or distributed keystore
  */
 public class SharedContext {
+       
+       private String apiKey;
+       private String widgetId;
+       private String contextId;
+       private String viewerId;
 
-       private IWidgetInstance widgetInstance;
-
+       @Deprecated
        public SharedContext(IWidgetInstance widgetInstance){
-               this.widgetInstance = widgetInstance;
+               this.apiKey = widgetInstance.getApiKey();
+               this.widgetId = widgetInstance.getWidget().getIdentifier();
+               this.contextId = widgetInstance.getSharedDataKey();
+               this.viewerId = widgetInstance.getUserId();
+       }
+       
+       public SharedContext(AuthToken authToken){
+               this.apiKey = authToken.getApiKey();
+               this.widgetId = authToken.getWidgetId();
+               this.contextId = authToken.getContextId();
+               this.viewerId = authToken.getViewerId();
+               
        }
 
        /**
@@ -50,7 +65,7 @@ public class SharedContext {
                //
                // Obtain a persistence manager and return the results of 
executing a query of SharedData objects matching the sharedDataKey
                //
-               return 
SharedContextService.Factory.getInstance().getSharedData(this.widgetInstance.getApiKey(),
 this.widgetInstance.getWidget().getIdentifier(), 
this.widgetInstance.getSharedDataKey());
+               return 
SharedContextService.Factory.getInstance().getSharedData(apiKey, widgetId, 
contextId);
        }
 
        /**
@@ -60,7 +75,7 @@ public class SharedContext {
         * @return a SharedData object, or null if no matches are found
         */
        public ISharedData getSharedData(String key){
-               return 
SharedContextService.Factory.getInstance().getSharedData(this.widgetInstance.getApiKey(),
 this.widgetInstance.getWidget().getIdentifier(), 
this.widgetInstance.getSharedDataKey(), key);
+               return 
SharedContextService.Factory.getInstance().getSharedData(apiKey, widgetId, 
contextId, key);
        }
 
        /**
@@ -69,24 +84,7 @@ public class SharedContext {
         * @return true if a shared data object was located and deleted, false 
if no match was found
         */
        public boolean removeSharedData(String key){
-               return 
SharedContextService.Factory.getInstance().removeSharedData(this.widgetInstance.getApiKey(),
 this.widgetInstance.getWidget().getIdentifier(), 
this.widgetInstance.getSharedDataKey(), key);
-       }
-
-       /**
-        * Removes (deletes) the shared data object
-        * @param sharedData
-        */
-       private void removeSharedData(ISharedData sharedData){
-               
SharedContextService.Factory.getInstance().removeSharedData(this.widgetInstance.getApiKey(),
 this.widgetInstance.getWidget().getIdentifier(), 
this.widgetInstance.getSharedDataKey(), sharedData.getDkey());
-       }
-
-       /**
-        * Creates a new shared data object in this shared context
-        * @param name
-        * @param value
-        */
-       private void addSharedData(String key, String value){ 
-               
SharedContextService.Factory.getInstance().updateSharedData(this.widgetInstance.getApiKey(),
 this.widgetInstance.getWidget().getIdentifier(), 
this.widgetInstance.getSharedDataKey(), key, value, false);
+               return 
SharedContextService.Factory.getInstance().removeSharedData(apiKey, widgetId, 
contextId, key);
        }
 
        /**
@@ -97,7 +95,7 @@ public class SharedContext {
         * @return true if the value was updated, false if a new object was 
created
         */
        public boolean updateSharedData(String key, String value, boolean 
append){
-               return 
SharedContextService.Factory.getInstance().updateSharedData(this.widgetInstance.getApiKey(),
 this.widgetInstance.getWidget().getIdentifier(), 
this.widgetInstance.getSharedDataKey(), key, value, append);
+               return 
SharedContextService.Factory.getInstance().updateSharedData(apiKey, widgetId, 
contextId, key, value, append);
        }
 
        /**
@@ -105,7 +103,7 @@ public class SharedContext {
         * @return an arry of Participant instances, or null if there are no 
participants
         */
        public IParticipant[] getParticipants(){
-               return 
SharedContextService.Factory.getInstance().getParticipants(this.widgetInstance.getApiKey(),
 this.widgetInstance.getWidget().getIdentifier(), 
this.widgetInstance.getSharedDataKey());
+               return 
SharedContextService.Factory.getInstance().getParticipants(apiKey, widgetId, 
contextId);
        }
 
        /**
@@ -116,7 +114,7 @@ public class SharedContext {
         * @return true if the participant was successfully added, otherwise 
false
         */
        public boolean addParticipant(String participantId, String 
participantDisplayName, String participantThumbnailUrl) {
-               return 
SharedContextService.Factory.getInstance().addParticipant(this.widgetInstance.getApiKey(),
 this.widgetInstance.getWidget().getIdentifier(), 
this.widgetInstance.getSharedDataKey(), participantId, participantDisplayName, 
participantThumbnailUrl);
+               return 
SharedContextService.Factory.getInstance().addParticipant(apiKey, widgetId, 
contextId, participantId, participantDisplayName, participantThumbnailUrl);
        }
 
        /**
@@ -127,7 +125,7 @@ public class SharedContext {
         * @return true if the participant was successfully added, otherwise 
false
         */
        public boolean addParticipant(String participantId, String 
participantDisplayName, String participantThumbnailUrl, String role) {
-               return 
SharedContextService.Factory.getInstance().addParticipant(this.widgetInstance.getApiKey(),
 this.widgetInstance.getWidget().getIdentifier(), 
this.widgetInstance.getSharedDataKey(), participantId, participantDisplayName, 
participantThumbnailUrl, role);
+               return 
SharedContextService.Factory.getInstance().addParticipant(apiKey, widgetId, 
contextId, participantId, participantDisplayName, participantThumbnailUrl, 
role);
        }
 
        /**
@@ -135,7 +133,7 @@ public class SharedContext {
         * @param participant
         */
        public void removeParticipant(IParticipant participant){
-               
SharedContextService.Factory.getInstance().removeParticipant(this.widgetInstance.getApiKey(),
 this.widgetInstance.getWidget().getIdentifier(), 
this.widgetInstance.getSharedDataKey(), participant);
+               
SharedContextService.Factory.getInstance().removeParticipant(apiKey, widgetId, 
contextId, participant);
        }
 
        /**
@@ -144,7 +142,7 @@ public class SharedContext {
         * @return true if the participant is successfully removed, otherwise 
false
         */
        public boolean removeParticipant(String participantId) {
-               return 
SharedContextService.Factory.getInstance().removeParticipant(this.widgetInstance.getApiKey(),
 this.widgetInstance.getWidget().getIdentifier(), 
this.widgetInstance.getSharedDataKey(), participantId);
+               return 
SharedContextService.Factory.getInstance().removeParticipant(apiKey, widgetId, 
contextId, participantId);
        }
 
        /**
@@ -153,7 +151,7 @@ public class SharedContext {
         * @return the participant, or null if there is no participant with the 
given id in the context
         */
        public IParticipant getParticipant(String participantId){
-               return 
SharedContextService.Factory.getInstance().getParticipant(this.widgetInstance.getApiKey(),
 this.widgetInstance.getWidget().getIdentifier(), 
this.widgetInstance.getSharedDataKey(), participantId);    
+               return 
SharedContextService.Factory.getInstance().getParticipant(apiKey, widgetId, 
contextId, participantId);    
        }
 
        /**
@@ -161,6 +159,7 @@ public class SharedContext {
         * @param widgetInstance
         * @return the IParticipant representing the viewer, or null if no 
match is found
         */
+       @Deprecated
        public IParticipant getViewer(IWidgetInstance widgetInstance){
                return 
SharedContextService.Factory.getInstance().getParticipant(widgetInstance.getApiKey(),
 widgetInstance.getWidget().getIdentifier(), widgetInstance.getSharedDataKey(), 
widgetInstance.getUserId());    
        }
@@ -171,7 +170,7 @@ public class SharedContext {
         * @return the IParticipant representing the viewer, or null if no 
match is found
         */
        public IParticipant getViewer(){
-               return 
SharedContextService.Factory.getInstance().getParticipant(widgetInstance.getApiKey(),
 widgetInstance.getWidget().getIdentifier(), widgetInstance.getSharedDataKey(), 
widgetInstance.getUserId());    
+               return 
SharedContextService.Factory.getInstance().getParticipant(apiKey, widgetId, 
contextId, viewerId);    
        }
 
        /**
@@ -180,10 +179,10 @@ public class SharedContext {
         * @return a participant designated the host, or null if no participant 
is host
         */
        public IParticipant getHost(){
-               return 
SharedContextService.Factory.getInstance().getHost(widgetInstance.getApiKey(), 
widgetInstance.getWidget().getIdentifier(), widgetInstance.getSharedDataKey()); 
   
+               return 
SharedContextService.Factory.getInstance().getHost(apiKey, widgetId, 
contextId);    
        }
 
        public IParticipant[] getHosts(){
-               return 
SharedContextService.Factory.getInstance().getHosts(widgetInstance.getApiKey(), 
widgetInstance.getWidget().getIdentifier(), widgetInstance.getSharedDataKey()); 
   
+               return 
SharedContextService.Factory.getInstance().getHosts(apiKey, widgetId, 
contextId);    
        }
 }

Modified: 
wookie/trunk/wookie-server/src/main/java/org/apache/wookie/helpers/Notifier.java
URL: 
http://svn.apache.org/viewvc/wookie/trunk/wookie-server/src/main/java/org/apache/wookie/helpers/Notifier.java?rev=1566369&r1=1566368&r2=1566369&view=diff
==============================================================================
--- 
wookie/trunk/wookie-server/src/main/java/org/apache/wookie/helpers/Notifier.java
 (original)
+++ 
wookie/trunk/wookie-server/src/main/java/org/apache/wookie/helpers/Notifier.java
 Sun Feb  9 19:34:55 2014
@@ -20,7 +20,7 @@ import java.util.Iterator;
 import javax.servlet.ServletContext;
 import javax.servlet.http.HttpSession;
 
-import org.apache.wookie.beans.IWidgetInstance;
+import org.apache.wookie.auth.AuthToken;
 import org.apache.wookie.util.SiblingPageNormalizer;
 import org.directwebremoting.ScriptBuffer;
 import org.directwebremoting.ScriptSession;
@@ -45,10 +45,10 @@ public class Notifier {
         * @param instance the widget instance whose siblings should be invoked
         * @param method the method to invoke on sibling widget instances
         */
-       public static void notifyWidgets(HttpSession session, IWidgetInstance 
instance, String method){
+       public static void notifyWidgets(HttpSession session, AuthToken 
authToken, String method){
                ServletContext ctx = session.getServletContext();
                ServerContext sctx = ServerContextFactory.get(ctx);
-               String currentPage = new 
SiblingPageNormalizer().getNormalizedPage(instance);
+               String currentPage = new 
SiblingPageNormalizer().getNormalizedPage(authToken);
                Collection<?> pages = sctx.getScriptSessionsByPage(currentPage);
                call(pages,method);
        }       
@@ -58,19 +58,18 @@ public class Notifier {
         * current script session. Only use this method within a DWR thread.
         * @param widgetInstance the instance that is the source of the update
         */
-       public static void notifySiblings(IWidgetInstance widgetInstance){
-               String sharedDataKey = 
SharedDataHelper.getInternalSharedDataKey(widgetInstance);
-               String script = 
"Widget.onSharedUpdate(\""+sharedDataKey+"\");"; //$NON-NLS-1$ //$NON-NLS-2$
-               callSiblings(widgetInstance,script);
+       public static void notifySiblings(AuthToken authToken){
+               String script = 
"Widget.onSharedUpdate(\""+authToken.getContextId()+"\");"; //$NON-NLS-1$ 
//$NON-NLS-2$
+               callSiblings(authToken,script);
        }
        
        /**
         * Calls a script in sibling widget instances within the scope of the 
current DWR thread
         * @param call the JS method to call on the widget start file
         */
-       public static void callSiblings(IWidgetInstance instance, String call){
+       public static void callSiblings(AuthToken authToken, String call){
                WebContext wctx = WebContextFactory.get();
-               String currentPage = new 
SiblingPageNormalizer().getNormalizedPage(instance);
+               String currentPage = new 
SiblingPageNormalizer().getNormalizedPage(authToken);
         Collection<?> pages = wctx.getScriptSessionsByPage(currentPage);
            call(pages, call);  
        }


Reply via email to