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/20 23:01:38 UTC

svn commit: r658429 - /incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/

Author: doll
Date: Tue May 20 14:01:38 2008
New Revision: 658429

URL: http://svn.apache.org/viewvc?rev=658429&view=rev
Log:
Fixed the DataAdapter to always return a collection type. The output still doesn't match the spec for json, so the tests are still commented out. 


Modified:
    incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/AbstractSocialEntityCollectionAdapter.java
    incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/ActivitiesServiceAdapter.java
    incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/DataServiceAdapter.java
    incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/RestServerCollectionAdapter.java
    incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/SocialApiProvider.java

Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/AbstractSocialEntityCollectionAdapter.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/AbstractSocialEntityCollectionAdapter.java?rev=658429&r1=658428&r2=658429&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/AbstractSocialEntityCollectionAdapter.java (original)
+++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/AbstractSocialEntityCollectionAdapter.java Tue May 20 14:01:38 2008
@@ -98,7 +98,7 @@
   }
 
   /**
-   * returns the format (jsoc or atom) from the RequestContext obj created by
+   * returns the format (json or atom) from the RequestContext obj created by
    * Abdera from the URL request.
    *
    * @param request the RequestContext obj from Abdera

Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/ActivitiesServiceAdapter.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/ActivitiesServiceAdapter.java?rev=658429&r1=658428&r2=658429&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/ActivitiesServiceAdapter.java (original)
+++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/ActivitiesServiceAdapter.java Tue May 20 14:01:38 2008
@@ -38,7 +38,6 @@
   // TODO get these from the config files like in feedserver
   private static final String TITLE = "Acitivity Collection title";
   private static final String AUTHOR = "TODO";
-  private static final String FRIENDS_INDICATOR = "@friends";
 
   @Inject
   public ActivitiesServiceAdapter(ActivitiesService activitiesService) {

Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/DataServiceAdapter.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/DataServiceAdapter.java?rev=658429&r1=658428&r2=658429&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/DataServiceAdapter.java (original)
+++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/DataServiceAdapter.java Tue May 20 14:01:38 2008
@@ -25,10 +25,8 @@
 
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.Date;
 
 /**
  * All "data" requests are processed here.
@@ -50,11 +48,21 @@
   /**
    * Handles the following URL
    *    /appdata/{uid}/@friends/{aid}
+   *    /appdata/{uid}/@self/{aid}
    */
   public ResponseContext getFeed(RequestContext request) {
     String uid = request.getTarget().getParameter("uid");
     String aid = request.getTarget().getParameter("aid");
-    List<String> ids = getFriendIds(request, uid);
+
+    List<String> ids;
+    // TODO: Should we query the path like this, or should we use two handlers
+    // like we do for people?
+    if (request.getTargetPath().contains(FRIENDS_INDICATOR)) {
+      ids = getFriendIds(request, uid);
+    } else {
+      ids = new ArrayList<String>();
+      ids.add(uid);
+    }
 
     Map<String, Map<String, String>> dataMap = dataService.getPersonData(ids,
         getKeys(request), getSecurityToken(request, uid)).getResponse();
@@ -68,24 +76,10 @@
   }
 
   /**
-   *  Handles the following URL
-   *    /appdata/{uid}/@self/{aid}
-   *  TODO: This is wrong. Getting data for @self is a collection too.
+   * Does not currently handle any urls.
    */
   public ResponseContext getEntry(RequestContext request) {
-    String uid = request.getTarget().getParameter("uid");
-    String appId = request.getTarget().getParameter("aid");
-
-    List<String> ids = new ArrayList<String>();
-    ids.add(uid);
-
-    Map<String, String> data = dataService.getPersonData(ids,
-        getKeys(request), getSecurityToken(request, uid)).getResponse().get(uid);
-
-    // TODO: how is entry id determined. check.
-    String entryId = request.getUri().toString();
-    return returnEntry(request, data == null ? new HashMap() : data,
-        entryId, new Date());
+    throw new UnsupportedOperationException();
   }
 
   private List<String> getKeys(RequestContext request) {

Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/RestServerCollectionAdapter.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/RestServerCollectionAdapter.java?rev=658429&r1=658428&r2=658429&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/RestServerCollectionAdapter.java (original)
+++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/RestServerCollectionAdapter.java Tue May 20 14:01:38 2008
@@ -54,6 +54,7 @@
 
   private static final String INVALID_FORMAT =
     "Invalid format. only atom/json are supported";
+  protected static final String FRIENDS_INDICATOR = "@friends";
 
   private enum Format {
     JSON("json"),

Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/SocialApiProvider.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/SocialApiProvider.java?rev=658429&r1=658428&r2=658429&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/SocialApiProvider.java (original)
+++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/SocialApiProvider.java Tue May 20 14:01:38 2008
@@ -79,7 +79,7 @@
 
          // AppData
         .addRoute(RequestUrlTemplate.APPDATA_OF_APP_OF_USER,
-            TargetType.TYPE_ENTRY, dataAdapter)
+            TargetType.TYPE_COLLECTION, dataAdapter)
         .addRoute(RequestUrlTemplate.APPDATA_OF_FRIENDS_OF_USER,
             TargetType.TYPE_COLLECTION, dataAdapter)
         ;