mirror of https://github.com/apache/poi.git
add extra debug logging to failing tests
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1891554 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
94813022b9
commit
c104890f33
|
@ -36,7 +36,12 @@ class OPCFileHandler extends AbstractFileHandler {
|
||||||
// ignore password protected files
|
// ignore password protected files
|
||||||
if (POIXMLDocumentHandler.isEncrypted(stream)) return;
|
if (POIXMLDocumentHandler.isEncrypted(stream)) return;
|
||||||
|
|
||||||
OPCPackage p = OPCPackage.open(stream);
|
OPCPackage p;
|
||||||
|
try {
|
||||||
|
p = OPCPackage.open(stream);
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new RuntimeException("Failed to open '" + path + "' as OPCPackage", e);
|
||||||
|
}
|
||||||
|
|
||||||
for (PackagePart part : p.getParts()) {
|
for (PackagePart part : p.getParts()) {
|
||||||
if (part.getPartName().toString().equals("/docProps/core.xml")) {
|
if (part.getPartName().toString().equals("/docProps/core.xml")) {
|
||||||
|
|
|
@ -20,24 +20,31 @@ import java.io.BufferedInputStream;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import org.apache.poi.ooxml.POIXMLException;
|
import org.apache.poi.ooxml.POIXMLException;
|
||||||
|
import org.apache.poi.openxml4j.opc.OPCPackage;
|
||||||
import org.apache.poi.xwpf.usermodel.XWPFDocument;
|
import org.apache.poi.xwpf.usermodel.XWPFDocument;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
class XWPFFileHandler extends AbstractFileHandler {
|
class XWPFFileHandler extends AbstractFileHandler {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handleFile(InputStream stream, String path) throws Exception {
|
public void handleFile(InputStream stream, String path) throws Exception {
|
||||||
// ignore password protected files
|
// ignore password protected files
|
||||||
if (POIXMLDocumentHandler.isEncrypted(stream)) return;
|
if (POIXMLDocumentHandler.isEncrypted(stream)) return;
|
||||||
|
|
||||||
try (XWPFDocument doc = new XWPFDocument(stream)) {
|
try (XWPFDocument doc = new XWPFDocument(stream)) {
|
||||||
|
|
||||||
new POIXMLDocumentHandler().handlePOIXMLDocument(doc);
|
new POIXMLDocumentHandler().handlePOIXMLDocument(doc);
|
||||||
POIXMLDocumentHandler.cursorRecursive(doc.getDocument());
|
POIXMLDocumentHandler.cursorRecursive(doc.getDocument());
|
||||||
} catch (POIXMLException e) {
|
} catch (POIXMLException e) {
|
||||||
Exception cause = (Exception)e.getCause();
|
Exception cause = (Exception)e.getCause();
|
||||||
throw cause == null ? e : cause;
|
throw cause == null ? e : cause;
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new RuntimeException("Failed to open '" + path + "' as XWPFDocument", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -53,4 +60,8 @@ class XWPFFileHandler extends AbstractFileHandler {
|
||||||
|
|
||||||
handleExtracting(file);
|
handleExtracting(file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static Set<String> unmodifiableHashSet(String... a) {
|
||||||
|
return Collections.unmodifiableSet(new HashSet<>(Arrays.asList(a)));
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue