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);
>     }
>   }
>

Reply via email to