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/05/07 14:46:00 UTC
svn commit: r654083 - in
/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social:
opensocial/model/IdSpec.java opensocial/util/BeanXmlConverter.java
samplecontainer/BasicPeopleService.java
Author: doll
Date: Wed May 7 05:45:58 2008
New Revision: 654083
URL: http://svn.apache.org/viewvc?rev=654083&view=rev
Log:
SHINDIG-223 - slightly modified patch from Vincent Siveton. Changes BeanXmlConverter to use logging instead of System.err
SHINDIG-192 - modified patch from Ross Gardler. Avoids npe in BasicPeopleService when fetching friends for an unknown id.
Also added code to allow fetchPeople requests for a particular id to succeed. (Before, only an array of ids would work)
Modified:
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/IdSpec.java
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/util/BeanXmlConverter.java
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicPeopleService.java
Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/IdSpec.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/IdSpec.java?rev=654083&r1=654082&r2=654083&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/IdSpec.java (original)
+++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/IdSpec.java Wed May 7 05:45:58 2008
@@ -55,7 +55,16 @@
* @throws JSONException If the id spec isn't a valid json String array
*/
public List<String> fetchUserIds() throws JSONException {
- JSONArray userIdArray = new JSONArray(jsonSpec);
+ JSONArray userIdArray;
+ try {
+ userIdArray = new JSONArray(jsonSpec);
+ } catch (JSONException e) {
+ // If it isn't an array, treat it as a simple string
+ // TODO: This will go away with rest so we can remove this hack
+ List<String> list = new ArrayList<String>();
+ list.add(jsonSpec);
+ return list;
+ }
List<String> userIds = new ArrayList<String>(userIdArray.length());
for (int i = 0; i < userIdArray.length(); i++) {
Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/util/BeanXmlConverter.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/util/BeanXmlConverter.java?rev=654083&r1=654082&r2=654083&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/util/BeanXmlConverter.java (original)
+++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/util/BeanXmlConverter.java Wed May 7 05:45:58 2008
@@ -17,12 +17,14 @@
*/
package org.apache.shindig.social.opensocial.util;
+import org.apache.commons.betwixt.io.BeanWriter;
+import org.xml.sax.SAXException;
+
import java.beans.IntrospectionException;
import java.io.IOException;
import java.io.StringWriter;
+import java.util.logging.Level;
import java.util.logging.Logger;
-import org.apache.commons.betwixt.io.BeanWriter;
-import org.xml.sax.SAXException;
public class BeanXmlConverter {
private static Logger logger =
@@ -49,21 +51,21 @@
writer.write(className, obj);
toReturn = outputWriter.toString();
logger.finest("XML is: " + toReturn + "\n **** \n\n");
- } catch(SAXException e) {
- System.err.println(e);
- } catch(IOException e) {
- System.err.println(e);
- } catch(IntrospectionException e) {
- System.err.println(e);
- }
- try {
- if (writer != null) {
+ } catch (SAXException e) {
+ logger.log(Level.SEVERE, e.getMessage(), e);
+ } catch (IOException e) {
+ logger.log(Level.SEVERE, e.getMessage(), e);
+ } catch (IntrospectionException e) {
+ logger.log(Level.SEVERE, e.getMessage(), e);
+ } finally {
+ try {
writer.close();
+ } catch(IOException e) {
+ // ignore this exception. it won't matter
}
- } catch(IOException e) {
- // ignore this exception. it won't matter
}
+
return toReturn;
}
}
Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicPeopleService.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicPeopleService.java?rev=654083&r1=654082&r2=654083&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicPeopleService.java (original)
+++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicPeopleService.java Wed May 7 05:45:58 2008
@@ -111,10 +111,16 @@
ids.add(token.getViewerId());
break;
case OWNER_FRIENDS:
- ids.addAll(friendIds.get(token.getOwnerId()));
+ List<String> ownerFriends = friendIds.get(token.getOwnerId());
+ if (ownerFriends != null) {
+ ids.addAll(ownerFriends);
+ }
break;
case VIEWER_FRIENDS:
- ids.addAll(friendIds.get(token.getViewerId()));
+ List<String> viewerFriends = friendIds.get(token.getViewerId());
+ if (viewerFriends != null) {
+ ids.addAll(viewerFriends);
+ }
break;
case USER_IDS:
ids.addAll(idSpec.fetchUserIds());