Paul,
Thanks much appreciated,

and Adam,
Thanks a lot, much better :)
Ian

On 23 Jan 2009, at 22:27, Paul Lindner wrote:

sorry about that Ian..  Fixed.

Looks like the updated patch will take care of most of the issues that have surfaced.

On Jan 23, 2009, at 2:15 PM, Ian Boston wrote:

While your at it, could someone clean up the commit message?
Its not my patch, I only made small changes to the original patch to make it merge.
(Paul, tell me to do it if you think thats Ok)

I know this sounds incredibly lazy/cheeky on my part (sorry), but if you are going to take it on, could you address Kevin's comments on the JIRA. I had an uneasy feeling about this one when I was getting it to merge, but it felt like it was more important to support the functionality (my mistake)

Ian

(please say if you don't have time, I might have time in a few days)
On 23 Jan 2009, at 17:55, Adam Winer wrote:

Ah, got it. Paul, let me know if you're not planning on cleaning this
up today;  I'll take it on.

2009/1/23 Paul Lindner <[email protected]>:
This was defined as a blocker issue before the branch was cut.  The
supportedFields feature is in the 0.8.1 specification and it was
unimplemented until now.


On Jan 23, 2009, at 9:24 AM, Adam Winer wrote:

Why are we adding new features to the 1.0 branch?  Shouldn't it be
bug-fixes only?

-- Adam Winer


2009/1/22  <[email protected]>:

Author: lindner
Date: Thu Jan 22 13:06:02 2009
New Revision: 736793

URL: http://svn.apache.org/viewvc?rev=736793&view=rev
Log:
SHINDIG-560 | Modified Patch from Ian Boston | Add support for
@supportedFields, plus merge dependent patches for samples

Added:

incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/core/util/ContainerConf.java
- copied unchanged from r736787,
incubator/shindig/trunk/java/social-api/src/main/java/org/ apache/shindig/social/core/util/ContainerConf.java

incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/core/util/ JsonContainerConf.java
- copied unchanged from r736787,
incubator/shindig/trunk/java/social-api/src/main/java/org/ apache/shindig/social/core/util/JsonContainerConf.java
Modified:
incubator/shindig/branches/1.0.x-incubating/   (props changed)

incubator/shindig/branches/1.0.x-incubating/java/common/src/ test/java/org/apache/shindig/common/AllTests.java
(props changed)

incubator/shindig/branches/1.0.x-incubating/java/samples/src/ main/java/org/apache/shindig/social/opensocial/jpa/ ActivityDb.java

incubator/shindig/branches/1.0.x-incubating/java/samples/src/ main/java/org/apache/shindig/social/opensocial/jpa/PersonDb.java

incubator/shindig/branches/1.0.x-incubating/java/samples/src/ main/java/org/apache/shindig/social/opensocial/jpa/spi/ PersonServiceDb.java

incubator/shindig/branches/1.0.x-incubating/java/server/src/ test/java/org/apache/shindig/server/endtoend/EndToEndModule.java

incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/core/config/ SocialApiGuiceModule.java

incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/core/oauth/ OAuthConsumerRequestAuthenticationHandler.java

incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/opensocial/service/ ActivityHandler.java

incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/opensocial/service/ AppDataHandler.java

incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/opensocial/service/ DataRequestHandler.java

incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/opensocial/service/ PersonHandler.java

incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/opensocial/service/ RestfulRequestItem.java

incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/sample/service/ SampleContainerHandler.java

incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ test/java/org/apache/shindig/social/ SocialApiTestsGuiceModule.java

incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ test/java/org/apache/shindig/social/opensocial/service/ ActivityHandlerTest.java

incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ test/java/org/apache/shindig/social/opensocial/service/ AppDataHandlerTest.java

incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ test/java/org/apache/shindig/social/opensocial/service/ PersonHandlerTest.java

incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ test/java/org/apache/shindig/social/opensocial/spi/ DataRequestHandlerTest.java

incubator/shindig/branches/1.0.x-incubating/site/eclipse/ shindig-eclipse-codestyle_2.xml

incubator/shindig/branches/1.0.x-incubating/site/eclipse/ shindig-eclipse-codetemplate.xml

Propchange: incubator/shindig/branches/1.0.x-incubating/

------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jan 22 13:06:02 2009
@@ -1 +1 @@

-/incubator/shindig/trunk: 724511 -724522,724874,724915,724939,726597,727032 -727033,727048,733593,733596-733666,733865-733869,735094

+/incubator/shindig/trunk: 724511 -724522,724874,724915,724939,726597,727032 -727033,727048,727448,727515,733593,733596 -733666,733865-733869,735094,736777,736787

Propchange:
incubator/shindig/branches/1.0.x-incubating/java/common/src/ test/java/org/apache/shindig/common/AllTests.java

------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jan 22 13:06:02 2009
@@ -1 +1 @@

-/incubator/shindig/trunk/java/common/src/test/java/org/apache/ shindig/common/AllTests.java:733619-733666,733865-733869,735094

+/incubator/shindig/trunk/java/common/src/test/java/org/apache/ shindig/common/AllTests.java: 727448,727515,733619-733666,733865-733869,735094,736777,736787

Modified:
incubator/shindig/branches/1.0.x-incubating/java/samples/src/ main/java/org/apache/shindig/social/opensocial/jpa/ ActivityDb.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/branches/1.0.x-incubating/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/ActivityDb.java?rev=736793&r1=736792&r2=736793&view=diff

= = = = = = = = = = = = = =================================================================
---
incubator/shindig/branches/1.0.x-incubating/java/samples/src/ main/java/org/apache/shindig/social/opensocial/jpa/ ActivityDb.java
(original)
+++
incubator/shindig/branches/1.0.x-incubating/java/samples/src/ main/java/org/apache/shindig/social/opensocial/jpa/ ActivityDb.java
Thu Jan 22 13:06:02 2009
@@ -17,6 +17,8 @@
*/
package org.apache.shindig.social.opensocial.jpa;

+import com.google.common.collect.Lists;
+
import static javax.persistence.CascadeType.ALL;
import static javax.persistence.GenerationType.IDENTITY;


Modified:
incubator/shindig/branches/1.0.x-incubating/java/samples/src/ main/java/org/apache/shindig/social/opensocial/jpa/PersonDb.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/branches/1.0.x-incubating/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/PersonDb.java?rev=736793&r1=736792&r2=736793&view=diff

= = = = = = = = = = = = = =================================================================
---
incubator/shindig/branches/1.0.x-incubating/java/samples/src/ main/java/org/apache/shindig/social/opensocial/jpa/PersonDb.java
(original)
+++
incubator/shindig/branches/1.0.x-incubating/java/samples/src/ main/java/org/apache/shindig/social/opensocial/jpa/PersonDb.java
Thu Jan 22 13:06:02 2009
@@ -21,6 +21,8 @@

import static javax.persistence.GenerationType.IDENTITY;

+import com.google.common.collect.Lists;
+
import org.apache.shindig.social.opensocial.jpa.api.FilterCapability;
import org.apache.shindig.social.opensocial.jpa.api.DbObject;
import org.apache.shindig.social.opensocial.jpa.api.FilterSpecification;

Modified:
incubator/shindig/branches/1.0.x-incubating/java/samples/src/ main/java/org/apache/shindig/social/opensocial/jpa/spi/ PersonServiceDb.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/branches/1.0.x-incubating/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/spi/PersonServiceDb.java?rev=736793&r1=736792&r2=736793&view=diff

= = = = = = = = = = = = = =================================================================
---
incubator/shindig/branches/1.0.x-incubating/java/samples/src/ main/java/org/apache/shindig/social/opensocial/jpa/spi/ PersonServiceDb.java
(original)
+++
incubator/shindig/branches/1.0.x-incubating/java/samples/src/ main/java/org/apache/shindig/social/opensocial/jpa/spi/ PersonServiceDb.java
Thu Jan 22 13:06:02 2009
@@ -34,6 +34,8 @@
import org.apache.shindig.social.opensocial.spi.SocialSpiException;
import org.apache.shindig.social.opensocial.spi.UserId;

+import com.google.common.collect.Lists;
+import com.google.inject.Inject;
import java.util.List;
import java.util.Set;
import java.util.concurrent.Future;

Modified:
incubator/shindig/branches/1.0.x-incubating/java/server/src/ test/java/org/apache/shindig/server/endtoend/EndToEndModule.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/branches/1.0.x-incubating/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndModule.java?rev=736793&r1=736792&r2=736793&view=diff

= = = = = = = = = = = = = =================================================================
---
incubator/shindig/branches/1.0.x-incubating/java/server/src/ test/java/org/apache/shindig/server/endtoend/EndToEndModule.java
(original)
+++
incubator/shindig/branches/1.0.x-incubating/java/server/src/ test/java/org/apache/shindig/server/endtoend/EndToEndModule.java
Thu Jan 22 13:06:02 2009
@@ -26,6 +26,8 @@
import org.apache.shindig.social.core.util.BeanXStreamConverter;
import org.apache.shindig.social.core.util.BeanXmlConverter;
import org.apache.shindig.social.core.util.BeanAtomConverter;
+import org.apache.shindig.social.core.util.ContainerConf;
+import org.apache.shindig.social.core.util.JsonContainerConf;
import org.apache.shindig.social.opensocial.service.BeanConverter;
import
org .apache .shindig.social.opensocial.service.DataServiceServletFetcher;

@@ -60,5 +62,6 @@

bind(new TypeLiteral<List<AuthenticationHandler>>() {}).toProvider(
   AuthenticationHandlerProvider.class);
+    bind(ContainerConf.class).to(JsonContainerConf.class);
}
}

