@Override public void write(DocumentFile<MemoryType> df) throws IOException { df.setUploadDate(new Date()); files.add(copy(df)); df.getStream().close(); }
@Override public void process(LocalDocument doc) throws IOException { List<String> files = doc.getFileNames(); for (String fileName : files) { DocumentFile<Local> df = doc.getFile(fileName); File dir = new File(path + "/"); dir.mkdirs(); File file = null; if (prefix) { file = new File(path + "/" + doc.getContentField("id") + "_" + fileName); } else { file = new File(path + "/" + fileName); } file.createNewFile(); FileOutputStream fw = new FileOutputStream(file); InputStream in = df.getStream(); byte[] buffer = new byte[1024]; int len; while ((len = in.read(buffer)) != -1) { fw.write(buffer, 0, len); } fw.close(); } }
private DocumentFile<MemoryType> copy(DocumentFile<MemoryType> df) throws IOException { String s = IOUtils.toString(df.getStream(), df.getEncoding()); df.getStream().close(); df.setStream(IOUtils.toInputStream(s, df.getEncoding())); return new DocumentFile<MemoryType>(df.getDocumentId(), df.getFileName(), IOUtils.toInputStream(s, df.getEncoding()), df.getSavedByStage(), df.getUploadDate()); }
@Override public void process(LocalDocument doc) throws TikaException, SAXException, IOException { List<String> files = doc.getFileNames(); DocumentParserHelper documentParserHelper = new DocumentParserHelper(addMetaData, addLanguage); for (String fileName : files) { DocumentFile<Local> df = doc.getFile(fileName); String prefix = fileName.replace('.', '_') + "_"; InputStreamParser inputStreamParser = new InputStreamParser(parser); ParsedData parsedData = inputStreamParser.parse(df.getStream()); documentParserHelper.addParsedDataToDocument(parsedData, doc, prefix); } }
public void postDocuments(int numberToPost) throws JsonException, IOException, HttpException, URISyntaxException { RemotePipeline rp = new HttpRemotePipeline("insertStage"); for(int i=0; i<numberToPost; i++) { rp.saveFull(LocalDocumentFactory.getRandomStringDocument("in", "id")); RemotePipeline rp2 = new HttpRemotePipeline("fileAdder"); LocalDocument ld = rp2.getDocument(new LocalQuery()); File f = getFile(); FileInputStream fis = new FileInputStream(f); DocumentFile<Local> df = new DocumentFile<Local>(ld.getID(), f.getName(), fis); df.setEncoding(new InputStreamReader(df.getStream()).getEncoding()); df.setMimetype("application/msword"); rp2.saveFile(df); } }
documentfs.remove(qb.get()); GridFSInputFile input = documentfs.createFile(df.getStream(), df.getFileName()); input.put(DOCUMENT_KEY, df.getDocumentId().getID()); input.put(ENCODING_KEY, df.getEncoding());