diff --git a/tika-core/src/main/java/org/apache/tika/embedder/ExternalEmbedder.java b/tika-core/src/main/java/org/apache/tika/embedder/ExternalEmbedder.java index bc8331807d..b2411d7a89 100644 --- a/tika-core/src/main/java/org/apache/tika/embedder/ExternalEmbedder.java +++ b/tika-core/src/main/java/org/apache/tika/embedder/ExternalEmbedder.java @@ -404,7 +404,7 @@ public void embed(final Metadata metadata, final InputStream inputStream, process = Runtime.getRuntime().exec(cmd.toArray(new String[]{})); } - UnsynchronizedByteArrayOutputStream stdErrOutputStream = new UnsynchronizedByteArrayOutputStream(); + UnsynchronizedByteArrayOutputStream stdErrOutputStream = UnsynchronizedByteArrayOutputStream.builder().get(); try { sendStdErrToOutputStream(process, stdErrOutputStream); diff --git a/tika-core/src/main/java/org/apache/tika/pipes/PipesClient.java b/tika-core/src/main/java/org/apache/tika/pipes/PipesClient.java index 1e31473709..52e72df854 100644 --- a/tika-core/src/main/java/org/apache/tika/pipes/PipesClient.java +++ b/tika-core/src/main/java/org/apache/tika/pipes/PipesClient.java @@ -152,7 +152,7 @@ private PipesResult actuallyProcess(FetchEmitTuple t) throws InterruptedExceptio final PipesResult[] intermediateResult = new PipesResult[1]; FutureTask futureTask = new FutureTask<>(() -> { - UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream(); + UnsynchronizedByteArrayOutputStream bos = UnsynchronizedByteArrayOutputStream.builder().get(); try (ObjectOutputStream objectOutputStream = new ObjectOutputStream(bos)) { objectOutputStream.writeObject(t); } @@ -438,7 +438,7 @@ private void restart() throws IOException, InterruptedException, TimeoutExceptio output = new DataOutputStream(process.getOutputStream()); //wait for ready signal - final UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream(); + final UnsynchronizedByteArrayOutputStream bos = UnsynchronizedByteArrayOutputStream.builder().get(); FutureTask futureTask = new FutureTask<>(() -> { int b = input.read(); int read = 1; diff --git a/tika-core/src/main/java/org/apache/tika/pipes/PipesServer.java b/tika-core/src/main/java/org/apache/tika/pipes/PipesServer.java index 64d0d602e0..aea0def9cb 100644 --- a/tika-core/src/main/java/org/apache/tika/pipes/PipesServer.java +++ b/tika-core/src/main/java/org/apache/tika/pipes/PipesServer.java @@ -677,7 +677,7 @@ protected void initializeResources() throws TikaException, IOException, SAXExcep private void writeIntermediate(EmitKey emitKey, Metadata metadata) { try { - UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream(); + UnsynchronizedByteArrayOutputStream bos = UnsynchronizedByteArrayOutputStream.builder().get(); try (ObjectOutputStream objectOutputStream = new ObjectOutputStream(bos)) { objectOutputStream.writeObject(metadata); } @@ -690,7 +690,7 @@ private void writeIntermediate(EmitKey emitKey, Metadata metadata) { private void write(EmitData emitData) { try { - UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream(); + UnsynchronizedByteArrayOutputStream bos = UnsynchronizedByteArrayOutputStream.builder().get(); try (ObjectOutputStream objectOutputStream = new ObjectOutputStream(bos)) { objectOutputStream.writeObject(emitData); } diff --git a/tika-core/src/test/java/org/apache/tika/pipes/PipesServerTest.java b/tika-core/src/test/java/org/apache/tika/pipes/PipesServerTest.java index 53c784796f..e85f73ab27 100644 --- a/tika-core/src/test/java/org/apache/tika/pipes/PipesServerTest.java +++ b/tika-core/src/test/java/org/apache/tika/pipes/PipesServerTest.java @@ -59,7 +59,7 @@ public void testBasic(@TempDir Path tmp) throws Exception { PipesServer pipesServer = new PipesServer(tikaConfig, new UnsynchronizedByteArrayInputStream(new byte[0]), - new PrintStream(new UnsynchronizedByteArrayOutputStream(), true, + new PrintStream(UnsynchronizedByteArrayOutputStream.builder().get(), true, StandardCharsets.UTF_8.name()), -1, 30000, 30000); diff --git a/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/hdf/HDFParser.java b/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/hdf/HDFParser.java index 4102598f4b..f52ca857ba 100644 --- a/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/hdf/HDFParser.java +++ b/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/hdf/HDFParser.java @@ -79,7 +79,7 @@ public Set getSupportedTypes(ParseContext context) { */ public void parse(InputStream stream, ContentHandler handler, Metadata metadata, ParseContext context) throws IOException, SAXException, TikaException { - UnsynchronizedByteArrayOutputStream os = new UnsynchronizedByteArrayOutputStream(); + UnsynchronizedByteArrayOutputStream os = UnsynchronizedByteArrayOutputStream.builder().get(); IOUtils.copy(stream, os); String name = metadata.get(TikaCoreProperties.RESOURCE_NAME_KEY); diff --git a/tika-parsers/tika-parsers-ml/tika-parser-advancedmedia-module/src/main/java/org/apache/tika/parser/pot/PooledTimeSeriesParser.java b/tika-parsers/tika-parsers-ml/tika-parser-advancedmedia-module/src/main/java/org/apache/tika/parser/pot/PooledTimeSeriesParser.java index cfe37dbbb7..b4de9dc1dc 100644 --- a/tika-parsers/tika-parsers-ml/tika-parser-advancedmedia-module/src/main/java/org/apache/tika/parser/pot/PooledTimeSeriesParser.java +++ b/tika-parsers/tika-parsers-ml/tika-parser-advancedmedia-module/src/main/java/org/apache/tika/parser/pot/PooledTimeSeriesParser.java @@ -157,7 +157,7 @@ public void parse(InputStream stream, ContentHandler handler, Metadata metadata, private String computePoT(File input) throws IOException { CommandLine cmdLine = new CommandLine("pooled-time-series"); - try (UnsynchronizedByteArrayOutputStream outputStream = new UnsynchronizedByteArrayOutputStream()) { + try (UnsynchronizedByteArrayOutputStream outputStream = UnsynchronizedByteArrayOutputStream.builder().get()) { cmdLine.addArgument("-f"); cmdLine.addArgument(input.getAbsolutePath()); LOG.trace("Executing: {}", cmdLine); diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-mail-module/src/main/java/org/apache/tika/parser/mail/MailContentHandler.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-mail-module/src/main/java/org/apache/tika/parser/mail/MailContentHandler.java index fc1482fe50..8f064fc65e 100644 --- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-mail-module/src/main/java/org/apache/tika/parser/mail/MailContentHandler.java +++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-mail-module/src/main/java/org/apache/tika/parser/mail/MailContentHandler.java @@ -127,7 +127,7 @@ public void body(BodyDescriptor body, InputStream is) throws MimeException, IOEx //if we're in a multipart/alternative or any one of its children //add the bodypart to the latest that was added if (!extractAllAlternatives && alternativePartBuffer.size() > 0) { - UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream(); + UnsynchronizedByteArrayOutputStream bos = UnsynchronizedByteArrayOutputStream.builder().get(); IOUtils.copy(is, bos); alternativePartBuffer.peek().children.add(new BodyContents(submd, bos.toByteArray())); } else if (!extractAllAlternatives && parts.size() < 2) { @@ -135,7 +135,7 @@ public void body(BodyDescriptor body, InputStream is) throws MimeException, IOEx //and you're not in an alternative part block //and you're text/html, put that in the body of the email //otherwise treat as a regular attachment - UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream(); + UnsynchronizedByteArrayOutputStream bos = UnsynchronizedByteArrayOutputStream.builder().get(); IOUtils.copy(is, bos); final byte[] bytes = bos.toByteArray(); if (detectInlineTextOrHtml(submd, bytes)) { diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/extractor/microsoft/MSEmbeddedStreamTranslator.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/extractor/microsoft/MSEmbeddedStreamTranslator.java index 0a242ee7f7..95eb6260d7 100644 --- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/extractor/microsoft/MSEmbeddedStreamTranslator.java +++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/extractor/microsoft/MSEmbeddedStreamTranslator.java @@ -61,7 +61,7 @@ public boolean shouldTranslate(InputStream inputStream, Metadata metadata) throw public InputStream translate(InputStream inputStream, Metadata metadata) throws IOException { String contentType = metadata.get(org.apache.tika.metadata.HttpHeaders.CONTENT_TYPE); if ("application/vnd.openxmlformats-officedocument.oleObject".equals(contentType)) { - UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream(); + UnsynchronizedByteArrayOutputStream bos = UnsynchronizedByteArrayOutputStream.builder().get(); IOUtils.copy(inputStream, bos); POIFSFileSystem poifs = new POIFSFileSystem(bos.toInputStream()); OfficeParser.POIFSDocumentType type = OfficeParser.POIFSDocumentType.detectType(poifs); @@ -90,7 +90,7 @@ public InputStream translate(InputStream inputStream, Metadata metadata) throws tin.getOpenContainer() instanceof DirectoryEntry) { POIFSFileSystem fs = new POIFSFileSystem(); copy((DirectoryEntry) tin.getOpenContainer(), fs.getRoot()); - try (UnsynchronizedByteArrayOutputStream bos2 = new UnsynchronizedByteArrayOutputStream()) { + try (UnsynchronizedByteArrayOutputStream bos2 = UnsynchronizedByteArrayOutputStream.builder().get()) { fs.writeFilesystem(bos2); return bos2.toInputStream(); } diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/AbstractPOIFSExtractor.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/AbstractPOIFSExtractor.java index df4668eb88..db880b1ac8 100644 --- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/AbstractPOIFSExtractor.java +++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/AbstractPOIFSExtractor.java @@ -233,7 +233,7 @@ private void extractOCXName(DirectoryEntry dir, Metadata metadata) { if (!e.isDocumentEntry()) { return; } - UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream(); + UnsynchronizedByteArrayOutputStream bos = UnsynchronizedByteArrayOutputStream.builder().get(); try (DocumentInputStream dis = new DocumentInputStream((DocumentEntry) e)) { IOUtils.copy(dis, bos); } diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/chm/ChmExtractor.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/chm/ChmExtractor.java index abe44405a4..f63e0f30f2 100644 --- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/chm/ChmExtractor.java +++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/chm/ChmExtractor.java @@ -252,7 +252,7 @@ public List enumerateChm() { */ public byte[] extractChmEntry(DirectoryListingEntry directoryListingEntry) throws TikaException { - UnsynchronizedByteArrayOutputStream buffer = new UnsynchronizedByteArrayOutputStream(); + UnsynchronizedByteArrayOutputStream buffer = UnsynchronizedByteArrayOutputStream.builder().get(); ChmLzxBlock lzxBlock = null; try { /* UNCOMPRESSED type is easiest one */ diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/OneNoteLegacyDumpStrings.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/OneNoteLegacyDumpStrings.java index 35e4613ca4..d4d464dfae 100644 --- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/OneNoteLegacyDumpStrings.java +++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/OneNoteLegacyDumpStrings.java @@ -71,7 +71,7 @@ public void dump() throws TikaException, SAXException { private void dumpAscii() throws SAXException, TikaException { try { oneNoteDirectFileResource.position(0); - UnsynchronizedByteArrayOutputStream os = new UnsynchronizedByteArrayOutputStream(); + UnsynchronizedByteArrayOutputStream os = UnsynchronizedByteArrayOutputStream.builder().get(); long sz = oneNoteDirectFileResource.size(); long pos; while ((pos = oneNoteDirectFileResource.position()) != sz) { @@ -108,7 +108,7 @@ private void dumpAscii() throws SAXException, TikaException { private void dumpUtf16LE() throws SAXException, TikaException { try { oneNoteDirectFileResource.position(0); - UnsynchronizedByteArrayOutputStream os = new UnsynchronizedByteArrayOutputStream(); + UnsynchronizedByteArrayOutputStream os = UnsynchronizedByteArrayOutputStream.builder().get(); long sz = oneNoteDirectFileResource.size(); long bufSize = BUFFER_SIZE; // Make sure the buffer size is a multiple of 2. diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/rtf/RTFEmbObjHandler.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/rtf/RTFEmbObjHandler.java index 040e78eaed..e5e0c6cafc 100644 --- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/rtf/RTFEmbObjHandler.java +++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/rtf/RTFEmbObjHandler.java @@ -81,7 +81,7 @@ protected RTFEmbObjHandler(ContentHandler handler, Metadata metadata, ParseConte int memoryLimitInKb) { this.handler = handler; this.embeddedDocumentUtil = new EmbeddedDocumentUtil(context); - os = new UnsynchronizedByteArrayOutputStream(); + os = UnsynchronizedByteArrayOutputStream.builder().get(); this.memoryLimitInKb = memoryLimitInKb; } diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/rtf/RTFObjDataParser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/rtf/RTFObjDataParser.java index 871e37a911..f33a922d40 100644 --- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/rtf/RTFObjDataParser.java +++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/rtf/RTFObjDataParser.java @@ -155,7 +155,7 @@ private byte[] handleEmbeddedPOIFS(InputStream is, Metadata metadata, if (root.hasEntry("Package")) { Entry ooxml = root.getEntry("Package"); - UnsynchronizedByteArrayOutputStream out = new UnsynchronizedByteArrayOutputStream(); + UnsynchronizedByteArrayOutputStream out = UnsynchronizedByteArrayOutputStream.builder().get(); try (BoundedInputStream bis = new BoundedInputStream(memoryLimitInKb * 1024, new DocumentInputStream((DocumentEntry) ooxml))) { IOUtils.copy(bis, out); @@ -191,7 +191,7 @@ private byte[] handleEmbeddedPOIFS(InputStream is, Metadata metadata, } } else { - UnsynchronizedByteArrayOutputStream out = new UnsynchronizedByteArrayOutputStream(); + UnsynchronizedByteArrayOutputStream out = UnsynchronizedByteArrayOutputStream.builder().get(); is.reset(); BoundedInputStream bis = new BoundedInputStream(memoryLimitInKb * 1024, is); IOUtils.copy(is, out); diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/image/ImageGraphicsEngine.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/image/ImageGraphicsEngine.java index b0e6e26bba..7a441e3fc3 100644 --- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/image/ImageGraphicsEngine.java +++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/image/ImageGraphicsEngine.java @@ -410,7 +410,7 @@ protected void processImage(PDImage pdImage, int imageNumber) } if (embeddedDocumentExtractor.shouldParseEmbedded(metadata)) { - UnsynchronizedByteArrayOutputStream buffer = new UnsynchronizedByteArrayOutputStream(); + UnsynchronizedByteArrayOutputStream buffer = UnsynchronizedByteArrayOutputStream.builder().get(); if (pdImage instanceof PDImageXObject) { //extract the metadata contained outside of the image PDMetadataExtractor diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pkg-module/src/main/java/org/apache/tika/detect/gzip/GZipSpecializationDetector.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pkg-module/src/main/java/org/apache/tika/detect/gzip/GZipSpecializationDetector.java index e3d743ad3d..8618df45ea 100644 --- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pkg-module/src/main/java/org/apache/tika/detect/gzip/GZipSpecializationDetector.java +++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pkg-module/src/main/java/org/apache/tika/detect/gzip/GZipSpecializationDetector.java @@ -60,7 +60,7 @@ public MediaType detect(InputStream input, Metadata metadata) throws IOException private MediaType detectSpecialization(InputStream input, Metadata metadata) throws IOException { int buffSize = 1024; - UnsynchronizedByteArrayOutputStream gzippedBytes = new UnsynchronizedByteArrayOutputStream(); + UnsynchronizedByteArrayOutputStream gzippedBytes = UnsynchronizedByteArrayOutputStream.builder().get(); try { IOUtils.copyRange(input, buffSize, gzippedBytes); } catch (IOException e) { @@ -68,7 +68,7 @@ private MediaType detectSpecialization(InputStream input, Metadata metadata) thr } finally { input.reset(); } - UnsynchronizedByteArrayOutputStream bytes = new UnsynchronizedByteArrayOutputStream(); + UnsynchronizedByteArrayOutputStream bytes = UnsynchronizedByteArrayOutputStream.builder().get(); try (InputStream is = new GzipCompressorInputStream(new UnsynchronizedByteArrayInputStream(gzippedBytes.toByteArray()))) { int c = is.read(); diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-xmp-commons/src/main/java/org/apache/tika/parser/xmp/JempboxExtractor.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-xmp-commons/src/main/java/org/apache/tika/parser/xmp/JempboxExtractor.java index 6f791b3d57..f2c19992ad 100644 --- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-xmp-commons/src/main/java/org/apache/tika/parser/xmp/JempboxExtractor.java +++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-xmp-commons/src/main/java/org/apache/tika/parser/xmp/JempboxExtractor.java @@ -220,7 +220,7 @@ public static void setMaxXMPMMHistory(int maxEvents) { } public void parse(InputStream file) throws IOException, TikaException { - UnsynchronizedByteArrayOutputStream xmpraw = new UnsynchronizedByteArrayOutputStream(); + UnsynchronizedByteArrayOutputStream xmpraw = UnsynchronizedByteArrayOutputStream.builder().get(); if (!scanner.parse(file, xmpraw)) { return; } diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/OpenDocumentDetector.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/OpenDocumentDetector.java index a287c4b0b9..23e00a83f8 100644 --- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/OpenDocumentDetector.java +++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/OpenDocumentDetector.java @@ -57,7 +57,7 @@ public MediaType streamingDetectUpdate(ZipArchiveEntry zae, InputStream zis, if ("mimetype".equals(name)) { //can't rely on zae.getSize to determine if there is any //content here. :( - UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream(); + UnsynchronizedByteArrayOutputStream bos = UnsynchronizedByteArrayOutputStream.builder().get(); BoundedInputStream bis = new BoundedInputStream(MAX_MIME_TYPE, zis); IOUtils.copy(bis, bos); //do anything with an inputstream > MAX_MIME_TYPE? diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/StarOfficeDetector.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/StarOfficeDetector.java index 028f6f3b31..cec9ce5e5f 100644 --- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/StarOfficeDetector.java +++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/StarOfficeDetector.java @@ -91,7 +91,7 @@ public MediaType streamingDetectUpdate(ZipArchiveEntry zae, InputStream zis, //"as is" can cause the iteration of the entries to stop early //without exception or warning. So, copy the full stream, then //process. TIKA-3061 - UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream(); + UnsynchronizedByteArrayOutputStream bos = UnsynchronizedByteArrayOutputStream.builder().get(); BoundedInputStream bis = new BoundedInputStream(MAX_MANIFEST, zis); IOUtils.copy(bis, bos); diff --git a/tika-pipes/tika-emitters/tika-emitter-az-blob/src/main/java/org/apache/tika/pipes/emitter/azblob/AZBlobEmitter.java b/tika-pipes/tika-emitters/tika-emitter-az-blob/src/main/java/org/apache/tika/pipes/emitter/azblob/AZBlobEmitter.java index 83c18e3c44..180bc204a0 100644 --- a/tika-pipes/tika-emitters/tika-emitter-az-blob/src/main/java/org/apache/tika/pipes/emitter/azblob/AZBlobEmitter.java +++ b/tika-pipes/tika-emitters/tika-emitter-az-blob/src/main/java/org/apache/tika/pipes/emitter/azblob/AZBlobEmitter.java @@ -87,7 +87,7 @@ public void emit(String emitKey, List metadataList) } //TODO: estimate size of metadata list. Above a certain size, //create a temp file? - UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream(); + UnsynchronizedByteArrayOutputStream bos = UnsynchronizedByteArrayOutputStream.builder().get(); try (Writer writer = new OutputStreamWriter(bos, StandardCharsets.UTF_8)) { JsonMetadataList.toJson(metadataList, writer); } catch (IOException e) { @@ -126,7 +126,7 @@ public void emit(String path, InputStream is, Metadata userMetadata) LOGGER.debug("relying on the content-length set in the metadata object: {}", length); write(path, userMetadata, is, length); } else { - try (UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream()) { + try (UnsynchronizedByteArrayOutputStream bos = UnsynchronizedByteArrayOutputStream.builder().get()) { IOUtils.copy(is, bos); write(path, userMetadata, bos.toByteArray()); } diff --git a/tika-pipes/tika-emitters/tika-emitter-gcs/src/main/java/org/apache/tika/pipes/emitter/gcs/GCSEmitter.java b/tika-pipes/tika-emitters/tika-emitter-gcs/src/main/java/org/apache/tika/pipes/emitter/gcs/GCSEmitter.java index 38757a87a5..9121190d68 100644 --- a/tika-pipes/tika-emitters/tika-emitter-gcs/src/main/java/org/apache/tika/pipes/emitter/gcs/GCSEmitter.java +++ b/tika-pipes/tika-emitters/tika-emitter-gcs/src/main/java/org/apache/tika/pipes/emitter/gcs/GCSEmitter.java @@ -74,7 +74,7 @@ public void emit(String emitKey, List metadataList) if (metadataList == null || metadataList.size() == 0) { throw new TikaEmitterException("metadata list must not be null or of size 0"); } - try (UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream()) { + try (UnsynchronizedByteArrayOutputStream bos = UnsynchronizedByteArrayOutputStream.builder().get()) { try (Writer writer = new OutputStreamWriter(bos, StandardCharsets.UTF_8)) { JsonMetadataList.toJson(metadataList, writer); } catch (IOException e) { @@ -99,7 +99,7 @@ public void emit(String path, InputStream is, Metadata userMetadata) if (is instanceof TikaInputStream && ((TikaInputStream) is).hasFile()) { write(path, userMetadata, Files.readAllBytes(((TikaInputStream) is).getPath())); } else { - try (UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream()) { + try (UnsynchronizedByteArrayOutputStream bos = UnsynchronizedByteArrayOutputStream.builder().get()) { IOUtils.copy(is, bos); write(path, userMetadata, bos.toByteArray()); } diff --git a/tika-pipes/tika-emitters/tika-emitter-s3/src/main/java/org/apache/tika/pipes/emitter/s3/S3Emitter.java b/tika-pipes/tika-emitters/tika-emitter-s3/src/main/java/org/apache/tika/pipes/emitter/s3/S3Emitter.java index d03c3c9bed..fe2f27aed7 100644 --- a/tika-pipes/tika-emitters/tika-emitter-s3/src/main/java/org/apache/tika/pipes/emitter/s3/S3Emitter.java +++ b/tika-pipes/tika-emitters/tika-emitter-s3/src/main/java/org/apache/tika/pipes/emitter/s3/S3Emitter.java @@ -127,7 +127,7 @@ public void emit(String emitKey, List metadataList) } if (!spoolToTemp) { - UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream(); + UnsynchronizedByteArrayOutputStream bos = UnsynchronizedByteArrayOutputStream.builder().get(); try (Writer writer = new BufferedWriter( new OutputStreamWriter(bos, StandardCharsets.UTF_8))) { JsonMetadataList.toJson(metadataList, writer); diff --git a/tika-pipes/tika-fetchers/tika-fetcher-http/src/main/java/org/apache/tika/pipes/fetcher/http/HttpFetcher.java b/tika-pipes/tika-fetchers/tika-fetcher-http/src/main/java/org/apache/tika/pipes/fetcher/http/HttpFetcher.java index 35e6f3e82c..26b45f8bfa 100644 --- a/tika-pipes/tika-fetchers/tika-fetcher-http/src/main/java/org/apache/tika/pipes/fetcher/http/HttpFetcher.java +++ b/tika-pipes/tika-fetchers/tika-fetcher-http/src/main/java/org/apache/tika/pipes/fetcher/http/HttpFetcher.java @@ -311,7 +311,7 @@ private String responseToString(HttpResponse response) { return ""; } try (InputStream is = response.getEntity().getContent()) { - UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream(); + UnsynchronizedByteArrayOutputStream bos = UnsynchronizedByteArrayOutputStream.builder().get(); IOUtils.copyLarge(is, bos, 0, maxErrMsgSize); return bos.toString(StandardCharsets.UTF_8); } catch (IOException e) { diff --git a/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/UnpackerResource.java b/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/UnpackerResource.java index 6f4bf93c08..3aeca641e2 100644 --- a/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/UnpackerResource.java +++ b/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/UnpackerResource.java @@ -142,7 +142,7 @@ private Map process(InputStream is, @Context HttpHeaders httpHea //we need to add this to allow for "inline" use of other parsers. pc.set(Parser.class, parser); ContentHandler ch; - UnsynchronizedByteArrayOutputStream text = new UnsynchronizedByteArrayOutputStream(); + UnsynchronizedByteArrayOutputStream text = UnsynchronizedByteArrayOutputStream.builder().get(); if (saveAll) { ch = new BodyContentHandler( @@ -165,7 +165,7 @@ private Map process(InputStream is, @Context HttpHeaders httpHea if (saveAll) { files.put(TEXT_FILENAME, text.toByteArray()); - UnsynchronizedByteArrayOutputStream metaStream = new UnsynchronizedByteArrayOutputStream(); + UnsynchronizedByteArrayOutputStream metaStream = UnsynchronizedByteArrayOutputStream.builder().get(); metadataToCsv(metadata, metaStream); files.put(META_FILENAME, metaStream.toByteArray()); @@ -194,7 +194,7 @@ public boolean shouldParseEmbedded(Metadata metadata) { public void parseEmbedded(InputStream inputStream, ContentHandler contentHandler, Metadata metadata, boolean b) throws SAXException, IOException { - UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream(); + UnsynchronizedByteArrayOutputStream bos = UnsynchronizedByteArrayOutputStream.builder().get(); BoundedInputStream bis = new BoundedInputStream(unpackMaxBytes, inputStream); IOUtils.copy(bis, bos); @@ -231,7 +231,7 @@ public void parseEmbedded(InputStream inputStream, ContentHandler contentHandler if (embeddedStreamTranslator.shouldTranslate(is, metadata)) { InputStream translated = embeddedStreamTranslator .translate(new UnsynchronizedByteArrayInputStream(data), metadata); - UnsynchronizedByteArrayOutputStream bos2 = new UnsynchronizedByteArrayOutputStream(); + UnsynchronizedByteArrayOutputStream bos2 = UnsynchronizedByteArrayOutputStream.builder().get(); IOUtils.copy(translated, bos2); data = bos2.toByteArray(); }