Modified:
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/core/config/ SocialApiGuiceModule.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/branches/1.0.x-incubating/java/social-api/src/main/java/org/apache/shindig/social/core/config/SocialApiGuiceModule.java?rev=736793&r1=736792&r2=736793&view=diff

= = = = = = = = = = = = = =================================================================
---
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/core/config/ SocialApiGuiceModule.java
(original)
+++
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/core/config/ SocialApiGuiceModule.java
Thu Jan 22 13:06:02 2009
@@ -25,6 +25,8 @@
import org.apache.shindig.social.core.util.BeanJsonConverter;
import org.apache.shindig.social.core.util.BeanXStreamAtomConverter;
import org.apache.shindig.social.core.util.BeanXStreamConverter;
+import org.apache.shindig.social.core.util.ContainerConf;
+import org.apache.shindig.social.core.util.JsonContainerConf;
import org.apache.shindig.social.opensocial.service.BeanConverter;
import
org .apache .shindig.social.opensocial.service.DataServiceServletFetcher;
import
org .apache .shindig.social.opensocial.service.StandardHandlerDispatcher;
@@ -50,7 +52,7 @@
/** {...@inheritdoc} */
@Override
protected void configure() {
-
bind (HandlerDispatcher .class).toProvider(HandlerDispatcherProvider.class);
+
bind (HandlerDispatcher .class).toProvider(HandlerDispatcherProvider.class);


bind (ParameterFetcher .class).annotatedWith(Names.named("DataServiceServlet"))
   .to(DataServiceServletFetcher.class);
@@ -71,6 +73,7 @@

bind(new TypeLiteral<List<AuthenticationHandler>>() {}).toProvider(
   AuthenticationHandlerProvider.class);
+    bind(ContainerConf.class).to(JsonContainerConf.class);
}

