Author: scottbw
Date: Tue Sep 20 09:41:35 2011
New Revision: 1173054

URL: http://svn.apache.org/viewvc?rev=1173054&view=rev
Log:
Implemented basic user thumbnail handling in Java connector framework (see 
WOOKIE-240)

Modified:
    
incubator/wookie/trunk/connector/java/src-test/org/apache/wookie/tests/connector/framework/UserTest.java
    
incubator/wookie/trunk/connector/java/src-test/org/apache/wookie/tests/connector/framework/impl/WookieConnectorService.java
    
incubator/wookie/trunk/connector/java/src/org/apache/wookie/connector/framework/AbstractWookieConnectorService.java
    
incubator/wookie/trunk/connector/java/src/org/apache/wookie/connector/framework/User.java

Modified: 
incubator/wookie/trunk/connector/java/src-test/org/apache/wookie/tests/connector/framework/UserTest.java
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/connector/java/src-test/org/apache/wookie/tests/connector/framework/UserTest.java?rev=1173054&r1=1173053&r2=1173054&view=diff
==============================================================================
--- 
incubator/wookie/trunk/connector/java/src-test/org/apache/wookie/tests/connector/framework/UserTest.java
 (original)
+++ 
incubator/wookie/trunk/connector/java/src-test/org/apache/wookie/tests/connector/framework/UserTest.java
 Tue Sep 20 09:41:35 2011
@@ -59,4 +59,16 @@ public class UserTest {
     assertEquals("Login name not correctly set", SCREEN_NAME, 
user.getScreenName());
   }
   
+  @Test
+  public void testSetThumbnailUrl(){
+    user.setThumbnailUrl(null);
+    assertEquals("Thumbnail URL not correctly set", "", 
user.getThumbnailUrl());
+    
+    user.setThumbnailUrl("http://foo.com/test.jpg";);
+    assertEquals("Thumbnail URL not correctly set", "http://foo.com/test.jpg";, 
user.getThumbnailUrl());
+    
+    user.setThumbnailUrl(null);
+    assertEquals("Thumbnail URL not correctly set", "", 
user.getThumbnailUrl());
+  }
+  
 }

Modified: 
incubator/wookie/trunk/connector/java/src-test/org/apache/wookie/tests/connector/framework/impl/WookieConnectorService.java
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/connector/java/src-test/org/apache/wookie/tests/connector/framework/impl/WookieConnectorService.java?rev=1173054&r1=1173053&r2=1173054&view=diff
==============================================================================
--- 
incubator/wookie/trunk/connector/java/src-test/org/apache/wookie/tests/connector/framework/impl/WookieConnectorService.java
 (original)
+++ 
incubator/wookie/trunk/connector/java/src-test/org/apache/wookie/tests/connector/framework/impl/WookieConnectorService.java
 Tue Sep 20 09:41:35 2011
@@ -72,4 +72,16 @@ public class WookieConnectorService {
     assertTrue("Wrong user returned", 
users[0].getLoginName().equals("testuser"));
     assertTrue("Wrong user returned", users[1].getLoginName().equals("test1"));
   }
+  
+  @Test
+  public void addParticipantWithThumbnailUrl() throws 
WookieConnectorException, IOException{
+    HashMap<String, Widget> widgets = service.getAvailableWidgets();
+    WidgetInstance instance = 
service.getOrCreateInstance((Widget)widgets.values().toArray()[0]);
+    assertNotNull("Retrieved widget instance is null", instance);    
+    User user = new User("thumbnailtestuser","thumbnail test 
user","http://bar.com/icon.png";);
+    service.addParticipant(instance, user);
+    User[] users = service.getUsers(instance);
+    user = users[users.length-1];
+    assertTrue("Incorrect thumbnail", 
user.getThumbnailUrl().equals("http://bar.com/icon.png";));
+  }
 }

Modified: 
incubator/wookie/trunk/connector/java/src/org/apache/wookie/connector/framework/AbstractWookieConnectorService.java
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/connector/java/src/org/apache/wookie/connector/framework/AbstractWookieConnectorService.java?rev=1173054&r1=1173053&r2=1173054&view=diff
==============================================================================
--- 
incubator/wookie/trunk/connector/java/src/org/apache/wookie/connector/framework/AbstractWookieConnectorService.java
 (original)
+++ 
incubator/wookie/trunk/connector/java/src/org/apache/wookie/connector/framework/AbstractWookieConnectorService.java
 Tue Sep 20 09:41:35 2011
@@ -324,8 +324,8 @@ public abstract class AbstractWookieConn
                Element participantEl = (Element) participantsList.item(idx);
                String id = participantEl.getAttribute("id");
                String name = participantEl.getAttribute("display_name");
-               //FIXME implement: String thumbnail = 
participantEl.getAttribute("thumbnail_url");
-               User user = new User(id,name);
+               String thumbnail = participantEl.getAttribute("thumbnail_url");
+               User user = new User(id,name, thumbnail);
                users[idx] = user;
              }
              return users;

Modified: 
incubator/wookie/trunk/connector/java/src/org/apache/wookie/connector/framework/User.java
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/connector/java/src/org/apache/wookie/connector/framework/User.java?rev=1173054&r1=1173053&r2=1173054&view=diff
==============================================================================
--- 
incubator/wookie/trunk/connector/java/src/org/apache/wookie/connector/framework/User.java
 (original)
+++ 
incubator/wookie/trunk/connector/java/src/org/apache/wookie/connector/framework/User.java
 Tue Sep 20 09:41:35 2011
@@ -20,6 +20,7 @@ package org.apache.wookie.connector.fram
 public class User {
   private String loginName = "UNKNOWN";
   private String screenName = "UNKNOWN";
+  private String thumbnailUrl = "";
   
   /**
    * Create a new user.
@@ -31,6 +32,18 @@ public class User {
     setLoginName(loginName);
     setScreenName(screenName);
   }
+  
+  /**
+   * Create a new user.
+   * 
+   * @param loginName
+   * @param screenName
+   */
+  public User(String loginName, String screenName, String thumbnailUrl) {
+    setLoginName(loginName);
+    setScreenName(screenName);
+    setThumbnailUrl(thumbnailUrl);
+  }
 
   /**
    * Get the login name for this user.
@@ -66,13 +79,26 @@ public class User {
   public void setScreenName(String screenName) {
     this.screenName = screenName;
   }
+  
+  /**
+   * Set the thumbnail URL for this user. This is the src value for an image 
used to represent the user
+   * @param thumbnailUrl
+   * 
+   * TODO validate the URL
+   */
+  public void setThumbnailUrl(String thumbnailUrl){
+    //
+    // Never set to null, only to an empty string
+    //
+    if (thumbnailUrl == null) thumbnailUrl = "";
+    this.thumbnailUrl = thumbnailUrl;
+  }
 
   /**
    * Get the URL for a thumbnail representing this user.
    * @return
    */
   public String getThumbnailUrl() {
-    // FIXME: manage user thumbnails
-    return "http://fixme.org/thumbnail";;
+    return this.thumbnailUrl;
   } 
 }


Reply via email to