Revision: 122
Author:
apij...@google.com
Date: Tue Dec 1 01:46:45 2009
Log: [No log message]
http://code.google.com/p/opensocial-java-client/source/detail?r=122
Added:
/branches/2009q4rewrite/java/src/org/opensocial/data
/branches/2009q4rewrite/java/src/org/opensocial/data/Activity.java
/branches/2009q4rewrite/java/src/org/opensocial/data/AppData.java
/branches/2009q4rewrite/java/src/org/opensocial/data/Model.java
/branches/2009q4rewrite/java/src/org/opensocial/data/Person.java
=======================================
--- /dev/null
+++ /branches/2009q4rewrite/java/src/org/opensocial/data/Activity.java Tue
Dec 1 01:46:45 2009
@@ -0,0 +1,32 @@
+package org.opensocial.models;
+
+public class Activity extends Model {
+
+ public String getId() {
+ return getFieldAsString("id");
+ }
+
+ public String getBody() {
+ return getFieldAsString("body");
+ }
+
+ public String getTitle() {
+ return getFieldAsString("title");
+ }
+
+ public String getTitleId() {
+ return getFieldAsString("titleId");
+ }
+
+ public void setBody(String body) {
+ put("body", body);
+ }
+
+ public void setTitle(String title) {
+ put("title", title);
+ }
+
+ public void setTitleId(String titleId) {
+ put("titleId", titleId);
+ }
+}
=======================================
--- /dev/null
+++ /branches/2009q4rewrite/java/src/org/opensocial/data/AppData.java Tue
Dec 1 01:46:45 2009
@@ -0,0 +1,25 @@
+package org.opensocial.models;
+
+import java.util.Map;
+import java.util.Set;
+
+public class AppData extends Model {
+
+ public String getDataForUser(String userId, String key) {
+ Map userData = getFieldAsMap(userId);
+ if (userData != null) {
+ return (String) userData.get(key);
+ }
+
+ return null;
+ }
+
+ public Set<String> getFieldNamesForUser(String userId) {
+ Map userData = getFieldAsMap(userId);
+ if (userData != null) {
+ return userData.keySet();
+ }
+
+ return null;
+ }
+}
=======================================
--- /dev/null
+++ /branches/2009q4rewrite/java/src/org/opensocial/data/Model.java Tue
Dec 1 01:46:45 2009
@@ -0,0 +1,63 @@
+package org.opensocial.models;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.json.simple.JSONArray;
+import org.json.simple.JSONObject;
+
+public class Model extends JSONObject {
+
+ public String[] getFieldNames() {
+ int i = 0;
+ String[] fieldNames = new String[size()];
+
+ Set<Map.Entry<String, Object>> fields = entrySet();
+ for (Map.Entry<String, Object> field : fields) {
+ fieldNames[i] = field.getKey();
+ i++;
+ }
+
+ return fieldNames;
+ }
+
+ public boolean hasField(String fieldName) {
+ return containsKey(fieldName);
+ }
+
+ public Object getField(String fieldName) {
+ return get(fieldName);
+ }
+
+ public Map getFieldAsMap(String fieldName) {
+ return (Map) get(fieldName);
+ }
+
+ public List getFieldAsList(String fieldName) {
+ return (List) get(fieldName);
+ }
+
+ public String getFieldAsString(String fieldName) {
+ return (String) get(fieldName);
+ }
+
+ public boolean isFieldMultikeyed(String fieldName) {
+ Object field = get(fieldName);
+ if (field.getClass().equals(String.class) ||
+ field.getClass().equals(JSONArray.class)) {
+ return false;
+ }
+
+ return true;
+ }
+
+ public boolean isFieldMultivalued(String fieldName) {
+ Object field = get(fieldName);
+ if (field.getClass().equals(JSONArray.class)) {
+ return true;
+ }
+
+ return false;
+ }
+}
=======================================
--- /dev/null
+++ /branches/2009q4rewrite/java/src/org/opensocial/data/Person.java Tue
Dec 1 01:46:45 2009
@@ -0,0 +1,43 @@
+package org.opensocial.models;
+
+import java.util.Map;
+
+public class Person extends Model {
+
+ public String getId() {
+ return (String) getField("id");
+ }
+
+ public String getDisplayName() {
+ StringBuilder name = new StringBuilder();
+
+ if (getField("displayName") != null) {
+ name.append(getField("displayName"));
+ } else if (getField("nickname") != null) {
+ name.append(getField("nickname"));
+ } else if (getField("name") != null) {
+ if (isFieldMultikeyed("name")) {
+ Map nameMap = getFieldAsMap("name");
+
+ if (nameMap.containsKey("givenName")) {
+ name.append(nameMap.get("givenName"));
+ }
+ if (nameMap.containsKey("givenName") &&
+ nameMap.containsKey("familyName")) {
+ name.append(" ");
+ }
+ if (nameMap.containsKey("familyName")) {
+ name.append(nameMap.get("familyName"));
+ }
+ } else {
+ name.append((String) getField("name"));
+ }
+ }
+
+ return name.toString();
+ }
+
+ public String getThumbnailUrl() {
+ return (String) getField("thumbnailUrl");
+ }
+}