/**

Modified:
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/core/oauth/ OAuthConsumerRequestAuthenticationHandler.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/branches/1.0.x-incubating/java/social-api/src/main/java/org/apache/shindig/social/core/oauth/OAuthConsumerRequestAuthenticationHandler.java?rev=736793&r1=736792&r2=736793&view=diff

= = = = = = = = = = = = = =================================================================
---
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/core/oauth/ OAuthConsumerRequestAuthenticationHandler.java
(original)
+++
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/core/oauth/ OAuthConsumerRequestAuthenticationHandler.java
Thu Jan 22 13:06:02 2009
@@ -79,4 +79,4 @@
}
}

-}
\ No newline at end of file
+}

Modified:
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/opensocial/service/ ActivityHandler.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/branches/1.0.x-incubating/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/ActivityHandler.java?rev=736793&r1=736792&r2=736793&view=diff

= = = = = = = = = = = = = =================================================================
---
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/opensocial/service/ ActivityHandler.java
(original)
+++
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/opensocial/service/ ActivityHandler.java
Thu Jan 22 13:06:02 2009
@@ -17,10 +17,15 @@
*/
package org.apache.shindig.social.opensocial.service;

+import org.apache.shindig.social.core.util.ContainerConf;
import org.apache.shindig.social.opensocial.model.Activity;
import org.apache.shindig.social.opensocial.spi.ActivityService;
import org.apache.shindig.social.opensocial.spi.SocialSpiException;
import org.apache.shindig.social.opensocial.spi.UserId;
+import org.apache.shindig.common.ContainerConfigException;
+import org.apache.shindig.common.util.ImmediateFuture;
+import org.apache.shindig.social.opensocial.spi.RestfulCollection; +import org.apache.shindig.social.opensocial.spi.CollectionOptions;

