You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by do...@apache.org on 2008/08/26 00:41:13 UTC

svn commit: r688911 - in /incubator/shindig/trunk: features/opensocial-current/ java/social-api/src/main/java/org/apache/shindig/social/core/model/ java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/ java/social-api/src/test/java/...

Author: doll
Date: Mon Aug 25 15:41:13 2008
New Revision: 688911

URL: http://svn.apache.org/viewvc?rev=688911&view=rev
Log:
0.8.1 change
url.address is now url.value. 



Modified:
    incubator/shindig/trunk/features/opensocial-current/jsonrpccontainer.js
    incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/PersonImpl.java
    incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/UrlImpl.java
    incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/Url.java
    incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulJsonPeopleTest.java
    incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/model/PersonTest.java
    incubator/shindig/trunk/javascript/sampledata/canonicaldb.json

Modified: incubator/shindig/trunk/features/opensocial-current/jsonrpccontainer.js
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/features/opensocial-current/jsonrpccontainer.js?rev=688911&r1=688910&r2=688911&view=diff
==============================================================================
--- incubator/shindig/trunk/features/opensocial-current/jsonrpccontainer.js (original)
+++ incubator/shindig/trunk/features/opensocial-current/jsonrpccontainer.js Mon Aug 25 15:41:13 2008
@@ -302,9 +302,24 @@
     serverJson.gender = {key : key, displayValue : serverJson.gender};
   }
 
+  this.translateUrlJson(serverJson.profileSong);
+  this.translateUrlJson(serverJson.profileVideo);
+
+  if (serverJson.urls) {
+    for (var u = 0; u < serverJson.urls.length; u++) {
+      this.translateUrlJson(serverJson.urls[p]);
+    }
+  }
+
   return new JsonPerson(serverJson);
 };
 
