You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by yo...@apache.org on 2011/01/27 23:12:58 UTC
svn commit: r1064335 - in /lucene/dev/branches/branch_3x: ./ lucene/ solr/
solr/CHANGES.txt
solr/src/java/org/apache/solr/response/RawResponseWriter.java
Author: yonik
Date: Thu Jan 27 22:12:58 2011
New Revision: 1064335
URL: http://svn.apache.org/viewvc?rev=1064335&view=rev
Log:
SOLR-1283: Add ability for RawResponseWriter to stream binary files
Modified:
lucene/dev/branches/branch_3x/ (props changed)
lucene/dev/branches/branch_3x/lucene/ (props changed)
lucene/dev/branches/branch_3x/solr/ (props changed)
lucene/dev/branches/branch_3x/solr/CHANGES.txt
lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/response/RawResponseWriter.java
Modified: lucene/dev/branches/branch_3x/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/solr/CHANGES.txt?rev=1064335&r1=1064334&r2=1064335&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/solr/CHANGES.txt (original)
+++ lucene/dev/branches/branch_3x/solr/CHANGES.txt Thu Jan 27 22:12:58 2011
@@ -249,6 +249,9 @@ New Features
* SOLR-2325: Allow tagging and exlcusion of main query for faceting. (yonik)
+* SOLR-1283: Add ability for RawResponseWriter to stream binary files as well as
+ text files. (Eric Pugh via yonik)
+
Optimizations
----------------------
Modified: lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/response/RawResponseWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/response/RawResponseWriter.java?rev=1064335&r1=1064334&r2=1064335&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/response/RawResponseWriter.java (original)
+++ lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/response/RawResponseWriter.java Thu Jan 27 22:12:58 2011
@@ -18,6 +18,7 @@
package org.apache.solr.response;
import java.io.IOException;
+import java.io.OutputStream;
import java.io.Reader;
import java.io.Writer;
@@ -44,7 +45,7 @@ import org.apache.solr.request.SolrQuery
* @version $Id$
* @since solr 1.3
*/
-public class RawResponseWriter implements QueryResponseWriter
+public class RawResponseWriter implements BinaryQueryResponseWriter
{
/**
* The key that should be used to add a ContentStream to the
@@ -93,4 +94,24 @@ public class RawResponseWriter implement
getBaseWriter( request ).write( writer, request, response );
}
}
+
+public void write(OutputStream out, SolrQueryRequest request,
+ SolrQueryResponse response) throws IOException {
+ Object obj = response.getValues().get( CONTENT );
+ if( obj != null && (obj instanceof ContentStream ) ) {
+ // copy the contents to the writer...
+ ContentStream content = (ContentStream)obj;
+ java.io.InputStream in = content.getStream();
+ try {
+ IOUtils.copy( in, out );
+ } finally {
+ in.close();
+ }
+ }
+ else {
+ //getBaseWriter( request ).write( writer, request, response );
+ throw new IOException("did not find a CONTENT object");
+ }
+
+}
}