import com.google.common.collect.Sets;
import com.google.inject.Inject;
@@ -28,15 +33,23 @@
import java.util.List;
import java.util.Set;
import java.util.concurrent.Future;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;

public class ActivityHandler extends DataRequestHandler {
+  private final static Logger logger =
Logger.getLogger(ActivityHandler.class.getName());
private final ActivityService service;

private static final String ACTIVITY_ID_PATH
 = "/activities/{userId}+/{groupId}/{appId}/{activityId}+";
+  private static final String ACTIVITY_SUP_FIELDS_REGEX =
"/activities/@supportedFields";
+  private static Pattern activityPatternSupFields =
Pattern.compile(ACTIVITY_SUP_FIELDS_REGEX);

@Inject
-  public ActivityHandler(ActivityService service) {
+  public ActivityHandler(ActivityService service, ContainerConf
containerConf) {
+    super(containerConf);
this.service = service;
}

@@ -103,6 +116,15 @@
@Override
protected Future<?> handleGet(RequestItem request)
 throws SocialSpiException {
+       if (isValidSupportedFieldsRestCall(request)) {
+         List<String> activityFieldsList = null;
+         try {
+               activityFieldsList =
containerConf.getActivityFieldsList();
+         } catch (ContainerConfigException e) {
+               logger.log(Level.SEVERE,"Not able to retrieve
ActivityFields from container.js",e);
+         }
+      return ImmediateFuture.newInstance(new
RestfulCollection<String>(activityFieldsList));
+    }
request.applyUrlTemplate(ACTIVITY_ID_PATH);

Set<UserId> userIds = request.getUsers();
@@ -131,5 +153,11 @@
// getSortBy(params), getFilterBy(params), getStartIndex(params),
getCount(params),
   request.getFields(), request.getToken());
}
-
+
+ private boolean isValidSupportedFieldsRestCall(RequestItem request) {
+    String url = ((RestfulRequestItem)request).getUrl();
+ Matcher supFieldsMatcher = activityPatternSupFields.matcher(url);
+    boolean isValidSupFieldsUrl = supFieldsMatcher.matches();
+    return isValidSupFieldsUrl;
+  }
}

Modified:
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/opensocial/service/ AppDataHandler.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/branches/1.0.x-incubating/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/AppDataHandler.java?rev=736793&r1=736792&r2=736793&view=diff

= = = = = = = = = = = = = =================================================================
---
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/opensocial/service/ AppDataHandler.java
(original)
+++
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/opensocial/service/ AppDataHandler.java
Thu Jan 22 13:06:02 2009
@@ -18,6 +18,7 @@
package org.apache.shindig.social.opensocial.service;

import org.apache.shindig.social.ResponseError;
+import org.apache.shindig.social.core.util.ContainerConf;
import org.apache.shindig.social.opensocial.spi.AppDataService;
import org.apache.shindig.social.opensocial.spi.SocialSpiException;
import org.apache.shindig.social.opensocial.spi.UserId;
@@ -36,7 +37,8 @@
private static final String APP_DATA_PATH =
"/appdata/{userId}+/{groupId}/{appId}";

@Inject
-  public AppDataHandler(AppDataService service) {
+  public AppDataHandler(AppDataService service, ContainerConf
containerConf) {
+    super(containerConf);
this.service = service;
}


Modified:
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/opensocial/service/ DataRequestHandler.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/branches/1.0.x-incubating/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/DataRequestHandler.java?rev=736793&r1=736792&r2=736793&view=diff

= = = = = = = = = = = = = =================================================================
---
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/opensocial/service/ DataRequestHandler.java
(original)
+++
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/opensocial/service/ DataRequestHandler.java
Thu Jan 22 13:06:02 2009
@@ -20,6 +20,7 @@
import org.apache.shindig.common.util.ImmediateFuture;
import org.apache.shindig.social.ResponseError;
import org.apache.shindig.social.opensocial.spi.SocialSpiException;
+import org.apache.shindig.social.core.util.ContainerConf;

import com.google.common.collect.ImmutableSet;

@@ -33,7 +34,16 @@
private static final Set<String> CREATE_SYNONYMS =
ImmutableSet.of("put", "create");
private static final Set<String> UPDATE_SYNONYMS =
ImmutableSet.of("post", "update");
private static final Set<String> DELETE_SYNONYMS =
ImmutableSet.of("delete");
-
+  protected ContainerConf containerConf;
+
+  /**
+   *
+   */
+
+  public DataRequestHandler(ContainerConf containerConf) {
+    this.containerConf = containerConf;
+  }
+
public Future<?> handleItem(RequestItem request) {
if (request.getOperation() == null) {
 return ImmediateFuture.errorInstance(new
SocialSpiException(ResponseError.NOT_IMPLEMENTED,

Modified:
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/opensocial/service/ PersonHandler.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/branches/1.0.x-incubating/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/PersonHandler.java?rev=736793&r1=736792&r2=736793&view=diff

= = = = = = = = = = = = = =================================================================
---
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/opensocial/service/ PersonHandler.java
(original)
+++
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/opensocial/service/ PersonHandler.java
Thu Jan 22 13:06:02 2009
@@ -17,7 +17,10 @@
*/
package org.apache.shindig.social.opensocial.service;

+import org.apache.shindig.common.ContainerConfigException;
+import org.apache.shindig.common.util.ImmediateFuture;
import org.apache.shindig.social.ResponseError;
+import org.apache.shindig.social.core.util.ContainerConf;
import org.apache.shindig.social.opensocial.model.Person;
import org.apache.shindig.social.opensocial.spi.CollectionOptions;
import org.apache.shindig.social.opensocial.spi.GroupId;
@@ -27,19 +30,25 @@

import com.google.common.collect.Sets;
import com.google.inject.Inject;
-
import java.util.Set;
import java.util.concurrent.Future;
+import java.util.logging.Logger;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;


public class PersonHandler extends DataRequestHandler {
-
+  private final static Logger logger =
Logger.getLogger(PersonHandler.class.getName());
private final PersonService personService;

private static final String PEOPLE_PATH =
"/people/{userId}+/{groupId}/{personId}+";
-
+  private static final String PEOPLE_SUP_FIELDS_REGEX =
"/people/@supportedFields";
+  private static Pattern peoplePatternSupFields =
Pattern.compile(PEOPLE_SUP_FIELDS_REGEX);
+  private Object personFields = null;
+
@Inject
-  public PersonHandler(PersonService personService) {
+ public PersonHandler(PersonService personService, ContainerConf
containerConf) {
+    super(containerConf);
this.personService = personService;
}

@@ -66,7 +75,20 @@
@Override
protected Future<?> handleGet(RequestItem request) throws
SocialSpiException {
request.applyUrlTemplate(PEOPLE_PATH);
-
+    if (request instanceof RestfulRequestItem) {
+         if (isValidSupportedFieldsRestCall(request)) {
+           if (personFields == null) {
+                 logger.fine("personFieldsList is null");
+                 try {
+ personFields = this.containerConf.getPersonFields();
+                 } catch (ContainerConfigException e) {
+ throw new SocialSpiException(ResponseError.INTERNAL_ERROR, + "Error trying to Supported Person Fields from
container.js", e);
+                 }
+               }
+           return ImmediateFuture.newInstance(personFields);
+         }
+    }
GroupId groupId = request.getGroup();
Set<String> optionalPersonId =
Sets.newLinkedHashSet(request.getListParameter("personId"));
Set<String> fields = request.getFields(Person.Field.DEFAULT_FIELDS);
@@ -106,4 +128,11 @@
// Every other case is a collection response.
return personService.getPeople(userIds, groupId, options, fields,
request.getToken());
}
+
+ private boolean isValidSupportedFieldsRestCall(RequestItem request) {
+    String url = ((RestfulRequestItem)request).getUrl();
+ Matcher supFieldsMatcher =peoplePatternSupFields.matcher(url);
+       boolean isValidSupFieldsUrl = supFieldsMatcher.matches();
+       return isValidSupFieldsUrl;
+  }
}

Modified:
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/opensocial/service/ RestfulRequestItem.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/branches/1.0.x-incubating/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/RestfulRequestItem.java?rev=736793&r1=736792&r2=736793&view=diff

= = = = = = = = = = = = = =================================================================
---
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/opensocial/service/ RestfulRequestItem.java
(original)
+++
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/opensocial/service/ RestfulRequestItem.java
Thu Jan 22 13:06:02 2009
@@ -244,4 +244,8 @@
}
return stringList;
}
+
+  public String getUrl() {
+    return this.url;
+  }
}

Modified:
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/sample/service/ SampleContainerHandler.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/branches/1.0.x-incubating/java/social-api/src/main/java/org/apache/shindig/social/sample/service/SampleContainerHandler.java?rev=736793&r1=736792&r2=736793&view=diff

= = = = = = = = = = = = = =================================================================
---
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/sample/service/ SampleContainerHandler.java
(original)
+++
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ main/java/org/apache/shindig/social/sample/service/ SampleContainerHandler.java
Thu Jan 22 13:06:02 2009
@@ -25,6 +25,7 @@
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.shindig.common.util.ImmediateFuture;
import org.apache.shindig.social.ResponseError;
+import org.apache.shindig.social.core.util.ContainerConf;
import org.apache.shindig.social.opensocial.service.DataRequestHandler;
import org.apache.shindig.social.opensocial.service.RequestItem;
import org.apache.shindig.social.opensocial.spi.SocialSpiException;
@@ -42,7 +43,8 @@
private static final String POST_PATH =
"/samplecontainer/{type}/{doevil}";

@Inject
- public SampleContainerHandler(JsonDbOpensocialService dbService) { + public SampleContainerHandler(JsonDbOpensocialService dbService,
ContainerConf containerConf) {
+    super(containerConf);
this.service = dbService;
}


Modified:
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ test/java/org/apache/shindig/social/ SocialApiTestsGuiceModule.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/branches/1.0.x-incubating/java/social-api/src/test/java/org/apache/shindig/social/SocialApiTestsGuiceModule.java?rev=736793&r1=736792&r2=736793&view=diff

= = = = = = = = = = = = = =================================================================
---
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ test/java/org/apache/shindig/social/ SocialApiTestsGuiceModule.java
(original)
+++
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ test/java/org/apache/shindig/social/ SocialApiTestsGuiceModule.java
Thu Jan 22 13:06:02 2009
@@ -22,6 +22,8 @@
import org.apache.shindig.social.core.util.BeanJsonConverter;
import org.apache.shindig.social.core.util.BeanXStreamConverter;
import org.apache.shindig.social.core.util.BeanXmlConverter;
+import org.apache.shindig.social.core.util.ContainerConf;
+import org.apache.shindig.social.core.util.JsonContainerConf;
import org.apache.shindig.social.opensocial.service.BeanConverter;
import
org .apache .shindig.social.opensocial.service.DataServiceServletFetcher;

@@ -45,6 +47,8 @@
   BeanXStreamConverter.class);

bind (BeanConverter .class ).annotatedWith(Names.named("shindig.bean.converter.json")).to(
   BeanJsonConverter.class);
+    bind(ContainerConf.class).to(JsonContainerConf.class);
+

}
}

Modified:
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ test/java/org/apache/shindig/social/opensocial/service/ ActivityHandlerTest.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/branches/1.0.x-incubating/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/ActivityHandlerTest.java?rev=736793&r1=736792&r2=736793&view=diff

= = = = = = = = = = = = = =================================================================
---
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ test/java/org/apache/shindig/social/opensocial/service/ ActivityHandlerTest.java
(original)
+++
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ test/java/org/apache/shindig/social/opensocial/service/ ActivityHandlerTest.java
Thu Jan 22 13:06:02 2009
@@ -25,6 +25,8 @@
import org.apache.shindig.social.EasyMockTestCase;
import org.apache.shindig.social.core.model.ActivityImpl;
import org.apache.shindig.social.core.util.BeanJsonConverter;
+import org.apache.shindig.social.core.util.ContainerConf;
+import org.apache.shindig.social.core.util.JsonContainerConf;
import org.apache.shindig.social.opensocial.model.Activity;
import org.apache.shindig.social.opensocial.spi.ActivityService;
import org.apache.shindig.social.opensocial.spi.GroupId;
@@ -58,8 +60,8 @@
token.setAppId("appId");
converter = EasyMock.createMock(BeanJsonConverter.class);
activityService = EasyMock.createMock(ActivityService.class);
-
-    handler = new ActivityHandler(activityService);
+    ContainerConf containerConf = new JsonContainerConf();
+ handler = new ActivityHandler(activityService, containerConf);
}

@Override

Modified:
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ test/java/org/apache/shindig/social/opensocial/service/ AppDataHandlerTest.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/branches/1.0.x-incubating/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/AppDataHandlerTest.java?rev=736793&r1=736792&r2=736793&view=diff

= = = = = = = = = = = = = =================================================================
---
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ test/java/org/apache/shindig/social/opensocial/service/ AppDataHandlerTest.java
(original)
+++
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ test/java/org/apache/shindig/social/opensocial/service/ AppDataHandlerTest.java
Thu Jan 22 13:06:02 2009
@@ -24,6 +24,8 @@
import org.apache.shindig.common.util.ImmediateFuture;
import org.apache.shindig.social.EasyMockTestCase;
import org.apache.shindig.social.core.util.BeanJsonConverter;
+import org.apache.shindig.social.core.util.ContainerConf;
+import org.apache.shindig.social.core.util.JsonContainerConf;
import org.apache.shindig.social.opensocial.spi.AppDataService;
import org.apache.shindig.social.opensocial.spi.DataCollection;
import org.apache.shindig.social.opensocial.spi.GroupId;
@@ -58,8 +60,8 @@
token = new FakeGadgetToken();
converter = EasyMock.createMock(BeanJsonConverter.class);
appDataService = EasyMock.createMock(AppDataService.class);
-
-    handler = new AppDataHandler(appDataService);
+    ContainerConf containerConf = new JsonContainerConf();
+    handler = new AppDataHandler(appDataService, containerConf);
}

@Override

Modified:
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ test/java/org/apache/shindig/social/opensocial/service/ PersonHandlerTest.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/branches/1.0.x-incubating/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/PersonHandlerTest.java?rev=736793&r1=736792&r2=736793&view=diff

= = = = = = = = = = = = = =================================================================
---
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ test/java/org/apache/shindig/social/opensocial/service/ PersonHandlerTest.java
(original)
+++
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ test/java/org/apache/shindig/social/opensocial/service/ PersonHandlerTest.java
Thu Jan 22 13:06:02 2009
@@ -22,6 +22,8 @@
import org.apache.shindig.social.EasyMockTestCase;
import org.apache.shindig.social.ResponseError;
import org.apache.shindig.social.core.model.PersonImpl;
+import org.apache.shindig.social.core.util.ContainerConf;
+import org.apache.shindig.social.core.util.JsonContainerConf;
import org.apache.shindig.social.opensocial.model.Person;
import org.apache.shindig.social.opensocial.spi.CollectionOptions;
import org.apache.shindig.social.opensocial.spi.GroupId;
@@ -70,8 +72,8 @@
protected void setUp() throws Exception {
token = new FakeGadgetToken();
personService = EasyMock.createMock(PersonService.class);
-
-    handler = new PersonHandler(personService);
+    ContainerConf containerConf = new JsonContainerConf();
+    handler = new PersonHandler(personService, containerConf);
}

@Override

Modified:
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ test/java/org/apache/shindig/social/opensocial/spi/ DataRequestHandlerTest.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/branches/1.0.x-incubating/java/social-api/src/test/java/org/apache/shindig/social/opensocial/spi/DataRequestHandlerTest.java?rev=736793&r1=736792&r2=736793&view=diff

= = = = = = = = = = = = = =================================================================
---
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ test/java/org/apache/shindig/social/opensocial/spi/ DataRequestHandlerTest.java
(original)
+++
incubator/shindig/branches/1.0.x-incubating/java/social-api/src/ test/java/org/apache/shindig/social/opensocial/spi/ DataRequestHandlerTest.java
Thu Jan 22 13:06:02 2009
@@ -21,6 +21,8 @@

import org.apache.shindig.common.util.ImmediateFuture;
import org.apache.shindig.social.ResponseError;
+import org.apache.shindig.social.core.util.ContainerConf;
+import org.apache.shindig.social.core.util.JsonContainerConf;
import org.apache.shindig.social.opensocial.service.DataRequestHandler;
import org.apache.shindig.social.opensocial.service.RequestItem;
import org.apache.shindig.social.opensocial.service.RestfulRequestItem;
@@ -34,7 +36,8 @@

@Override
protected void setUp() throws Exception {
-    drh = new DataRequestHandler() {
+    ContainerConf containerConf = new JsonContainerConf();
+    drh = new DataRequestHandler(containerConf) {
 protected Future<?> handleDelete(RequestItem request) {
   return ImmediateFuture.newInstance("DELETE");
 }








Reply via email to