@Override public void write(SolrRequest request, OutputStream os) throws IOException { if (request instanceof UpdateRequest) { UpdateRequest updateRequest = (UpdateRequest) request; new JavaBinUpdateRequestCodec().marshal(updateRequest, os); } }
private void parseAndLoadDocs(SolrQueryRequest req, SolrQueryResponse rsp, InputStream stream, final UpdateRequestProcessor processor) throws IOException { UpdateRequest update = null; update = new JavaBinUpdateRequestCodec().unmarshal(stream, new JavaBinUpdateRequestCodec.StreamingDocumentHandler() { private AddUpdateCommand addCmd = null; public void document(SolrInputDocument document, UpdateRequest updateRequest) { if (addCmd == null) { addCmd = getAddCommand(updateRequest.getParams()); } addCmd.solrDoc = document; try { processor.processAdd(addCmd); addCmd.clear(); } catch (IOException e) { throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "ERROR adding document " + document); } } }); if (update.getDeleteById() != null) { delete(update.getDeleteById(), processor, true); } if (update.getDeleteQuery() != null) { delete(update.getDeleteQuery(), processor, false); } }
@Override public ContentWriter getContentWriter(SolrRequest req) { if (req instanceof UpdateRequest) { UpdateRequest updateRequest = (UpdateRequest) req; if (isEmpty(updateRequest)) return null; return new ContentWriter() { @Override public void write(OutputStream os) throws IOException { new JavaBinUpdateRequestCodec().marshal(updateRequest, os); } @Override public String getContentType() { return JAVABIN_MIME; } }; } else { return req.getContentWriter(JAVABIN_MIME); } }
NamedList params = solrParamsToNamedList(updateRequest.getParams()); if (updateRequest.getCommitWithin() != -1) { params.add("commitWithin", updateRequest.getCommitWithin());
List<SolrInputDocument> solrInputDocs = new ArrayList<SolrInputDocument>(); for (List<NamedList> n : doclist) { solrInputDocs.add(listToSolrInputDocument(n));
JavaBinUpdateRequestCodec codec = new JavaBinUpdateRequestCodec(); UpdateRequest req = codec.unmarshal(new ByteArrayInputStream(request.content().array()), null);
NamedList params = solrParamsToNamedList(updateRequest.getParams()); if (updateRequest.getCommitWithin() != -1) { params.add("commitWithin", updateRequest.getCommitWithin());
@Override public void write(OutputStream os) throws IOException { new JavaBinUpdateRequestCodec().marshal(updateRequest, os); }
NamedList params = solrParamsToNamedList(updateRequest.getParams()); if (updateRequest.getCommitWithin() != -1) { params.add("commitWithin", updateRequest.getCommitWithin());
@Override public void write(SolrRequest request, OutputStream os) throws IOException { if (request instanceof UpdateRequest) { UpdateRequest updateRequest = (UpdateRequest) request; new JavaBinUpdateRequestCodec().marshal(updateRequest, os); } }
public void write(SolrRequest request, OutputStream os) throws IOException { if (request instanceof UpdateRequest) { UpdateRequest updateRequest = (UpdateRequest) request; new JavaBinUpdateRequestCodec().marshal(updateRequest, os); } }/* * A hack to get access to the protected internal buffer and avoid an additional copy
public ContentStream getContentStream(final UpdateRequest request) throws IOException { final BAOS baos = new BAOS(); new JavaBinUpdateRequestCodec().marshal(request, baos); return new ContentStream() { public String getName() { return null; } public String getSourceInfo() { return "javabin"; } public String getContentType() { return "application/octet-stream"; } public Long getSize() // size if we know it, otherwise null { return new Long(baos.size()); } public InputStream getStream() throws IOException { return new ByteArrayInputStream(baos.getbuf(), 0, baos.size()); } public Reader getReader() throws IOException { throw new RuntimeException("No reader available . this is a binarystream"); } }; }
@Override public ContentStream getContentStream(final UpdateRequest request) throws IOException { final BAOS baos = new BAOS(); new JavaBinUpdateRequestCodec().marshal(request, baos);