Author: lindner
Date: Fri Oct 31 16:32:19 2008
New Revision: 709600

URL: http://svn.apache.org/viewvc?rev=709600&view=rev
Log:
SHINDIG-665 Correctly set content type headers on RESTful output

Modified:
    
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanAtomConverter.java
    
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanJsonConverter.java
    
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanJsonLibConverter.java
    
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanXStreamConverter.java
    
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanXmlConverter.java
    
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/BeanConverter.java
    
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/DataServiceServlet.java
    
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/JsonRpcServlet.java
    
incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/AbstractLargeRestfulTests.java
    
incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/DataServiceServletTest.java
    
incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/JsonRpcServletTest.java

Modified: 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanAtomConverter.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanAtomConverter.java?rev=709600&r1=709599&r2=709600&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanAtomConverter.java
 (original)
+++ 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanAtomConverter.java
 Fri Oct 31 16:32:19 2008
@@ -36,6 +36,11 @@
   private static Logger logger =
       Logger.getLogger(BeanXmlConverter.class.getName());
 
+
+  public String getContentType() {
+    return "application/atom+xml";
+  }
+
   public String convertToString(Object pojo) {
     return convertToXml(pojo);
   }

Modified: 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanJsonConverter.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanJsonConverter.java?rev=709600&r1=709599&r2=709600&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanJsonConverter.java
 (original)
+++ 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanJsonConverter.java
 Fri Oct 31 16:32:19 2008
@@ -68,6 +68,10 @@
     this.injector = injector;
   }
 
