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