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);
}