- From: Jean-Guilhem Rouel via cvs-syncmail <cvsmail@w3.org>
- Date: Wed, 10 Sep 2008 10:10:42 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2006/unicorn/org/w3c/unicorn/request
In directory hutz:/tmp/cvs-serv7539/org/w3c/unicorn/request
Modified Files:
DirectRequestGET.java DirectRequestPOST.java Request.java
URIRequest.java UploadRequest.java
Log Message:
fixed a bug with special characters caused by a deprecated class (now using a StringBuilder)
Index: DirectRequestPOST.java
===================================================================
RCS file: /sources/public/2006/unicorn/org/w3c/unicorn/request/DirectRequestPOST.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- DirectRequestPOST.java 27 Aug 2008 12:09:45 -0000 1.7
+++ DirectRequestPOST.java 10 Sep 2008 10:10:40 -0000 1.8
@@ -175,21 +175,8 @@
this.aOutputStream.close();
InputStream is = aURLConnection.getInputStream();
- StringBuffer sb = new StringBuffer();
- BufferedReader br = new BufferedReader(new InputStreamReader(is));
- String s;
- while ((s = br.readLine()) != null) {
- sb.append(s + "\n");
- }
- br.close();
- this.setResponseBuffer(sb);
-
- StringBufferInputStream sbis = new StringBufferInputStream(sb.toString());
- Response aObservationResponse = ResponseParserFactory.parse(sbis,
- this.getResponseType());
- aObservationResponse.setXml(sb);
- return aObservationResponse;
+ return streamToResponse(is);
}
@Override
Index: DirectRequestGET.java
===================================================================
RCS file: /sources/public/2006/unicorn/org/w3c/unicorn/request/DirectRequestGET.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- DirectRequestGET.java 27 Aug 2008 12:09:45 -0000 1.5
+++ DirectRequestGET.java 10 Sep 2008 10:10:40 -0000 1.6
@@ -103,21 +103,8 @@
final URLConnection aURLConnection = aURL.openConnection();
aURLConnection.setRequestProperty("Accept-Language", this.sLang);
InputStream is = aURLConnection.getInputStream();
- StringBuffer sb = new StringBuffer();
-
- BufferedReader br = new BufferedReader(new InputStreamReader(is));
- String s;
- while ((s = br.readLine()) != null) {
- sb.append(s + "\n");
- }
- br.close();
- this.setResponseBuffer(sb);
-
- StringBufferInputStream sbis = new StringBufferInputStream(sb.toString());
- Response aObservationResponse = ResponseParserFactory.parse(sbis,
- this.getResponseType());
- aObservationResponse.setXml(sb);
- return aObservationResponse;
+
+ return streamToResponse(is);
}
@Override
Index: UploadRequest.java
===================================================================
RCS file: /sources/public/2006/unicorn/org/w3c/unicorn/request/UploadRequest.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- UploadRequest.java 27 Aug 2008 12:09:59 -0000 1.6
+++ UploadRequest.java 10 Sep 2008 10:10:40 -0000 1.7
@@ -124,22 +124,7 @@
final Response aObservationResponse;
InputStream is = this.aClientHttpRequest.post();
- StringBuffer sb = new StringBuffer();
-
- BufferedReader br = new BufferedReader(new InputStreamReader(is));
- String s;
- while ((s = br.readLine()) != null) {
- sb.append(s + "\n");
- }
- br.close();
- this.setResponseBuffer(sb);
-
- StringBufferInputStream sbis = new StringBufferInputStream(sb.toString());
-
- aObservationResponse = ResponseParserFactory.parse(sbis
- , this.getResponseType());
- aObservationResponse.setXml(sb);
- return aObservationResponse;
+ return streamToResponse(is);
}
@Override
Index: Request.java
===================================================================
RCS file: /sources/public/2006/unicorn/org/w3c/unicorn/request/Request.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- Request.java 27 Aug 2008 12:09:45 -0000 1.7
+++ Request.java 10 Sep 2008 10:10:40 -0000 1.8
@@ -6,11 +6,14 @@
import java.io.IOException;
import java.io.InputStream;
+import java.io.InputStreamReader;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.w3c.unicorn.contract.EnumInputMethod;
import org.w3c.unicorn.input.InputModule;
+import org.w3c.unicorn.response.Response;
+import org.w3c.unicorn.response.parser.ResponseParserFactory;
/**
*
@@ -23,10 +26,6 @@
protected static final Log logger = LogFactory
.getLog("org.w3c.unicorn.request");
- protected InputStream responseStream;
- protected StringBuffer responseBuffer;
-
-
/**
* Language of the request
*/
@@ -136,20 +135,19 @@
this.responseType = responseType;
}
- public InputStream getResponseStream() {
- return responseStream;
- }
-
- public void setResponseStream(InputStream is) {
- this.responseStream = is;
- }
-
- public StringBuffer getResponseBuffer() {
- return responseBuffer;
- }
-
- public void setResponseBuffer(StringBuffer sb) {
- this.responseBuffer = sb;
- }
+ protected Response streamToResponse(InputStream is) throws IOException {
+ StringBuilder builder = new StringBuilder();
+ InputStreamReader isr = new InputStreamReader(is);
+ char[] chararray = new char[8192];
+ int readLength = 0;
+ while((readLength = isr.read(chararray, 0, 8192)) > -1) {
+ builder.append(chararray, 0, readLength);
+ }
+
+ Response res = ResponseParserFactory.parse(builder.toString(),
+ this.getResponseType());
+ res.setXml(builder);
+ return res;
+ }
}
Index: URIRequest.java
===================================================================
RCS file: /sources/public/2006/unicorn/org/w3c/unicorn/request/URIRequest.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- URIRequest.java 27 Aug 2008 12:09:59 -0000 1.6
+++ URIRequest.java 10 Sep 2008 10:10:40 -0000 1.7
@@ -121,32 +121,8 @@
aURLConnection.setRequestProperty("Accept-Language", this.sLang);
InputStream is = aURLConnection.getInputStream();
- //System.out.println("mark supported : " + is.markSupported());
- //System.out.println("is class : " + is.getClass());
- setResponseStream(is);
-
- StringBuffer sb = new StringBuffer();
-
- BufferedReader br = new BufferedReader(new InputStreamReader(is));
- String s;
- while ((s = br.readLine()) != null) {
- sb.append(s + "\n");
- //System.out.println(s);
- }
- br.close();
- this.setResponseBuffer(sb);
-
- StringBufferInputStream sbis = new StringBufferInputStream(sb.toString());
- //System.out.println(sb.toString());
- //System.out.println("response stream set");
- //Response res = this.aResponseParser.parse(is);
- Response res = ResponseParserFactory.parse(sbis, this.getResponseType());
- res.setXml(sb);
- //Response res = null;
- //System.out.println("response created");
- //is.reset();
- return res;
+ return streamToResponse(is);
}
@Override
Received on Wednesday, 10 September 2008 10:11:17 UTC