Class: SolrLikeRackServer::ResponseWriterWrapper

Inherits:
Object
  • Object
show all
Defined in:
lib/solr_like_rack_server/response_writer_wrapper.rb

Instance Method Summary collapse

Instance Method Details

#requestObject

SolrQueryRequest



30
31
32
# File 'lib/solr_like_rack_server/response_writer_wrapper.rb', line 30

def request
  MySolrQueryRequest.new nil, MySolrParams.new
end

#response(data) ⇒ Object

SolrQueryResponse



35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/solr_like_rack_server/response_writer_wrapper.rb', line 35

def response data
  docList = SolrDocumentList.new
  data.each {|d|
    doc = SolrDocument.new
    d.each {|k,v| doc.setField k, v }
    docList.add doc
  }
  docList.setNumFound data.size
  docList.setStart 0
  docList.setMaxScore 1.0
  res = SolrQueryResponse.new
  res.add "response", docList
  res
end

#responseWriterObject



50
51
52
# File 'lib/solr_like_rack_server/response_writer_wrapper.rb', line 50

def responseWriter
  BinaryResponseWriter.new
end

#write(data) ⇒ Object



54
55
56
57
58
59
# File 'lib/solr_like_rack_server/response_writer_wrapper.rb', line 54

def write data
  outputStream = ByteArrayOutputStream.new
  responseWriter.write outputStream, request, response(data)
  byteArray = outputStream.toByteArray
  String.from_java_bytes byteArray
end