public void load(SolrQueryRequest req, SolrQueryResponse rsp, ContentStream stream) throws Exception { parseAndLoadDocs(req, rsp, stream.getStream(), processor); } };
@Override public Reader getReader() throws IOException { return stream.getReader(); }
@Override public String getContentType() { return stream.getContentType(); } };
private void fillSingleContentStream(Collection<ContentStream> streams, HttpEntityEnclosingRequestBase postOrPut) throws IOException { // Single stream as body // Using a loop just to get the first one final ContentStream[] contentStream = new ContentStream[1]; for (ContentStream content : streams) { contentStream[0] = content; break; } Long size = contentStream[0].getSize(); postOrPut.setEntity(new InputStreamEntity(contentStream[0].getStream(), size == null ? -1 : size) { @Override public Header getContentType() { return new BasicHeader("Content-Type", contentStream[0].getContentType()); } @Override public boolean isRepeatable() { return false; } }); }
@Override public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throws IOException { // Show params rsp.add( "params", req.getParams().toNamedList() ); // Write the streams... if( req.getContentStreams() != null ) { ArrayList streams = new ArrayList(); // Cycle through each stream for( ContentStream content : req.getContentStreams() ) { NamedList<Object> stream = new SimpleOrderedMap<Object>(); stream.add( "name", content.getName() ); stream.add( "sourceInfo", content.getSourceInfo() ); stream.add( "size", content.getSize() ); stream.add( "contentType", content.getContentType() ); stream.add( "stream", IOUtils.toString( content.getStream() ) ); streams.add( stream ); } rsp.add( "streams", streams ); } rsp.add("context", req.getContext()); }
String contentType = content.getContentType(); if (contentType == null) { String name = content.getName(); if (name == null) { name = ""; content.getStream(), ContentType.parse(contentType), content.getName())));
/** * Read commands from request streams * * @param streams the streams * @param resp solr query response * @param singletonCommands , commands that cannot be repeated * @return parsed list of commands * @throws IOException if there is an error while parsing the stream */ public static List<CommandOperation> readCommands(Iterable<ContentStream> streams, NamedList resp, Set<String> singletonCommands) throws IOException { if (streams == null) { throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, "missing content stream"); } ArrayList<CommandOperation> ops = new ArrayList<>(); for (ContentStream stream : streams) { if ("application/javabin".equals(stream.getContentType())) { ops.addAll(parse(stream.getStream(), singletonCommands)); } else { ops.addAll(parse(stream.getReader(), singletonCommands)); } } List<Map> errList = CommandOperation.captureErrors(ops); if (!errList.isEmpty()) { resp.add(CommandOperation.ERR_MSGS, errList); return null; } return ops; }
String contentType = stream.getContentType(); partBytes = IOUtils.toByteArray(stream.getStream(), stream.getSize()); } catch (IOException e) { throw new LuxException (e);
public void load(SolrQueryRequest req, SolrQueryResponse rsp, ContentStream stream) throws Exception { errHeader = "XMLLoader: " + stream.getSourceInfo(); Reader reader = null; try { reader = stream.getReader(); if (XmlUpdateRequestHandler.log.isTraceEnabled()) { String body = IOUtils.toString(reader); XmlUpdateRequestHandler.log.trace("body", body); reader = new StringReader(body); } XMLStreamReader parser = inputFactory.createXMLStreamReader(reader); this.processUpdate(processor, parser); } catch (XMLStreamException e) { throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, e.getMessage(), e); } finally { IOUtils.closeQuietly(reader); } }
@Override protected long lengthOfData() throws IOException { return c.getSize(); }
@Override public String getName() { return stream.getName(); }
@Override public String getSourceInfo() { return stream.getSourceInfo(); }
errHeader = "ExtractingDocumentLoader: " + stream.getSourceInfo(); Parser parser = null; String streamType = req.getParams().get(ExtractingParams.STREAM_TYPE, null); metadata.add(ExtractingMetadataConstants.STREAM_NAME, stream.getName()); metadata.add(ExtractingMetadataConstants.STREAM_SOURCE_INFO, stream.getSourceInfo()); metadata.add(ExtractingMetadataConstants.STREAM_SIZE, String.valueOf(stream.getSize())); metadata.add(ExtractingMetadataConstants.STREAM_CONTENT_TYPE, stream.getContentType()); InputStream inputStream = null; try { inputStream = stream.getStream(); String xpathExpr = params.get(ExtractingParams.XPATH_EXPRESSION); boolean extractOnly = params.getBool(ExtractingParams.EXTRACT_ONLY, false); serializer.endDocument(); rsp.add(stream.getName(), writer.toString()); writer.close(); String[] names = metadata.names(); metadataNL.add(names[i], vals); rsp.add(stream.getName() + "_metadata", metadataNL);
if (streams != null) { for (ContentStream cs : streams) { if (cs.getName() == null) { hasNullStreamName = true; break; String contentType = content.getContentType(); if (contentType == null) { String name = content.getName(); if (name == null) { name = ""; content.getStream(), contentType, content.getName()))); postOrPut.setEntity(new InputStreamEntity(contentStream[0].getStream(), -1) { @Override public Header getContentType() { postOrPut.setEntity(new InputStreamEntity(contentStream[0].getStream(), -1) { @Override public Header getContentType() {
errHeader = "CSVLoader: input=" + stream.getSourceInfo(); Reader reader = null; try { reader = stream.getReader(); if (skipLines>0) { if (!(reader instanceof BufferedReader)) {
@Override public Long getSize() { return stream.getSize(); }
@Override public String getName() { return getDelegate().getName(); }
@Override public String getSourceInfo() { return getDelegate().getSourceInfo(); }
if(stream.getContentType() != null) { metadata.add(HttpHeaders.CONTENT_TYPE, stream.getContentType()); inputStream = stream.getStream(); metadata.add(ExtractingMetadataConstants.STREAM_NAME, stream.getName()); metadata.add(ExtractingMetadataConstants.STREAM_SOURCE_INFO, stream.getSourceInfo()); metadata.add(ExtractingMetadataConstants.STREAM_SIZE, String.valueOf(stream.getSize())); metadata.add(ExtractingMetadataConstants.STREAM_CONTENT_TYPE, stream.getContentType()); String charset = ContentStreamBase.getCharsetFromContentType(stream.getContentType()); if(charset != null){ metadata.add(HttpHeaders.CONTENT_ENCODING, charset); serializer.endDocument(); rsp.add(stream.getName(), writer.toString()); writer.close(); String[] names = metadata.names(); metadataNL.add(names[i], vals); rsp.add(stream.getName() + "_metadata", metadataNL);
parts.add(new PartBase(c.getName(), c.getContentType(), charSet, transferEncoding) { @Override post.setRequestEntity(new InputStreamRequestEntity(contentStream[0].getStream(), contentStream[0].getContentType()));