+  public String getContentType() {
+    return "application/json";
+  }
+
   /**
    * Convert the passed in object to a string.
    *

Modified: 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanJsonLibConverter.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanJsonLibConverter.java?rev=709600&r1=709599&r2=709600&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanJsonLibConverter.java
 (original)
+++ 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanJsonLibConverter.java
 Fri Oct 31 16:32:19 2008
@@ -72,6 +72,10 @@
     this.jsonConfig = jsonConfig;
   }
 
+  public String getContentType() {
+    return "application/json";
+  }
+
   /**
    * Convert the json string into a pojo based on the supplied root class.
    * @param string the json string

Modified: 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanXStreamConverter.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanXStreamConverter.java?rev=709600&r1=709599&r2=709600&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanXStreamConverter.java
 (original)
+++ 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanXStreamConverter.java
 Fri Oct 31 16:32:19 2008
@@ -164,6 +164,10 @@
     mapConverter = new MapConverter(icmapper);
   }
 
+  public String getContentType() {
+    return "application/xml";
+  }
+
   public String convertToString(Object pojo) {
     return convertToXml(pojo);
   }

Modified: 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanXmlConverter.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanXmlConverter.java?rev=709600&r1=709599&r2=709600&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanXmlConverter.java
 (original)
+++ 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanXmlConverter.java
 Fri Oct 31 16:32:19 2008
@@ -35,6 +35,10 @@
   private static Logger logger =
       Logger.getLogger(BeanXmlConverter.class.getName());
 
+  public String getContentType() {
+    return "application/xml";
+  }
+
   public String convertToString(Object pojo) {
     return convertToXml(pojo);
   }

Modified: 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/BeanConverter.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/BeanConverter.java?rev=709600&r1=709599&r2=709600&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/BeanConverter.java
 (original)
+++ 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/BeanConverter.java
 Fri Oct 31 16:32:19 2008
@@ -21,4 +21,6 @@
   <T> T convertToObject(String string, Class<T> className);
 
   String convertToString(Object pojo);
+
+  String getContentType();
 }

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=709600&r1=709599&r2=709600&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
 Fri Oct 31 16:32:19 2008
@@ -101,6 +101,7 @@
     RestfulRequestItem requestItem = new RestfulRequestItem(servletRequest, 
token, converter);
     ResponseItem responseItem = getResponseItem(handleRequestItem(requestItem, 
servletRequest));
 
+    servletResponse.setContentType(converter.getContentType());
     if (responseItem.getError() == null) {
       PrintWriter writer = servletResponse.getWriter();
       Object response = responseItem.getResponse();

Modified: 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/JsonRpcServlet.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/JsonRpcServlet.java?rev=709600&r1=709599&r2=709600&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/JsonRpcServlet.java
 (original)
+++ 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/JsonRpcServlet.java
 Fri Oct 31 16:32:19 2008
@@ -72,6 +72,7 @@
     }
 
     setCharacterEncodings(servletRequest, servletResponse);
+    servletResponse.setContentType("application/json");
 
     try {
       String content = IOUtils.toString(servletRequest.getInputStream(),

Modified: 
incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/AbstractLargeRestfulTests.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/AbstractLargeRestfulTests.java?rev=709600&r1=709599&r2=709600&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/AbstractLargeRestfulTests.java
 (original)
+++ 
incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/AbstractLargeRestfulTests.java
 Fri Oct 31 16:32:19 2008
@@ -125,6 +125,7 @@
     PrintWriter writer = new PrintWriter(outputStream);
     EasyMock.expect(res.getWriter()).andReturn(writer);
     res.setCharacterEncoding("UTF-8");
+    res.setContentType("application/json");
 
     EasyMock.replay(req, res);
     servlet.service(req, res);

Modified: 
incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/DataServiceServletTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/DataServiceServletTest.java?rev=709600&r1=709599&r2=709600&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/DataServiceServletTest.java
 (original)
+++ 
incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/DataServiceServletTest.java
 Fri Oct 31 16:32:19 2008
@@ -72,6 +72,10 @@
     activityHandler = EasyMock.createMock(ActivityHandler.class);
     appDataHandler = EasyMock.createMock(AppDataHandler.class);
 
+    
EasyMock.expect(jsonConverter.getContentType()).andReturn("application/json");
+    
EasyMock.expect(xmlConverter.getContentType()).andReturn("application/xml");
+    
EasyMock.expect(atomConverter.getContentType()).andReturn("application/atom+xml");
+
     HandlerDispatcher dispatcher = new 
StandardHandlerDispatcher(constant(peopleHandler),
         constant(activityHandler), constant(appDataHandler));
     servlet.setHandlerDispatcher(dispatcher);
@@ -127,6 +131,7 @@
 
     res.sendError(500, "FAILED");
     res.setCharacterEncoding("UTF-8");
+    res.setContentType("application/json");
 
     EasyMock.replay(req, res, appDataHandler, jsonConverter);
     servlet.service(req, res);
@@ -156,11 +161,14 @@
     EasyMock.expect(res.getWriter()).andReturn(writerMock);
     writerMock.write(jsonObject);
     res.setCharacterEncoding("UTF-8");
+    res.setContentType("application/json");
 
     EasyMock.replay(req, res, handler, jsonConverter);
     servlet.service(req, res);
     EasyMock.verify(req, res, handler, jsonConverter);
     EasyMock.reset(req, res, handler, jsonConverter);
+    // ick, this resets for the next call...
+    
EasyMock.expect(jsonConverter.getContentType()).andReturn("application/json");
   }
 
   private void setupRequest(String pathInfo, String actualMethod, String 
overrideMethod)

Modified: 
incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/JsonRpcServletTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/JsonRpcServletTest.java?rev=709600&r1=709599&r2=709600&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/JsonRpcServletTest.java
 (original)
+++ 
incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/JsonRpcServletTest.java
 Fri Oct 31 16:32:19 2008
@@ -241,6 +241,7 @@
     
EasyMock.expect(req.getAttribute(EasyMock.isA(String.class))).andReturn(FAKE_GADGET_TOKEN);
     EasyMock.expect(req.getCharacterEncoding()).andStubReturn("UTF-8");
     res.setCharacterEncoding("UTF-8");
+    res.setContentType("application/json");
   }
 
 }


Reply via email to