Author: lindner
Date: Mon Mar 24 04:51:46 2008
New Revision: 640389
URL: http://svn.apache.org/viewvc?rev=640389&view=rev
Log:
Add enum support to jsoncontainer / add gender to xml state
Modified:
incubator/shindig/trunk/features/opensocial-0.7/jsonperson.js
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/XmlStateFileFetcher.java
incubator/shindig/trunk/javascript/samplecontainer/examples/SocialHelloWorld.xml
incubator/shindig/trunk/javascript/samplecontainer/state-basicfriendlist.xml
Modified: incubator/shindig/trunk/features/opensocial-0.7/jsonperson.js
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/features/opensocial-0.7/jsonperson.js?rev=640389&r1=640388&r2=640389&view=diff
==============================================================================
--- incubator/shindig/trunk/features/opensocial-0.7/jsonperson.js (original)
+++ incubator/shindig/trunk/features/opensocial-0.7/jsonperson.js Mon Mar 24
04:51:46 2008
@@ -41,11 +41,24 @@
opensocial.Organization);
JsonPerson.constructArrayObject(opt_params, "urls", opensocial.Url);
+ JsonPerson.constructEnum(opt_params, "gender");
+ JsonPerson.constructEnum(opt_params, "smoker");
+ JsonPerson.constructEnum(opt_params, "drinker");
+
opensocial.Person.call(this, opt_params, opt_params['isOwner'],
opt_params['isViewer']);
};
JsonPerson.inherits(opensocial.Person);
+// Converts the fieldName into an instance of a opensocial.Enum
+JsonPerson.constructEnum = function(map, fieldName) {
+ var fieldValue = map[fieldName];
+ if (fieldValue) {
+ map[fieldName] = new opensocial.Enum(fieldValue.key,
fieldValue.displayValue);
+ }
+}
+
+// Converts the fieldName into an instance of the specified object
JsonPerson.constructObject = function(map, fieldName, className) {
var fieldValue = map[fieldName];
if (fieldValue) {
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/XmlStateFileFetcher.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/XmlStateFileFetcher.java?rev=640389&r1=640388&r2=640389&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/XmlStateFileFetcher.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/XmlStateFileFetcher.java
Mon Mar 24 04:51:46 2008
@@ -9,6 +9,7 @@
import org.apache.shindig.social.opensocial.model.Name;
import org.apache.shindig.social.opensocial.model.Person;
import org.apache.shindig.social.opensocial.model.Phone;
+import org.apache.shindig.social.opensocial.model.Enum;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
@@ -229,6 +230,16 @@
phones.add(new Phone(turnEvil(phone), null));
person.setPhoneNumbers(phones);
}
+
+ Node genderItem = attributes.getNamedItem("gender");
+ if (genderItem != null) {
+ String gender = genderItem.getNodeValue();
+ if ("F".equals(gender)) {
+ person.setGender(new Enum<Enum.Gender>(Enum.Gender.FEMALE,
"Female"));
+ } else if ("M".equals(gender)) {
+ person.setGender(new Enum<Enum.Gender>(Enum.Gender.MALE, "Male"));
+ }
+ }
allPeople.put(id, person);
friendIdMap.put(id, getFriends(personNode));
Modified:
incubator/shindig/trunk/javascript/samplecontainer/examples/SocialHelloWorld.xml
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/javascript/samplecontainer/examples/SocialHelloWorld.xml?rev=640389&r1=640388&r2=640389&view=diff
==============================================================================
---
incubator/shindig/trunk/javascript/samplecontainer/examples/SocialHelloWorld.xml
(original)
+++
incubator/shindig/trunk/javascript/samplecontainer/examples/SocialHelloWorld.xml
Mon Mar 24 04:51:46 2008
@@ -73,15 +73,15 @@
if (count == 0) {
//continue;
}
-
+
html += '<div class="person">';
html += '<div class="bubble c' + count % numberOfStyles + '">' +
hellos[count % hellos.length];
- html += '<div class="name">' + allPeople[i].getDisplayName() + ' (' +
count + ')';
+ html += '<div class="name">' + allPeople[i].getDisplayName() + ' (' +
count + ') ' +
allPeople[i].getField(opensocial.Person.Field.GENDER).getDisplayValue();
html += '</div></div>';
- if (allPeople[i].getField('thumbnailUrl')
- && allPeople[i].getField('thumbnailUrl').indexOf('null') == -1) {
- html += '<img src="' + allPeople[i].getField('thumbnailUrl') +
'"/>';
+ if (allPeople[i].getField(opensocial.Person.Field.THUMBNAIL_URL)
+ &&
allPeople[i].getField(opensocial.Person.Field.THUMBNAIL_URL).indexOf('null') ==
-1) {
+ html += '<img src="' +
allPeople[i].getField(opensocial.Person.Field.THUMBNAIL_URL) + '"/>';
} else {
html += '<img
src="/gadgets/files/samplecontainer/examples/nophoto.gif"/>';
}
Modified:
incubator/shindig/trunk/javascript/samplecontainer/state-basicfriendlist.xml
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/javascript/samplecontainer/state-basicfriendlist.xml?rev=640389&r1=640388&r2=640389&view=diff
==============================================================================
---
incubator/shindig/trunk/javascript/samplecontainer/state-basicfriendlist.xml
(original)
+++
incubator/shindig/trunk/javascript/samplecontainer/state-basicfriendlist.xml
Mon Mar 24 04:51:46 2008
@@ -1,13 +1,13 @@
<container>
<people>
- <person id="john.doe" name="John Doe">
+ <person id="john.doe" name="John Doe" gender="M">
<friend>jane.doe</friend>
<friend>george.doe</friend>
</person>
- <person id="jane.doe" name="Jane Doe" phone="867-5309">
+ <person id="jane.doe" name="Jane Doe" phone="867-5309" gender="F">
<friend>john.doe</friend>
</person>
- <person id="george.doe" name="George Doe">
+ <person id="george.doe" name="George Doe" gender="M">
<friend>john.doe</friend>
</person>
</people>