Index: /extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/transverse/util/Tools.java
===================================================================
--- /extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/transverse/util/Tools.java (revision 10758)
+++ /extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/transverse/util/Tools.java (revision 10759)
@@ -11,4 +11,5 @@
import java.io.InputStreamReader;
import java.io.PrintWriter;
+import java.io.Reader;
import java.io.StringReader;
import java.io.StringWriter;
@@ -73,4 +74,22 @@
private static final Logger LOG = LoggerFactory.getLogger(CategoryServiceImpl.class);
+ // /**
+ // * Transformation of an inpustream into string.
+ // * useful to read the result of the webservice
+ // * @param input the stream
+ // * @return the string
+ // * @throws IOException
+ // */
+ // public static String readInputStreamAsString(InputStream input) throws IOException {
+ // StringWriter writer = new StringWriter();
+ // InputStreamReader streamReader = new InputStreamReader(input);
+ // BufferedReader buffer = new BufferedReader(streamReader);
+ // String line = "";
+ // while (null != (line = buffer.readLine())) {
+ // writer.write(line);
+ // }
+ // return writer.toString();
+ // }
+
/**
* Transformation of an inpustream into string.
@@ -80,13 +99,22 @@
* @throws IOException
*/
- public static String readInputStreamAsString(InputStream input) throws IOException {
- StringWriter writer = new StringWriter();
- InputStreamReader streamReader = new InputStreamReader(input);
- BufferedReader buffer = new BufferedReader(streamReader);
- String line = "";
- while (null != (line = buffer.readLine())) {
- writer.write(line);
- }
- return writer.toString();
+ public static String readInputStreamAsString(InputStream is) throws IOException {
+ if (is != null) {
+ Writer writer = new StringWriter();
+
+ char[] buffer = new char[1024];
+ try {
+ Reader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
+ int n;
+ while ((n = reader.read(buffer)) != -1) {
+ writer.write(buffer, 0, n);
+ }
+ } finally {
+ is.close();
+ }
+ return writer.toString();
+ } else {
+ return "";
+ }
}