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");
+    }
+	
+}
 }