Details
-
Bug
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
OpenCMIS 0.9.0, OpenCMIS 0.10.0
-
None
Description
The library "chemistry-opencmis-client-impl" (version 0.9 / 0.10) bring another library called "org.jvnet.mimepull" (version 1.3).
The "mimepull" lib has an inner class called org.jvnet.mimepull.DataHead$ReadMultiStream which seems to be buggy.
This "ReadMutliStream" doesn't conform to the "InputStream" contract : shortly : Exception is thrown where it should'nt
Somebody else discuss about this issue here : https://java.net/jira/browse/JAX_WS-965
The issue is solved when I exclude the mimepull dependency from opencmis client lib and add manually the new version :
<dependency>
<groupId>org.apache.chemistry.opencmis</groupId>
<artifactId>chemistry-opencmis-client-impl</artifactId>
<version>0.10.0</version>
<exclusions>
<exclusion>
<groupId>org.jvnet</groupId>
<artifactId>mimepull</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.jvnet.mimepull</groupId>
<artifactId>mimepull</artifactId>
<version>1.9</version>
</dependency>
To reproduce, here is some pseudo-code using Apache PDFBox:
outputStream : any outputstream
inputstreams should come from multiple ContentStream.getStream();
PDFMergerUtility pdfMergerUtility = new PDFMergerUtility();
for (InputStream inputStream : inputs) {
pdfMergerUtility.addSource(inputStream);
}
pdfMergerUtility.setDestinationStream(output);
pdfMergerUtility.mergeDocuments();
Could you please change the version of the dependency of mimepull for the next version?