Author: thorsten Date: Thu Jan 11 15:58:05 2007 New Revision: 495447 URL: http://svn.apache.org/viewvc?view=rev&rev=495447 Log: adding support for input stream to the postFile and changed the constructor to the stream. This enables support for cli environment since the source can now be cocoon.// based and not like before http:// only. We should consider to move this util methode to the forrest core. Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.output.solr/src/java/org/apache/forrest/http/client/PostFile.java Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.output.solr/src/java/org/apache/forrest/http/client/PostFile.java URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.output.solr/src/java/org/apache/forrest/http/client/PostFile.java?view=diff&rev=495447&r1=495446&r2=495447 ============================================================================== --- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.output.solr/src/java/org/apache/forrest/http/client/PostFile.java (original) +++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.output.solr/src/java/org/apache/forrest/http/client/PostFile.java Thu Jan 11 15:58:05 2007 @@ -23,52 +23,69 @@ private int statusCode; /** - * @param destinationUrl - the url of the server listener (e.g. servlet) - * @param srcUrl - the src url of the file to post + * @param destinationUrl - + * the url of the server listener (e.g. servlet) + * @param srcUrl - + * the src url of the file to post * @throws MalformedURLException * @throws IOException */ - public PostFile(String destinationUrl, String srcUrl) throws MalformedURLException, - IOException { + public PostFile(String destinationUrl, InputStream srcStream) + throws MalformedURLException, IOException { this.destinationUrl = destinationUrl; - this.srcUrl = srcUrl; client = new HttpClient(); - filePost = prepareFilePost(destinationUrl, srcUrl); + filePost = prepareFilePost(destinationUrl, srcStream); statusCode = client.executeMethod(filePost); } - - public void post(String destinationUrl, String srcUrl) throws MalformedURLException, IOException{ + + public void post(String destinationUrl, String srcUrl) + throws MalformedURLException, IOException { this.destinationUrl = destinationUrl; this.srcUrl = srcUrl; client = new HttpClient(); - filePost = prepareFilePost(destinationUrl, srcUrl); + filePost = prepareFilePost(destinationUrl, srcUrl); statusCode = client.executeMethod(filePost); } - public int statusCode(){ + + public int statusCode() { return statusCode; } - public String getResponseCharSet(){ + + public String getResponseCharSet() { return filePost.getResponseCharSet(); } - public String getResponseBodyAsString(){ + + public String getResponseBodyAsString() { return filePost.getResponseBodyAsString(); } - public InputStream getResponseBodyAsStream() - throws MalformedURLException, IOException { + + public InputStream getResponseBodyAsStream() throws MalformedURLException, + IOException { return filePost.getResponseBodyAsStream(); } - private PostMethod prepareFilePost(String solrBase, String src) + private PostMethod prepareFilePost(String solrBase, String srcUrl) + throws IOException, MalformedURLException { + PostMethod filePost = new PostMethod(solrBase); + filePost.addRequestHeader("Content-type", "text/xml; charset=utf-8"); + filePost.addRequestHeader("User-Agent", AGENT); + filePost.setRequestBody(new URL(srcUrl).openStream()); + return filePost; + } + + private PostMethod prepareFilePost(String solrBase, InputStream src) throws IOException, MalformedURLException { PostMethod filePost = new PostMethod(solrBase); filePost.addRequestHeader("Content-type", "text/xml; charset=utf-8"); filePost.addRequestHeader("User-Agent", AGENT); - filePost.setRequestBody(new URL(src).openStream()); + filePost.setRequestBody(src); return filePost; } + public String getsolrBase() { return destinationUrl; } + public String getSrc() { return srcUrl; }