On Tue, Aug 5, 2008 at 6:37 PM, <[EMAIL PROTECTED]> wrote:
> Author: doll
> Date: Tue Aug 5 18:37:37 2008
> New Revision: 683077
>
> URL: http://svn.apache.org/viewvc?rev=683077&view=rev
> Log:
> Instead of throwing runtime exceptions the DataServiceServlet more properly
> returns the correct ResponseError.
>
>
> Modified:
>
> incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/DataServiceServlet.java
>
> incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/DataServiceServletTest.java
>
> Modified:
> incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/DataServiceServlet.java
> URL:
> http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/DataServiceServlet.java?rev=683077&r1=683076&r2=683077&view=diff
> ==============================================================================
> ---
> incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/DataServiceServlet.java
> (original)
> +++
> incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/DataServiceServlet.java
> Tue Aug 5 18:37:37 2008
> @@ -22,8 +22,9 @@
> import org.apache.shindig.common.SecurityTokenException;
> import org.apache.shindig.common.servlet.InjectedServlet;
> import org.apache.shindig.common.servlet.ParameterFetcher;
> -import org.apache.shindig.social.ResponseItem;
> +import org.apache.shindig.common.util.ImmediateFuture;
> import org.apache.shindig.social.ResponseError;
> +import org.apache.shindig.social.ResponseItem;
>
> import com.google.common.collect.Maps;
> import com.google.inject.Inject;
> @@ -79,7 +80,7 @@
> }
>
> @Inject
> - public void setBeanConverters(@Named("bean.converter.json") BeanConverter
> jsonConverter,
> + public void setBeanConverters(@Named("bean.converter.json") BeanConverter
> jsonConverter,
> @Named("bean.converter.xml") BeanConverter xmlConverter) {
> this.jsonConverter = jsonConverter;
> this.xmlConverter = xmlConverter;
> @@ -119,20 +120,36 @@
> logger.finest("Handling restful request for " +
> servletRequest.getPathInfo());
>
> servletRequest.setCharacterEncoding("UTF-8");
> - SecurityToken token = getSecurityToken(servletRequest);
> +
> + SecurityToken token = null;
> + try {
> + // TODO: Integrate this with the oauth filter.
> + token = getSecurityToken(servletRequest);
> + } catch (SecurityTokenException e) {
> + sendError(servletResponse, new
> ResponseItem<Object>(ResponseError.UNAUTHORIZED,
> + "The security token was invalid", null));
I think you're missing a:
return;
here.
-- Adam Winer
> + }
> +
> BeanConverter converter = getConverterForRequest(servletRequest);
>
> if (isBatchUrl(servletRequest)) {
> try {
> handleBatchRequest(servletRequest, servletResponse, token, converter);
> } catch (JSONException e) {
> - throw new RuntimeException("Bad batch format", e);
> + sendError(servletResponse, new
> ResponseItem<Object>(ResponseError.BAD_REQUEST,
> + "The batch request had an invalid format.", null));
> }
> } else {
> handleSingleRequest(servletRequest, servletResponse, token, converter);
> }
> }
>