From 65e99add42057b91365186817e9d96359a547249 Mon Sep 17 00:00:00 2001 From: Ralph Soika Date: Mon, 30 Sep 2024 12:29:46 +0200 Subject: [PATCH] fix Issue #214 --- .../imixs/archive/documents/EInvoiceAdapter.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/imixs-archive-documents/src/main/java/org/imixs/archive/documents/EInvoiceAdapter.java b/imixs-archive-documents/src/main/java/org/imixs/archive/documents/EInvoiceAdapter.java index dc64ce8..39eb3da 100644 --- a/imixs-archive-documents/src/main/java/org/imixs/archive/documents/EInvoiceAdapter.java +++ b/imixs-archive-documents/src/main/java/org/imixs/archive/documents/EInvoiceAdapter.java @@ -334,7 +334,9 @@ private String analyzeXMLContent(FileData fileData) { * content. * The Method returns an updated fileData object attached to the workitem even * if the content was fetched from a Snapshot - * + *

+ * If the file is no XML or a PDF without embedded XML the method returns null + * * @param workitem The ItemCollection containing the attachments * @param filePattern The pattern to match file names * @return The XML content as a byte array, or null if not found @@ -351,12 +353,17 @@ private FileData getXMLFileData(ItemCollection workitem, Pattern filePattern) th FileData snapShotFileData = snapshotService.getWorkItemFile(workitem.getUniqueID(), filename); fileContent = snapShotFileData.getContent(); } - byte[] xmlContent = fileContent; + byte[] xmlContent = null; if (filePattern == PDF_PATTERN) { xmlContent = getFirstEmbeddedXML(fileContent); } - storeXMLContent(fileData, xmlContent); - return fileData; + if (filePattern == XML_PATTERN) { + xmlContent = fileContent; + } + if (xmlContent != null) { + storeXMLContent(fileData, xmlContent); + return fileData; + } } } return null;