You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wookie.apache.org by sc...@apache.org on 2014/02/15 17:33:40 UTC

svn commit: r1568644 - in /wookie/trunk: wookie-server/src/main/java/org/apache/wookie/ajaxmodel/impl/ wookie-server/src/main/java/org/apache/wookie/controller/ wookie-services/wookie-redis/src/main/java/org/apache/wookie/services/redis/ wookie-service...

Author: scottbw
Date: Sat Feb 15 16:33:40 2014
New Revision: 1568644

URL: http://svn.apache.org/r1568644
Log:
Made the SPIs for prefs and shareddata consistent, requiring all the parameters used for the data (app, widget, context, viewer)

Modified:
    wookie/trunk/wookie-server/src/main/java/org/apache/wookie/ajaxmodel/impl/WidgetAPIImpl.java
    wookie/trunk/wookie-server/src/main/java/org/apache/wookie/controller/PropertiesController.java
    wookie/trunk/wookie-services/wookie-redis/src/main/java/org/apache/wookie/services/redis/RedisPreferencesService.java
    wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/PreferencesService.java
    wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/impl/DefaultPreferencesService.java
    wookie/trunk/wookie-services/wookie-spi/src/test/java/org/apache/wookie/services/AbstractPreferencesServiceTest.java

Modified: wookie/trunk/wookie-server/src/main/java/org/apache/wookie/ajaxmodel/impl/WidgetAPIImpl.java
URL: http://svn.apache.org/viewvc/wookie/trunk/wookie-server/src/main/java/org/apache/wookie/ajaxmodel/impl/WidgetAPIImpl.java?rev=1568644&r1=1568643&r2=1568644&view=diff
==============================================================================
--- wookie/trunk/wookie-server/src/main/java/org/apache/wookie/ajaxmodel/impl/WidgetAPIImpl.java (original)
+++ wookie/trunk/wookie-server/src/main/java/org/apache/wookie/ajaxmodel/impl/WidgetAPIImpl.java Sat Feb 15 16:33:40 2014
@@ -57,7 +57,7 @@ public class WidgetAPIImpl implements IW
 
 		try {
 			AuthToken authToken = AuthTokenUtils.decryptAuthToken(id_key);
-			for (IPreference pref: PreferencesService.Factory.getInstance().getPreferences(authToken.toString())){
+			for (IPreference pref: PreferencesService.Factory.getInstance().getPreferences(authToken.getApiKey(), authToken.getWidgetId(), authToken.getContextId(), authToken.getViewerId())){
 				prefs.add(new PreferenceDelegate(pref));		  
 			}
 			return prefs;
@@ -145,7 +145,7 @@ public class WidgetAPIImpl implements IW
     
     try {
 		AuthToken authToken = AuthTokenUtils.decryptAuthToken(id_key);
-		PreferencesService.Factory.getInstance().setPreference(authToken.toString(), key, value);
+		PreferencesService.Factory.getInstance().setPreference(authToken.getApiKey(), authToken.getWidgetId(), authToken.getContextId(), authToken.getViewerId(), key, value);
 	    return "okay"; //$NON-NLS-1$
 	} catch (InvalidAuthTokenException e) {
 		return localizedMessages.getString("WidgetAPIImpl.0");

Modified: wookie/trunk/wookie-server/src/main/java/org/apache/wookie/controller/PropertiesController.java
URL: http://svn.apache.org/viewvc/wookie/trunk/wookie-server/src/main/java/org/apache/wookie/controller/PropertiesController.java?rev=1568644&r1=1568643&r2=1568644&view=diff
==============================================================================
--- wookie/trunk/wookie-server/src/main/java/org/apache/wookie/controller/PropertiesController.java (original)
+++ wookie/trunk/wookie-server/src/main/java/org/apache/wookie/controller/PropertiesController.java Sat Feb 15 16:33:40 2014
@@ -87,7 +87,7 @@ public class PropertiesController extend
 		// Note that preferences and shared data keys may be the same!
 		// We let the shared data values override.
 		
-		value = PreferencesService.Factory.getInstance().getPreference(authToken.toString(), name);
+		value = PreferencesService.Factory.getInstance().getPreference(authToken.getApiKey(), authToken.getWidgetId(), authToken.getContextId(), authToken.getViewerId(), name);
 		ISharedData data = new SharedContext(authToken).getSharedData(name);
 		if (data != null) value = data.getDvalue();
 		if (value == null) throw new ResourceNotFoundException();
@@ -164,9 +164,9 @@ public class PropertiesController extend
 	 */
 	public static boolean updatePreference(AuthToken authToken, String name, String value){
         boolean found=false;
-        String preference = PreferencesService.Factory.getInstance().getPreference(authToken.toString(), name);        
+        String preference = PreferencesService.Factory.getInstance().getPreference(authToken.getApiKey(), authToken.getWidgetId(), authToken.getContextId(), authToken.getViewerId(), name);        
         if (preference != null) found=true;
-   	    PreferencesService.Factory.getInstance().setPreference(authToken.toString(), name, value);
+   	    PreferencesService.Factory.getInstance().setPreference(authToken.getApiKey(), authToken.getWidgetId(), authToken.getContextId(), authToken.getViewerId(), name, value);
         return found;
 	}
 

Modified: wookie/trunk/wookie-services/wookie-redis/src/main/java/org/apache/wookie/services/redis/RedisPreferencesService.java
URL: http://svn.apache.org/viewvc/wookie/trunk/wookie-services/wookie-redis/src/main/java/org/apache/wookie/services/redis/RedisPreferencesService.java?rev=1568644&r1=1568643&r2=1568644&view=diff
==============================================================================
--- wookie/trunk/wookie-services/wookie-redis/src/main/java/org/apache/wookie/services/redis/RedisPreferencesService.java (original)
+++ wookie/trunk/wookie-services/wookie-redis/src/main/java/org/apache/wookie/services/redis/RedisPreferencesService.java Sat Feb 15 16:33:40 2014
@@ -40,13 +40,18 @@ public class RedisPreferencesService imp
 		pool = new JedisPool(new JedisPoolConfig(), "localhost");
 	}
 
-	private IPreference getPreferenceObject(String token, String name){
+	private IPreference getPreferenceObject(String apiKey, String widgetId, String contextId, String viewerId, String name){
 		//
 		// Get a Jedis from the pool
 		//
 		Jedis jedis = pool.getResource();
 		
 		//
+		// Get the context token
+		//
+		String token = getToken(apiKey, widgetId, contextId, viewerId);
+		
+		//
 		// Get the jedis key for this pref object
 		//
 		String key = getKey(token, name);
@@ -68,7 +73,7 @@ public class RedisPreferencesService imp
 	}
 	
 	@Override
-	public void setPreference(String token, IPreference preference) {
+	public void setPreference(String apiKey, String widgetId, String contextId, String viewerId, IPreference preference) {
 		
 		//
 		// Check if the preference is null - if so, do nothing
@@ -82,6 +87,11 @@ public class RedisPreferencesService imp
 		Jedis jedis = pool.getResource();
 		
 		//
+		// Get the context token
+		//
+		String token = getToken(apiKey, widgetId, contextId, viewerId);
+		
+		//
 		// Get the redis key to use for this pref
 		//
 		String key = getKey(token, preference.getName());
@@ -89,7 +99,7 @@ public class RedisPreferencesService imp
 		//
 		// If there is no existing tuple, add the key to the list of keys for this token
 		//
-		if (getPreference(token, preference.getName()) == null){
+		if (!jedis.exists(key)){
 			jedis.lpush(token, key);			
 		}
 
@@ -112,30 +122,36 @@ public class RedisPreferencesService imp
 	//////
 	
 	@Override
-	public String getPreference(String token, String name) {
-		IPreference preference = getPreferenceObject(token, name);
+	public String getPreference(String apiKey, String widgetId, String contextId, String viewerId, String name) {
+		IPreference preference = getPreferenceObject(apiKey, widgetId, contextId, viewerId, name);
 		if (preference == null) return null;
 		return preference.getValue();
 	}
 
 	@Override
-	public void setPreference(String token, String name, String value) {
+	public void setPreference(String apiKey, String widgetId, String contextId, String viewerId,  String name, String value) {
 		DefaultPreferenceImpl pref = new DefaultPreferenceImpl(name, value, false);
-		setPreference(token, pref);
+		setPreference(apiKey, widgetId, contextId, viewerId, pref);
 	}
 
 	@Override
-	public void setPreference(String token, String name, String value,
+	public void setPreference(String apiKey, String widgetId, String contextId, String viewerId, String name, String value,
 			boolean readOnly) {
 		DefaultPreferenceImpl pref = new DefaultPreferenceImpl(name, value, readOnly);
-		setPreference(token, pref);
+		setPreference(apiKey, widgetId, contextId, viewerId, pref);
 	}
 
 	//////
 
 
 	@Override
-	public Collection<IPreference> getPreferences(String token) {
+	public Collection<IPreference> getPreferences(String apiKey, String widgetId, String contextId, String viewerId) {
+		
+		//
+		// Get the context token
+		//
+		String token = getToken(apiKey, widgetId, contextId, viewerId);
+		
 		//
 		// Get a Jedis from the pool
 		//
@@ -169,12 +185,12 @@ public class RedisPreferencesService imp
 	}
 
 	@Override
-	public void setPreferences(String token, Collection<IPreference> preferences) {
+	public void setPreferences(String apiKey, String widgetId, String contextId, String viewerId, Collection<IPreference> preferences) {
 		
 		//
 		// Clear the token
 		//
-		removePreferences(token);
+		removePreferences(apiKey, widgetId, contextId, viewerId);
 		
 		//
 		// Get a Jedis from the pool
@@ -186,7 +202,7 @@ public class RedisPreferencesService imp
 		//
 		if (preferences != null){
 			for (IPreference pref: preferences){
-				setPreference(token, pref);
+				setPreference(apiKey, widgetId, contextId, viewerId, pref);
 			}
 		}
 		
@@ -197,12 +213,17 @@ public class RedisPreferencesService imp
 	}
 
 	@Override
-	public void removePreferences(String token) {
+	public void removePreferences(String apiKey, String widgetId, String contextId, String viewerId) {
 		//
 		// Get a Jedis from the pool
 		//
 		Jedis jedis = pool.getResource();
-
+		
+		//
+		// Get the context token
+		//
+		String token = getToken(apiKey, widgetId, contextId, viewerId);
+		
 		//
 		// Remove everything linked from the preferences list
 		//
@@ -252,7 +273,12 @@ public class RedisPreferencesService imp
 	 * @return the redis key to use for getting and setting the pref
 	 */
 	private String getKey(String token, String name){
+		
 		return "pref::" + token + "::" + name;
 	}
+	
+	private String getToken(String apiKey, String widgetId, String contextId, String viewerId){
+		return apiKey+"-"+contextId+"-"+widgetId+"-"+viewerId;
+	}
 
 }

Modified: wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/PreferencesService.java
URL: http://svn.apache.org/viewvc/wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/PreferencesService.java?rev=1568644&r1=1568643&r2=1568644&view=diff
==============================================================================
--- wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/PreferencesService.java (original)
+++ wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/PreferencesService.java Sat Feb 15 16:33:40 2014
@@ -37,19 +37,19 @@ import org.apache.wookie.services.impl.D
  */
 public interface PreferencesService {
 	
-	public abstract String getPreference(String token, String name);
+	public abstract String getPreference(String apiKey, String widgetId, String contextId, String viewerId, String name);
 
-	public abstract void setPreference(String token, String name, String value);
+	public abstract void setPreference(String apiKey, String widgetId, String contextId, String viewerId, String name, String value);
 	
-	public abstract void setPreference(String token, String name, String value, boolean readOnly);
+	public abstract void setPreference(String apiKey, String widgetId, String contextId, String viewerId, String name, String value, boolean readOnly);
 	
-	public abstract void setPreference(String token, IPreference preference);
+	public abstract void setPreference(String apiKey, String widgetId, String contextId, String viewerId, IPreference preference);
 
-	public abstract Collection<IPreference> getPreferences(String token);
+	public abstract Collection<IPreference> getPreferences(String apiKey, String widgetId, String contextId, String viewerId);
 	
-	public abstract void setPreferences(String token, Collection<IPreference> preferences);
+	public abstract void setPreferences(String apiKey, String widgetId, String contextId, String viewerId, Collection<IPreference> preferences);
 	
-	public abstract void removePreferences(String token);
+	public abstract void removePreferences(String apiKey, String widgetId, String contextId, String viewerId);
 	
 	public static class Factory {
 		

Modified: wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/impl/DefaultPreferencesService.java
URL: http://svn.apache.org/viewvc/wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/impl/DefaultPreferencesService.java?rev=1568644&r1=1568643&r2=1568644&view=diff
==============================================================================
--- wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/impl/DefaultPreferencesService.java (original)
+++ wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/impl/DefaultPreferencesService.java Sat Feb 15 16:33:40 2014
@@ -35,7 +35,13 @@ public class DefaultPreferencesService i
 	}
 	
 	@Override
-	public String getPreference(String token, String name) {
+	public String getPreference(String apiKey, String widgetId, String contextId, String viewerId, String name) {
+		
+		//
+		// Get the token (key) to store the pref against
+		//
+		String token = getToken(apiKey, widgetId, contextId, viewerId);
+		
 		HashMap<String, IPreference> widgetpreferences = preferences.get(token);
 		if (widgetpreferences == null){
 			widgetpreferences = new HashMap<String, IPreference>();
@@ -50,8 +56,14 @@ public class DefaultPreferencesService i
 	}
 
 	@Override
-	public void setPreference(String token, IPreference preference) {
+	public void setPreference(String apiKey, String widgetId, String contextId, String viewerId, IPreference preference) {
 		if (preference != null){
+			
+			//
+			// Get the token (key) to store the pref against
+			//
+			String token = getToken(apiKey, widgetId, contextId, viewerId);
+			
 			HashMap<String, IPreference> widgetpreferences = preferences.get(token);
 			if (widgetpreferences == null){
 				widgetpreferences = new HashMap<String, IPreference>();
@@ -62,7 +74,13 @@ public class DefaultPreferencesService i
 	}
 
 	@Override
-	public Collection<IPreference> getPreferences(String token) {
+	public Collection<IPreference> getPreferences(String apiKey, String widgetId, String contextId, String viewerId) {
+		
+		//
+		// Get the token (key) to store the pref against
+		//
+		String token = getToken(apiKey, widgetId, contextId, viewerId);
+		
 		HashMap<String, IPreference> widgetpreferences = preferences.get(token);
 		if (widgetpreferences == null){
 			widgetpreferences = new HashMap<String, IPreference>();
@@ -72,18 +90,30 @@ public class DefaultPreferencesService i
 	}
 
 	@Override
-	public void removePreferences(String token) {
+	public void removePreferences(String apiKey, String widgetId, String contextId, String viewerId) {
+		
+		//
+		// Get the token (key) to store the pref against
+		//
+		String token = getToken(apiKey, widgetId, contextId, viewerId);
+		
 		HashMap<String, IPreference> widgetpreferences = new HashMap<String, IPreference>();
 		preferences.put(token, widgetpreferences);
 	}
 
 	@Override
-	public void setPreferences(String token, Collection<IPreference> preferences) {
+	public void setPreferences(String apiKey, String widgetId, String contextId, String viewerId, Collection<IPreference> preferences) {
+		
+		//
+		// Get the token (key) to store the pref against
+		//
+		String token = getToken(apiKey, widgetId, contextId, viewerId);
+		
 		//
 		// Setting to null is the same as clearing the preferences
 		//
 		if (preferences == null){
-			this.removePreferences(token);
+			this.removePreferences(apiKey, widgetId, contextId, viewerId);
 		} else {
 			HashMap<String, IPreference> widgetpreferences = new HashMap<String, IPreference>();
 			for (IPreference preference: preferences){
@@ -94,14 +124,18 @@ public class DefaultPreferencesService i
 	}
 
 	@Override
-	public void setPreference(String token, String name, String value) {
-		setPreference(token, name, value, false);
+	public void setPreference(String apiKey, String widgetId, String contextId, String viewerId, String name, String value) {
+		setPreference(apiKey, widgetId, contextId, viewerId, name, value, false);
 	}
 
 	@Override
-	public void setPreference(String token, String name, String value, boolean readOnly) {
+	public void setPreference(String apiKey, String widgetId, String contextId, String viewerId, String name, String value, boolean readOnly) {
 		IPreference preference = new DefaultPreferenceImpl(name, value, readOnly);
-		setPreference(token, preference);
+		setPreference(apiKey, widgetId, contextId, viewerId, preference);
+	}
+	
+	private String getToken(String apiKey, String widgetId, String contextId, String viewerId){
+		return apiKey + "-" + widgetId + "-" + contextId + "-" + viewerId;
 	}
 
 }

Modified: wookie/trunk/wookie-services/wookie-spi/src/test/java/org/apache/wookie/services/AbstractPreferencesServiceTest.java
URL: http://svn.apache.org/viewvc/wookie/trunk/wookie-services/wookie-spi/src/test/java/org/apache/wookie/services/AbstractPreferencesServiceTest.java?rev=1568644&r1=1568643&r2=1568644&view=diff
==============================================================================
--- wookie/trunk/wookie-services/wookie-spi/src/test/java/org/apache/wookie/services/AbstractPreferencesServiceTest.java (original)
+++ wookie/trunk/wookie-services/wookie-spi/src/test/java/org/apache/wookie/services/AbstractPreferencesServiceTest.java Sat Feb 15 16:33:40 2014
@@ -29,36 +29,36 @@ public abstract class AbstractPreference
 	
 	@After
 	public void cleanUp(){
-		svc.removePreferences("token");
+		svc.removePreferences("test-api", "test-widget", "test-context", "test-viewer");
 	}
 	
 	@Test
 	public void getNull(){
-		String result = svc.getPreference("token", "test-null");
+		String result = svc.getPreference("test-api", "test-widget", "test-context", "test-viewer", "test-null");
 		assertEquals(null, result);
 	}
 	
 	@Test
 	public void setAndGet(){		
-		svc.setPreference("token", "test", "test");
-		String result = svc.getPreference("token", "test");
+		svc.setPreference("test-api", "test-widget", "test-context", "test-viewer", "test", "test");
+		String result = svc.getPreference("test-api", "test-widget", "test-context", "test-viewer", "test");
 		assertEquals("test", result);
 	}
 	
 	@Test
 	public void setAndUpdate(){		
-		svc.setPreference("token", "test", "test");
-		String result = svc.getPreference("token", "test");
+		svc.setPreference("test-api", "test-widget", "test-context", "test-viewer", "test", "test");
+		String result = svc.getPreference("test-api", "test-widget", "test-context", "test-viewer", "test");
 		assertEquals("test", result);
-		svc.setPreference("token", "test", "test-updated");
-		result = svc.getPreference("token", "test");
+		svc.setPreference("test-api", "test-widget", "test-context", "test-viewer", "test", "test-updated");
+		result = svc.getPreference("test-api", "test-widget", "test-context", "test-viewer", "test");
 		assertEquals("test-updated", result);
 	}
 	
 	@Test
 	public void setAndGetByString(){	
-		svc.setPreference("token", "test", "test-value", true);
-		Collection<IPreference> prefs = svc.getPreferences("token");
+		svc.setPreference("test-api", "test-widget", "test-context", "test-viewer", "test", "test-value", true);
+		Collection<IPreference> prefs = svc.getPreferences("test-api", "test-widget", "test-context", "test-viewer");
 		assertEquals(1, prefs.size());
 		IPreference pref = prefs.iterator().next();
 		
@@ -70,8 +70,8 @@ public abstract class AbstractPreference
 	@Test
 	public void setAndGetByObject(){	
 		IPreference pref = new DefaultPreferenceImpl("test", "test-value", true);
-		svc.setPreference("token", pref);
-		Collection<IPreference> prefs = svc.getPreferences("token");
+		svc.setPreference("test-api", "test-widget", "test-context", "test-viewer", pref);
+		Collection<IPreference> prefs = svc.getPreferences("test-api", "test-widget", "test-context", "test-viewer");
 		assertEquals(1, prefs.size());
 		pref = prefs.iterator().next();
 		
@@ -82,8 +82,8 @@ public abstract class AbstractPreference
 	
 	@Test
 	public void setAndGetByObjectNull(){	
-		svc.setPreference("token", null);
-		Collection<IPreference> prefs = svc.getPreferences("token");
+		svc.setPreference("test-api", "test-widget", "test-context", "test-viewer", null);
+		Collection<IPreference> prefs = svc.getPreferences("test-api", "test-widget", "test-context", "test-viewer");
 		assertEquals(0, prefs.size());
 	}
 	
@@ -95,9 +95,9 @@ public abstract class AbstractPreference
 		preferences.add(preference1);
 		preferences.add(preference2);
 		
-		svc.setPreferences("token", preferences);
+		svc.setPreferences("test-api", "test-widget", "test-context", "test-viewer", preferences);
 		
-		Collection<IPreference> returned = svc.getPreferences("token");
+		Collection<IPreference> returned = svc.getPreferences("test-api", "test-widget", "test-context", "test-viewer");
 		assertEquals(2, returned.size());
 	}
 	
@@ -109,23 +109,23 @@ public abstract class AbstractPreference
 		preferences.add(preference1);
 		preferences.add(preference2);
 		
-		svc.setPreferences("token", preferences);
+		svc.setPreferences("test-api", "test-widget", "test-context", "test-viewer", preferences);
 		
-		Collection<IPreference> returned = svc.getPreferences("token");
+		Collection<IPreference> returned = svc.getPreferences("test-api", "test-widget", "test-context", "test-viewer");
 		assertEquals(2, returned.size());
 		
 		preferences.remove(preference2);
-		svc.setPreferences("token", preferences);
-		returned = svc.getPreferences("token");
+		svc.setPreferences("test-api", "test-widget", "test-context", "test-viewer", preferences);
+		returned = svc.getPreferences("test-api", "test-widget", "test-context", "test-viewer");
 		assertEquals(1, returned.size());
 	}
 	
 	@Test
 	public void setCollectionNull(){
 		
-		svc.setPreferences("token", null);
+		svc.setPreferences("test-api", "test-widget", "test-context", "test-viewer", null);
 		
-		Collection<IPreference> returned = svc.getPreferences("token");
+		Collection<IPreference> returned = svc.getPreferences("test-api", "test-widget", "test-context", "test-viewer");
 		assertEquals(0, returned.size());
 	}
 	
@@ -137,13 +137,13 @@ public abstract class AbstractPreference
 		preferences.add(preference1);
 		preferences.add(preference2);
 		
-		svc.setPreferences("token", preferences);
+		svc.setPreferences("test-api", "test-widget", "test-context", "test-viewer", preferences);
 		
-		Collection<IPreference> returned = svc.getPreferences("token");
+		Collection<IPreference> returned = svc.getPreferences("test-api", "test-widget", "test-context", "test-viewer");
 		assertEquals(2, returned.size());
 		
-		svc.setPreferences("token", null);
-		returned = svc.getPreferences("token");
+		svc.setPreferences("test-api", "test-widget", "test-context", "test-viewer", null);
+		returned = svc.getPreferences("test-api", "test-widget", "test-context", "test-viewer");
 		assertEquals(0, returned.size());
 	}
 	
@@ -152,9 +152,9 @@ public abstract class AbstractPreference
 	public void setAndGetObject(){		
 		IPreference preference = new DefaultPreferenceImpl("test-name", "test-value", false);
 		
-		svc.setPreference("token", preference);
+		svc.setPreference("test-api", "test-widget", "test-context", "test-viewer", preference);
 		
-		String result = svc.getPreference("token", "test-name");
+		String result = svc.getPreference("test-api", "test-widget", "test-context", "test-viewer", "test-name");
 		
 		assertEquals("test-value", result);
 	}
@@ -165,20 +165,20 @@ public abstract class AbstractPreference
 		IPreference preference1 = new DefaultPreferenceImpl("test-name", "test-value", false);
 		IPreference preference2 = new DefaultPreferenceImpl("test-name2", "test-value2", false);
 
-		svc.setPreference("token", preference1);
-		svc.setPreference("token", preference2);
+		svc.setPreference("test-api", "test-widget", "test-context", "test-viewer", preference1);
+		svc.setPreference("test-api", "test-widget", "test-context", "test-viewer", preference2);
 		
-		String result = svc.getPreference("token", "test-name");
+		String result = svc.getPreference("test-api", "test-widget", "test-context", "test-viewer", "test-name");
 		assertEquals("test-value", result);
 		
-		result = svc.getPreference("token", "test-name2");
+		result = svc.getPreference("test-api", "test-widget", "test-context", "test-viewer", "test-name2");
 		assertEquals("test-value2", result);		
 	}
 	
 	@Test
 	public void getNothing(){
 						
-		String result = svc.getPreference("token", "test-name3");
+		String result = svc.getPreference("test-api", "test-widget", "test-context", "test-viewer", "test-name3");
 		
 		assertEquals(null, result);
 	}
@@ -186,13 +186,13 @@ public abstract class AbstractPreference
 	@Test
 	public void setAndReset(){
 
-		svc.setPreference("token", "test-reset", "1");
-		svc.setPreference("token", "test-reset", "2");
-		assertEquals("2", svc.getPreference("token", "test-reset"));
-		assertEquals("2", svc.getPreference("token", "test-reset"));
-		svc.setPreference("token", "test-reset", "1");
-		assertEquals("1", svc.getPreference("token", "test-reset"));
-		assertEquals("1", svc.getPreference("token", "test-reset"));
+		svc.setPreference("test-api", "test-widget", "test-context", "test-viewer", "test-reset", "1");
+		svc.setPreference("test-api", "test-widget", "test-context", "test-viewer", "test-reset", "2");
+		assertEquals("2", svc.getPreference("test-api", "test-widget", "test-context", "test-viewer", "test-reset"));
+		assertEquals("2", svc.getPreference("test-api", "test-widget", "test-context", "test-viewer", "test-reset"));
+		svc.setPreference("test-api", "test-widget", "test-context", "test-viewer", "test-reset", "1");
+		assertEquals("1", svc.getPreference("test-api", "test-widget", "test-context", "test-viewer", "test-reset"));
+		assertEquals("1", svc.getPreference("test-api", "test-widget", "test-context", "test-viewer", "test-reset"));
 	}