+JsonRpcContainer.prototype.translateUrlJson = function(urlJson) {
+  if (urlJson) {
+    urlJson.address = urlJson.value;
+  }
+}
+
 JsonRpcContainer.prototype.getFieldsList = function(keys) {
   // datarequest.js guarantees that keys is an array
   if (this.hasNoKeys(keys) || this.isWildcardKey(keys[0])) {

Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/PersonImpl.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/PersonImpl.java?rev=688911&r1=688910&r2=688911&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/PersonImpl.java (original)
+++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/PersonImpl.java Mon Aug 25 15:41:13 2008
@@ -582,46 +582,36 @@
   // Proxied fields
 
   public String getProfileUrl() {
-    Url url = getUrlWithType(PROFILE_URL_TYPE);
-    return url == null ? null : url.getAddress();
+    Url url = getListFieldWithType(PROFILE_URL_TYPE, getUrls());
+    return url == null ? null : url.getValue();
   }
 
   public void setProfileUrl(String profileUrl) {
-    Url url = getUrlWithType(PROFILE_URL_TYPE);
+    Url url = getListFieldWithType(PROFILE_URL_TYPE, getUrls());
     if (url != null) {
-      url.setAddress(profileUrl);
+      url.setValue(profileUrl);
     } else {
-      addUrl(new UrlImpl(profileUrl, null, PROFILE_URL_TYPE));
+      setUrls(addListField(new UrlImpl(profileUrl, null, PROFILE_URL_TYPE), getUrls()));
     }
   }
 
   public String getThumbnailUrl() {
-    ListField photo = getPhotoWithType(THUMBNAIL_PHOTO_TYPE);
+    ListField photo = getListFieldWithType(THUMBNAIL_PHOTO_TYPE, getPhotos());
     return photo == null ? null : photo.getValue();
   }
 
   public void setThumbnailUrl(String thumbnailUrl) {
-    ListField photo = getPhotoWithType(THUMBNAIL_PHOTO_TYPE);
+    ListField photo = getListFieldWithType(THUMBNAIL_PHOTO_TYPE, getPhotos());
     if (photo != null) {
       photo.setValue(thumbnailUrl);
     } else {
-      addPhoto(new ListFieldImpl(THUMBNAIL_PHOTO_TYPE, thumbnailUrl));
+      setPhotos(addListField(new ListFieldImpl(THUMBNAIL_PHOTO_TYPE, thumbnailUrl), getPhotos()));
     }
   }
 
-  // TODO: Generify these once they extend a common subclass
-  private void addUrl(Url url) {
-    List<Url> urls = getUrls();
-    if (urls == null) {
-      setUrls(Lists.<Url>newArrayList());
-    }
-    getUrls().add(url);
-  }
-
-  private Url getUrlWithType(String type) {
-    List<Url> urls = getUrls();
-    if (urls != null) {
-      for (Url url : urls) {
+  private <T extends ListField> T getListFieldWithType(String type, List<T> list) {
+    if (list != null) {
+      for (T url : list) {
         if (type.equalsIgnoreCase(url.getType())) {
           return url;
         }
@@ -631,24 +621,11 @@
     return null;
   }
 
-  private void addPhoto(ListField field) {
-    List<ListField> fields = getPhotos();
-    if (fields == null) {
-      setPhotos(Lists.<ListField>newArrayList());
-    }
-    getPhotos().add(field);
-  }
-
-  private ListField getPhotoWithType(String type) {
-    List<ListField> fields = getPhotos();
-    if (fields != null) {
-      for (ListField field : fields) {
-        if (type.equalsIgnoreCase(field.getType())) {
-          return field;
-        }
-      }
+  private <T extends ListField> List<T> addListField(T field, List<T> list) {
+    if (list == null) {
+      list = Lists.newArrayList();
     }
-
-    return null;
+    list.add(field);
+    return list;
   }
 }

Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/UrlImpl.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/UrlImpl.java?rev=688911&r1=688910&r2=688911&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/UrlImpl.java (original)
+++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/UrlImpl.java Mon Aug 25 15:41:13 2008
@@ -23,27 +23,14 @@
  * see
  * http://code.google.com/apis/opensocial/docs/0.7/reference/opensocial.Url.Field.html
  */
-public class UrlImpl implements Url {
-
-  private String address;
+public class UrlImpl extends ListFieldImpl implements Url {
   private String linkText;
-  private String type;
 
-  public UrlImpl() {
-  }
+  public UrlImpl() { }
 
-  public UrlImpl(String address, String linkText, String type) {
-    this.address = address;
+  public UrlImpl(String value, String linkText, String type) {
+    super(type, value);
     this.linkText = linkText;
-    this.type = type;
-  }
-
-  public String getAddress() {
-    return address;
-  }
-
-  public void setAddress(String address) {
-    this.address = address;
   }
 
   public String getLinkText() {
@@ -53,13 +40,4 @@
   public void setLinkText(String linkText) {
     this.linkText = linkText;
   }
-
-  public String getType() {
-    return type;
-  }
-
-  public void setType(String type) {
-    this.type = type;
-  }
-
 }

Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/Url.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/Url.java?rev=688911&r1=688910&r2=688911&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/Url.java (original)
+++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/Url.java Mon Aug 25 15:41:13 2008
@@ -23,10 +23,10 @@
 
 @ImplementedBy(UrlImpl.class)
 
-public interface Url {
+public interface Url extends ListField {
 
   public static enum Field {
-    ADDRESS("address"),
+    VALUE("value"),
     LINK_TEXT("linkText"),
     TYPE("type");
 
@@ -42,15 +42,7 @@
     }
   }
 
-  String getAddress();
-
-  void setAddress(String address);
-
   String getLinkText();
 
   void setLinkText(String linkText);
-
-  String getType();
-
-  void setType(String type);
 }

Modified: incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulJsonPeopleTest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulJsonPeopleTest.java?rev=688911&r1=688910&r2=688911&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulJsonPeopleTest.java (original)
+++ incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulJsonPeopleTest.java Mon Aug 25 15:41:13 2008
@@ -376,7 +376,7 @@
 
   private void assertUrlField(Url expected, JSONObject actual)
       throws JSONException {
-    assertStringField(actual, expected.getAddress(), Url.Field.ADDRESS);
+    assertStringField(actual, expected.getValue(), Url.Field.VALUE);
     assertStringField(actual, expected.getLinkText(), Url.Field.LINK_TEXT);
     assertStringField(actual, expected.getType(), Url.Field.TYPE);
   }

Modified: incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/model/PersonTest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/model/PersonTest.java?rev=688911&r1=688910&r2=688911&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/model/PersonTest.java (original)
+++ incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/model/PersonTest.java Mon Aug 25 15:41:13 2008
@@ -44,7 +44,7 @@
     person.setProfileUrl(address);
     assertEquals(address, person.getProfileUrl());
 
-    assertEquals(address, person.getUrls().get(0).getAddress());
+    assertEquals(address, person.getUrls().get(0).getValue());
     assertEquals(Person.PROFILE_URL_TYPE, person.getUrls().get(0).getType());
     assertEquals(null, person.getUrls().get(0).getLinkText());
 
@@ -53,7 +53,7 @@
     assertEquals(address, person.getProfileUrl());
 
     assertEquals(1, person.getUrls().size());
-    assertEquals(address, person.getUrls().get(0).getAddress());
+    assertEquals(address, person.getUrls().get(0).getValue());
   }
 
   public void testGetThumbnailUrl() throws Exception {

Modified: incubator/shindig/trunk/javascript/sampledata/canonicaldb.json
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/javascript/sampledata/canonicaldb.json?rev=688911&r1=688910&r2=688911&view=diff
==============================================================================
--- incubator/shindig/trunk/javascript/sampledata/canonicaldb.json (original)
+++ incubator/shindig/trunk/javascript/sampledata/canonicaldb.json Mon Aug 25 15:41:13 2008
@@ -130,13 +130,13 @@
 }],
 "politicalViews" : "open leaning",
 "profileSong" : {
-"address" : "http://www.example.org/songs/OnlyTheLonely.mp3",
+"value" : "http://www.example.org/songs/OnlyTheLonely.mp3",
 "linkText" : "Feelin' blue",
 "type" : "road"
 },
 "profileUrl" : "http://www.example.org/?id=1",
 "profileVideo" : {
-"address" : "http://www.example.org/videos/Thriller.flv",
+"value" : "http://www.example.org/videos/Thriller.flv",
 "linkText" : "Thriller",
 "type" : "video"
 },
@@ -173,11 +173,11 @@
 "turnOns" : ["well document code"],
 "tvShows" : ["House","Battlestar Galactica"],
 "urls" : [{
-"address" : "http://www.example.org/?id=1",
+"value" : "http://www.example.org/?id=1",
 "linkText" : "my profile",
 "type" : "Profile"
 },{
-"address" : "http://www.example.org/pic/?id=1",
+"value" : "http://www.example.org/pic/?id=1",
 "linkText" : "my awesome picture",
 "type" : "Thumbnail"
 }]