@@ -40,7 +40,6 @@ public class ResponseWriter {
4040 */
4141 private ResponseWriter () {}
4242
43-
4443 /**
4544 * Sets the specified responseMessage on the given <code>HttpServletResponse</code>.
4645 * This method assumes the <code>StatusType</code> is 'OK'.
@@ -56,17 +55,24 @@ public static void setServletResponse(String responseMessage,
5655 OutputType type = dataSourceParameters .getOutputType ();
5756 switch (type ) {
5857 case CSV :
59- setServletResponseCSV (responseMessage , dataSourceParameters , res );
58+ setServletResponseCSV (dataSourceParameters , res );
59+ writeServletResponse (responseMessage , res );
6060 break ;
6161 case TSV_EXCEL :
62- setServletResponseTSVExcel (responseMessage , dataSourceParameters , res );
62+ setServletResponseTSVExcel (dataSourceParameters , res );
63+ writeServletResponse (responseMessage , res , "UTF-16LE" , UTF_16LE_BOM );
6364 break ;
6465 case HTML :
65- setServletResponseHTML (responseMessage , res );
66+ setServletResponseHTML (res );
67+ writeServletResponse (responseMessage , res );
6668 break ;
6769 case JSONP :
70+ setServletResponseJSONP (res );
71+ writeServletResponse (responseMessage , res );
72+ break ;
6873 case JSON :
69- setServletResponseJSON (responseMessage , res );
74+ setServletResponseJSON (res );
75+ writeServletResponse (responseMessage , res );
7076 break ;
7177 default :
7278 // This should never happen.
@@ -85,8 +91,8 @@ public static void setServletResponse(String responseMessage,
8591 *
8692 * @throws IOException In case of a I/O error.
8793 */
88- private static void setServletResponseCSV (String responseMessage ,
89- DataSourceParameters dataSourceParameters , HttpServletResponse res ) throws IOException {
94+ static void setServletResponseCSV (DataSourceParameters dataSourceParameters ,
95+ HttpServletResponse res ) {
9096 res .setContentType ("text/csv; charset=UTF-8" );
9197 String outFileName = dataSourceParameters .getOutFileName ();
9298
@@ -95,8 +101,7 @@ private static void setServletResponseCSV(String responseMessage,
95101 outFileName = outFileName + ".csv" ;
96102 }
97103
98- res .setHeader ("content-disposition" , "attachment; filename=" + outFileName );
99- writeServletResponse (responseMessage , res );
104+ res .setHeader ("Content-Disposition" , "attachment; filename=" + outFileName );
100105 }
101106
102107 /**
@@ -109,12 +114,11 @@ private static void setServletResponseCSV(String responseMessage,
109114 *
110115 * @throws IOException In case of a I/O error.
111116 */
112- private static void setServletResponseTSVExcel (String responseMessage ,
113- DataSourceParameters dsParams , HttpServletResponse res ) throws IOException {
117+ static void setServletResponseTSVExcel (DataSourceParameters dsParams ,
118+ HttpServletResponse res ) {
114119 res .setContentType ("text/csv; charset=UTF-16LE" );
115120 String outFileName = dsParams .getOutFileName ();
116121 res .setHeader ("Content-Disposition" , "attachment; filename=" + outFileName );
117- writeServletResponse (responseMessage , res , "UTF-16LE" , UTF_16LE_BOM );
118122 }
119123
120124 /**
@@ -126,10 +130,21 @@ private static void setServletResponseTSVExcel(String responseMessage,
126130 *
127131 * @throws IOException In case of a I/O error.
128132 */
129- private static void setServletResponseHTML (String responseMessage , HttpServletResponse res )
130- throws IOException {
133+ static void setServletResponseHTML (HttpServletResponse res ) {
131134 res .setContentType ("text/html; charset=UTF-8" );
132- writeServletResponse (responseMessage , res );
135+ }
136+
137+ /**
138+ * Sets the HTTP servlet response for a JSONP output type.
139+ * This method assumes the <code>StatusType</code> is 'OK'.
140+ *
141+ * @param responseMessage The response char sequence.
142+ * @param res The HTTP response.
143+ *
144+ * @throws IOException In case of a I/O error.
145+ */
146+ static void setServletResponseJSONP (HttpServletResponse res ) {
147+ res .setContentType ("text/javascript; charset=UTF-8" );
133148 }
134149
135150 /**
@@ -141,10 +156,8 @@ private static void setServletResponseHTML(String responseMessage, HttpServletRe
141156 *
142157 * @throws IOException In case of a I/O error.
143158 */
144- private static void setServletResponseJSON (String responseMessage , HttpServletResponse res )
145- throws IOException {
146- res .setContentType ("text/plain; charset=UTF-8" );
147- writeServletResponse (responseMessage , res );
159+ static void setServletResponseJSON (HttpServletResponse res ) {
160+ res .setContentType ("application/json; charset=UTF-8" );
148161 }
149162
150163 /**
0 commit comments