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 2013/03/11 13:23:06 UTC
svn commit: r1455113 - in /wookie/trunk/connector/java:
src-test/org/apache/wookie/tests/connector/framework/
src-test/org/apache/wookie/tests/connector/framework/impl/
src/org/apache/wookie/connector/framework/
Author: scottbw
Date: Mon Mar 11 12:23:06 2013
New Revision: 1455113
URL: http://svn.apache.org/r1455113
Log:
Implemented localization of widget instances in the connector framework; call user.setLocale("my-locale") to set preferred user locale before calling getOrCreateInstance. See WOOKIE-405
Added:
wookie/trunk/connector/java/src-test/org/apache/wookie/tests/connector/framework/impl/localetest.wgt (with props)
Modified:
wookie/trunk/connector/java/src-test/org/apache/wookie/tests/connector/framework/UserTest.java
wookie/trunk/connector/java/src-test/org/apache/wookie/tests/connector/framework/impl/WookieConnectorService.java
wookie/trunk/connector/java/src/org/apache/wookie/connector/framework/AbstractWookieConnectorService.java
wookie/trunk/connector/java/src/org/apache/wookie/connector/framework/User.java
Modified: wookie/trunk/connector/java/src-test/org/apache/wookie/tests/connector/framework/UserTest.java
URL: http://svn.apache.org/viewvc/wookie/trunk/connector/java/src-test/org/apache/wookie/tests/connector/framework/UserTest.java?rev=1455113&r1=1455112&r2=1455113&view=diff
==============================================================================
--- wookie/trunk/connector/java/src-test/org/apache/wookie/tests/connector/framework/UserTest.java (original)
+++ wookie/trunk/connector/java/src-test/org/apache/wookie/tests/connector/framework/UserTest.java Mon Mar 11 12:23:06 2013
@@ -71,4 +71,13 @@ public class UserTest {
assertEquals("Thumbnail URL not correctly set", "", user.getThumbnailUrl());
}
+ @Test
+ public void testLocale(){
+ user.setLocale("en");
+ assertEquals("Locale not currectly set", "en", user.getLocale());
+
+ User localizedUser = new User("bob", "bob", null, null, "fr");
+ assertEquals("Locale not currectly set", "fr", localizedUser.getLocale());
+ }
+
}
Modified: wookie/trunk/connector/java/src-test/org/apache/wookie/tests/connector/framework/impl/WookieConnectorService.java
URL: http://svn.apache.org/viewvc/wookie/trunk/connector/java/src-test/org/apache/wookie/tests/connector/framework/impl/WookieConnectorService.java?rev=1455113&r1=1455112&r2=1455113&view=diff
==============================================================================
--- wookie/trunk/connector/java/src-test/org/apache/wookie/tests/connector/framework/impl/WookieConnectorService.java (original)
+++ wookie/trunk/connector/java/src-test/org/apache/wookie/tests/connector/framework/impl/WookieConnectorService.java Mon Mar 11 12:23:06 2013
@@ -87,6 +87,36 @@ public class WookieConnectorService {
}
+ @Test
+ public void upload() throws WookieConnectorException{
+ File widgetFile = new File ( "connector/java/src-test/org/apache/wookie/tests/connector/framework/impl/localetest.wgt" );
+ String adminUsername = "java";
+ String adminPassword = "java";
+ Widget uploadedWidget = service.postWidget(widgetFile, adminUsername, adminPassword);
+ assertNotNull ( "Widget value from postWidget is null", uploadedWidget);
+ String identifier = uploadedWidget.getIdentifier();
+ assertEquals("http://www.getwookie.org/widgets/localetest", identifier);
+ assertEquals("255", uploadedWidget.getWidth());
+ assertEquals("383", uploadedWidget.getHeight());
+ }
+
+ @Test
+ public void localization() throws IOException, WookieConnectorException{
+ WidgetInstance instance;
+
+ service.getCurrentUser().setLocale("fr");
+ instance = service.getOrCreateInstance("http://www.getwookie.org/widgets/localetest");
+ assertEquals("Widget instance has wrong locale", "tester les paramètres régionaux", instance.getTitle());
+ assertTrue("Widget instance has incorrect locale URL", instance.getUrl().contains("locales/fr"));
+
+ assertEquals("255", instance.getWidth());
+ assertEquals("383", instance.getHeight());
+
+ service.getCurrentUser().setLocale("en");
+ instance = service.getOrCreateInstance("http://www.getwookie.org/widgets/localetest");
+ assertEquals("Widget instance has wrong locale", "locale test", instance.getTitle());
+ assertTrue("Widget instance has incorrect locale URL", instance.getUrl().contains("locales/en"));
+ }
@Test
@@ -121,6 +151,14 @@ public class WookieConnectorService {
}
@Test
+ public void getOrCreateLocalizedInstance() throws WookieConnectorException, IOException {
+ service.getCurrentUser().setLocale("fr");
+ HashMap<String, Widget> widgets = service.getAvailableWidgets();
+ WidgetInstance instance = service.getOrCreateInstance((Widget)widgets.values().toArray()[0]);
+ assertNotNull("Retrieved widget instance is null", instance);
+ }
+
+ @Test
public void addParticipant() throws WookieConnectorException, IOException {
HashMap<String, Widget> widgets = service.getAvailableWidgets();
WidgetInstance instance = service.getOrCreateInstance((Widget)widgets.values().toArray()[0]);
Added: wookie/trunk/connector/java/src-test/org/apache/wookie/tests/connector/framework/impl/localetest.wgt
URL: http://svn.apache.org/viewvc/wookie/trunk/connector/java/src-test/org/apache/wookie/tests/connector/framework/impl/localetest.wgt?rev=1455113&view=auto
==============================================================================
Binary file - no diff available.
Propchange: wookie/trunk/connector/java/src-test/org/apache/wookie/tests/connector/framework/impl/localetest.wgt
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Modified: wookie/trunk/connector/java/src/org/apache/wookie/connector/framework/AbstractWookieConnectorService.java
URL: http://svn.apache.org/viewvc/wookie/trunk/connector/java/src/org/apache/wookie/connector/framework/AbstractWookieConnectorService.java?rev=1455113&r1=1455112&r2=1455113&view=diff
==============================================================================
--- wookie/trunk/connector/java/src/org/apache/wookie/connector/framework/AbstractWookieConnectorService.java (original)
+++ wookie/trunk/connector/java/src/org/apache/wookie/connector/framework/AbstractWookieConnectorService.java Mon Mar 11 12:23:06 2013
@@ -257,6 +257,14 @@ public abstract class AbstractWookieConn
postdata.append(URLEncoder.encode(getCurrentUser().getLoginName(),"UTF-8"));
postdata.append("&widgetid=");
postdata.append(URLEncoder.encode(guid, "UTF-8"));
+
+ //
+ // If the user has a preferred locale, add as a parameter to the request
+ //
+ if (getCurrentUser().getLocale()!= null){
+ postdata.append("&locale=");
+ postdata.append(URLEncoder.encode(getCurrentUser().getLocale(), "UTF-8"));
+ }
logger.debug("Making Wookie REST query using: " + postdata);
Modified: wookie/trunk/connector/java/src/org/apache/wookie/connector/framework/User.java
URL: http://svn.apache.org/viewvc/wookie/trunk/connector/java/src/org/apache/wookie/connector/framework/User.java?rev=1455113&r1=1455112&r2=1455113&view=diff
==============================================================================
--- wookie/trunk/connector/java/src/org/apache/wookie/connector/framework/User.java (original)
+++ wookie/trunk/connector/java/src/org/apache/wookie/connector/framework/User.java Mon Mar 11 12:23:06 2013
@@ -23,6 +23,11 @@ public class User {
private String thumbnailUrl = "";
private String role = null;
+ /*
+ * The preferred locale of the user, as a BCP-47 language tag
+ */
+ private String locale = null;
+
/**
* Create a new user.
*
@@ -61,6 +66,22 @@ public class User {
setThumbnailUrl(thumbnailUrl);
setRole(role);
}
+
+ /**
+ * Create a new user.
+ *
+ * @param loginName
+ * @param screenName
+ * @param thumbnailUrl
+ * @param isHost
+ */
+ public User(String loginName, String screenName, String thumbnailUrl, String role, String locale) {
+ setLoginName(loginName);
+ setScreenName(screenName);
+ setThumbnailUrl(thumbnailUrl);
+ setRole(role);
+ setLocale(locale);
+ }
/**
* Get the login name for this user.
@@ -133,4 +154,20 @@ public class User {
this.role = role;
}
+ /**
+ * @return the locale
+ */
+ public String getLocale() {
+ return locale;
+ }
+
+ /**
+ * @param locale the locale to set
+ */
+ public void setLocale(String locale) {
+ this.locale = locale;
+ }
+
+
+
}