aboutsummaryrefslogtreecommitdiffstats
path: root/src/ooxml
diff options
context:
space:
mode:
Diffstat (limited to 'src/ooxml')
-rw-r--r--src/ooxml/java/org/apache/poi/ooxml/POIXMLDocumentPart.java24
-rw-r--r--src/ooxml/java/org/apache/poi/ooxml/POIXMLFactory.java8
-rw-r--r--src/ooxml/java/org/apache/poi/ooxml/POIXMLRelation.java8
-rw-r--r--src/ooxml/java/org/apache/poi/ooxml/util/XPathHelper.java10
-rw-r--r--src/ooxml/java/org/apache/poi/openxml4j/opc/OPCPackage.java52
-rw-r--r--src/ooxml/java/org/apache/poi/openxml4j/opc/PackagePart.java4
-rw-r--r--src/ooxml/java/org/apache/poi/openxml4j/opc/PackageRelationshipCollection.java11
-rw-r--r--src/ooxml/java/org/apache/poi/openxml4j/opc/PackagingURIHelper.java14
-rw-r--r--src/ooxml/java/org/apache/poi/openxml4j/opc/ZipPackage.java29
-rw-r--r--src/ooxml/java/org/apache/poi/openxml4j/opc/internal/ZipContentTypeManager.java9
-rw-r--r--src/ooxml/java/org/apache/poi/openxml4j/opc/internal/marshallers/DefaultMarshaller.java2
-rw-r--r--src/ooxml/java/org/apache/poi/openxml4j/opc/internal/marshallers/ZipPartMarshaller.java17
-rw-r--r--src/ooxml/java/org/apache/poi/poifs/crypt/dsig/KeyInfoKeySelector.java10
-rw-r--r--src/ooxml/java/org/apache/poi/poifs/crypt/dsig/OOXMLURIDereferencer.java14
-rw-r--r--src/ooxml/java/org/apache/poi/poifs/crypt/dsig/SignatureConfig.java8
-rw-r--r--src/ooxml/java/org/apache/poi/poifs/crypt/dsig/SignatureInfo.java34
-rw-r--r--src/ooxml/java/org/apache/poi/poifs/crypt/dsig/SignaturePart.java16
-rw-r--r--src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/KeyInfoSignatureFacet.java8
-rw-r--r--src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/OOXMLSignatureFacet.java16
-rw-r--r--src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/XAdESSignatureFacet.java11
-rw-r--r--src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/XAdESXLSignatureFacet.java12
-rw-r--r--src/ooxml/java/org/apache/poi/poifs/crypt/dsig/services/RelationshipTransformService.java37
-rw-r--r--src/ooxml/java/org/apache/poi/poifs/crypt/dsig/services/TSPTimeStampService.java36
-rw-r--r--src/ooxml/java/org/apache/poi/poifs/crypt/temp/AesZipFileZipEntrySource.java8
-rw-r--r--src/ooxml/java/org/apache/poi/poifs/crypt/temp/EncryptedTempData.java10
-rw-r--r--src/ooxml/java/org/apache/poi/poifs/crypt/temp/SXSSFWorkbookWithCustomZipEntrySource.java12
-rw-r--r--src/ooxml/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java11
-rw-r--r--src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFColor.java8
-rw-r--r--src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFFreeformShape.java11
-rw-r--r--src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFGraphicFrame.java8
-rw-r--r--src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFGroupShape.java8
-rw-r--r--src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFPictureShape.java8
-rw-r--r--src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFPropertiesDelegate.java14
-rw-r--r--src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSheet.java18
-rw-r--r--src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSimpleShape.java13
-rw-r--r--src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java8
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/binary/XSSFBRelation.java9
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFBReader.java8
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFReader.java12
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFSheetXMLHandler.java10
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/extractor/XSSFBEventBasedExcelExtractor.java8
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/extractor/XSSFEventBasedExcelExtractor.java16
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/extractor/XSSFExportToXml.java12
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/extractor/XSSFImportFromXML.java18
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/streaming/DeferredSXSSFWorkbook.java8
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFCreationHelper.java8
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFFormulaEvaluator.java10
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFPicture.java12
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFWorkbook.java17
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/streaming/SheetDataWriter.java8
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/streaming/StreamingSheetWriter.java8
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFDrawing.java19
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFObjectData.java10
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPicture.java14
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java34
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFTableStyle.java8
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java26
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFColumnShifter.java6
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFRowColShifter.java10
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFRowShifter.java6
-rw-r--r--src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java28
-rw-r--r--src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestListParts.java8
-rw-r--r--src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java10
-rw-r--r--src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestRelationships.java8
-rw-r--r--src/ooxml/testcases/org/apache/poi/poifs/crypt/dsig/TestSignatureInfo.java16
-rw-r--r--src/ooxml/testcases/org/apache/poi/ss/tests/TestWorkbookFactory.java10
-rw-r--r--src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestFormulaEvaluatorOnXSSF.java13
-rw-r--r--src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestMatrixFormulasFromXMLSpreadsheet.java13
-rw-r--r--src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestMultiSheetFormulaEvaluatorOnXSSF.java23
-rw-r--r--src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java31
-rw-r--r--src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFColGrouping.java18
-rw-r--r--src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetMergeRegions.java9
72 files changed, 501 insertions, 510 deletions
diff --git a/src/ooxml/java/org/apache/poi/ooxml/POIXMLDocumentPart.java b/src/ooxml/java/org/apache/poi/ooxml/POIXMLDocumentPart.java
index e1291fe6d9..4696e71de9 100644
--- a/src/ooxml/java/org/apache/poi/ooxml/POIXMLDocumentPart.java
+++ b/src/ooxml/java/org/apache/poi/ooxml/POIXMLDocumentPart.java
@@ -25,6 +25,8 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
import org.apache.poi.openxml4j.exceptions.PartAlreadyExistsException;
@@ -38,21 +40,20 @@ import org.apache.poi.openxml4j.opc.PackagingURIHelper;
import org.apache.poi.openxml4j.opc.TargetMode;
import org.apache.poi.util.IOUtils;
import org.apache.poi.util.Internal;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.xddf.usermodel.chart.XDDFChart;
import org.apache.poi.xssf.usermodel.XSSFRelation;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFRelation;
/**
* Represents an entry of a OOXML package.
* <p>
- * Each POIXMLDocumentPart keeps a reference to the underlying a {@link org.apache.poi.openxml4j.opc.PackagePart}.
+ * Each POIXMLDocumentPart keeps a reference to the underlying a {@link PackagePart}.
* </p>
*/
public class POIXMLDocumentPart {
- private static final POILogger LOG = POILogFactory.getLogger(POIXMLDocumentPart.class);
+ private static final Logger LOG = LogManager.getLogger(POIXMLDocumentPart.class);
private String coreDocumentRel = PackageRelationshipTypes.CORE_DOCUMENT;
private PackagePart packagePart;
@@ -161,10 +162,10 @@ public class POIXMLDocumentPart {
/**
* Creates an POIXMLDocumentPart representing the given package part and relationship.
- * Called by {@link #read(POIXMLFactory, java.util.Map)} when reading in an existing file.
+ * Called by {@link #read(POIXMLFactory, Map)} when reading in an existing file.
*
* @param part - The package part that holds xml data representing this sheet.
- * @see #read(POIXMLFactory, java.util.Map)
+ * @see #read(POIXMLFactory, Map)
* @since POI 3.14-Beta1
*/
public POIXMLDocumentPart(PackagePart part) {
@@ -173,11 +174,11 @@ public class POIXMLDocumentPart {
/**
* Creates an POIXMLDocumentPart representing the given package part, relationship and parent
- * Called by {@link #read(POIXMLFactory, java.util.Map)} when reading in an existing file.
+ * Called by {@link #read(POIXMLFactory, Map)} when reading in an existing file.
*
* @param parent - Parent part
* @param part - The package part that holds xml data representing this sheet.
- * @see #read(POIXMLFactory, java.util.Map)
+ * @see #read(POIXMLFactory, Map)
* @since POI 3.14-Beta1
*/
public POIXMLDocumentPart(POIXMLDocumentPart parent, PackagePart part) {
@@ -619,8 +620,7 @@ public class POIXMLDocumentPart {
PackagePart pp = getPackagePart();
if (pp.getContentType().equals(XWPFRelation.GLOSSARY_DOCUMENT.getContentType())) {
- LOG.log(POILogger.WARN,
- "POI does not currently support template.main+xml (glossary) parts. " +
+ LOG.atWarn().log("POI does not currently support template.main+xml (glossary) parts. " +
"Skipping this part for now.");
return;
}
@@ -651,7 +651,7 @@ public class POIXMLDocumentPart {
final PackagePart p = packagePart.getPackage().getPart(relName);
if (p == null) {
- LOG.log(POILogger.ERROR, "Skipped invalid entry ", rel.getTargetURI());
+ LOG.atError().log("Skipped invalid entry {}", rel.getTargetURI());
continue;
}
@@ -721,7 +721,7 @@ public class POIXMLDocumentPart {
* Internal method, do not use!
* <p>
* This method only exists to allow access to protected {@link POIXMLDocumentPart#onDocumentRead()}
- * from {@link org.apache.poi.xwpf.usermodel.XWPFDocument} without reflection. It should be removed.
+ * from {@link XWPFDocument} without reflection. It should be removed.
*
* @param part the part which is to be read
* @throws IOException if the part can't be read
diff --git a/src/ooxml/java/org/apache/poi/ooxml/POIXMLFactory.java b/src/ooxml/java/org/apache/poi/ooxml/POIXMLFactory.java
index b839e0fd17..0e91da3be9 100644
--- a/src/ooxml/java/org/apache/poi/ooxml/POIXMLFactory.java
+++ b/src/ooxml/java/org/apache/poi/ooxml/POIXMLFactory.java
@@ -18,20 +18,20 @@ package org.apache.poi.ooxml;
import java.io.IOException;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.ooxml.POIXMLRelation.PackagePartConstructor;
import org.apache.poi.ooxml.POIXMLRelation.ParentPartConstructor;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.openxml4j.opc.PackagePart;
import org.apache.poi.openxml4j.opc.PackageRelationship;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.xmlbeans.XmlException;
/**
* Defines a factory API that enables sub-classes to create instances of <code>POIXMLDocumentPart</code>
*/
public abstract class POIXMLFactory {
- private static final POILogger LOGGER = POILogFactory.getLogger(POIXMLFactory.class);
+ private static final Logger LOGGER = LogManager.getLogger(POIXMLFactory.class);
/**
* Create a POIXMLDocumentPart from existing package part and relation. This method is called
@@ -62,7 +62,7 @@ public abstract class POIXMLFactory {
}
}
- LOGGER.log(POILogger.DEBUG, "using default POIXMLDocumentPart for ", rel.getRelationshipType());
+ LOGGER.atDebug().log("using default POIXMLDocumentPart for {}", rel.getRelationshipType());
return new POIXMLDocumentPart(parent, part);
} catch (IOException | XmlException e) {
throw new POIXMLException(e.getMessage(), e);
diff --git a/src/ooxml/java/org/apache/poi/ooxml/POIXMLRelation.java b/src/ooxml/java/org/apache/poi/ooxml/POIXMLRelation.java
index ca08b55427..5bf576d4e0 100644
--- a/src/ooxml/java/org/apache/poi/ooxml/POIXMLRelation.java
+++ b/src/ooxml/java/org/apache/poi/ooxml/POIXMLRelation.java
@@ -20,6 +20,8 @@ import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.openxml4j.opc.PackagePart;
import org.apache.poi.openxml4j.opc.PackagePartName;
@@ -27,8 +29,6 @@ import org.apache.poi.openxml4j.opc.PackageRelationship;
import org.apache.poi.openxml4j.opc.PackageRelationshipCollection;
import org.apache.poi.openxml4j.opc.PackagingURIHelper;
import org.apache.poi.util.Internal;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.xmlbeans.XmlException;
/**
@@ -51,7 +51,7 @@ public abstract class POIXMLRelation {
POIXMLDocumentPart init(POIXMLDocumentPart parent, PackagePart part) throws IOException, XmlException;
}
- private static final POILogger log = POILogFactory.getLogger(POIXMLRelation.class);
+ private static final Logger LOGGER = LogManager.getLogger(POIXMLRelation.class);
/**
* Describes the content stored in a part.
@@ -207,7 +207,7 @@ public abstract class POIXMLRelation {
PackagePart part = corePart.getPackage().getPart(relName);
return part.getInputStream();
}
- log.log(POILogger.WARN, "No part " + getDefaultFileName() + " found");
+ LOGGER.atWarn().log("No part {} found", getDefaultFileName());
return null;
}
}
diff --git a/src/ooxml/java/org/apache/poi/ooxml/util/XPathHelper.java b/src/ooxml/java/org/apache/poi/ooxml/util/XPathHelper.java
index cd4b25da2b..6677f01fb9 100644
--- a/src/ooxml/java/org/apache/poi/ooxml/util/XPathHelper.java
+++ b/src/ooxml/java/org/apache/poi/ooxml/util/XPathHelper.java
@@ -24,9 +24,9 @@ import javax.xml.namespace.QName;
import javax.xml.xpath.XPathFactory;
import com.microsoft.schemas.compatibility.AlternateContentDocument;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.util.Internal;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.xslf.usermodel.XSLFShape;
import org.apache.xmlbeans.XmlCursor;
import org.apache.xmlbeans.XmlException;
@@ -34,7 +34,7 @@ import org.apache.xmlbeans.XmlObject;
import org.apache.xmlbeans.impl.values.XmlAnyTypeImpl;
public final class XPathHelper {
- private static final POILogger LOG = POILogFactory.getLogger(XPathHelper.class);
+ private static final Logger LOG = LogManager.getLogger(XPathHelper.class);
private static final String OSGI_ERROR =
"Schemas (*.xsb) for <CLASS> can't be loaded - usually this happens when OSGI " +
@@ -62,9 +62,9 @@ public final class XPathHelper {
try {
xpf.setFeature(feature, enabled);
} catch (Exception e) {
- LOG.log(POILogger.WARN, "XPathFactory Feature unsupported", feature, e);
+ LOG.atWarn().withThrowable(e).log("XPathFactory Feature ({}) unsupported", feature);
} catch (AbstractMethodError ame) {
- LOG.log(POILogger.WARN, "Cannot set XPathFactory feature because outdated XML parser in classpath", feature, ame);
+ LOG.atWarn().withThrowable(ame).log("Cannot set XPathFactory feature ({}) because outdated XML parser in classpath", feature);
}
}
diff --git a/src/ooxml/java/org/apache/poi/openxml4j/opc/OPCPackage.java b/src/ooxml/java/org/apache/poi/openxml4j/opc/OPCPackage.java
index ffd764918b..6e11336bf5 100644
--- a/src/ooxml/java/org/apache/poi/openxml4j/opc/OPCPackage.java
+++ b/src/ooxml/java/org/apache/poi/openxml4j/opc/OPCPackage.java
@@ -42,6 +42,8 @@ import java.util.Optional;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.openxml4j.exceptions.InvalidOperationException;
import org.apache.poi.openxml4j.exceptions.OpenXML4JRuntimeException;
@@ -59,8 +61,6 @@ import org.apache.poi.openxml4j.opc.internal.unmarshallers.UnmarshallContext;
import org.apache.poi.openxml4j.util.ZipEntrySource;
import org.apache.poi.util.IOUtils;
import org.apache.poi.util.NotImplemented;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
/**
* Represents a container that can store multiple data objects.
@@ -70,7 +70,7 @@ public abstract class OPCPackage implements RelationshipSource, Closeable {
/**
* Logger.
*/
- private static final POILogger LOG = POILogFactory.getLogger(OPCPackage.class);
+ private static final Logger LOG = LogManager.getLogger(OPCPackage.class);
/**
* Default package access.
@@ -442,14 +442,12 @@ public abstract class OPCPackage implements RelationshipSource, Closeable {
}
if (this.packageAccess == PackageAccess.READ) {
- LOG.log(POILogger.WARN,
- "The close() method is intended to SAVE a package. This package is open in READ ONLY mode, use the revert() method instead !");
+ LOG.atWarn().log("The close() method is intended to SAVE a package. This package is open in READ ONLY mode, use the revert() method instead!");
revert();
return;
}
if (this.contentTypeManager == null) {
- LOG.log(POILogger.WARN,
- "Unable to call close() on a package that hasn't been fully opened yet");
+ LOG.atWarn().log("Unable to call close() on a package that hasn't been fully opened yet");
revert();
return;
}
@@ -559,7 +557,7 @@ public abstract class OPCPackage implements RelationshipSource, Closeable {
*
* @throws InvalidOperationException
* Throws if a writing operation is done on a read only package.
- * @see org.apache.poi.openxml4j.opc.PackageAccess
+ * @see PackageAccess
*/
void throwExceptionIfReadOnly() throws InvalidOperationException {
if (packageAccess == PackageAccess.READ) {
@@ -574,7 +572,7 @@ public abstract class OPCPackage implements RelationshipSource, Closeable {
* right.
*
* @throws InvalidOperationException if a read operation is done on a write only package.
- * @see org.apache.poi.openxml4j.opc.PackageAccess
+ * @see PackageAccess
*/
void throwExceptionIfWriteOnly() throws InvalidOperationException {
if (packageAccess == PackageAccess.WRITE) {
@@ -748,7 +746,7 @@ public abstract class OPCPackage implements RelationshipSource, Closeable {
if (!hasCorePropertiesPart) {
hasCorePropertiesPart = true;
} else {
- LOG.log(POILogger.WARN, "OPC Compliance error [M4.1]: " +
+ LOG.atWarn().log("OPC Compliance error [M4.1]: " +
"there is more than one core properties relationship in the package! " +
"POI will use only the first, but other software may reject this file.");
}
@@ -772,9 +770,7 @@ public abstract class OPCPackage implements RelationshipSource, Closeable {
needCorePropertiesPart = false;
}
} catch (IOException ioe) {
- LOG.log(POILogger.WARN, "Unmarshall operation : IOException for "
- + part._partName);
- continue;
+ LOG.atWarn().log("Unmarshall operation : IOException for {}", part._partName);
} catch (InvalidOperationException invoe) {
throw new InvalidFormatException(invoe.getMessage(), invoe);
}
@@ -1005,9 +1001,7 @@ public abstract class OPCPackage implements RelationshipSource, Closeable {
try {
sourcePartName = PackagingURIHelper.createPartName(sourceURI);
} catch (InvalidFormatException e) {
- LOG
- .log(POILogger.ERROR, "Part name URI '", sourceURI,
- "' is not valid ! This message is not intended to be displayed !");
+ LOG.atError().log("Part name URI '{}' is not valid! This message is not intended to be displayed!", sourceURI);
return;
}
if (sourcePartName.getURI().equals(
@@ -1109,10 +1103,7 @@ public abstract class OPCPackage implements RelationshipSource, Closeable {
this.deletePartRecursive(targetPartName);
}
} catch (InvalidFormatException e) {
- LOG.log(POILogger.WARN, "An exception occurs while deleting part '"
- + partName.getName()
- + "'. Some parts may remain in the package. - "
- + e.getMessage());
+ LOG.atWarn().withThrowable(e).log("An exception occurs while deleting part '{}'. Some parts may remain in the package.", partName.getName());
return;
}
// Remove the relationships part
@@ -1226,8 +1217,8 @@ public abstract class OPCPackage implements RelationshipSource, Closeable {
* @param relationshipType
* Type of relationship.
* @return The newly created and added relationship
- * @see org.apache.poi.openxml4j.opc.RelationshipSource#addExternalRelationship(java.lang.String,
- * java.lang.String)
+ * @see RelationshipSource#addExternalRelationship(String,
+ * String)
*/
@Override
public PackageRelationship addExternalRelationship(String target,
@@ -1249,8 +1240,8 @@ public abstract class OPCPackage implements RelationshipSource, Closeable {
* @param id
* Relationship unique id.
* @return The newly created and added relationship
- * @see org.apache.poi.openxml4j.opc.RelationshipSource#addExternalRelationship(java.lang.String,
- * java.lang.String)
+ * @see RelationshipSource#addExternalRelationship(String,
+ * String)
*/
@Override
public PackageRelationship addExternalRelationship(String target,
@@ -1357,7 +1348,7 @@ public abstract class OPCPackage implements RelationshipSource, Closeable {
}
/**
- * @see org.apache.poi.openxml4j.opc.RelationshipSource#getRelationship(java.lang.String)
+ * @see RelationshipSource#getRelationship(String)
*/
@Override
public PackageRelationship getRelationship(String id) {
@@ -1365,7 +1356,7 @@ public abstract class OPCPackage implements RelationshipSource, Closeable {
}
/**
- * @see org.apache.poi.openxml4j.opc.RelationshipSource#hasRelationships()
+ * @see RelationshipSource#hasRelationships()
*/
@Override
public boolean hasRelationships() {
@@ -1373,7 +1364,7 @@ public abstract class OPCPackage implements RelationshipSource, Closeable {
}
/**
- * @see org.apache.poi.openxml4j.opc.RelationshipSource#isRelationshipExists(org.apache.poi.openxml4j.opc.PackageRelationship)
+ * @see RelationshipSource#isRelationshipExists(PackageRelationship)
*/
@Override
public boolean isRelationshipExists(PackageRelationship rel) {
@@ -1397,8 +1388,7 @@ public abstract class OPCPackage implements RelationshipSource, Closeable {
try {
partMarshallers.put(new ContentType(contentType), marshaller);
} catch (InvalidFormatException e) {
- LOG.log(POILogger.WARN, "The specified content type is not valid: '"
- + e.getMessage() + "'. The marshaller will not be added !");
+ LOG.atWarn().log("The specified content type is not valid: '{}'. The marshaller will not be added !", e.getMessage());
}
}
@@ -1415,9 +1405,7 @@ public abstract class OPCPackage implements RelationshipSource, Closeable {
try {
partUnmarshallers.put(new ContentType(contentType), unmarshaller);
} catch (InvalidFormatException e) {
- LOG.log(POILogger.WARN, "The specified content type is not valid: '"
- + e.getMessage()
- + "'. The unmarshaller will not be added !");
+ LOG.atWarn().log("The specified content type is not valid: '{}'. The unmarshaller will not be added !", e.getMessage());
}
}
diff --git a/src/ooxml/java/org/apache/poi/openxml4j/opc/PackagePart.java b/src/ooxml/java/org/apache/poi/openxml4j/opc/PackagePart.java
index 4956032f67..81519ff2a5 100644
--- a/src/ooxml/java/org/apache/poi/openxml4j/opc/PackagePart.java
+++ b/src/ooxml/java/org/apache/poi/openxml4j/opc/PackagePart.java
@@ -699,7 +699,7 @@ public abstract class PackagePart implements RelationshipSource, Comparable<Pack
* @param zos
* Output stream to save this part.
* @return true if the content has been successfully stored, false otherwise.
- * More information about errors may be logged via {@link org.apache.poi.util.POILogger}
+ * More information about errors may be logged via Log4j 2.
* @throws OpenXML4JException
* If any exception occur.
*/
@@ -711,7 +711,7 @@ public abstract class PackagePart implements RelationshipSource, Comparable<Pack
* @param ios
* The input stream of the content to load.
* @return true if the content has been successfully loaded, false otherwise.
- * More information about errors may be logged via {@link org.apache.poi.util.POILogger}
+ * More information about errors may be logged via Log4j 2.
* @throws InvalidFormatException
* Throws if the content format is invalid.
*/
diff --git a/src/ooxml/java/org/apache/poi/openxml4j/opc/PackageRelationshipCollection.java b/src/ooxml/java/org/apache/poi/openxml4j/opc/PackageRelationshipCollection.java
index 53fb37246c..07f8b98a3c 100644
--- a/src/ooxml/java/org/apache/poi/openxml4j/opc/PackageRelationshipCollection.java
+++ b/src/ooxml/java/org/apache/poi/openxml4j/opc/PackageRelationshipCollection.java
@@ -20,11 +20,11 @@ import java.net.URI;
import java.net.URISyntaxException;
import java.util.*;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.openxml4j.exceptions.InvalidOperationException;
import org.apache.poi.ooxml.util.DocumentHelper;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -39,7 +39,7 @@ import org.w3c.dom.NodeList;
*/
public final class PackageRelationshipCollection implements Iterable<PackageRelationship> {
- private static final POILogger LOG = POILogFactory.getLogger(PackageRelationshipCollection.class);
+ private static final Logger LOG = LogManager.getLogger(PackageRelationshipCollection.class);
/**
* Package relationships ordered by ID.
@@ -300,7 +300,7 @@ public final class PackageRelationshipCollection implements Iterable<PackageRela
public void parseRelationshipsPart(PackagePart relPart)
throws InvalidFormatException {
try {
- LOG.log(POILogger.DEBUG, "Parsing relationship: ", relPart.getPartName());
+ LOG.atDebug().log("Parsing relationship: {}", relPart.getPartName());
Document xmlRelationshipsDoc = DocumentHelper.readDocument(relPart.getInputStream());
// Browse default types
@@ -348,8 +348,7 @@ public final class PackageRelationshipCollection implements Iterable<PackageRela
// package
target = PackagingURIHelper.toURI(value);
} catch (URISyntaxException e) {
- LOG.log(POILogger.ERROR, "Cannot convert ", value,
- " in a valid relationship URI-> dummy-URI used", e);
+ LOG.atError().withThrowable(e).log("Cannot convert {} in a valid relationship URI-> dummy-URI used", value);
}
addRelationship(target, targetMode, type, id);
}
diff --git a/src/ooxml/java/org/apache/poi/openxml4j/opc/PackagingURIHelper.java b/src/ooxml/java/org/apache/poi/openxml4j/opc/PackagingURIHelper.java
index 32f8950b2f..bd1bce1b7e 100644
--- a/src/ooxml/java/org/apache/poi/openxml4j/opc/PackagingURIHelper.java
+++ b/src/ooxml/java/org/apache/poi/openxml4j/opc/PackagingURIHelper.java
@@ -23,10 +23,10 @@ import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
import java.util.regex.Pattern;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.openxml4j.exceptions.InvalidOperationException;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
/**
* Helper for part and pack URI.
@@ -38,7 +38,7 @@ public final class PackagingURIHelper {
// FIXME: this class implements a lot of path joining and splitting logic that
// is already implemented in java.nio.file.Path.
// This class should heavily leverage Java library code to reduce the number of lines of code that POI has to maintain and test
- private static final POILogger LOG = POILogFactory.getLogger(PackagingURIHelper.class);
+ private static final Logger LOG = LogManager.getLogger(PackagingURIHelper.class);
/**
* Package root URI.
@@ -290,7 +290,7 @@ public final class PackagingURIHelper {
try {
targetURI = new URI(path.substring(1));
} catch (Exception e) {
- LOG.log(POILogger.WARN, e);
+ LOG.atWarn().withThrowable(e).log("Failed to relativize");
return null;
}
}
@@ -328,7 +328,7 @@ public final class PackagingURIHelper {
try {
return new URI(retVal.toString());
} catch (Exception e) {
- LOG.log(POILogger.WARN, e);
+ LOG.atWarn().withThrowable(e).log("Failed to relativize");
return null;
}
}
@@ -377,7 +377,7 @@ public final class PackagingURIHelper {
try {
return new URI(retVal.toString());
} catch (Exception e) {
- LOG.log(POILogger.WARN, e);
+ LOG.atWarn().withThrowable(e).log("Failed to relativize");
return null;
}
}
@@ -661,7 +661,7 @@ public final class PackagingURIHelper {
}
/**
- * Convert a string to {@link java.net.URI}
+ * Convert a string to {@link URI}
*
* If part name is not a valid URI, it is resolved as follows:
* <p>
diff --git a/src/ooxml/java/org/apache/poi/openxml4j/opc/ZipPackage.java b/src/ooxml/java/org/apache/poi/openxml4j/opc/ZipPackage.java
index b65996b53d..67e7c44567 100644
--- a/src/ooxml/java/org/apache/poi/openxml4j/opc/ZipPackage.java
+++ b/src/ooxml/java/org/apache/poi/openxml4j/opc/ZipPackage.java
@@ -33,6 +33,9 @@ import java.util.stream.Collectors;
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream;
import org.apache.commons.compress.archivers.zip.ZipFile;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.message.SimpleMessage;
import org.apache.poi.UnsupportedFileFormatException;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.openxml4j.exceptions.InvalidOperationException;
@@ -52,8 +55,6 @@ import org.apache.poi.openxml4j.util.ZipEntrySource;
import org.apache.poi.openxml4j.util.ZipFileZipEntrySource;
import org.apache.poi.openxml4j.util.ZipInputStreamZipEntrySource;
import org.apache.poi.util.IOUtils;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.util.TempFile;
/**
@@ -63,7 +64,7 @@ public final class ZipPackage extends OPCPackage {
private static final String MIMETYPE = "mimetype";
private static final String SETTINGS_XML = "settings.xml";
- private static final POILogger LOG = POILogFactory.getLogger(ZipPackage.class);
+ private static final Logger LOG = LogManager.getLogger(ZipPackage.class);
/**
* Zip archive, as either a file on disk,
@@ -81,7 +82,7 @@ public final class ZipPackage extends OPCPackage {
try {
this.contentTypeManager = new ZipContentTypeManager(null, this);
} catch (InvalidFormatException e) {
- LOG.log(POILogger.WARN,"Could not parse ZipPackage", e);
+ LOG.atWarn().withThrowable(e).log("Could not parse ZipPackage");
}
}
@@ -145,7 +146,7 @@ public final class ZipPackage extends OPCPackage {
throw new InvalidOperationException("Can't open the specified file: '" + file + "'", e);
}
- LOG.log(POILogger.ERROR, "Error in zip file ", file, " - falling back to stream processing (i.e. ignoring zip central directory)");
+ LOG.atError().log("Error in zip file {} - falling back to stream processing (i.e. ignoring zip central directory)", file);
ze = openZipEntrySourceStream(file);
}
this.zipArchive = ze;
@@ -311,7 +312,7 @@ public final class ZipPackage extends OPCPackage {
: PackagingURIHelper.createPartName(ZipHelper.getOPCNameFromZipItemName(entryName));
} catch (Exception e) {
// We assume we can continue, even in degraded mode ...
- LOG.log(POILogger.WARN,"Entry ", entryName, " is not valid, so this part won't be add to the package.", e);
+ LOG.atWarn().withThrowable(e).log("Entry {} is not valid, so this part won't be add to the package.", entryName);
}
this.partName = ppn;
@@ -370,7 +371,7 @@ public final class ZipPackage extends OPCPackage {
try {
return new MemoryPackagePart(this, partName, contentType, loadRelationships);
} catch (InvalidFormatException e) {
- LOG.log(POILogger.WARN, e);
+ LOG.atWarn().withThrowable(e).log("Failed to create part {}", partName);
return null;
}
}
@@ -437,9 +438,7 @@ public final class ZipPackage extends OPCPackage {
} finally {
// Either the save operation succeed or not, we delete the temporary file
if (!tempFile.delete()) {
- LOG.log(POILogger.WARN, "The temporary file: '",
- targetFile.getAbsolutePath(),
- "' cannot be deleted ! Make sure that no other application use it.");
+ LOG.atWarn().log("The temporary file: '{}' cannot be deleted ! Make sure that no other application use it.", targetFile.getAbsolutePath());
}
}
}
@@ -496,7 +495,7 @@ public final class ZipPackage extends OPCPackage {
// we save it as well
if (this.getPartsByRelationshipType(PackageRelationshipTypes.CORE_PROPERTIES).size() == 0 &&
this.getPartsByRelationshipType(PackageRelationshipTypes.CORE_PROPERTIES_ECMA376).size() == 0 ) {
- LOG.log(POILogger.DEBUG,"Save core properties part");
+ LOG.atDebug().log("Save core properties part");
// Ensure that core properties are added if missing
getPackageProperties();
@@ -516,11 +515,11 @@ public final class ZipPackage extends OPCPackage {
}
// Save content type part.
- LOG.log(POILogger.DEBUG,"Save content types part");
+ LOG.atDebug().log("Save content types part");
this.contentTypeManager.save(zos);
// Save package relationships part.
- LOG.log(POILogger.DEBUG,"Save package relationships");
+ LOG.atDebug().log("Save package relationships");
ZipPartMarshaller.marshallRelationshipPart(this.getRelationships(),
PackagingURIHelper.PACKAGE_RELATIONSHIPS_ROOT_PART_NAME,
zos);
@@ -534,13 +533,13 @@ public final class ZipPackage extends OPCPackage {
}
final PackagePartName ppn = part.getPartName();
- LOG.log(POILogger.DEBUG,"Save part '", ZipHelper.getZipItemNameFromOPCName(ppn.getName()), "'");
+ LOG.atDebug().log(() -> new SimpleMessage("Save part '" + ZipHelper.getZipItemNameFromOPCName(ppn.getName()) + "'"));
final PartMarshaller marshaller = partMarshallers.get(part._contentType);
final PartMarshaller pm = (marshaller != null) ? marshaller : defaultPartMarshaller;
if (!pm.marshall(part, zos)) {
String errMsg = "The part " + ppn.getURI() + " failed to be saved in the stream with marshaller " + pm +
- ". Enable logging via POILogger for more details.";
+ ". Enable logging via Log4j 2 for more details.";
throw new OpenXML4JException(errMsg);
}
}
diff --git a/src/ooxml/java/org/apache/poi/openxml4j/opc/internal/ZipContentTypeManager.java b/src/ooxml/java/org/apache/poi/openxml4j/opc/internal/ZipContentTypeManager.java
index 3040262ba3..597335efc4 100644
--- a/src/ooxml/java/org/apache/poi/openxml4j/opc/internal/ZipContentTypeManager.java
+++ b/src/ooxml/java/org/apache/poi/openxml4j/opc/internal/ZipContentTypeManager.java
@@ -23,11 +23,11 @@ import java.io.OutputStream;
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.openxml4j.opc.StreamHelper;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.w3c.dom.Document;
/**
@@ -38,7 +38,7 @@ import org.w3c.dom.Document;
* @see ContentTypeManager
*/
public class ZipContentTypeManager extends ContentTypeManager {
- private static final POILogger LOG = POILogFactory.getLogger(ZipContentTypeManager.class);
+ private static final Logger LOG = LogManager.getLogger(ZipContentTypeManager.class);
/**
* Delegate constructor to the super constructor.
@@ -71,8 +71,7 @@ public class ZipContentTypeManager extends ContentTypeManager {
zos.closeArchiveEntry();
}
} catch (IOException ioe) {
- LOG.log(POILogger.ERROR, "Cannot write: ", CONTENT_TYPES_PART_NAME,
- " in Zip !", ioe);
+ LOG.atError().withThrowable(ioe).log("Cannot write: " + CONTENT_TYPES_PART_NAME + " in Zip !");
return false;
}
}
diff --git a/src/ooxml/java/org/apache/poi/openxml4j/opc/internal/marshallers/DefaultMarshaller.java b/src/ooxml/java/org/apache/poi/openxml4j/opc/internal/marshallers/DefaultMarshaller.java
index 16a5917ad3..970768cb30 100644
--- a/src/ooxml/java/org/apache/poi/openxml4j/opc/internal/marshallers/DefaultMarshaller.java
+++ b/src/ooxml/java/org/apache/poi/openxml4j/opc/internal/marshallers/DefaultMarshaller.java
@@ -38,7 +38,7 @@ public final class DefaultMarshaller implements PartMarshaller {
* @param part The {@link PackagePart} to store.
* @param out Output stream to save this part.
* @return true if the content has been successfully stored, false otherwise.
- * More information about errors may be logged via {@link org.apache.poi.util.POILogger}
+ * More information about errors may be logged via Log4j 2.
* @throws OpenXML4JException
* If any error occur.
*/
diff --git a/src/ooxml/java/org/apache/poi/openxml4j/opc/internal/marshallers/ZipPartMarshaller.java b/src/ooxml/java/org/apache/poi/openxml4j/opc/internal/marshallers/ZipPartMarshaller.java
index c1e058ea6d..384ad7687e 100644
--- a/src/ooxml/java/org/apache/poi/openxml4j/opc/internal/marshallers/ZipPartMarshaller.java
+++ b/src/ooxml/java/org/apache/poi/openxml4j/opc/internal/marshallers/ZipPartMarshaller.java
@@ -24,6 +24,8 @@ import java.net.URI;
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
import org.apache.poi.openxml4j.opc.PackageNamespaces;
import org.apache.poi.openxml4j.opc.PackagePart;
@@ -37,8 +39,6 @@ import org.apache.poi.openxml4j.opc.internal.PartMarshaller;
import org.apache.poi.openxml4j.opc.internal.ZipHelper;
import org.apache.poi.ooxml.util.DocumentHelper;
import org.apache.poi.util.IOUtils;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.xssf.usermodel.XSSFRelation;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -47,7 +47,7 @@ import org.w3c.dom.Element;
* Zip part marshaller. This marshaller is use to save any part in a zip stream.
*/
public final class ZipPartMarshaller implements PartMarshaller {
- private static final POILogger LOG = POILogFactory.getLogger(ZipPartMarshaller.class);
+ private static final Logger LOG = LogManager.getLogger(ZipPartMarshaller.class);
/**
* Save the specified part to the given stream.
@@ -56,7 +56,7 @@ public final class ZipPartMarshaller implements PartMarshaller {
* @param os The stream to write the data to
* @return true if saving was successful or there was nothing to save,
* false if an error occurred.
- * In case of errors, logging via the {@link POILogger} is used to provide more information.
+ * In case of errors, logging via Log4j 2 is used to provide more information.
* @throws OpenXML4JException
* Throws if the stream cannot be written to or an internal exception is thrown.
*/
@@ -64,7 +64,7 @@ public final class ZipPartMarshaller implements PartMarshaller {
public boolean marshall(PackagePart part, OutputStream os)
throws OpenXML4JException {
if (!(os instanceof ZipArchiveOutputStream)) {
- LOG.log(POILogger.ERROR,"Unexpected class ", os.getClass().getName());
+ LOG.atError().log("Unexpected class {}", os.getClass().getName());
throw new OpenXML4JException("ZipOutputStream expected !");
// Normally should happen only in development phase, so just throw
// exception
@@ -91,8 +91,7 @@ public final class ZipPartMarshaller implements PartMarshaller {
zos.closeArchiveEntry();
}
} catch (IOException ioe) {
- LOG.log(POILogger.ERROR,"Cannot write: ", part.getPartName(), ": in ZIP",
- ioe);
+ LOG.atError().withThrowable(ioe).log("Cannot write: {}: in ZIP", part.getPartName());
return false;
}
@@ -120,7 +119,7 @@ public final class ZipPartMarshaller implements PartMarshaller {
* relationships serialization.
* @return true if saving was successful,
* false if an error occurred.
- * In case of errors, logging via the {@link POILogger} is used to provide more information.
+ * In case of errors, logging via Log4j 2 is used to provide more information.
*/
public static boolean marshallRelationshipPart(
PackageRelationshipCollection rels, PackagePartName relPartName,
@@ -186,7 +185,7 @@ public final class ZipPartMarshaller implements PartMarshaller {
zos.closeArchiveEntry();
}
} catch (IOException e) {
- LOG.log(POILogger.ERROR,"Cannot create zip entry ", relPartName, e);
+ LOG.atError().withThrowable(e).log("Cannot create zip entry {}", relPartName);
return false;
}
}
diff --git a/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/KeyInfoKeySelector.java b/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/KeyInfoKeySelector.java
index 04ac6fd57a..e7a4eba080 100644
--- a/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/KeyInfoKeySelector.java
+++ b/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/KeyInfoKeySelector.java
@@ -38,8 +38,8 @@ import javax.xml.crypto.XMLStructure;
import javax.xml.crypto.dsig.keyinfo.KeyInfo;
import javax.xml.crypto.dsig.keyinfo.X509Data;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
/**
* JSR105 key selector implementation using the ds:KeyInfo data of the signature
@@ -47,14 +47,14 @@ import org.apache.poi.util.POILogger;
*/
public class KeyInfoKeySelector extends KeySelector implements KeySelectorResult {
- private static final POILogger LOG = POILogFactory.getLogger(KeyInfoKeySelector.class);
+ private static final Logger LOG = LogManager.getLogger(KeyInfoKeySelector.class);
private final List<X509Certificate> certChain = new ArrayList<>();
@SuppressWarnings("unchecked")
@Override
public KeySelectorResult select(KeyInfo keyInfo, Purpose purpose, AlgorithmMethod method, XMLCryptoContext context) throws KeySelectorException {
- LOG.log(POILogger.DEBUG, "select key");
+ LOG.atDebug().log("select key");
if (null == keyInfo) {
throw new KeySelectorException("no ds:KeyInfo present");
}
@@ -71,7 +71,7 @@ public class KeyInfoKeySelector extends KeySelector implements KeySelectorResult
continue;
}
X509Certificate certificate = (X509Certificate) x509DataObject;
- LOG.log(POILogger.DEBUG, "certificate", certificate.getSubjectX500Principal());
+ LOG.atDebug().log("certificate: {}", certificate.getSubjectX500Principal());
certChain.add(certificate);
}
}
diff --git a/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/OOXMLURIDereferencer.java b/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/OOXMLURIDereferencer.java
index b809b06ef5..d38088c68c 100644
--- a/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/OOXMLURIDereferencer.java
+++ b/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/OOXMLURIDereferencer.java
@@ -38,19 +38,19 @@ import javax.xml.crypto.URIReference;
import javax.xml.crypto.URIReferenceException;
import javax.xml.crypto.XMLCryptoContext;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.openxml4j.opc.PackagePart;
import org.apache.poi.openxml4j.opc.PackagePartName;
import org.apache.poi.openxml4j.opc.PackagingURIHelper;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
/**
* JSR105 URI dereferencer for Office Open XML documents.
*/
public class OOXMLURIDereferencer implements URIDereferencer {
- private static final POILogger LOG = POILogFactory.getLogger(OOXMLURIDereferencer.class);
+ private static final Logger LOG = LogManager.getLogger(OOXMLURIDereferencer.class);
private SignatureInfo signatureInfo;
private URIDereferencer baseUriDereferencer;
@@ -77,7 +77,7 @@ public class OOXMLURIDereferencer implements URIDereferencer {
PackagePart part = findPart(uri);
if (part == null) {
- LOG.log(POILogger.DEBUG, "cannot resolve, delegating to base DOM URI dereferencer", uri);
+ LOG.atDebug().log("cannot resolve {}, delegating to base DOM URI dereferencer", uri);
return baseUriDereferencer.dereference(uriReference, context);
}
@@ -105,11 +105,11 @@ public class OOXMLURIDereferencer implements URIDereferencer {
}
private PackagePart findPart(URI uri) {
- LOG.log(POILogger.DEBUG, "dereference", uri);
+ LOG.atDebug().log("dereference: {}", uri);
String path = uri.getPath();
if (path == null || path.isEmpty()) {
- LOG.log(POILogger.DEBUG, "illegal part name (expected)", uri);
+ LOG.atDebug().log("illegal part name (expected): {}", uri);
return null;
}
@@ -118,7 +118,7 @@ public class OOXMLURIDereferencer implements URIDereferencer {
ppn = PackagingURIHelper.createPartName(path);
return signatureInfo.getOpcPackage().getPart(ppn);
} catch (InvalidFormatException e) {
- LOG.log(POILogger.WARN, "illegal part name (not expected)", uri);
+ LOG.atWarn().log("illegal part name (not expected) in {}", uri);
return null;
}
}
diff --git a/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/SignatureConfig.java b/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/SignatureConfig.java
index 07702f6760..98cb1933a3 100644
--- a/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/SignatureConfig.java
+++ b/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/SignatureConfig.java
@@ -44,6 +44,8 @@ import javax.xml.crypto.dsig.Transform;
import javax.xml.crypto.dsig.XMLSignatureFactory;
import javax.xml.crypto.dsig.keyinfo.KeyInfoFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.EncryptedDocumentException;
import org.apache.poi.hpsf.ClassID;
import org.apache.poi.openxml4j.opc.OPCPackage;
@@ -60,8 +62,6 @@ import org.apache.poi.poifs.crypt.dsig.services.TimeStampService;
import org.apache.poi.poifs.crypt.dsig.services.TimeStampServiceValidator;
import org.apache.poi.util.Internal;
import org.apache.poi.util.LocaleUtil;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.util.Removal;
import org.apache.xml.security.signature.XMLSignature;
@@ -76,7 +76,7 @@ public class SignatureConfig {
public static final String SIGNATURE_TIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ss'Z'";
- private static final POILogger LOG = POILogFactory.getLogger(SignatureConfig.class);
+ private static final Logger LOG = LogManager.getLogger(SignatureConfig.class);
private static final String DigestMethod_SHA224 = "http://www.w3.org/2001/04/xmldsig-more#sha224";
private static final String DigestMethod_SHA384 = "http://www.w3.org/2001/04/xmldsig-more#sha384";
private static final String XMLSEC_SANTUARIO = "org.apache.jcp.xml.dsig.internal.dom.XMLDSigRI";
@@ -350,7 +350,7 @@ public class SignatureConfig {
try {
this.executionTime = fmt.parse(executionTime);
} catch (ParseException e) {
- LOG.log(POILogger.WARN, "Illegal execution time: ", executionTime);
+ LOG.atWarn().log("Illegal execution time: {}. Must be formatted as " + SIGNATURE_TIME_FORMAT, executionTime);
}
}
}
diff --git a/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/SignatureInfo.java b/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/SignatureInfo.java
index b06a01f044..8f43ef150a 100644
--- a/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/SignatureInfo.java
+++ b/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/SignatureInfo.java
@@ -52,6 +52,7 @@ import javax.xml.crypto.dsig.SignatureMethod;
import javax.xml.crypto.dsig.SignedInfo;
import javax.xml.crypto.dsig.TransformException;
import javax.xml.crypto.dsig.XMLObject;
+import javax.xml.crypto.dsig.XMLSignature;
import javax.xml.crypto.dsig.XMLSignatureException;
import javax.xml.crypto.dsig.XMLSignatureFactory;
import javax.xml.crypto.dsig.dom.DOMSignContext;
@@ -61,6 +62,8 @@ import javax.xml.crypto.dsig.spec.C14NMethodParameterSpec;
import org.apache.jcp.xml.dsig.internal.dom.DOMReference;
import org.apache.jcp.xml.dsig.internal.dom.DOMSignedInfo;
import org.apache.jcp.xml.dsig.internal.dom.DOMSubTreeData;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.EncryptedDocumentException;
import org.apache.poi.ooxml.util.DocumentHelper;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
@@ -76,8 +79,6 @@ import org.apache.poi.poifs.crypt.CryptoFunctions;
import org.apache.poi.poifs.crypt.HashAlgorithm;
import org.apache.poi.poifs.crypt.dsig.facets.SignatureFacet;
import org.apache.poi.poifs.crypt.dsig.services.RelationshipTransformService;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.xml.security.Init;
import org.apache.xml.security.utils.XMLUtils;
import org.apache.xmlbeans.XmlOptions;
@@ -154,12 +155,12 @@ import org.w3c.dom.events.MutationEvent;
* <ul>
* <li>BouncyCastle bcpkix and bcprov (tested against 1.67)</li>
* <li>Apache Santuario "xmlsec" (tested against 2.2.0)</li>
- * <li>and slf4j-api (tested against 1.7.30)</li>
+ * <li>and log4j-api (tested against 2.14.0)</li>
* </ul>
*/
public class SignatureInfo {
- private static final POILogger LOG = POILogFactory.getLogger(SignatureInfo.class);
+ private static final Logger LOG = LogManager.getLogger(SignatureInfo.class);
private SignatureConfig signatureConfig;
private OPCPackage opcPackage;
@@ -313,11 +314,11 @@ public class SignatureInfo {
return false;
}
sigPart = opcPackage.getPart(sigOrigRels.next());
- LOG.log(POILogger.DEBUG, "Digital Signature Origin part", sigPart);
+ LOG.atDebug().log("Digital Signature Origin part: {}", sigPart);
try {
sigRels = sigPart.getRelationshipsByType(PackageRelationshipTypes.DIGITAL_SIGNATURE).iterator();
} catch (InvalidFormatException e) {
- LOG.log(POILogger.WARN, "Reference to signature is invalid.", e);
+ LOG.atWarn().withThrowable(e).log("Reference to signature is invalid.");
}
}
return true;
@@ -332,9 +333,9 @@ public class SignatureInfo {
throw new NoSuchElementException();
}
sigRelPart = sigPart.getRelatedPart(sigRels.next());
- LOG.log(POILogger.DEBUG, "XML Signature part", sigRelPart);
+ LOG.atDebug().log("XML Signature part: {}", sigRelPart);
} catch (InvalidFormatException e) {
- LOG.log(POILogger.WARN, "Reference to signature is invalid.", e);
+ LOG.atWarn().withThrowable(e).log("Reference to signature is invalid.");
}
} while (sigRelPart == null);
return new SignaturePart(sigRelPart, SignatureInfo.this);
@@ -378,7 +379,7 @@ public class SignatureInfo {
*/
List<XMLObject> objects = new ArrayList<>();
for (SignatureFacet signatureFacet : signatureConfig.getSignatureFacets()) {
- LOG.log(POILogger.DEBUG, "invoking signature facet: ", signatureFacet.getClass().getSimpleName());
+ LOG.atDebug().log("invoking signature facet: {}", signatureFacet.getClass().getSimpleName());
signatureFacet.preSign(this, document, references, objects);
}
@@ -402,7 +403,7 @@ public class SignatureInfo {
* JSR105 ds:Signature creation
*/
String signatureValueId = signatureConfig.getPackageSignatureId() + "-signature-value";
- javax.xml.crypto.dsig.XMLSignature xmlSignature = signatureFactory
+ XMLSignature xmlSignature = signatureFactory
.newXMLSignature(signedInfo, null, objects, signatureConfig.getPackageSignatureId(),
signatureValueId);
@@ -415,10 +416,10 @@ public class SignatureInfo {
* Completion of undigested ds:References in the ds:Manifests.
*/
for (XMLObject object : objects) {
- LOG.log(POILogger.DEBUG, "object java type: ", object.getClass().getName());
+ LOG.atDebug().log("object java type: {}", object.getClass().getName());
List<XMLStructure> objectContentList = object.getContent();
for (XMLStructure objectContent : objectContentList) {
- LOG.log(POILogger.DEBUG, "object content java type: ", objectContent.getClass().getName());
+ LOG.atDebug().log("object content java type: {}", objectContent.getClass().getName());
if (!(objectContent instanceof Manifest)) {
continue;
}
@@ -483,7 +484,7 @@ public class SignatureInfo {
*/
public void postSign(final DOMSignContext xmlSignContext, final String signatureValue)
throws MarshalException {
- LOG.log(POILogger.DEBUG, "postSign");
+ LOG.atDebug().log("postSign");
final Document document = (Document)xmlSignContext.getParent();
@@ -527,7 +528,7 @@ public class SignatureInfo {
xo.setSaveSuggestedPrefixes(namespaceMap);
xo.setUseDefaultNamespace();
- LOG.log(POILogger.DEBUG, "output signed Office OpenXML document");
+ LOG.atDebug().log("output signed Office OpenXML document");
/*
* Copy the original OOXML content to the signed OOXML package. During
@@ -593,8 +594,7 @@ public class SignatureInfo {
return (Element)sigValNl.item(0);
}
- LOG.log(POILogger.WARN, "Signature element '", localName, "' was ",
- (sigValNl.getLength() == 0 ? "not found" : "multiple times"));
+ LOG.atWarn().log("Signature element '{}' was {}", localName, sigValNl.getLength() == 0 ? "not found" : "multiple times");
return null;
}
@@ -704,7 +704,7 @@ public class SignatureInfo {
try {
return (Provider)Class.forName(className).getDeclaredConstructor().newInstance();
} catch (Exception e) {
- LOG.log(POILogger.DEBUG, "XMLDsig-Provider '", className, "' can't be found - trying next.");
+ LOG.atDebug().log("XMLDsig-Provider '{}' can't be found - trying next.", className);
return null;
}
}
diff --git a/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/SignaturePart.java b/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/SignaturePart.java
index d120d655e1..1fd4151eb7 100644
--- a/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/SignaturePart.java
+++ b/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/SignaturePart.java
@@ -40,12 +40,12 @@ import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpressionException;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.EncryptedDocumentException;
import org.apache.poi.ooxml.util.DocumentHelper;
import org.apache.poi.ooxml.util.XPathHelper;
import org.apache.poi.openxml4j.opc.PackagePart;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.xmlbeans.XmlException;
import org.w3.x2000.x09.xmldsig.SignatureDocument;
import org.w3c.dom.Document;
@@ -54,7 +54,7 @@ import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class SignaturePart {
- private static final POILogger LOG = POILogFactory.getLogger(SignaturePart.class);
+ private static final Logger LOG = LogManager.getLogger(SignaturePart.class);
private static final String XMLSEC_VALIDATE_MANIFEST = "org.jcp.xml.dsig.validateManifests";
@@ -139,23 +139,23 @@ public class SignaturePart {
return valid;
} catch (IOException e) {
String s = "error in reading document";
- LOG.log(POILogger.ERROR, s, e);
+ LOG.atError().withThrowable(e).log(s);
throw new EncryptedDocumentException(s, e);
} catch (SAXException e) {
String s = "error in parsing document";
- LOG.log(POILogger.ERROR, s, e);
+ LOG.atError().withThrowable(e).log(s);
throw new EncryptedDocumentException(s, e);
} catch (XPathExpressionException e) {
String s = "error in searching document with xpath expression";
- LOG.log(POILogger.ERROR, s, e);
+ LOG.atError().withThrowable(e).log(s);
throw new EncryptedDocumentException(s, e);
} catch (MarshalException e) {
String s = "error in unmarshalling the signature";
- LOG.log(POILogger.ERROR, s, e);
+ LOG.atError().withThrowable(e).log(s);
throw new EncryptedDocumentException(s, e);
} catch (XMLSignatureException e) {
String s = "error in validating the signature";
- LOG.log(POILogger.ERROR, s, e);
+ LOG.atError().withThrowable(e).log(s);
throw new EncryptedDocumentException(s, e);
}
}
diff --git a/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/KeyInfoSignatureFacet.java b/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/KeyInfoSignatureFacet.java
index 0943a8a596..d59f4c9acb 100644
--- a/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/KeyInfoSignatureFacet.java
+++ b/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/KeyInfoSignatureFacet.java
@@ -40,10 +40,10 @@ import javax.xml.crypto.dsig.keyinfo.KeyValue;
import javax.xml.crypto.dsig.keyinfo.X509Data;
import org.apache.jcp.xml.dsig.internal.dom.DOMKeyInfo;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.poifs.crypt.dsig.SignatureConfig;
import org.apache.poi.poifs.crypt.dsig.SignatureInfo;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
@@ -56,12 +56,12 @@ import org.w3c.dom.NodeList;
*/
public class KeyInfoSignatureFacet implements SignatureFacet {
- private static final POILogger LOG = POILogFactory.getLogger(KeyInfoSignatureFacet.class);
+ private static final Logger LOG = LogManager.getLogger(KeyInfoSignatureFacet.class);
@Override
public void postSign(SignatureInfo signatureInfo, Document document)
throws MarshalException {
- LOG.log(POILogger.DEBUG, "postSign");
+ LOG.atDebug().log("postSign");
NodeList nl = document.getElementsByTagNameNS(XML_DIGSIG_NS, "Object");
diff --git a/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/OOXMLSignatureFacet.java b/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/OOXMLSignatureFacet.java
index fb88e96f63..6f5061aac9 100644
--- a/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/OOXMLSignatureFacet.java
+++ b/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/OOXMLSignatureFacet.java
@@ -54,6 +54,8 @@ import javax.xml.crypto.dsig.XMLSignatureFactory;
import com.microsoft.schemas.office.x2006.digsig.CTSignatureInfoV1;
import com.microsoft.schemas.office.x2006.digsig.SignatureInfoV1Document;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.openxml4j.opc.ContentTypes;
import org.apache.poi.openxml4j.opc.OPCPackage;
@@ -68,8 +70,6 @@ import org.apache.poi.poifs.crypt.dsig.SignatureConfig;
import org.apache.poi.poifs.crypt.dsig.SignatureInfo;
import org.apache.poi.poifs.crypt.dsig.services.RelationshipTransformService;
import org.apache.poi.poifs.crypt.dsig.services.RelationshipTransformService.RelationshipTransformParameterSpec;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.openxmlformats.schemas.xpackage.x2006.digitalSignature.CTSignatureTime;
import org.openxmlformats.schemas.xpackage.x2006.digitalSignature.SignatureTimeDocument;
import org.w3c.dom.Document;
@@ -82,7 +82,7 @@ import org.w3c.dom.Element;
*/
public class OOXMLSignatureFacet implements SignatureFacet {
- private static final POILogger LOG = POILogFactory.getLogger(OOXMLSignatureFacet.class);
+ private static final Logger LOG = LogManager.getLogger(OOXMLSignatureFacet.class);
private static final String ID_PACKAGE_OBJECT = "idPackageObject";
@Override
@@ -92,7 +92,7 @@ public class OOXMLSignatureFacet implements SignatureFacet {
, List<Reference> references
, List<XMLObject> objects)
throws XMLSignatureException {
- LOG.log(POILogger.DEBUG, "pre sign");
+ LOG.atDebug().log("pre sign");
addManifestObject(signatureInfo, document, references, objects);
addSignatureInfo(signatureInfo, document, references, objects);
}
@@ -178,7 +178,7 @@ public class OOXMLSignatureFacet implements SignatureFacet {
if (relationshipType.endsWith("customXml")
&& !(contentType.equals("inkml+xml") || contentType.equals("text/xml"))) {
- LOG.log(POILogger.DEBUG, "skipping customXml with content type: ", contentType);
+ LOG.atDebug().log("skipping customXml with content type: {}", contentType);
continue;
}
@@ -212,7 +212,7 @@ public class OOXMLSignatureFacet implements SignatureFacet {
}
try {
pn = new URI(pn).normalize().getPath().replace('\\', '/');
- LOG.log(POILogger.DEBUG, "part name: ", pn);
+ LOG.atDebug().log("part name: {}", pn);
} catch (URISyntaxException e) {
throw new XMLSignatureException(e);
}
@@ -230,7 +230,7 @@ public class OOXMLSignatureFacet implements SignatureFacet {
CTSignatureTime ctTime = sigTime.addNewSignatureTime();
ctTime.setFormat("YYYY-MM-DDThh:mm:ssTZD");
ctTime.setValue(signatureConfig.formatExecutionTime());
- LOG.log(POILogger.DEBUG, "execution time: ", ctTime.getValue());
+ LOG.atDebug().log("execution time: {}", ctTime.getValue());
Element n = (Element)document.importNode(ctTime.getDomNode(),true);
List<XMLStructure> signatureTimeContent = new ArrayList<>();
@@ -328,7 +328,7 @@ public class OOXMLSignatureFacet implements SignatureFacet {
}
protected static boolean isSignedRelationship(String relationshipType) {
- LOG.log(POILogger.DEBUG, "relationship type: ", relationshipType);
+ LOG.atDebug().log("relationship type: {}", relationshipType);
String rt = relationshipType.replaceFirst(".*/relationships/", "");
return (signed.contains(rt) || rt.endsWith("customXml"));
}
diff --git a/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/XAdESSignatureFacet.java b/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/XAdESSignatureFacet.java
index 8ad617f22d..d18af54e46 100644
--- a/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/XAdESSignatureFacet.java
+++ b/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/XAdESSignatureFacet.java
@@ -32,7 +32,6 @@ import java.security.MessageDigest;
import java.security.cert.CertificateEncodingException;
import java.security.cert.X509Certificate;
import java.util.Calendar;
-import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
@@ -47,13 +46,13 @@ import javax.xml.crypto.dsig.Transform;
import javax.xml.crypto.dsig.XMLObject;
import javax.xml.crypto.dsig.XMLSignatureException;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.poifs.crypt.CryptoFunctions;
import org.apache.poi.poifs.crypt.HashAlgorithm;
import org.apache.poi.poifs.crypt.dsig.SignatureConfig;
import org.apache.poi.poifs.crypt.dsig.SignatureInfo;
import org.apache.poi.poifs.crypt.dsig.services.SignaturePolicyService;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.xmlbeans.XmlCursor;
import org.apache.xmlbeans.XmlObject;
import org.apache.xmlbeans.XmlString;
@@ -92,7 +91,7 @@ import org.w3c.dom.NodeList;
*/
public class XAdESSignatureFacet implements SignatureFacet {
- private static final POILogger LOG = POILogFactory.getLogger(XAdESSignatureFacet.class);
+ private static final Logger LOG = LogManager.getLogger(XAdESSignatureFacet.class);
private static final String XADES_TYPE = "http://uri.etsi.org/01903#SignedProperties";
@@ -106,7 +105,7 @@ public class XAdESSignatureFacet implements SignatureFacet {
, List<Reference> references
, List<XMLObject> objects)
throws XMLSignatureException {
- LOG.log(POILogger.DEBUG, "preSign");
+ LOG.atDebug().log("preSign");
SignatureConfig signatureConfig = signatureInfo.getSignatureConfig();
@@ -241,7 +240,7 @@ public class XAdESSignatureFacet implements SignatureFacet {
assert(nl.getLength() == 1);
((Element)nl.item(0)).setIdAttribute("Id", true);
- List<XMLStructure> xadesObjectContent = Collections.singletonList(new DOMStructure(qualDocEl));
+ List<XMLStructure> xadesObjectContent = singletonList(new DOMStructure(qualDocEl));
XMLObject xo = signatureInfo.getSignatureFactory().newXMLObject(xadesObjectContent, null, null, null);
return xo;
}
diff --git a/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/XAdESXLSignatureFacet.java b/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/XAdESXLSignatureFacet.java
index 3c70649b97..18f28f4837 100644
--- a/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/XAdESXLSignatureFacet.java
+++ b/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/XAdESXLSignatureFacet.java
@@ -47,11 +47,11 @@ import java.util.UUID;
import javax.xml.crypto.MarshalException;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.poifs.crypt.dsig.SignatureConfig;
import org.apache.poi.poifs.crypt.dsig.SignatureInfo;
import org.apache.poi.poifs.crypt.dsig.services.RevocationData;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.xml.security.c14n.Canonicalizer;
import org.apache.xmlbeans.XmlException;
import org.bouncycastle.asn1.ASN1InputStream;
@@ -87,7 +87,7 @@ import org.w3c.dom.NodeList;
*/
public class XAdESXLSignatureFacet implements SignatureFacet {
- private static final POILogger LOG = POILogFactory.getLogger(XAdESXLSignatureFacet.class);
+ private static final Logger LOG = LogManager.getLogger(XAdESXLSignatureFacet.class);
private final CertificateFactory certificateFactory;
@@ -101,7 +101,7 @@ public class XAdESXLSignatureFacet implements SignatureFacet {
@Override
public void postSign(SignatureInfo signatureInfo, Document document) throws MarshalException {
- LOG.log(POILogger.DEBUG, "XAdES-X-L post sign phase");
+ LOG.atDebug().log("XAdES-X-L post sign phase");
SignatureConfig signatureConfig = signatureInfo.getSignatureConfig();
@@ -139,7 +139,7 @@ public class XAdESXLSignatureFacet implements SignatureFacet {
}
RevocationData tsaRevocationDataXadesT = new RevocationData();
- LOG.log(POILogger.DEBUG, "creating XAdES-T time-stamp");
+ LOG.atDebug().log("creating XAdES-T time-stamp");
XAdESTimeStampType signatureTimeStamp = createXAdESTimeStamp
(signatureInfo, Collections.singletonList(nlSigVal.item(0)), tsaRevocationDataXadesT);
@@ -259,7 +259,7 @@ public class XAdESXLSignatureFacet implements SignatureFacet {
timeStampNodesXadesX1.add(completeRevocationRefs.getDomNode());
RevocationData tsaRevocationDataXadesX1 = new RevocationData();
- LOG.log(POILogger.DEBUG, "creating XAdES-X time-stamp");
+ LOG.atDebug().log("creating XAdES-X time-stamp");
XAdESTimeStampType timeStampXadesX1 = createXAdESTimeStamp
(signatureInfo, timeStampNodesXadesX1, tsaRevocationDataXadesX1);
if (tsaRevocationDataXadesX1.hasRevocationDataEntries()) {
diff --git a/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/services/RelationshipTransformService.java b/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/services/RelationshipTransformService.java
index a2069c8a89..d8fc9d4ceb 100644
--- a/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/services/RelationshipTransformService.java
+++ b/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/services/RelationshipTransformService.java
@@ -24,6 +24,7 @@
package org.apache.poi.poifs.crypt.dsig.services;
+import static org.apache.logging.log4j.util.Unbox.box;
import static org.apache.poi.ooxml.POIXMLTypeLoader.DEFAULT_XML_OPTIONS;
import static org.apache.poi.poifs.crypt.dsig.facets.SignatureFacet.OO_DIGSIG_NS;
import static org.apache.poi.poifs.crypt.dsig.facets.SignatureFacet.XML_NS;
@@ -49,9 +50,9 @@ import javax.xml.crypto.dsig.TransformService;
import javax.xml.crypto.dsig.spec.TransformParameterSpec;
import org.apache.jcp.xml.dsig.internal.dom.ApacheNodeSetData;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.ooxml.util.DocumentHelper;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.util.SuppressForbidden;
import org.apache.xml.security.signature.XMLSignatureInput;
import org.apache.xmlbeans.XmlException;
@@ -77,7 +78,7 @@ public class RelationshipTransformService extends TransformService {
private final List<String> sourceIds;
- private static final POILogger LOG = POILogFactory.getLogger(RelationshipTransformService.class);
+ private static final Logger LOG = LogManager.getLogger(RelationshipTransformService.class);
/**
* Relationship Transform parameter specification class.
@@ -107,14 +108,14 @@ public class RelationshipTransformService extends TransformService {
public RelationshipTransformService() {
super();
- LOG.log(POILogger.DEBUG, "constructor");
+ LOG.atDebug().log("constructor");
this.sourceIds = new ArrayList<>();
}
/**
* Register the provider for this TransformService
*
- * @see javax.xml.crypto.dsig.TransformService
+ * @see TransformService
*/
public static synchronized void registerDsigProvider() {
// the xml signature classes will try to find a special TransformerService,
@@ -127,7 +128,7 @@ public class RelationshipTransformService extends TransformService {
@Override
public void init(TransformParameterSpec params) throws InvalidAlgorithmParameterException {
- LOG.log(POILogger.DEBUG, "init(params)");
+ LOG.atDebug().log("init(params)");
if (!(params instanceof RelationshipTransformParameterSpec)) {
throw new InvalidAlgorithmParameterException();
}
@@ -137,8 +138,8 @@ public class RelationshipTransformService extends TransformService {
@Override
public void init(XMLStructure parent, XMLCryptoContext context) throws InvalidAlgorithmParameterException {
- LOG.log(POILogger.DEBUG, "init(parent,context)");
- LOG.log(POILogger.DEBUG, "parent java type: ", parent.getClass().getName());
+ LOG.atDebug().log("init(parent,context)");
+ LOG.atDebug().log("parent java type: {}", parent.getClass().getName());
DOMStructure domParent = (DOMStructure) parent;
Node parentNode = domParent.getNode();
@@ -146,11 +147,11 @@ public class RelationshipTransformService extends TransformService {
TransformDocument transDoc = TransformDocument.Factory.parse(parentNode, DEFAULT_XML_OPTIONS);
XmlObject[] xoList = transDoc.getTransform().selectChildren(RelationshipReferenceDocument.type.getDocumentElementName());
if (xoList.length == 0) {
- LOG.log(POILogger.WARN, "no RelationshipReference/@SourceId parameters present");
+ LOG.atWarn().log("no RelationshipReference/@SourceId parameters present");
}
for (XmlObject xo : xoList) {
String sourceId = ((CTRelationshipReference)xo).getSourceId();
- LOG.log(POILogger.DEBUG, "sourceId: ", sourceId);
+ LOG.atDebug().log("sourceId: {}", sourceId);
this.sourceIds.add(sourceId);
}
} catch (XmlException e) {
@@ -160,7 +161,7 @@ public class RelationshipTransformService extends TransformService {
@Override
public void marshalParams(XMLStructure parent, XMLCryptoContext context) throws MarshalException {
- LOG.log(POILogger.DEBUG, "marshallParams(parent,context)");
+ LOG.atDebug().log("marshallParams(parent,context)");
DOMStructure domParent = (DOMStructure) parent;
Element parentNode = (Element)domParent.getNode();
Document doc = parentNode.getOwnerDocument();
@@ -174,7 +175,7 @@ public class RelationshipTransformService extends TransformService {
}
public AlgorithmParameterSpec getParameterSpec() {
- LOG.log(POILogger.DEBUG, "getParameterSpec");
+ LOG.atDebug().log("getParameterSpec");
return null;
}
@@ -186,10 +187,10 @@ public class RelationshipTransformService extends TransformService {
* @see <a href="https://stackoverflow.com/questions/36063375">XML Relationship Transform Algorithm</a>
*/
public Data transform(Data data, XMLCryptoContext context) throws TransformException {
- LOG.log(POILogger.DEBUG, "transform(data,context)");
- LOG.log(POILogger.DEBUG, "data java type: ", data.getClass().getName());
+ LOG.atDebug().log("transform(data,context)");
+ LOG.atDebug().log("data java type: {}", data.getClass().getName());
OctetStreamData octetStreamData = (OctetStreamData) data;
- LOG.log(POILogger.DEBUG, "URI: ", octetStreamData.getURI());
+ LOG.atDebug().log("URI: {}", octetStreamData.getURI());
InputStream octetStream = octetStreamData.getOctetStream();
Document doc;
@@ -223,18 +224,18 @@ public class RelationshipTransformService extends TransformService {
root.appendChild(el);
}
- LOG.log(POILogger.DEBUG, "# Relationship elements: ", rsList.size());
+ LOG.atDebug().log("# Relationship elements: {}", box(rsList.size()));
return new ApacheNodeSetData(new XMLSignatureInput(root));
}
public Data transform(Data data, XMLCryptoContext context, OutputStream os) throws TransformException {
- LOG.log(POILogger.DEBUG, "transform(data,context,os)");
+ LOG.atDebug().log("transform(data,context,os)");
return null;
}
public boolean isFeatureSupported(String feature) {
- LOG.log(POILogger.DEBUG, "isFeatureSupported(feature)");
+ LOG.atDebug().log("isFeatureSupported(feature)");
return false;
}
}
diff --git a/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/services/TSPTimeStampService.java b/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/services/TSPTimeStampService.java
index fce674f86d..945cf9f709 100644
--- a/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/services/TSPTimeStampService.java
+++ b/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/services/TSPTimeStampService.java
@@ -44,14 +44,15 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.message.SimpleMessage;
import org.apache.poi.poifs.crypt.CryptoFunctions;
import org.apache.poi.poifs.crypt.HashAlgorithm;
import org.apache.poi.poifs.crypt.dsig.SignatureConfig;
import org.apache.poi.poifs.crypt.dsig.SignatureInfo;
import org.apache.poi.util.HexDump;
import org.apache.poi.util.IOUtils;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.bouncycastle.asn1.ASN1ObjectIdentifier;
import org.bouncycastle.asn1.cmp.PKIFailureInfo;
import org.bouncycastle.asn1.nist.NISTObjectIdentifiers;
@@ -71,6 +72,8 @@ import org.bouncycastle.tsp.TimeStampRequestGenerator;
import org.bouncycastle.tsp.TimeStampResponse;
import org.bouncycastle.tsp.TimeStampToken;
+import static org.apache.logging.log4j.util.Unbox.box;
+
/**
* A TSP time-stamp service implementation.
*
@@ -79,7 +82,7 @@ import org.bouncycastle.tsp.TimeStampToken;
*/
public class TSPTimeStampService implements TimeStampService {
- private static final POILogger LOG = POILogFactory.getLogger(TSPTimeStampService.class);
+ private static final Logger LOG = LogManager.getLogger(TSPTimeStampService.class);
/**
* Maps the digest algorithm to corresponding OID value.
@@ -151,10 +154,10 @@ public class TSPTimeStampService implements TimeStampService {
int statusCode = huc.getResponseCode();
if (statusCode != 200) {
- LOG.log(POILogger.ERROR, "Error contacting TSP server ", signatureConfig.getTspUrl(),
- ", had status code ", statusCode, "/", huc.getResponseMessage());
- throw new IOException("Error contacting TSP server " + signatureConfig.getTspUrl() +
- ", had status code " + statusCode + "/" + huc.getResponseMessage());
+ final String message = "Error contacting TSP server " + signatureConfig.getTspUrl() +
+ ", had status code " + statusCode + "/" + huc.getResponseMessage();
+ LOG.atError().log(message);
+ throw new IOException(message);
}
// HTTP input validation
@@ -165,7 +168,7 @@ public class TSPTimeStampService implements TimeStampService {
bos = new ByteArrayOutputStream();
IOUtils.copy(huc.getInputStream(), bos);
- LOG.log(POILogger.DEBUG, "response content: ", HexDump.dump(bos.toByteArray(), 0, 0));
+ LOG.atDebug().log(() -> new SimpleMessage("response content: " + HexDump.dump(bos.toByteArray(), 0, 0)));
} finally {
huc.disconnect();
}
@@ -188,13 +191,13 @@ public class TSPTimeStampService implements TimeStampService {
timeStampResponse.validate(request);
if (0 != timeStampResponse.getStatus()) {
- LOG.log(POILogger.DEBUG, "status: ", timeStampResponse.getStatus());
- LOG.log(POILogger.DEBUG, "status string: ", timeStampResponse.getStatusString());
+ LOG.atDebug().log("status: {}", box(timeStampResponse.getStatus()));
+ LOG.atDebug().log("status string: {}", timeStampResponse.getStatusString());
PKIFailureInfo failInfo = timeStampResponse.getFailInfo();
if (null != failInfo) {
- LOG.log(POILogger.DEBUG, "fail info int value: ", failInfo.intValue());
+ LOG.atDebug().log("fail info int value: {}", box(failInfo.intValue()));
if (/*PKIFailureInfo.unacceptedPolicy*/(1 << 8) == failInfo.intValue()) {
- LOG.log(POILogger.DEBUG, "unaccepted policy");
+ LOG.atDebug().log("unaccepted policy");
}
}
throw new RuntimeException("timestamp response status != 0: "
@@ -204,8 +207,8 @@ public class TSPTimeStampService implements TimeStampService {
SignerId signerId = timeStampToken.getSID();
BigInteger signerCertSerialNumber = signerId.getSerialNumber();
X500Name signerCertIssuer = signerId.getIssuer();
- LOG.log(POILogger.DEBUG, "signer cert serial number: ", signerCertSerialNumber);
- LOG.log(POILogger.DEBUG, "signer cert issuer: ", signerCertIssuer);
+ LOG.atDebug().log("signer cert serial number: {}", signerCertSerialNumber);
+ LOG.atDebug().log("signer cert issuer: {}", signerCertIssuer);
// TSP signer certificates retrieval
Collection<X509CertificateHolder> certificates = timeStampToken.getCertificates().getMatches(null);
@@ -229,7 +232,7 @@ public class TSPTimeStampService implements TimeStampService {
x509converter.setProvider("BC");
X509CertificateHolder certificate = signerCert;
do {
- LOG.log(POILogger.DEBUG, "adding to certificate chain: ", certificate.getSubject());
+ LOG.atDebug().log("adding to certificate chain: {}", certificate.getSubject());
tspCertificateChain.add(x509converter.getCertificate(certificate));
if (certificate.getSubject().equals(certificate.getIssuer())) {
break;
@@ -253,8 +256,7 @@ public class TSPTimeStampService implements TimeStampService {
signatureConfig.getTspValidator().validate(tspCertificateChain, revocationData);
}
- LOG.log(POILogger.DEBUG, "time-stamp token time: ",
- timeStampToken.getTimeStampInfo().getGenTime());
+ LOG.atDebug().log("time-stamp token time: {}", timeStampToken.getTimeStampInfo().getGenTime());
return timeStampToken.getEncoded();
}
diff --git a/src/ooxml/java/org/apache/poi/poifs/crypt/temp/AesZipFileZipEntrySource.java b/src/ooxml/java/org/apache/poi/poifs/crypt/temp/AesZipFileZipEntrySource.java
index 454d17f82a..2fb1749d4b 100644
--- a/src/ooxml/java/org/apache/poi/poifs/crypt/temp/AesZipFileZipEntrySource.java
+++ b/src/ooxml/java/org/apache/poi/poifs/crypt/temp/AesZipFileZipEntrySource.java
@@ -36,14 +36,14 @@ import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream;
import org.apache.commons.compress.archivers.zip.ZipFile;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.openxml4j.util.ZipEntrySource;
import org.apache.poi.poifs.crypt.ChainingMode;
import org.apache.poi.poifs.crypt.CipherAlgorithm;
import org.apache.poi.poifs.crypt.CryptoFunctions;
import org.apache.poi.util.Beta;
import org.apache.poi.util.IOUtils;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.util.TempFile;
/**
@@ -52,7 +52,7 @@ import org.apache.poi.util.TempFile;
*/
@Beta
public final class AesZipFileZipEntrySource implements ZipEntrySource {
- private static final POILogger LOG = POILogFactory.getLogger(AesZipFileZipEntrySource.class);
+ private static final Logger LOG = LogManager.getLogger(AesZipFileZipEntrySource.class);
private static final String PADDING = "PKCS5Padding";
@@ -93,7 +93,7 @@ public final class AesZipFileZipEntrySource implements ZipEntrySource {
if(!closed) {
zipFile.close();
if (!tmpFile.delete()) {
- LOG.log(POILogger.WARN, tmpFile.getAbsolutePath()+" can't be removed (or was already removed.");
+ LOG.atWarn().log("{} can't be removed (or was already removed.", tmpFile.getAbsolutePath());
}
}
closed = true;
diff --git a/src/ooxml/java/org/apache/poi/poifs/crypt/temp/EncryptedTempData.java b/src/ooxml/java/org/apache/poi/poifs/crypt/temp/EncryptedTempData.java
index a2d900bf7d..e1ea120e09 100644
--- a/src/ooxml/java/org/apache/poi/poifs/crypt/temp/EncryptedTempData.java
+++ b/src/ooxml/java/org/apache/poi/poifs/crypt/temp/EncryptedTempData.java
@@ -32,12 +32,12 @@ import javax.crypto.CipherInputStream;
import javax.crypto.CipherOutputStream;
import javax.crypto.spec.SecretKeySpec;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.poifs.crypt.ChainingMode;
import org.apache.poi.poifs.crypt.CipherAlgorithm;
import org.apache.poi.poifs.crypt.CryptoFunctions;
import org.apache.poi.util.Beta;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.util.TempFile;
/**
@@ -45,8 +45,8 @@ import org.apache.poi.util.TempFile;
*/
@Beta
public class EncryptedTempData {
- private static POILogger LOG = POILogFactory.getLogger(EncryptedTempData.class);
-
+ private static Logger LOG = LogManager.getLogger(EncryptedTempData.class);
+
private static final CipherAlgorithm cipherAlgorithm = CipherAlgorithm.aes128;
private static final String PADDING = "PKCS5Padding";
private final SecretKeySpec skeySpec;
@@ -91,7 +91,7 @@ public class EncryptedTempData {
*/
public void dispose() {
if (!tempFile.delete()) {
- LOG.log(POILogger.WARN, tempFile.getAbsolutePath()+" can't be removed (or was already removed.");
+ LOG.atWarn().log("{} can't be removed (or was already removed).", tempFile.getAbsolutePath());
}
}
}
diff --git a/src/ooxml/java/org/apache/poi/poifs/crypt/temp/SXSSFWorkbookWithCustomZipEntrySource.java b/src/ooxml/java/org/apache/poi/poifs/crypt/temp/SXSSFWorkbookWithCustomZipEntrySource.java
index 01a0b21e18..4ca8b864ee 100644
--- a/src/ooxml/java/org/apache/poi/poifs/crypt/temp/SXSSFWorkbookWithCustomZipEntrySource.java
+++ b/src/ooxml/java/org/apache/poi/poifs/crypt/temp/SXSSFWorkbookWithCustomZipEntrySource.java
@@ -22,17 +22,19 @@ package org.apache.poi.poifs.crypt.temp;
import java.io.IOException;
import java.io.OutputStream;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.openxml4j.util.ZipEntrySource;
import org.apache.poi.util.Beta;
import org.apache.poi.util.IOUtils;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.apache.poi.xssf.streaming.SheetDataWriter;
+import static org.apache.logging.log4j.util.Unbox.box;
+
@Beta
public class SXSSFWorkbookWithCustomZipEntrySource extends SXSSFWorkbook {
- private static final POILogger LOG = POILogFactory.getLogger(SXSSFWorkbookWithCustomZipEntrySource.class);
+ private static final Logger LOG = LogManager.getLogger(SXSSFWorkbookWithCustomZipEntrySource.class);
public SXSSFWorkbookWithCustomZipEntrySource() {
super(20);
@@ -60,8 +62,8 @@ public class SXSSFWorkbookWithCustomZipEntrySource extends SXSSFWorkbook {
@Override
protected SheetDataWriter createSheetDataWriter() throws IOException {
//log values to ensure these values are accessible to subclasses
- LOG.log(POILogger.INFO, "isCompressTempFiles: ", isCompressTempFiles());
- LOG.log(POILogger.INFO, "SharedStringSource: ", getSharedStringSource());
+ LOG.atInfo().log("isCompressTempFiles: {}", box(isCompressTempFiles()));
+ LOG.atInfo().log("SharedStringSource: {}", getSharedStringSource());
return new SheetDataWriterWithDecorator();
}
}
diff --git a/src/ooxml/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java b/src/ooxml/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java
index 4a355fead0..1f81dc34ee 100644
--- a/src/ooxml/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java
+++ b/src/ooxml/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java
@@ -16,6 +16,7 @@
==================================================================== */
package org.apache.poi.xslf.usermodel;
+import static org.apache.logging.log4j.util.Unbox.box;
import static org.apache.poi.ooxml.POIXMLTypeLoader.DEFAULT_XML_OPTIONS;
import java.awt.Dimension;
@@ -34,6 +35,8 @@ import java.util.OptionalLong;
import java.util.regex.Pattern;
import java.util.stream.Stream;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.ooxml.POIXMLDocument;
import org.apache.poi.ooxml.POIXMLDocumentPart;
import org.apache.poi.ooxml.POIXMLException;
@@ -50,8 +53,6 @@ import org.apache.poi.util.IOUtils;
import org.apache.poi.util.Internal;
import org.apache.poi.util.LittleEndian;
import org.apache.poi.util.LittleEndianConsts;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.util.Units;
import org.apache.xmlbeans.XmlException;
import org.openxmlformats.schemas.presentationml.x2006.main.CTNotesMasterIdList;
@@ -72,7 +73,7 @@ import org.openxmlformats.schemas.presentationml.x2006.main.PresentationDocument
@Beta
public class XMLSlideShow extends POIXMLDocument
implements SlideShow<XSLFShape, XSLFTextParagraph> {
- private static final POILogger LOG = POILogFactory.getLogger(XMLSlideShow.class);
+ private static final Logger LOG = LogManager.getLogger(XMLSlideShow.class);
//arbitrarily selected; may need to increase
private static final int MAX_RECORD_LENGTH = 1_000_000;
@@ -167,7 +168,7 @@ public class XMLSlideShow extends POIXMLDocument
_presentation.getSldIdLst().getSldIdList().forEach(id -> {
XSLFSlide sh = shIdMap.get(id.getId2());
if (sh == null) {
- LOG.log(POILogger.WARN, "Slide with r:id " + id.getId() + " was defined, but didn't exist in package, skipping");
+ LOG.atWarn().log("Slide with r:id {} was defined, but didn't exist in package, skipping", box(id.getId()));
} else {
_slides.add(sh);
}
@@ -260,7 +261,7 @@ public class XMLSlideShow extends POIXMLDocument
XSLFSlideMaster sm = _masters.get(0);
XSLFSlideLayout layout = sm.getLayout(SlideLayout.BLANK);
if (layout == null) {
- LOG.log(POILogger.WARN, "Blank layout was not found - defaulting to first slide layout in master");
+ LOG.atWarn().log("Blank layout was not found - defaulting to first slide layout in master");
XSLFSlideLayout[] sl = sm.getSlideLayouts();
if (sl.length == 0) {
throw new POIXMLException("SlideMaster must contain a SlideLayout.");
diff --git a/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFColor.java b/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFColor.java
index cafb705a7e..c939383488 100644
--- a/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFColor.java
+++ b/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFColor.java
@@ -22,6 +22,8 @@ import java.awt.Color;
import javax.xml.namespace.QName;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.ooxml.util.POIXMLUnits;
import org.apache.poi.sl.draw.DrawPaint;
import org.apache.poi.sl.usermodel.AbstractColorStyle;
@@ -29,8 +31,6 @@ import org.apache.poi.sl.usermodel.ColorStyle;
import org.apache.poi.sl.usermodel.PresetColor;
import org.apache.poi.util.Beta;
import org.apache.poi.util.Internal;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.xmlbeans.XmlCursor;
import org.apache.xmlbeans.XmlObject;
import org.openxmlformats.schemas.drawingml.x2006.main.CTColor;
@@ -50,7 +50,7 @@ import org.openxmlformats.schemas.drawingml.x2006.main.CTSystemColor;
@Beta
@Internal
public class XSLFColor {
- private static final POILogger LOGGER = POILogFactory.getLogger(XSLFColor.class);
+ private static final Logger LOGGER = LogManager.getLogger(XSLFColor.class);
private static final QName VAL_ATTR = new QName("val");
private final XmlObject _xmlObject;
@@ -187,7 +187,7 @@ public class XSLFColor {
@Internal
protected void setColor(Color color) {
if (!(_xmlObject instanceof CTSolidColorFillProperties)) {
- LOGGER.log(POILogger.ERROR, "XSLFColor.setColor currently only supports CTSolidColorFillProperties");
+ LOGGER.atError().log("XSLFColor.setColor currently only supports CTSolidColorFillProperties");
return;
}
CTSolidColorFillProperties fill = (CTSolidColorFillProperties)_xmlObject;
diff --git a/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFFreeformShape.java b/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFFreeformShape.java
index 13a4842735..593a4ee1ca 100644
--- a/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFFreeformShape.java
+++ b/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFFreeformShape.java
@@ -27,14 +27,14 @@ import java.awt.geom.Rectangle2D;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.ooxml.POIXMLTypeLoader;
import org.apache.poi.ooxml.util.POIXMLUnits;
import org.apache.poi.sl.draw.geom.CustomGeometry;
import org.apache.poi.sl.draw.geom.PresetGeometries;
import org.apache.poi.sl.usermodel.FreeformShape;
import org.apache.poi.util.Beta;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.util.Units;
import org.apache.xmlbeans.XmlCursor;
import org.apache.xmlbeans.XmlObject;
@@ -62,7 +62,7 @@ import org.openxmlformats.schemas.presentationml.x2006.main.CTShapeNonVisual;
public class XSLFFreeformShape extends XSLFAutoShape
implements FreeformShape<XSLFShape,XSLFTextParagraph> {
- private static final POILogger LOG = POILogFactory.getLogger(XSLFFreeformShape.class);
+ private static final Logger LOG = LogManager.getLogger(XSLFFreeformShape.class);
/*package*/ XSLFFreeformShape(CTShape shape, XSLFSheet sheet) {
super(shape, sheet);
@@ -143,8 +143,7 @@ public class XSLFFreeformShape extends XSLFAutoShape
try {
staxReader.close();
} catch (XMLStreamException e) {
- LOG.log(POILogger.WARN,
- "An error occurred while closing a Custom Geometry XML Stream Reader: " + e.getMessage());
+ LOG.atWarn().log("An error occurred while closing a Custom Geometry XML Stream Reader: {}", e.getMessage());
}
return custGeo;
@@ -177,7 +176,7 @@ public class XSLFFreeformShape extends XSLFAutoShape
} else if (ch instanceof CTPath2DClose) {
addClosePath(path);
} else {
- LOG.log(POILogger.WARN, "can't handle path of type "+xo.getClass());
+ LOG.atWarn().log("can't handle path of type {}", xo.getClass());
}
} while (cursor.toNextSibling());
}
diff --git a/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFGraphicFrame.java b/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFGraphicFrame.java
index 490908e35c..59109b7e32 100644
--- a/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFGraphicFrame.java
+++ b/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFGraphicFrame.java
@@ -26,6 +26,8 @@ import java.io.IOException;
import javax.xml.namespace.QName;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.ooxml.POIXMLException;
import org.apache.poi.ooxml.util.POIXMLUnits;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
@@ -34,8 +36,6 @@ import org.apache.poi.openxml4j.opc.PackageRelationship;
import org.apache.poi.sl.usermodel.GraphicalFrame;
import org.apache.poi.sl.usermodel.ShapeType;
import org.apache.poi.util.Beta;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.util.Units;
import org.apache.xmlbeans.XmlCursor;
import org.apache.xmlbeans.XmlException;
@@ -51,7 +51,7 @@ import org.openxmlformats.schemas.presentationml.x2006.main.CTGroupShape;
@Beta
public class XSLFGraphicFrame extends XSLFShape implements GraphicalFrame<XSLFShape, XSLFTextParagraph> {
private static final String DRAWINGML_CHART_URI = "http://schemas.openxmlformats.org/drawingml/2006/chart";
- private static final POILogger LOG = POILogFactory.getLogger(XSLFGraphicFrame.class);
+ private static final Logger LOG = LogManager.getLogger(XSLFGraphicFrame.class);
/*package*/ XSLFGraphicFrame(CTGraphicalObjectFrame shape, XSLFSheet sheet){
super(shape,sheet);
@@ -285,7 +285,7 @@ public class XSLFGraphicFrame extends XSLFShape implements GraphicalFrame<XSLFSh
try {
gs = CTGroupShape.Factory.parse(xo.newDomNode());
} catch (XmlException e) {
- LOG.log(POILogger.WARN, "Can't parse fallback picture stream of graphical frame", e);
+ LOG.atWarn().withThrowable(e).log("Can't parse fallback picture stream of graphical frame");
return null;
}
diff --git a/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFGroupShape.java b/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFGroupShape.java
index 0838d4e929..5cf47873f3 100644
--- a/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFGroupShape.java
+++ b/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFGroupShape.java
@@ -25,14 +25,14 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.ooxml.POIXMLDocumentPart.RelationPart;
import org.apache.poi.ooxml.util.POIXMLUnits;
import org.apache.poi.sl.draw.DrawPictureShape;
import org.apache.poi.sl.usermodel.GroupShape;
import org.apache.poi.sl.usermodel.PictureData;
import org.apache.poi.util.Beta;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.util.Units;
import org.apache.xmlbeans.XmlObject;
import org.openxmlformats.schemas.drawingml.x2006.main.CTGroupShapeProperties;
@@ -56,7 +56,7 @@ import org.openxmlformats.schemas.presentationml.x2006.main.CTShape;
@Beta
public class XSLFGroupShape extends XSLFShape
implements XSLFShapeContainer, GroupShape<XSLFShape,XSLFTextParagraph> {
- private static final POILogger LOG = POILogFactory.getLogger(XSLFGroupShape.class);
+ private static final Logger LOG = LogManager.getLogger(XSLFGroupShape.class);
private final List<XSLFShape> _shapes;
private final CTGroupShapeProperties _grpSpPr;
@@ -396,7 +396,7 @@ implements XSLFShapeContainer, GroupShape<XSLFShape,XSLFTextParagraph> {
} else if (shape instanceof XSLFTable) {
newShape = createTable();
} else {
- LOG.log(POILogger.WARN, "copying of class "+shape.getClass()+" not supported.");
+ LOG.atWarn().log("copying of class {} not supported.", shape.getClass());
continue;
}
diff --git a/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFPictureShape.java b/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFPictureShape.java
index 848c8c86c3..9c4fc5902e 100644
--- a/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFPictureShape.java
+++ b/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFPictureShape.java
@@ -35,6 +35,8 @@ import javax.imageio.ImageIO;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamReader;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.ooxml.util.POIXMLUnits;
import org.apache.poi.ooxml.util.XPathHelper;
import org.apache.poi.openxml4j.opc.PackagePart;
@@ -44,8 +46,6 @@ import org.apache.poi.sl.usermodel.PictureData.PictureType;
import org.apache.poi.sl.usermodel.PictureShape;
import org.apache.poi.sl.usermodel.Placeholder;
import org.apache.poi.util.Beta;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.util.Units;
import org.apache.poi.xslf.draw.SVGImageRenderer;
import org.apache.xmlbeans.XmlCursor;
@@ -70,7 +70,7 @@ import org.openxmlformats.schemas.presentationml.x2006.main.CTPictureNonVisual;
@Beta
public class XSLFPictureShape extends XSLFSimpleShape
implements PictureShape<XSLFShape,XSLFTextParagraph> {
- private static final POILogger LOG = POILogFactory.getLogger(XSLFPictureShape.class);
+ private static final Logger LOG = LogManager.getLogger(XSLFPictureShape.class);
private static final String MS_DML_NS = "http://schemas.microsoft.com/office/drawing/2010/main";
private static final String MS_SVG_NS = "http://schemas.microsoft.com/office/drawing/2016/SVG/main";
@@ -357,7 +357,7 @@ public class XSLFPictureShape extends XSLFSimpleShape
XSLFPictureShape p = (XSLFPictureShape)sh;
String blipId = p.getBlipId();
if (blipId == null) {
- LOG.log(POILogger.WARN, "unable to copy invalid picture shape");
+ LOG.atWarn().log("unable to copy invalid picture shape");
return;
}
diff --git a/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFPropertiesDelegate.java b/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFPropertiesDelegate.java
index bce5af4d6b..bc1aee7850 100644
--- a/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFPropertiesDelegate.java
+++ b/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFPropertiesDelegate.java
@@ -17,9 +17,9 @@
package org.apache.poi.xslf.usermodel;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.util.Internal;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.xmlbeans.XmlCursor;
import org.apache.xmlbeans.XmlObject;
import org.openxmlformats.schemas.drawingml.x2006.main.CTBlipFillProperties;
@@ -50,9 +50,9 @@ import org.openxmlformats.schemas.presentationml.x2006.main.CTBackgroundProperti
*/
@Internal
/* package */ class XSLFPropertiesDelegate {
- private static final POILogger LOG = POILogFactory.getLogger(XSLFPropertiesDelegate.class);
+ private static final Logger LOG = LogManager.getLogger(XSLFPropertiesDelegate.class);
+
-
public static XSLFFillProperties getFillDelegate(XmlObject props) {
return getDelegate(XSLFFillProperties.class, props);
}
@@ -1848,15 +1848,15 @@ import org.openxmlformats.schemas.presentationml.x2006.main.CTBackgroundProperti
} else if (props instanceof CTTextCharacterProperties) {
obj = new TextCharDelegate((CTTextCharacterProperties)props);
} else {
- LOG.log(POILogger.ERROR, props.getClass(), " is an unknown properties type");
+ LOG.atError().log("{} is an unknown properties type", props.getClass());
return null;
}
if (clazz.isInstance(obj)) {
return (T)obj;
}
-
- LOG.log(POILogger.WARN, obj.getClass() +" doesn't implement "+ clazz);
+
+ LOG.atWarn().log("{} doesn't implement {}", obj.getClass(), clazz);
return null;
}
}
diff --git a/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSheet.java b/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSheet.java
index 59945d51db..1364cd7228 100644
--- a/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSheet.java
+++ b/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSheet.java
@@ -16,10 +16,10 @@
==================================================================== */
package org.apache.poi.xslf.usermodel;
+import static org.apache.logging.log4j.util.Unbox.box;
import static org.apache.poi.ooxml.POIXMLTypeLoader.DEFAULT_XML_OPTIONS;
-import java.awt.Dimension;
-import java.awt.Graphics2D;
+import java.awt.*;
import java.awt.geom.Rectangle2D;
import java.io.IOException;
import java.io.InputStream;
@@ -33,6 +33,8 @@ import java.util.Map;
import javax.xml.namespace.QName;
import com.zaxxer.sparsebits.SparseBitSet;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.ooxml.POIXMLDocumentPart;
import org.apache.poi.ooxml.POIXMLException;
import org.apache.poi.openxml4j.opc.OPCPackage;
@@ -50,8 +52,6 @@ import org.apache.poi.sl.usermodel.Sheet;
import org.apache.poi.util.Beta;
import org.apache.poi.util.IOUtils;
import org.apache.poi.util.Internal;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.util.Units;
import org.apache.poi.xddf.usermodel.chart.XDDFChart;
import org.apache.xmlbeans.XmlCursor;
@@ -73,7 +73,7 @@ import org.openxmlformats.schemas.presentationml.x2006.main.CTShape;
@Beta
public abstract class XSLFSheet extends POIXMLDocumentPart
implements XSLFShapeContainer, Sheet<XSLFShape,XSLFTextParagraph> {
- private static POILogger LOG = POILogFactory.getLogger(XSLFSheet.class);
+ private static Logger LOG = LogManager.getLogger(XSLFSheet.class);
private XSLFDrawing _drawing;
private List<XSLFShape> _shapes;
@@ -122,7 +122,7 @@ implements XSLFShapeContainer, Sheet<XSLFShape,XSLFTextParagraph> {
@SuppressWarnings("WeakerAccess")
protected void registerShapeId(final int shapeId) {
if (shapeIds.get(shapeId)) {
- LOG.log(POILogger.WARN, "shape id "+shapeId+" has been already used.");
+ LOG.atWarn().log("shape id {} has been already used.", box(shapeId));
}
shapeIds.set(shapeId);
}
@@ -130,7 +130,7 @@ implements XSLFShapeContainer, Sheet<XSLFShape,XSLFTextParagraph> {
@SuppressWarnings("WeakerAccess")
protected void deregisterShapeId(final int shapeId) {
if (!shapeIds.get(shapeId)) {
- LOG.log(POILogger.WARN, "shape id "+shapeId+" hasn't been registered.");
+ LOG.atWarn().log("shape id {} hasn't been registered.", box(shapeId));
}
shapeIds.clear(shapeId);
}
@@ -168,7 +168,7 @@ implements XSLFShapeContainer, Sheet<XSLFShape,XSLFTextParagraph> {
CTGroupShape grp = CTGroupShape.Factory.parse(cur.newXMLStreamReader());
shapes.addAll(buildShapes(grp, parent));
} catch (XmlException e) {
- LOG.log(POILogger.DEBUG, "unparsable alternate content", e);
+ LOG.atDebug().withThrowable(e).log("unparsable alternate content");
}
}
cur.pop();
@@ -726,7 +726,7 @@ implements XSLFShapeContainer, Sheet<XSLFShape,XSLFTextParagraph> {
* @since POI 4.1.0
*/
public void addChart(XSLFChart chart) {
- Rectangle2D rect2D = new java.awt.Rectangle(XDDFChart.DEFAULT_X, XDDFChart.DEFAULT_Y,
+ Rectangle2D rect2D = new Rectangle(XDDFChart.DEFAULT_X, XDDFChart.DEFAULT_Y,
XDDFChart.DEFAULT_WIDTH, XDDFChart.DEFAULT_HEIGHT);
this.addChart(chart, rect2D);
diff --git a/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSimpleShape.java b/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSimpleShape.java
index 0f4448a3af..f7424d1807 100644
--- a/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSimpleShape.java
+++ b/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSimpleShape.java
@@ -25,6 +25,8 @@ import java.awt.geom.Rectangle2D;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.ooxml.util.POIXMLUnits;
import org.apache.poi.openxml4j.opc.PackagePart;
import org.apache.poi.sl.draw.DrawPaint;
@@ -44,8 +46,6 @@ import org.apache.poi.sl.usermodel.StrokeStyle.LineCap;
import org.apache.poi.sl.usermodel.StrokeStyle.LineCompound;
import org.apache.poi.sl.usermodel.StrokeStyle.LineDash;
import org.apache.poi.util.Beta;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.util.Units;
import org.apache.poi.xslf.model.PropertyFetcher;
import org.apache.poi.xslf.usermodel.XSLFPropertiesDelegate.XSLFEffectProperties;
@@ -61,7 +61,7 @@ import org.openxmlformats.schemas.drawingml.x2006.main.*;
public abstract class XSLFSimpleShape extends XSLFShape
implements SimpleShape<XSLFShape,XSLFTextParagraph> {
private static final CTOuterShadowEffect NO_SHADOW = CTOuterShadowEffect.Factory.newInstance();
- private static final POILogger LOG = POILogFactory.getLogger(XSLFSimpleShape.class);
+ private static final Logger LOG = LogManager.getLogger(XSLFSimpleShape.class);
/* package */XSLFSimpleShape(XmlObject shape, XSLFSheet sheet) {
super(shape,sheet);
@@ -115,7 +115,7 @@ public abstract class XSLFSimpleShape extends XSLFShape
return ((CTShapeProperties)xo).addNewXfrm();
} else {
// ... group shapes have their own getXfrm()
- LOG.log(POILogger.WARN, getClass() +" doesn't have xfrm element.");
+ LOG.atWarn().log("{} doesn't have xfrm element.", getClass());
return null;
}
}
@@ -715,8 +715,7 @@ public abstract class XSLFSimpleShape extends XSLFShape
staxReader.close();
}
catch (XMLStreamException e) {
- LOG.log(POILogger.WARN,
- "An error occurred while closing a Custom Geometry XML Stream Reader: " + e.getMessage());
+ LOG.atWarn().log("An error occurred while closing a Custom Geometry XML Stream Reader: {}", e.getMessage());
}
} else {
geom = dict.get("rect");
@@ -1114,7 +1113,7 @@ public abstract class XSLFSimpleShape extends XSLFShape
private static CTLineProperties getLn(XSLFShape shape, boolean create) {
XmlObject pr = shape.getShapeProperties();
if (!(pr instanceof CTShapeProperties)) {
- LOG.log(POILogger.WARN, shape.getClass() +" doesn't have line properties");
+ LOG.atWarn().log("{} doesn't have line properties", shape.getClass());
return null;
}
diff --git a/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java b/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java
index 930e9abfa3..ea1c179d66 100644
--- a/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java
+++ b/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java
@@ -19,6 +19,8 @@ package org.apache.poi.xslf.usermodel;
import java.awt.Color;
import java.util.function.Consumer;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.common.usermodel.fonts.FontCharset;
import org.apache.poi.common.usermodel.fonts.FontFamily;
import org.apache.poi.common.usermodel.fonts.FontGroup;
@@ -33,8 +35,6 @@ import org.apache.poi.sl.usermodel.PaintStyle.SolidPaint;
import org.apache.poi.sl.usermodel.TextRun;
import org.apache.poi.util.Beta;
import org.apache.poi.util.Internal;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.util.Units;
import org.apache.poi.xslf.model.CharacterPropertyFetcher;
import org.apache.poi.xslf.model.CharacterPropertyFetcher.CharPropFetcher;
@@ -62,7 +62,7 @@ import org.openxmlformats.schemas.drawingml.x2006.main.STTextUnderlineType;
*/
@Beta
public class XSLFTextRun implements TextRun {
- private static final POILogger LOG = POILogFactory.getLogger(XSLFTextRun.class);
+ private static final Logger LOG = LogManager.getLogger(XSLFTextRun.class);
private final XmlObject _r;
private final XSLFTextParagraph _p;
@@ -114,7 +114,7 @@ public class XSLFTextRun implements TextRun {
@Override
public void setFontColor(PaintStyle color) {
if (!(color instanceof SolidPaint)) {
- LOG.log(POILogger.WARN, "Currently only SolidPaint is supported!");
+ LOG.atWarn().log("Currently only SolidPaint is supported!");
return;
}
SolidPaint sp = (SolidPaint)color;
diff --git a/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBRelation.java b/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBRelation.java
index e86fd58a88..94599bc5aa 100644
--- a/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBRelation.java
+++ b/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBRelation.java
@@ -17,14 +17,15 @@
package org.apache.poi.xssf.binary;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.ooxml.POIXMLRelation;
import org.apache.poi.openxml4j.opc.PackageRelationshipTypes;
import org.apache.poi.util.Internal;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
+import org.apache.poi.xssf.usermodel.XSSFRelation;
/**
- * Need to have this mirror class of {@link org.apache.poi.xssf.usermodel.XSSFRelation}
+ * Need to have this mirror class of {@link XSSFRelation}
* because of conflicts with regular ooxml relations.
* If we failed to break this into a separate class, in the cases of SharedStrings and Styles,
* 2 parts would exist, and &quot;Packages shall not contain equivalent part names...&quot;
@@ -33,7 +34,7 @@ import org.apache.poi.util.POILogger;
*/
@Internal
public class XSSFBRelation extends POIXMLRelation {
- private static final POILogger log = POILogFactory.getLogger(XSSFBRelation.class);
+ private static final Logger LOGGER = LogManager.getLogger(XSSFBRelation.class);
static final XSSFBRelation SHARED_STRINGS_BINARY = new XSSFBRelation(
"application/vnd.ms-excel.sharedStrings",
diff --git a/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFBReader.java b/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFBReader.java
index b1d7700082..6d4c2eb0b3 100644
--- a/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFBReader.java
+++ b/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFBReader.java
@@ -28,6 +28,8 @@ import java.util.List;
import java.util.Set;
import com.zaxxer.sparsebits.SparseBitSet;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
import org.apache.poi.openxml4j.opc.OPCPackage;
@@ -38,8 +40,6 @@ import org.apache.poi.openxml4j.opc.PackageRelationshipCollection;
import org.apache.poi.openxml4j.opc.PackagingURIHelper;
import org.apache.poi.util.LittleEndian;
import org.apache.poi.util.LittleEndianConsts;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.xssf.binary.XSSFBCommentsTable;
import org.apache.poi.xssf.binary.XSSFBParseException;
import org.apache.poi.xssf.binary.XSSFBParser;
@@ -57,7 +57,7 @@ import org.apache.poi.xssf.usermodel.XSSFRelation;
*/
public class XSSFBReader extends XSSFReader {
- private static final POILogger log = POILogFactory.getLogger(XSSFBReader.class);
+ private static final Logger LOGGER = LogManager.getLogger(XSSFBReader.class);
private static final Set<String> WORKSHEET_RELS =
Collections.unmodifiableSet(new HashSet<>(
Arrays.asList(new String[]{
@@ -224,7 +224,7 @@ public class XSSFBReader extends XSSFReader {
tryToAddWorksheet(data);
} catch (XSSFBParseException e) {
if (tryOldFormat(data)) {
- log.log(POILogger.WARN, "This file was written with a beta version of Excel. "+
+ LOGGER.atWarn().log("This file was written with a beta version of Excel. "+
"POI will try to parse the file as a regular xlsb.");
} else {
throw e;
diff --git a/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFReader.java b/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFReader.java
index 58dc00a5b0..d31c489e81 100644
--- a/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFReader.java
+++ b/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFReader.java
@@ -31,6 +31,8 @@ import java.util.Set;
import javax.xml.parsers.ParserConfigurationException;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.ooxml.POIXMLException;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
@@ -41,8 +43,6 @@ import org.apache.poi.openxml4j.opc.PackageRelationship;
import org.apache.poi.openxml4j.opc.PackageRelationshipCollection;
import org.apache.poi.openxml4j.opc.PackageRelationshipTypes;
import org.apache.poi.openxml4j.opc.PackagingURIHelper;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.util.XMLHelper;
import org.apache.poi.xssf.model.CommentsTable;
import org.apache.poi.xssf.model.SharedStringsTable;
@@ -73,7 +73,7 @@ public class XSSFReader {
XSSFRelation.CHARTSHEET.getRelation(),
XSSFRelation.MACRO_SHEET_BIN.getRelation())
));
- private static final POILogger LOGGER = POILogFactory.getLogger(XSSFReader.class);
+ private static final Logger LOGGER = LogManager.getLogger(XSSFReader.class);
protected OPCPackage pkg;
protected PackagePart workbookPart;
@@ -356,7 +356,7 @@ public class XSSFReader {
return parseComments(commentsPart);
}
} catch (InvalidFormatException|IOException e) {
- LOGGER.log(POILogger.WARN, e);
+ LOGGER.atWarn().withThrowable(e).log("Failed to load sheet comments");
return null;
}
return null;
@@ -383,14 +383,14 @@ public class XSSFReader {
PackagePart drawingsPart = sheetPkg.getPackage().getPart(drawingsName);
if (drawingsPart == null) {
//parts can go missing; Excel ignores them silently -- TIKA-2134
- LOGGER.log(POILogger.WARN, "Missing drawing: " + drawingsName + ". Skipping it.");
+ LOGGER.atWarn().log("Missing drawing: {}. Skipping it.", drawingsName);
continue;
}
XSSFDrawing drawing = new XSSFDrawing(drawingsPart);
shapes.addAll(drawing.getShapes());
}
} catch (XmlException|InvalidFormatException|IOException e) {
- LOGGER.log(POILogger.WARN, e);
+ LOGGER.atWarn().withThrowable(e).log("Failed to load shapes");
return null;
}
return shapes;
diff --git a/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFSheetXMLHandler.java b/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFSheetXMLHandler.java
index 302f22f89d..1cbb4d4fc3 100644
--- a/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFSheetXMLHandler.java
+++ b/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFSheetXMLHandler.java
@@ -22,12 +22,12 @@ import java.util.Iterator;
import java.util.LinkedList;
import java.util.Queue;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.ss.usermodel.BuiltinFormats;
import org.apache.poi.ss.usermodel.DataFormatter;
import org.apache.poi.ss.usermodel.RichTextString;
import org.apache.poi.ss.util.CellAddress;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.xssf.model.*;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFComment;
@@ -48,7 +48,7 @@ import org.xml.sax.helpers.DefaultHandler;
* you need to implement for reading information from a file.
*/
public class XSSFSheetXMLHandler extends DefaultHandler {
- private static final POILogger LOG = POILogFactory.getLogger(XSSFSheetXMLHandler.class);
+ private static final Logger LOG = LogManager.getLogger(XSSFSheetXMLHandler.class);
/**
* These are the different kinds of cells we support.
@@ -235,7 +235,7 @@ public class XSSFSheetXMLHandler extends DefaultHandler {
// TODO Retrieve the shared formula and tweak it to
// match the current cell
if(formulasNotResults) {
- LOG.log(POILogger.WARN, "shared formulas not yet supported!");
+ LOG.atWarn().log("shared formulas not yet supported!");
} /*else {
// It's a shared formula, so we can't get at the formula string yet
// However, they don't care about the formula string, so that's ok!
@@ -418,7 +418,7 @@ public class XSSFSheetXMLHandler extends DefaultHandler {
thisStr = rtss.toString();
}
catch (NumberFormatException ex) {
- LOG.log(POILogger.ERROR, "Failed to parse SST index '", sstIndex, ex);
+ LOG.atError().withThrowable(ex).log("Failed to parse SST index '{}'", sstIndex);
}
break;
diff --git a/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFBEventBasedExcelExtractor.java b/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFBEventBasedExcelExtractor.java
index 9375572ab8..817ed64a1e 100644
--- a/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFBEventBasedExcelExtractor.java
+++ b/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFBEventBasedExcelExtractor.java
@@ -19,11 +19,11 @@ package org.apache.poi.xssf.extractor;
import java.io.IOException;
import java.io.InputStream;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.ss.usermodel.DataFormatter;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.xssf.binary.XSSFBCommentsTable;
import org.apache.poi.xssf.binary.XSSFBHyperlinksTable;
import org.apache.poi.xssf.binary.XSSFBSharedStringsTable;
@@ -44,7 +44,7 @@ import org.xml.sax.SAXException;
*/
public class XSSFBEventBasedExcelExtractor extends XSSFEventBasedExcelExtractor {
- private static final POILogger LOGGER = POILogFactory.getLogger(XSSFBEventBasedExcelExtractor.class);
+ private static final Logger LOGGER = LogManager.getLogger(XSSFBEventBasedExcelExtractor.class);
public static final XSSFRelation[] SUPPORTED_TYPES = new XSSFRelation[]{
XSSFRelation.XLSB_BINARY_WORKBOOK
@@ -139,7 +139,7 @@ public class XSSFBEventBasedExcelExtractor extends XSSFEventBasedExcelExtractor
return text.toString();
} catch (IOException | OpenXML4JException | SAXException e) {
- LOGGER.log(POILogger.WARN, e);
+ LOGGER.atWarn().withThrowable(e).log("Failed to load text");
return null;
}
}
diff --git a/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFEventBasedExcelExtractor.java b/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFEventBasedExcelExtractor.java
index cfd295c2b9..35fcb58685 100644
--- a/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFEventBasedExcelExtractor.java
+++ b/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFEventBasedExcelExtractor.java
@@ -25,6 +25,8 @@ import java.util.Map;
import javax.xml.parsers.ParserConfigurationException;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.ooxml.POIXMLDocument;
import org.apache.poi.ooxml.POIXMLProperties;
import org.apache.poi.ooxml.POIXMLProperties.CoreProperties;
@@ -33,9 +35,9 @@ import org.apache.poi.ooxml.POIXMLProperties.ExtendedProperties;
import org.apache.poi.ooxml.extractor.POIXMLTextExtractor;
import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
import org.apache.poi.openxml4j.opc.OPCPackage;
+import org.apache.poi.ss.extractor.ExcelExtractor;
import org.apache.poi.ss.usermodel.DataFormatter;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
+import org.apache.poi.ss.usermodel.HeaderFooter;
import org.apache.poi.util.XMLHelper;
import org.apache.poi.xssf.eventusermodel.ReadOnlySharedStringsTable;
import org.apache.poi.xssf.eventusermodel.XSSFReader;
@@ -59,9 +61,9 @@ import org.xml.sax.XMLReader;
* files that uses SAX event based parsing.
*/
public class XSSFEventBasedExcelExtractor
- implements POIXMLTextExtractor, org.apache.poi.ss.extractor.ExcelExtractor {
+ implements POIXMLTextExtractor, ExcelExtractor {
- private static final POILogger LOGGER = POILogFactory.getLogger(XSSFEventBasedExcelExtractor.class);
+ private static final Logger LOGGER = LogManager.getLogger(XSSFEventBasedExcelExtractor.class);
protected final OPCPackage container;
protected final POIXMLProperties properties;
@@ -288,7 +290,7 @@ public class XSSFEventBasedExcelExtractor
return text.toString();
} catch (IOException | OpenXML4JException | SAXException e) {
- LOGGER.log(POILogger.WARN, e);
+ LOGGER.atWarn().withThrowable(e).log("Failed to load text");
return null;
}
}
@@ -413,7 +415,7 @@ public class XSSFEventBasedExcelExtractor
* they are appended in XSSFExcelExtractor.
*
* @see XSSFExcelExtractor#getText()
- * @see org.apache.poi.hssf.extractor.ExcelExtractor#_extractHeaderFooter(org.apache.poi.ss.usermodel.HeaderFooter)
+ * @see org.apache.poi.hssf.extractor.ExcelExtractor#_extractHeaderFooter(HeaderFooter)
*/
void appendHeaderText(StringBuilder buffer) {
appendHeaderFooterText(buffer, "firstHeader");
@@ -426,7 +428,7 @@ public class XSSFEventBasedExcelExtractor
* they are appended in XSSFExcelExtractor.
*
* @see XSSFExcelExtractor#getText()
- * @see org.apache.poi.hssf.extractor.ExcelExtractor#_extractHeaderFooter(org.apache.poi.ss.usermodel.HeaderFooter)
+ * @see org.apache.poi.hssf.extractor.ExcelExtractor#_extractHeaderFooter(HeaderFooter)
*/
void appendFooterText(StringBuilder buffer) {
// append the text for each footer type in the same order
diff --git a/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFExportToXml.java b/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFExportToXml.java
index 3904b9fd19..d918ae1a65 100644
--- a/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFExportToXml.java
+++ b/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFExportToXml.java
@@ -38,12 +38,12 @@ import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Validator;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.ooxml.util.DocumentHelper;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.DateUtil;
import org.apache.poi.util.LocaleUtil;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.util.XMLHelper;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFMap;
@@ -79,7 +79,7 @@ import org.xml.sax.SAXException;
* </ul>
*/
public class XSSFExportToXml implements Comparator<String>{
- private static final POILogger LOG = POILogFactory.getLogger(XSSFExportToXml.class);
+ private static final Logger LOG = LogManager.getLogger(XSSFExportToXml.class);
@FunctionalInterface
@@ -259,7 +259,7 @@ public class XSSFExportToXml implements Comparator<String>{
//if no exceptions where raised, the document is valid
return true;
} catch(IOException e) {
- LOG.log(POILogger.ERROR, "document is not valid", e);
+ LOG.atError().withThrowable(e).log("document is not valid");
}
return false;
@@ -546,9 +546,9 @@ public class XSSFExportToXml implements Comparator<String>{
try {
securityFeature.accept(name);
} catch (Exception e) {
- LOG.log(POILogger.WARN, "SchemaFactory feature unsupported", name, e);
+ LOG.atWarn().withThrowable(e).log("SchemaFactory feature ({}) unsupported", name);
} catch (AbstractMethodError ame) {
- LOG.log(POILogger.WARN, "Cannot set SchemaFactory feature because outdated XML parser in classpath", name, ame);
+ LOG.atWarn().withThrowable(ame).log("Cannot set SchemaFactory feature ({}) because outdated XML parser in classpath", name);
}
}
}
diff --git a/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFImportFromXML.java b/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFImportFromXML.java
index 0295c3b707..4605ee04e0 100644
--- a/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFImportFromXML.java
+++ b/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFImportFromXML.java
@@ -35,13 +35,13 @@ import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpressionException;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.ooxml.util.DocumentHelper;
import org.apache.poi.ooxml.util.XPathHelper;
import org.apache.poi.ss.usermodel.DateUtil;
import org.apache.poi.ss.util.CellReference;
import org.apache.poi.util.LocaleUtil;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFMap;
import org.apache.poi.xssf.usermodel.XSSFRow;
@@ -57,6 +57,8 @@ import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
+import static org.apache.logging.log4j.util.Unbox.box;
+
/**
* Imports data from an external XML to an XLSX according to one of the mappings
* defined.The output XML Schema must respect this limitations:
@@ -70,7 +72,7 @@ public class XSSFImportFromXML {
private final XSSFMap _map;
- private static final POILogger LOG = POILogFactory.getLogger(XSSFImportFromXML.class);
+ private static final Logger LOG = LogManager.getLogger(XSSFImportFromXML.class);
public XSSFImportFromXML(XSSFMap map) {
_map = map;
@@ -109,10 +111,9 @@ public class XSSFImportFromXML {
// result can be null if value is optional (xsd:minOccurs=0), see bugzilla 55864
if (result != null) {
String textContent = result.getTextContent();
- LOG.log(POILogger.DEBUG, "Extracting with xpath " + xpathString + " : value is '" + textContent + "'");
+ LOG.atDebug().log("Extracting with xpath {} : value is '{}'", xpathString, textContent);
XSSFCell cell = singleXmlCell.getReferencedCell();
- LOG.log(POILogger.DEBUG, "Setting '" + textContent + "' to cell " + cell.getColumnIndex() + "-" + cell.getRowIndex() + " in sheet "
- + cell.getSheet().getSheetName());
+ LOG.atDebug().log("Setting '{}' to cell {}-{} in sheet {}", textContent, box(cell.getColumnIndex()),box(cell.getRowIndex()),cell.getSheet().getSheetName());
setCellValue(textContent, cell, xmlDataType);
}
}
@@ -147,7 +148,7 @@ public class XSSFImportFromXML {
// TODO: convert the data to the cell format
String value = (String) xpath.evaluate(localXPath, singleNode, XPathConstants.STRING);
- LOG.log(POILogger.DEBUG, "Extracting with xpath " + localXPath + " : value is '" + value + "'");
+ LOG.atDebug().log("Extracting with xpath {} : value is '{}'", localXPath, value);
XSSFRow row = table.getXSSFSheet().getRow(rowId);
if (row == null) {
row = table.getXSSFSheet().createRow(rowId);
@@ -157,8 +158,7 @@ public class XSSFImportFromXML {
if (cell == null) {
cell = row.createCell(columnId);
}
- LOG.log(POILogger.DEBUG, "Setting '" + value + "' to cell " + cell.getColumnIndex() + "-" + cell.getRowIndex() + " in sheet "
- + table.getXSSFSheet().getSheetName());
+ LOG.atDebug().log("Setting '{}' to cell {}-{} in sheet {}", value, box(cell.getColumnIndex()),box(cell.getRowIndex()),table.getXSSFSheet().getSheetName());
setCellValue(value, cell, xmlColumnPr.getXmlDataType());
}
}
diff --git a/src/ooxml/java/org/apache/poi/xssf/streaming/DeferredSXSSFWorkbook.java b/src/ooxml/java/org/apache/poi/xssf/streaming/DeferredSXSSFWorkbook.java
index e3c66fa089..fb21c779c8 100644
--- a/src/ooxml/java/org/apache/poi/xssf/streaming/DeferredSXSSFWorkbook.java
+++ b/src/ooxml/java/org/apache/poi/xssf/streaming/DeferredSXSSFWorkbook.java
@@ -21,11 +21,11 @@ import java.io.IOException;
import java.io.OutputStream;
import java.util.Iterator;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.util.Beta;
import org.apache.poi.util.NotImplemented;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
@@ -39,7 +39,7 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook;
*/
@Beta
public class DeferredSXSSFWorkbook extends SXSSFWorkbook {
- private static final POILogger LOG = POILogFactory.getLogger(DeferredSXSSFWorkbook.class);
+ private static final Logger LOG = LogManager.getLogger(DeferredSXSSFWorkbook.class);
public DeferredSXSSFWorkbook() {
this(null);
@@ -161,7 +161,7 @@ public class DeferredSXSSFWorkbook extends SXSSFWorkbook {
try {
sxSheet.dispose();
} catch (IOException e) {
- LOG.log(POILogger.WARN, e);
+ LOG.atWarn().withThrowable(e).log("Failed to cleanup old sheet");
}
}
}
diff --git a/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFCreationHelper.java b/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFCreationHelper.java
index 707b8ba365..d18177c032 100644
--- a/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFCreationHelper.java
+++ b/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFCreationHelper.java
@@ -17,6 +17,8 @@
package org.apache.poi.xssf.streaming;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.common.usermodel.HyperlinkType;
import org.apache.poi.ss.usermodel.ClientAnchor;
import org.apache.poi.ss.usermodel.CreationHelper;
@@ -26,8 +28,6 @@ import org.apache.poi.ss.usermodel.Hyperlink;
import org.apache.poi.ss.util.AreaReference;
import org.apache.poi.ss.util.CellReference;
import org.apache.poi.util.Internal;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.xssf.usermodel.XSSFCreationHelper;
import org.apache.poi.xssf.usermodel.XSSFRichTextString;
@@ -37,7 +37,7 @@ import org.apache.poi.xssf.usermodel.XSSFRichTextString;
* regular XSSF Workbook
*/
public class SXSSFCreationHelper implements CreationHelper {
- private static final POILogger LOG = POILogFactory.getLogger(SXSSFCreationHelper.class);
+ private static final Logger LOG = LogManager.getLogger(SXSSFCreationHelper.class);
private final SXSSFWorkbook wb;
private final XSSFCreationHelper helper;
@@ -55,7 +55,7 @@ public class SXSSFCreationHelper implements CreationHelper {
@Override
public XSSFRichTextString createRichTextString(String text) {
- LOG.log(POILogger.INFO, "SXSSF doesn't support Rich Text Strings, any formatting information will be lost");
+ LOG.atInfo().log("SXSSF doesn't support Rich Text Strings, any formatting information will be lost");
return new XSSFRichTextString(text);
}
diff --git a/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFFormulaEvaluator.java b/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFFormulaEvaluator.java
index a846b48458..67fe562aac 100644
--- a/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFFormulaEvaluator.java
+++ b/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFFormulaEvaluator.java
@@ -17,6 +17,8 @@
package org.apache.poi.xssf.streaming;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.ss.formula.EvaluationCell;
import org.apache.poi.ss.formula.IStabilityClassifier;
import org.apache.poi.ss.formula.WorkbookEvaluator;
@@ -25,16 +27,16 @@ import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.xssf.usermodel.BaseXSSFFormulaEvaluator;
+import static org.apache.logging.log4j.util.Unbox.box;
+
/**
* Streaming-specific Formula Evaluator, which is able to
* lookup cells within the current Window.
*/
public final class SXSSFFormulaEvaluator extends BaseXSSFFormulaEvaluator {
- private static final POILogger LOG = POILogFactory.getLogger(SXSSFFormulaEvaluator.class);
+ private static final Logger LOG = LogManager.getLogger(SXSSFFormulaEvaluator.class);
private final SXSSFWorkbook wb;
@@ -111,7 +113,7 @@ public final class SXSSFFormulaEvaluator extends BaseXSSFFormulaEvaluator {
int lastFlushedRowNum = ((SXSSFSheet) sheet).getLastFlushedRowNum();
if (lastFlushedRowNum > -1) {
if (! skipOutOfWindow) throw new RowFlushedException(0);
- LOG.log(POILogger.INFO, "Rows up to ", lastFlushedRowNum, " have already been flushed, skipping");
+ LOG.atInfo().log("Rows up to {} have already been flushed, skipping", box(lastFlushedRowNum));
}
}
diff --git a/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFPicture.java b/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFPicture.java
index 6711d82860..a39eb590c8 100644
--- a/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFPicture.java
+++ b/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFPicture.java
@@ -20,6 +20,8 @@ package org.apache.poi.xssf.streaming;
import java.awt.Dimension;
import java.io.IOException;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.openxml4j.opc.PackagePart;
import org.apache.poi.ss.usermodel.Picture;
import org.apache.poi.ss.usermodel.Row;
@@ -28,8 +30,6 @@ import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.ImageUtils;
import org.apache.poi.util.Internal;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.util.Units;
import org.apache.poi.xssf.usermodel.XSSFAnchor;
import org.apache.poi.xssf.usermodel.XSSFClientAnchor;
@@ -50,7 +50,7 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCol;
* The main change is to access the rows in the SXSSF sheet, not the always empty rows in the XSSF sheet when checking the row heights.
*/
public final class SXSSFPicture implements Picture {
- private static final POILogger LOG = POILogFactory.getLogger(SXSSFPicture.class);
+ private static final Logger LOG = LogManager.getLogger(SXSSFPicture.class);
/**
* Column width measured as the number of characters of the maximum digit width of the
* numbers 0, 1, 2, ..., 9 as rendered in the normal style's font. There are 4 pixels of margin
@@ -109,7 +109,7 @@ public final class SXSSFPicture implements Picture {
XSSFClientAnchor anchor = getClientAnchor();
XSSFClientAnchor pref = getPreferredSize(scale);
if (anchor == null || pref == null) {
- LOG.log(POILogger.WARN, "picture is not anchored via client anchor - ignoring resize call");
+ LOG.atWarn().log("picture is not anchored via client anchor - ignoring resize call");
return;
}
@@ -144,7 +144,7 @@ public final class SXSSFPicture implements Picture {
public XSSFClientAnchor getPreferredSize(double scale){
XSSFClientAnchor anchor = getClientAnchor();
if (anchor == null) {
- LOG.log(POILogger.WARN, "picture is not anchored via client anchor - ignoring resize call");
+ LOG.atWarn().log("picture is not anchored via client anchor - ignoring resize call");
return null;
}
@@ -222,7 +222,7 @@ public final class SXSSFPicture implements Picture {
return ImageUtils.getImageDimension(part.getInputStream(), type);
} catch (IOException e){
//return a "singulariry" if ImageIO failed to read the image
- LOG.log(POILogger.WARN, e);
+ LOG.atWarn().withThrowable(e).log("Failed to read image");
return new Dimension();
}
}
diff --git a/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFWorkbook.java b/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFWorkbook.java
index 42fc9c0584..a4a9a439e5 100644
--- a/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFWorkbook.java
+++ b/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFWorkbook.java
@@ -36,6 +36,8 @@ import org.apache.commons.compress.archivers.ArchiveOutputStream;
import org.apache.commons.compress.archivers.zip.Zip64Mode;
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.openxml4j.util.ZipArchiveThresholdInputStream;
import org.apache.poi.openxml4j.util.ZipEntrySource;
@@ -50,6 +52,7 @@ import org.apache.poi.ss.usermodel.DataFormat;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.Name;
import org.apache.poi.ss.usermodel.PictureData;
+import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Row.MissingCellPolicy;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.SheetVisibility;
@@ -58,8 +61,6 @@ import org.apache.poi.util.Beta;
import org.apache.poi.util.IOUtils;
import org.apache.poi.util.Internal;
import org.apache.poi.util.NotImplemented;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.util.Removal;
import org.apache.poi.util.TempFile;
import org.apache.poi.xssf.model.SharedStringsTable;
@@ -102,7 +103,7 @@ public class SXSSFWorkbook implements Workbook {
* via {@link SXSSFSheet#getRow} anymore.
*/
public static final int DEFAULT_WINDOW_SIZE = 100;
- private static final POILogger LOG = POILogFactory.getLogger(SXSSFWorkbook.class);
+ private static final Logger LOG = LogManager.getLogger(SXSSFWorkbook.class);
protected final XSSFWorkbook _wb;
@@ -839,7 +840,7 @@ public class SXSSFWorkbook implements Workbook {
try {
sxSheet.dispose();
} catch (IOException e) {
- LOG.log(POILogger.WARN, e);
+ LOG.atWarn().withThrowable(e).log("Failed to dispose old sheet");
}
}
@@ -935,9 +936,7 @@ public class SXSSFWorkbook implements Workbook {
SheetDataWriter _writer = sheet.getSheetDataWriter();
if (_writer != null) _writer.close();
} catch (IOException e) {
- LOG.log(POILogger.WARN,
- "An exception occurred while closing sheet data writer for sheet "
- + sheet.getSheetName() + ".", e);
+ LOG.atWarn().withThrowable(e).log("An exception occurred while closing sheet data writer for sheet {}.", sheet.getSheetName());
}
}
@@ -998,7 +997,7 @@ public class SXSSFWorkbook implements Workbook {
try {
success = sheet.dispose() && success;
} catch (IOException e) {
- LOG.log(POILogger.WARN, e);
+ LOG.atWarn().withThrowable(e).log("Failed to dispose sheet");
success = false;
}
}
@@ -1139,7 +1138,7 @@ public class SXSSFWorkbook implements Workbook {
* getting missing or blank cells from a row.
*
* This will then apply to all calls to
- * {@link org.apache.poi.ss.usermodel.Row#getCell(int)}. See
+ * {@link Row#getCell(int)}. See
* {@link MissingCellPolicy}
*/
@Override
diff --git a/src/ooxml/java/org/apache/poi/xssf/streaming/SheetDataWriter.java b/src/ooxml/java/org/apache/poi/xssf/streaming/SheetDataWriter.java
index 93f0b50410..f72b6a2ff3 100644
--- a/src/ooxml/java/org/apache/poi/xssf/streaming/SheetDataWriter.java
+++ b/src/ooxml/java/org/apache/poi/xssf/streaming/SheetDataWriter.java
@@ -32,13 +32,13 @@ import java.io.Writer;
import java.nio.charset.StandardCharsets;
import java.util.Iterator;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.FormulaError;
import org.apache.poi.ss.util.CellReference;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.util.StringCodepointsIterable;
import org.apache.poi.util.TempFile;
import org.apache.poi.xssf.model.SharedStringsTable;
@@ -52,7 +52,7 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.STCellType;
* so that it was renamed to "SheetDataWriter"
*/
public class SheetDataWriter implements Closeable {
- private static final POILogger LOG = POILogFactory.getLogger(SheetDataWriter.class);
+ private static final Logger LOG = LogManager.getLogger(SheetDataWriter.class);
private final File _fd;
protected final Writer _out;
@@ -186,7 +186,7 @@ public class SheetDataWriter implements Closeable {
@Override
protected void finalize() throws Throwable {
if (_fd.exists() && !_fd.delete()) {
- LOG.log(POILogger.ERROR, "Can't delete temporary encryption file: ", _fd);
+ LOG.atError().log("Can't delete temporary encryption file: {}", _fd);
}
}
diff --git a/src/ooxml/java/org/apache/poi/xssf/streaming/StreamingSheetWriter.java b/src/ooxml/java/org/apache/poi/xssf/streaming/StreamingSheetWriter.java
index 065f585b54..ef5e6c3438 100644
--- a/src/ooxml/java/org/apache/poi/xssf/streaming/StreamingSheetWriter.java
+++ b/src/ooxml/java/org/apache/poi/xssf/streaming/StreamingSheetWriter.java
@@ -25,9 +25,9 @@ import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.util.Beta;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
/**
* Unlike SheetDataWriter, this writer does not create a temporary file, it writes data directly
@@ -36,7 +36,7 @@ import org.apache.poi.util.POILogger;
*/
@Beta
public class StreamingSheetWriter extends SheetDataWriter {
- private static final POILogger LOG = POILogFactory.getLogger(StreamingSheetWriter.class);
+ private static final Logger LOG = LogManager.getLogger(StreamingSheetWriter.class);
public StreamingSheetWriter() throws IOException {
throw new RuntimeException("StreamingSheetWriter requires OutputStream");
@@ -44,7 +44,7 @@ public class StreamingSheetWriter extends SheetDataWriter {
public StreamingSheetWriter(OutputStream out) throws IOException {
super(createWriter(out));
- LOG.log(POILogger.DEBUG, "Preparing SSXSSF sheet writer");
+ LOG.atDebug().log("Preparing SSXSSF sheet writer");
}
@Override
diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFDrawing.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFDrawing.java
index 8b437cb222..c781ca7285 100644
--- a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFDrawing.java
+++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFDrawing.java
@@ -28,6 +28,8 @@ import java.util.List;
import javax.xml.namespace.QName;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.ooxml.POIXMLDocumentPart;
import org.apache.poi.ooxml.POIXMLException;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
@@ -42,8 +44,6 @@ import org.apache.poi.ss.usermodel.Drawing;
import org.apache.poi.ss.util.CellAddress;
import org.apache.poi.ss.util.ImageUtils;
import org.apache.poi.util.Internal;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.util.Units;
import org.apache.poi.xssf.model.CommentsTable;
import org.apache.xmlbeans.XmlCursor;
@@ -76,7 +76,7 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheet;
* Represents a SpreadsheetML drawing
*/
public final class XSSFDrawing extends POIXMLDocumentPart implements Drawing<XSSFShape> {
- private static final POILogger LOG = POILogFactory.getLogger(XSSFDrawing.class);
+ private static final Logger LOG = LogManager.getLogger(XSSFDrawing.class);
/**
* Root element of the SpreadsheetML Drawing part
@@ -90,7 +90,7 @@ public final class XSSFDrawing extends POIXMLDocumentPart implements Drawing<XSS
/**
* Create a new SpreadsheetML drawing
*
- * @see org.apache.poi.xssf.usermodel.XSSFSheet#createDrawingPatriarch()
+ * @see XSSFSheet#createDrawingPatriarch()
*/
protected XSSFDrawing() {
super();
@@ -191,7 +191,7 @@ public final class XSSFDrawing extends POIXMLDocumentPart implements Drawing<XSS
* @param pictureIndex
* the index of the picture in the workbook collection of
* pictures,
- * {@link org.apache.poi.xssf.usermodel.XSSFWorkbook#getAllPictures()}
+ * {@link XSSFWorkbook#getAllPictures()}
* .
*
* @return the newly created picture shape.
@@ -226,7 +226,7 @@ public final class XSSFDrawing extends POIXMLDocumentPart implements Drawing<XSS
* the client anchor describes how this chart is attached to the
* sheet.
* @return the newly created chart
- * @see org.apache.poi.xssf.usermodel.XSSFDrawing#createChart(ClientAnchor)
+ * @see XSSFDrawing#createChart(ClientAnchor)
*/
public XSSFChart createChart(XSSFClientAnchor anchor) {
RelationPart rp = createChartRelationPart();
@@ -283,7 +283,7 @@ public final class XSSFDrawing extends POIXMLDocumentPart implements Drawing<XSS
* Add the indexed picture to this drawing relations
*
* @param pictureIndex the index of the picture in the workbook collection of pictures,
- * {@link org.apache.poi.xssf.usermodel.XSSFWorkbook#getAllPictures()} .
+ * {@link XSSFWorkbook#getAllPictures()} .
*/
protected PackageRelationship addPictureReference(int pictureIndex) {
XSSFWorkbook wb = (XSSFWorkbook) getParent().getParent();
@@ -643,8 +643,7 @@ public final class XSSFDrawing extends POIXMLDocumentPart implements Drawing<XSS
} else if (obj instanceof CTGroupShape) {
shape = new XSSFShapeGroup(this, (CTGroupShape) obj);
} else if (obj instanceof XmlAnyTypeImpl) {
- LOG.log(POILogger.WARN,
- "trying to parse AlternateContent, this unlinks the returned Shapes from the underlying xml content, so those shapes can't be used to modify the drawing, i.e. modifications will be ignored!");
+ LOG.atWarn().log("trying to parse AlternateContent, this unlinks the returned Shapes from the underlying xml content, so those shapes can't be used to modify the drawing, i.e. modifications will be ignored!");
// XmlAnyTypeImpl is returned for AlternateContent
// parts, which might contain a CTDrawing
@@ -661,7 +660,7 @@ public final class XSSFDrawing extends POIXMLDocumentPart implements Drawing<XSS
addShapes(cur2, lst);
}
} catch (XmlException e) {
- LOG.log(POILogger.WARN, "unable to parse CTDrawing in alternate content.", e);
+ LOG.atWarn().withThrowable(e).log("unable to parse CTDrawing in alternate content.");
} finally {
if (cur2 != null) {
cur2.dispose();
diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFObjectData.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFObjectData.java
index 0544800e67..16d04085f2 100644
--- a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFObjectData.java
+++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFObjectData.java
@@ -23,6 +23,8 @@ import java.io.InputStream;
import javax.xml.namespace.QName;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.ooxml.POIXMLDocumentPart;
import org.apache.poi.ooxml.POIXMLException;
import org.apache.poi.openxml4j.opc.PackagePart;
@@ -32,8 +34,6 @@ import org.apache.poi.poifs.filesystem.FileMagic;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.usermodel.ObjectData;
import org.apache.poi.util.IOUtils;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.xmlbeans.XmlCursor;
import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps;
import org.openxmlformats.schemas.drawingml.x2006.main.CTOfficeArtExtension;
@@ -52,8 +52,8 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTOleObject;
* Represents binary object (i.e. OLE) data stored in the file. Eg. A GIF, JPEG etc...
*/
public class XSSFObjectData extends XSSFSimpleShape implements ObjectData {
- private static final POILogger LOG = POILogFactory.getLogger(XSSFObjectData.class);
-
+ private static final Logger LOG = LogManager.getLogger(XSSFObjectData.class);
+
/**
* A default instance of CTShape used for creating new shapes.
*/
@@ -163,7 +163,7 @@ public class XSSFObjectData extends XSSFSimpleShape implements ObjectData {
is = FileMagic.prepareToCheckMagic(is);
return FileMagic.valueOf(is) == FileMagic.OLE2;
} catch (IOException e) {
- LOG.log(POILogger.WARN, "can't determine if directory entry exists", e);
+ LOG.atWarn().withThrowable(e).log("can't determine if directory entry exists");
return false;
} finally {
IOUtils.closeQuietly(is);
diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPicture.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPicture.java
index 1055d6bccc..86f3bd917b 100644
--- a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPicture.java
+++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPicture.java
@@ -20,14 +20,14 @@ package org.apache.poi.xssf.usermodel;
import java.awt.Dimension;
import java.io.IOException;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.openxml4j.opc.PackagePart;
import org.apache.poi.openxml4j.opc.PackageRelationship;
import org.apache.poi.ss.usermodel.Picture;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.ImageUtils;
import org.apache.poi.util.Internal;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.openxmlformats.schemas.drawingml.x2006.main.CTBlipFillProperties;
import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps;
import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualPictureProperties;
@@ -46,7 +46,7 @@ import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTPictureNo
* @author Yegor Kozlov
*/
public final class XSSFPicture extends XSSFShape implements Picture {
- private static final POILogger LOG = POILogFactory.getLogger(XSSFPicture.class);
+ private static final Logger LOG = LogManager.getLogger(XSSFPicture.class);
/**
* Column width measured as the number of characters of the maximum digit width of the
@@ -170,15 +170,15 @@ public final class XSSFPicture extends XSSFShape implements Picture {
* </p>
*
* @param scaleX the amount by which the image width is multiplied relative to the original width,
- * when set to {@link java.lang.Double#MAX_VALUE} the width of the embedded image is used
+ * when set to {@link Double#MAX_VALUE} the width of the embedded image is used
* @param scaleY the amount by which the image height is multiplied relative to the original height,
- * when set to {@link java.lang.Double#MAX_VALUE} the height of the embedded image is used
+ * when set to {@link Double#MAX_VALUE} the height of the embedded image is used
*/
public void resize(double scaleX, double scaleY){
XSSFClientAnchor anchor = getClientAnchor();
XSSFClientAnchor pref = getPreferredSize(scaleX,scaleY);
if (anchor == null || pref == null) {
- LOG.log(POILogger.WARN, "picture is not anchored via client anchor - ignoring resize call");
+ LOG.atWarn().log("picture is not anchored via client anchor - ignoring resize call");
return;
}
@@ -242,7 +242,7 @@ public final class XSSFPicture extends XSSFShape implements Picture {
return ImageUtils.getImageDimension(part.getInputStream(), type);
} catch (IOException e){
//return a "singulariry" if ImageIO failed to read the image
- LOG.log(POILogger.WARN, e);
+ LOG.atWarn().withThrowable(e).log("Failed to read image");
return new Dimension();
}
}
diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
index fd5a06ec7c..571d4fb766 100644
--- a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
+++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
@@ -41,6 +41,8 @@ import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.ooxml.POIXMLDocumentPart;
import org.apache.poi.ooxml.POIXMLException;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
@@ -62,12 +64,14 @@ import org.apache.poi.ss.usermodel.DataValidation;
import org.apache.poi.ss.usermodel.DataValidationHelper;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.Footer;
+import org.apache.poi.ss.usermodel.FormulaEvaluator;
import org.apache.poi.ss.usermodel.Header;
import org.apache.poi.ss.usermodel.IgnoredErrorType;
import org.apache.poi.ss.usermodel.Name;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Table;
+import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.AreaReference;
import org.apache.poi.ss.util.CellAddress;
import org.apache.poi.ss.util.CellRangeAddress;
@@ -78,8 +82,6 @@ import org.apache.poi.ss.util.SSCellRange;
import org.apache.poi.ss.util.SheetUtil;
import org.apache.poi.util.Beta;
import org.apache.poi.util.Internal;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.util.Units;
import org.apache.poi.xssf.model.CommentsTable;
import org.apache.poi.xssf.usermodel.XSSFPivotTable.PivotTableReferenceConfigurator;
@@ -103,7 +105,7 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.*;
* </p>
*/
public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
- private static final POILogger LOG = POILogFactory.getLogger(XSSFSheet.class);
+ private static final Logger LOG = LogManager.getLogger(XSSFSheet.class);
private static final double DEFAULT_ROW_HEIGHT = 15.0;
private static final double DEFAULT_MARGIN_HEADER = 0.3;
@@ -139,7 +141,7 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
/**
* Creates new XSSFSheet - called by XSSFWorkbook to create a sheet from scratch.
*
- * @see org.apache.poi.xssf.usermodel.XSSFWorkbook#createSheet()
+ * @see XSSFWorkbook#createSheet()
*/
protected XSSFSheet() {
super();
@@ -556,7 +558,7 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
break;
}
}
- LOG.log(POILogger.ERROR, "Can't find drawing with id=", ctDrawing.getId(), " in the list of the sheet's relationships");
+ LOG.atError().log("Can't find drawing with id={} in the list of the sheet's relationships", ctDrawing.getId());
}
return null;
}
@@ -628,7 +630,7 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
}
}
if(drawing == null){
- LOG.log(POILogger.ERROR, "Can't find VML drawing with id=", id, " in the list of the sheet's relationships");
+ LOG.atError().log("Can't find VML drawing with id={} in the list of the sheet's relationships", id);
}
}
return drawing;
@@ -720,7 +722,7 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
*
* @param rownum row number
* @return High level {@link XSSFRow} object representing a row in the sheet
- * @see #removeRow(org.apache.poi.ss.usermodel.Row)
+ * @see #removeRow(Row)
*/
@Override
public XSSFRow createRow(int rownum) {
@@ -766,10 +768,10 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
* @param leftmostColumn Left column visible in right pane.
* @param activePane Active pane. One of: PANE_LOWER_RIGHT,
* PANE_UPPER_RIGHT, PANE_LOWER_LEFT, PANE_UPPER_LEFT
- * @see org.apache.poi.ss.usermodel.Sheet#PANE_LOWER_LEFT
- * @see org.apache.poi.ss.usermodel.Sheet#PANE_LOWER_RIGHT
- * @see org.apache.poi.ss.usermodel.Sheet#PANE_UPPER_LEFT
- * @see org.apache.poi.ss.usermodel.Sheet#PANE_UPPER_RIGHT
+ * @see Sheet#PANE_LOWER_LEFT
+ * @see Sheet#PANE_LOWER_RIGHT
+ * @see Sheet#PANE_UPPER_LEFT
+ * @see Sheet#PANE_UPPER_RIGHT
*/
@Override
public void createSplitPane(int xSplitPos, int ySplitPos, int leftmostColumn, int topRow, int activePane) {
@@ -2022,20 +2024,20 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
* when the workbook is opened.
*
* <p>
- * Calculating the formula values with {@link org.apache.poi.ss.usermodel.FormulaEvaluator} is the
+ * Calculating the formula values with {@link FormulaEvaluator} is the
* recommended solution, but this may be used for certain cases where
* evaluation in POI is not possible.
* </p>
*
* <p>
* It is recommended to force recalcuation of formulas on workbook level using
- * {@link org.apache.poi.ss.usermodel.Workbook#setForceFormulaRecalculation(boolean)}
+ * {@link Workbook#setForceFormulaRecalculation(boolean)}
* to ensure that all cross-worksheet formuals and external dependencies are updated.
* </p>
* @param value true if the application will perform a full recalculation of
* this worksheet values when the workbook is opened
*
- * @see org.apache.poi.ss.usermodel.Workbook#setForceFormulaRecalculation(boolean)
+ * @see Workbook#setForceFormulaRecalculation(boolean)
*/
@Override
public void setForceFormulaRecalculation(boolean value) {
@@ -4672,12 +4674,12 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
}
coo = coos.getOleObjectArray(0);
} catch (XmlException e) {
- LOG.log(POILogger.INFO, "can't parse CTOleObjects", e);
+ LOG.atInfo().withThrowable(e).log("can't parse CTOleObjects");
} finally {
try {
reader.close();
} catch (XMLStreamException e) {
- LOG.log(POILogger.INFO, "can't close reader", e);
+ LOG.atInfo().withThrowable(e).log("can't close reader");
}
}
}
diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFTableStyle.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFTableStyle.java
index b51a92d5c3..852f91c62d 100644
--- a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFTableStyle.java
+++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFTableStyle.java
@@ -22,11 +22,11 @@ import java.util.EnumMap;
import java.util.List;
import java.util.Map;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.ss.usermodel.DifferentialStyleProvider;
import org.apache.poi.ss.usermodel.TableStyle;
import org.apache.poi.ss.usermodel.TableStyleType;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.xmlbeans.XmlCursor;
import org.apache.xmlbeans.XmlException;
import org.apache.xmlbeans.XmlObject;
@@ -41,7 +41,7 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTTableStyleElement;
* Also used for built-in styles via dummy XML generated from presetTableStyles.xml.
*/
public class XSSFTableStyle implements TableStyle {
- private static final POILogger LOG = POILogFactory.getLogger(XSSFTableStyle.class);
+ private static final Logger LOG = LogManager.getLogger(XSSFTableStyle.class);
private final String name;
private final int index;
@@ -79,7 +79,7 @@ public class XSSFTableStyle implements TableStyle {
}
if (dxf != null) dxfList.add(dxf);
} catch (XmlException e) {
- LOG.log(POILogger.WARN, "Error parsing XSSFTableStyle", e);
+ LOG.atWarn().withThrowable(e).log("Error parsing XSSFTableStyle");
}
}
}
diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java
index fc019a8f30..f64ed3c4cd 100644
--- a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java
+++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java
@@ -43,6 +43,8 @@ import javax.xml.namespace.QName;
import org.apache.commons.collections4.ListValuedMap;
import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.hpsf.ClassIDPredefined;
import org.apache.poi.ooxml.POIXMLDocument;
import org.apache.poi.ooxml.POIXMLDocumentPart;
@@ -68,6 +70,7 @@ import org.apache.poi.ss.formula.SheetNameFormatter;
import org.apache.poi.ss.formula.udf.AggregatingUDFFinder;
import org.apache.poi.ss.formula.udf.IndexedUDFFinder;
import org.apache.poi.ss.formula.udf.UDFFinder;
+import org.apache.poi.ss.usermodel.DataFormat;
import org.apache.poi.ss.usermodel.Date1904Support;
import org.apache.poi.ss.usermodel.Name;
import org.apache.poi.ss.usermodel.Row;
@@ -81,8 +84,6 @@ import org.apache.poi.util.Beta;
import org.apache.poi.util.IOUtils;
import org.apache.poi.util.Internal;
import org.apache.poi.util.NotImplemented;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.util.Removal;
import org.apache.poi.xssf.XLSBUnsupportedException;
import org.apache.poi.xssf.model.CalculationChain;
@@ -200,7 +201,7 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook, Date1904Su
/**
* The policy to apply in the event of missing or
* blank cells when fetching from a row.
- * See {@link org.apache.poi.ss.usermodel.Row.MissingCellPolicy}
+ * See {@link MissingCellPolicy}
*/
private MissingCellPolicy _missingCellPolicy = MissingCellPolicy.RETURN_NULL_AND_BLANK;
@@ -214,7 +215,7 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook, Date1904Su
*/
private List<XSSFPictureData> pictures;
- private static final POILogger LOG = POILogFactory.getLogger(XSSFWorkbook.class);
+ private static final Logger LOG = LogManager.getLogger(XSSFWorkbook.class);
/**
* cached instance of XSSFCreationHelper for this workbook
@@ -415,7 +416,7 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook, Date1904Su
for (CTExternalReference er : this.workbook.getExternalReferences().getExternalReferenceArray()) {
ExternalLinksTable el = elIdMap.get(er.getId());
if(el == null) {
- LOG.log(POILogger.WARN, "ExternalLinksTable with r:id ", er.getId(), " was defined, but didn't exist in package, skipping");
+ LOG.atWarn().log("ExternalLinksTable with r:id {} was defined, but didn't exist in package, skipping", er.getId());
continue;
}
externalLinks.add(el);
@@ -436,8 +437,7 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook, Date1904Su
public void parseSheet(Map<String, XSSFSheet> shIdMap, CTSheet ctSheet) {
XSSFSheet sh = shIdMap.get(ctSheet.getId());
if(sh == null) {
- LOG.log(POILogger.WARN, "Sheet with name ", ctSheet.getName(), " and r:id ",
- ctSheet.getId(), " was defined, but didn't exist in package, skipping");
+ LOG.atWarn().log("Sheet with name {} and r:id {} was defined, but didn't exist in package, skipping", ctSheet.getName(), ctSheet.getId());
return;
}
sh.sheet = ctSheet;
@@ -649,11 +649,11 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook, Date1904Su
}
CTWorksheet ct = clonedSheet.getCTWorksheet();
if(ct.isSetLegacyDrawing()) {
- LOG.log(POILogger.WARN, "Cloning sheets with comments is not yet supported.");
+ LOG.atWarn().log("Cloning sheets with comments is not yet supported.");
ct.unsetLegacyDrawing();
}
if (ct.isSetPageSetup()) {
- LOG.log(POILogger.WARN, "Cloning sheets with page setup is not yet supported.");
+ LOG.atWarn().log("Cloning sheets with page setup is not yet supported.");
ct.unsetPageSetup();
}
@@ -757,7 +757,7 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook, Date1904Su
* Returns the workbook's data format table (a factory for creating data format strings).
*
* @return the XSSFDataFormat object
- * @see org.apache.poi.ss.usermodel.DataFormat
+ * @see DataFormat
*/
@Override
public XSSFDataFormat createDataFormat() {
@@ -848,14 +848,14 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook, Date1904Su
* </p>
*
* <p>
- * See {@link org.apache.poi.ss.util.WorkbookUtil#createSafeSheetName(String nameProposal)}
+ * See {@link WorkbookUtil#createSafeSheetName(String nameProposal)}
* for a safe way to create valid names
* </p>
* @param sheetname sheetname to set for the sheet.
* @return Sheet representing the new sheet.
* @throws IllegalArgumentException if the name is null or invalid
* or workbook already contains a sheet with this name
- * @see org.apache.poi.ss.util.WorkbookUtil#createSafeSheetName(String nameProposal)
+ * @see WorkbookUtil#createSafeSheetName(String nameProposal)
*/
@Override
public XSSFSheet createSheet(String sheetname) {
@@ -1559,7 +1559,7 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook, Date1904Su
* @throws IllegalArgumentException if the name is null or invalid
* or workbook already contains a sheet with this name
* @see #createSheet(String)
- * @see org.apache.poi.ss.util.WorkbookUtil#createSafeSheetName(String nameProposal)
+ * @see WorkbookUtil#createSafeSheetName(String nameProposal)
*/
@Override
public void setSheetName(int sheetIndex, String sheetname) {
diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFColumnShifter.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFColumnShifter.java
index 8532c8b022..2acc8955f1 100644
--- a/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFColumnShifter.java
+++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFColumnShifter.java
@@ -17,11 +17,11 @@
package org.apache.poi.xssf.usermodel.helpers;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.ss.formula.FormulaShifter;
import org.apache.poi.ss.usermodel.helpers.ColumnShifter;
import org.apache.poi.util.Beta;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.xssf.usermodel.XSSFSheet;
/**
@@ -33,7 +33,7 @@ import org.apache.poi.xssf.usermodel.XSSFSheet;
// {@link org.apache.poi.hssf.usermodel.helpers.HSSFColumnShifter}
@Beta
public final class XSSFColumnShifter extends ColumnShifter {
- private static final POILogger LOG = POILogFactory.getLogger(XSSFColumnShifter.class);
+ private static final Logger LOG = LogManager.getLogger(XSSFColumnShifter.class);
public XSSFColumnShifter(XSSFSheet sh) {
super(sh);
diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFRowColShifter.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFRowColShifter.java
index b15910bc9c..298fa3f48f 100644
--- a/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFRowColShifter.java
+++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFRowColShifter.java
@@ -17,6 +17,8 @@
package org.apache.poi.xssf.usermodel.helpers;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.ss.formula.FormulaShifter;
import org.apache.poi.ss.formula.FormulaParser;
import org.apache.poi.ss.formula.FormulaType;
@@ -27,14 +29,14 @@ import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.usermodel.helpers.BaseRowColShifter;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.util.Internal;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.xssf.usermodel.*;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.*;
import java.util.ArrayList;
import java.util.List;
+import static org.apache.logging.log4j.util.Unbox.box;
+
/**
* Class for code common to {@link XSSFRowShifter} and {@link XSSFColumnShifter}
*
@@ -42,7 +44,7 @@ import java.util.List;
*/
@Internal
/*private*/ final class XSSFRowColShifter {
- private static final POILogger LOG = POILogFactory.getLogger(XSSFRowColShifter.class);
+ private static final Logger LOG = LogManager.getLogger(XSSFRowColShifter.class);
private XSSFRowColShifter() { /*no instances for static classes*/}
@@ -151,7 +153,7 @@ import java.util.List;
return shiftedFmla;
} catch (FormulaParseException fpe) {
// Log, but don't change, rather than breaking
- LOG.log(POILogger.WARN, "Error shifting formula on row ", row.getRowNum(), fpe);
+ LOG.atWarn().withThrowable(fpe).log("Error shifting formula on row {}", box(row.getRowNum()));
return formula;
}
}
diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFRowShifter.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFRowShifter.java
index 4de9c60625..ffbc570796 100644
--- a/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFRowShifter.java
+++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFRowShifter.java
@@ -17,11 +17,11 @@
package org.apache.poi.xssf.usermodel.helpers;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.ss.formula.FormulaShifter;
import org.apache.poi.ss.usermodel.helpers.RowShifter;
import org.apache.poi.util.Internal;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
@@ -31,7 +31,7 @@ import org.apache.poi.xssf.usermodel.XSSFSheet;
// non-Javadoc: When possible, code should be implemented in the RowShifter abstract class to avoid duplication with
// {@link org.apache.poi.hssf.usermodel.helpers.HSSFRowShifter}
public final class XSSFRowShifter extends RowShifter {
- private static final POILogger LOG = POILogFactory.getLogger(XSSFRowShifter.class);
+ private static final Logger LOG = LogManager.getLogger(XSSFRowShifter.class);
public XSSFRowShifter(XSSFSheet sh) {
super(sh);
diff --git a/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java b/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java
index 64b877060b..e454365b4d 100644
--- a/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java
+++ b/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java
@@ -36,6 +36,8 @@ import java.util.Map;
import javax.xml.namespace.QName;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.ooxml.POIXMLDocument;
import org.apache.poi.ooxml.POIXMLDocumentPart;
import org.apache.poi.ooxml.POIXMLException;
@@ -55,8 +57,6 @@ import org.apache.poi.openxml4j.opc.TargetMode;
import org.apache.poi.poifs.crypt.HashAlgorithm;
import org.apache.poi.util.IOUtils;
import org.apache.poi.util.Internal;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.wp.usermodel.HeaderFooterType;
import org.apache.poi.xddf.usermodel.chart.XDDFChart;
import org.apache.poi.xwpf.model.XWPFHeaderFooterPolicy;
@@ -81,7 +81,7 @@ import org.openxmlformats.schemas.wordprocessingml.x2006.main.*;
*/
@SuppressWarnings("unused")
public class XWPFDocument extends POIXMLDocument implements Document, IBody {
- private static final POILogger LOG = POILogFactory.getLogger(XWPFDocument.class);
+ private static final Logger LOG = LogManager.getLogger(XWPFDocument.class);
protected List<XWPFFooter> footers = new ArrayList<>();
protected List<XWPFHeader> headers = new ArrayList<>();
@@ -310,7 +310,7 @@ public class XWPFDocument extends POIXMLDocument implements Document, IBody {
/**
* returns an Iterator with paragraphs and tables
*
- * @see org.apache.poi.xwpf.usermodel.IBody#getBodyElements()
+ * @see IBody#getBodyElements()
*/
@Override
public List<IBodyElement> getBodyElements() {
@@ -322,7 +322,7 @@ public class XWPFDocument extends POIXMLDocument implements Document, IBody {
}
/**
- * @see org.apache.poi.xwpf.usermodel.IBody#getParagraphs()
+ * @see IBody#getParagraphs()
*/
@Override
public List<XWPFParagraph> getParagraphs() {
@@ -330,7 +330,7 @@ public class XWPFDocument extends POIXMLDocument implements Document, IBody {
}
/**
- * @see org.apache.poi.xwpf.usermodel.IBody#getTables()
+ * @see IBody#getTables()
*/
@Override
public List<XWPFTable> getTables() {
@@ -345,7 +345,7 @@ public class XWPFDocument extends POIXMLDocument implements Document, IBody {
}
/**
- * @see org.apache.poi.xwpf.usermodel.IBody#getTableArray(int)
+ * @see IBody#getTableArray(int)
*/
@Override
public XWPFTable getTableArray(int pos) {
@@ -629,9 +629,9 @@ public class XWPFDocument extends POIXMLDocument implements Document, IBody {
/**
* Add a new paragraph at position of the cursor. The cursor must be on the
- * {@link org.apache.xmlbeans.XmlCursor.TokenType#START} tag of an subelement
+ * {@link XmlCursor.TokenType#START} tag of an subelement
* of the documents body. When this method is done, the cursor passed as
- * parameter points to the {@link org.apache.xmlbeans.XmlCursor.TokenType#END}
+ * parameter points to the {@link XmlCursor.TokenType#END}
* of the newly inserted paragraph.
*
* @param cursor The cursor-position where the new paragraph should be added.
@@ -1010,7 +1010,7 @@ public class XWPFDocument extends POIXMLDocument implements Document, IBody {
int level = Integer.parseInt(parStyle.substring("Heading".length()));
toc.addRow(level, par.getText(), 1, "112723803");
} catch (NumberFormatException e) {
- LOG.log(POILogger.ERROR, "can't format number in TOC heading", e);
+ LOG.atError().withThrowable(e).log("can't format number in TOC heading");
}
}
}
@@ -1542,7 +1542,7 @@ public class XWPFDocument extends POIXMLDocument implements Document, IBody {
*
* @param ctTbl
* @return a table by its CTTbl-Object or null
- * @see org.apache.poi.xwpf.usermodel.IBody#getTable(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl)
+ * @see IBody#getTable(CTTbl)
*/
@Override
public XWPFTable getTable(CTTbl ctTbl) {
@@ -1565,7 +1565,7 @@ public class XWPFDocument extends POIXMLDocument implements Document, IBody {
/**
* Returns the paragraph that of position pos
*
- * @see org.apache.poi.xwpf.usermodel.IBody#getParagraphArray(int)
+ * @see IBody#getParagraphArray(int)
*/
@Override
public XWPFParagraph getParagraphArray(int pos) {
@@ -1580,7 +1580,7 @@ public class XWPFDocument extends POIXMLDocument implements Document, IBody {
* Actually it is needed of the class XWPFTableCell. Because you have to know to which part the tableCell
* belongs.
*
- * @see org.apache.poi.xwpf.usermodel.IBody#getPart()
+ * @see IBody#getPart()
*/
@Override
public POIXMLDocumentPart getPart() {
@@ -1592,7 +1592,7 @@ public class XWPFDocument extends POIXMLDocument implements Document, IBody {
* get the PartType of the body, for example
* DOCUMENT, HEADER, FOOTER, FOOTNOTE,
*
- * @see org.apache.poi.xwpf.usermodel.IBody#getPartType()
+ * @see IBody#getPartType()
*/
@Override
public BodyType getPartType() {
diff --git a/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestListParts.java b/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestListParts.java
index 8e97627336..481ce98620 100644
--- a/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestListParts.java
+++ b/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestListParts.java
@@ -24,15 +24,15 @@ import java.io.IOException;
import java.io.InputStream;
import java.util.TreeMap;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.openxml4j.OpenXML4JTestDataSamples;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
public final class TestListParts {
- private static final POILogger LOG = POILogFactory.getLogger(TestListParts.class);
+ private static final Logger LOG = LogManager.getLogger(TestListParts.class);
private TreeMap<PackagePartName, String> expectedValues;
@@ -91,7 +91,7 @@ public final class TestListParts {
for (PackagePart part : p.getParts()) {
values.put(part.getPartName(), part.getContentType());
- LOG.log(POILogger.DEBUG, part.getPartName());
+ LOG.atDebug().log(part.getPartName());
}
// Compare expected values with values return by the package
diff --git a/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java b/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java
index 0d8b8360c8..9f297f66c6 100644
--- a/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java
+++ b/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java
@@ -58,6 +58,8 @@ import com.google.common.io.Files;
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream;
import org.apache.commons.compress.archivers.zip.ZipFile;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.EncryptedDocumentException;
import org.apache.poi.POIDataSamples;
import org.apache.poi.POITestCase;
@@ -78,8 +80,6 @@ import org.apache.poi.sl.usermodel.SlideShowFactory;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.apache.poi.util.IOUtils;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.util.TempFile;
import org.apache.poi.xssf.XSSFTestDataSamples;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
@@ -98,7 +98,7 @@ import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
public final class TestPackage {
- private static final POILogger LOG = POILogFactory.getLogger(TestPackage.class);
+ private static final Logger LOG = LogManager.getLogger(TestPackage.class);
private static final String NS_OOXML_WP_MAIN = "http://schemas.openxmlformats.org/wordprocessingml/2006/main";
private static final String CONTENT_EXT_PROPS = "application/vnd.openxmlformats-officedocument.extended-properties+xml";
private static final POIDataSamples xlsSamples = POIDataSamples.getSpreadSheetInstance();
@@ -458,7 +458,7 @@ public final class TestPackage {
for (PackagePart part : p.getParts()) {
values.put(part.getPartName(), part.getContentType());
- LOG.log(POILogger.DEBUG, part.getPartName());
+ LOG.atDebug().log(part.getPartName());
}
// Compare expected values with values return by the package
@@ -492,7 +492,7 @@ public final class TestPackage {
for (PackagePart part : p.getParts()) {
values.put(part.getPartName(), part.getContentType());
- LOG.log(POILogger.DEBUG, part.getPartName());
+ LOG.atDebug().log(part.getPartName());
}
// Compare expected values with values return by the package
diff --git a/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestRelationships.java b/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestRelationships.java
index 38c13780b2..d80c88ae12 100644
--- a/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestRelationships.java
+++ b/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestRelationships.java
@@ -30,9 +30,9 @@ import java.io.InputStream;
import java.net.URI;
import java.util.regex.Pattern;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.openxml4j.OpenXML4JTestDataSamples;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.junit.jupiter.api.Test;
@@ -44,7 +44,7 @@ class TestRelationships {
private static final String SHEET_WITH_COMMENTS =
"/xl/worksheets/sheet1.xml";
- private static final POILogger LOG = POILogFactory.getLogger(TestPackageCoreProperties.class);
+ private static final Logger LOG = LogManager.getLogger(TestPackageCoreProperties.class);
/**
* Test relationships are correctly loaded. This at the moment fails (as of r499)
@@ -56,7 +56,7 @@ class TestRelationships {
void testLoadRelationships() throws Exception {
InputStream is = openSampleStream("sample.xlsx");
try (OPCPackage pkg = OPCPackage.open(is)) {
- LOG.log(POILogger.DEBUG, "1: " + pkg);
+ LOG.atDebug().log("1: {}", pkg);
PackageRelationshipCollection rels = pkg.getRelationshipsByType(PackageRelationshipTypes.CORE_DOCUMENT);
PackageRelationship coreDocRelationship = rels.getRelationship(0);
PackagePart corePart = pkg.getPart(coreDocRelationship);
diff --git a/src/ooxml/testcases/org/apache/poi/poifs/crypt/dsig/TestSignatureInfo.java b/src/ooxml/testcases/org/apache/poi/poifs/crypt/dsig/TestSignatureInfo.java
index f8b7de4453..798b559047 100644
--- a/src/ooxml/testcases/org/apache/poi/poifs/crypt/dsig/TestSignatureInfo.java
+++ b/src/ooxml/testcases/org/apache/poi/poifs/crypt/dsig/TestSignatureInfo.java
@@ -78,6 +78,8 @@ import javax.xml.crypto.dsig.XMLSignatureException;
import javax.xml.crypto.dsig.dom.DOMSignContext;
import org.apache.jcp.xml.dsig.internal.dom.DOMSignedInfo;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.EncryptedDocumentException;
import org.apache.poi.POIDataSamples;
import org.apache.poi.ooxml.POIXMLDocument;
@@ -101,8 +103,6 @@ import org.apache.poi.poifs.storage.RawDataUtil;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.apache.poi.util.IOUtils;
import org.apache.poi.util.LocaleUtil;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.util.TempFile;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFClientAnchor;
@@ -162,7 +162,7 @@ import org.w3.x2000.x09.xmldsig.SignatureDocument;
import org.w3c.dom.Document;
class TestSignatureInfo {
- private static final POILogger LOG = POILogFactory.getLogger(TestSignatureInfo.class);
+ private static final Logger LOG = LogManager.getLogger(TestSignatureInfo.class);
private static final POIDataSamples testdata = POIDataSamples.getXmlDSignInstance();
private static Calendar cal;
@@ -357,7 +357,7 @@ class TestSignatureInfo {
assertNotNull(result);
assertEquals(1, result.size(), "test-file: " + testFile);
X509Certificate signer = result.get(0);
- LOG.log(POILogger.DEBUG, "signer: ", signer.getSubjectX500Principal());
+ LOG.atDebug().log("signer: {}", signer.getSubjectX500Principal());
boolean b = si.verifySignature();
assertTrue(b, "test-file: " + testFile);
@@ -385,8 +385,8 @@ class TestSignatureInfo {
assertEquals(2, result.size(), "test-file: " + testFile);
X509Certificate signer1 = result.get(0);
X509Certificate signer2 = result.get(1);
- LOG.log(POILogger.DEBUG, "signer 1: ", signer1.getSubjectX500Principal());
- LOG.log(POILogger.DEBUG, "signer 2: ", signer2.getSubjectX500Principal());
+ LOG.atDebug().log("signer 1: {}", signer1.getSubjectX500Principal());
+ LOG.atDebug().log("signer 2: {}", signer2.getSubjectX500Principal());
boolean b = si.verifySignature();
assertTrue(b, "test-file: " + testFile);
@@ -527,8 +527,8 @@ class TestSignatureInfo {
} else {
TimeStampServiceValidator tspValidator = (validateChain, revocationData) -> {
for (X509Certificate certificate : validateChain) {
- LOG.log(POILogger.DEBUG, "certificate: ", certificate.getSubjectX500Principal());
- LOG.log(POILogger.DEBUG, "validity: ", certificate.getNotBefore(), " - ", certificate.getNotAfter());
+ LOG.atDebug().log("certificate: {}", certificate.getSubjectX500Principal());
+ LOG.atDebug().log("validity: {} - {}", certificate.getNotBefore(), certificate.getNotAfter());
}
};
signatureConfig.setTspValidator(tspValidator);
diff --git a/src/ooxml/testcases/org/apache/poi/ss/tests/TestWorkbookFactory.java b/src/ooxml/testcases/org/apache/poi/ss/tests/TestWorkbookFactory.java
index 2232d9a37b..200407e3ef 100644
--- a/src/ooxml/testcases/org/apache/poi/ss/tests/TestWorkbookFactory.java
+++ b/src/ooxml/testcases/org/apache/poi/ss/tests/TestWorkbookFactory.java
@@ -34,6 +34,8 @@ import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.stream.Stream;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.EmptyFileException;
import org.apache.poi.EncryptedDocumentException;
import org.apache.poi.POIDataSamples;
@@ -44,9 +46,6 @@ import org.apache.poi.openxml4j.opc.PackageAccess;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
-import org.apache.poi.util.IOUtils;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.util.SuppressForbidden;
import org.apache.poi.util.TempFile;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
@@ -63,7 +62,7 @@ public final class TestWorkbookFactory {
private static final String[] xlsx_protected = new String[]{"protected_passtika.xlsx", "tika"};
private static final String txt = "SampleSS.txt";
- private static final POILogger LOGGER = POILogFactory.getLogger(TestWorkbookFactory.class);
+ private static final Logger LOGGER = LogManager.getLogger(TestWorkbookFactory.class);
/**
* Closes the sample workbook read in from filename.
@@ -95,8 +94,7 @@ public final class TestWorkbookFactory {
xwb.close();
} else {
// TODO: close() re-writes the sample-file?! Resort to revert() for now to close file handle...
- LOGGER.log(POILogger.WARN,
- "reverting XSSFWorkbook rather than closing it to avoid close() modifying the file on disk. Refer to bug 58779.");
+ LOGGER.atWarn().log("reverting XSSFWorkbook rather than closing it to avoid close() modifying the file on disk. Refer to bug 58779.");
xwb.getPackage().revert();
}
} else {
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestFormulaEvaluatorOnXSSF.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestFormulaEvaluatorOnXSSF.java
index 3d820ccb52..600ce5c31d 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestFormulaEvaluatorOnXSSF.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestFormulaEvaluatorOnXSSF.java
@@ -17,6 +17,7 @@
package org.apache.poi.xssf.usermodel;
+import static org.apache.logging.log4j.util.Unbox.box;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.fail;
@@ -28,6 +29,8 @@ import java.util.List;
import java.util.Locale;
import java.util.stream.Stream;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.hssf.HSSFTestDataSamples;
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.openxml4j.opc.PackageAccess;
@@ -40,8 +43,6 @@ import org.apache.poi.ss.usermodel.FormulaEvaluator;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.util.LocaleUtil;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
@@ -58,9 +59,9 @@ import org.junit.jupiter.params.provider.MethodSource;
*
*/
public final class TestFormulaEvaluatorOnXSSF {
- private static final POILogger LOG = POILogFactory.getLogger(TestFormulaEvaluatorOnXSSF.class);
+ private static final Logger LOG = LogManager.getLogger(TestFormulaEvaluatorOnXSSF.class);
- private static XSSFWorkbook workbook;
+ private static XSSFWorkbook workbook;
private static Sheet sheet;
private static FormulaEvaluator evaluator;
private static Locale userLocale;
@@ -244,12 +245,12 @@ public final class TestFormulaEvaluatorOnXSSF {
*/
private static String getTargetFunctionName(Row r) {
if(r == null) {
- LOG.log(POILogger.WARN, "Warning - given null row, can't figure out function name");
+ LOG.atWarn().log("Given null row, can't figure out function name");
return null;
}
Cell cell = r.getCell(SS.COLUMN_INDEX_FUNCTION_NAME);
if(cell == null) {
- LOG.log(POILogger.WARN, "Warning - Row " + r.getRowNum() + " has no cell " + SS.COLUMN_INDEX_FUNCTION_NAME + ", can't figure out function name");
+ LOG.atWarn().log("Row {} has no cell " + SS.COLUMN_INDEX_FUNCTION_NAME + ", can't figure out function name", box(r.getRowNum()));
return null;
}
if(cell.getCellType() == CellType.BLANK) {
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestMatrixFormulasFromXMLSpreadsheet.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestMatrixFormulasFromXMLSpreadsheet.java
index d29fc2744e..b7f32acd67 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestMatrixFormulasFromXMLSpreadsheet.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestMatrixFormulasFromXMLSpreadsheet.java
@@ -17,6 +17,7 @@
package org.apache.poi.xssf.usermodel;
+import static org.apache.logging.log4j.util.Unbox.box;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -27,6 +28,8 @@ import java.util.List;
import java.util.Locale;
import java.util.stream.Stream;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.ss.formula.eval.ErrorEval;
import org.apache.poi.ss.formula.functions.BaseTestNumeric;
import org.apache.poi.ss.usermodel.Cell;
@@ -36,8 +39,6 @@ import org.apache.poi.ss.usermodel.FormulaEvaluator;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.util.LocaleUtil;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.xssf.XSSFTestDataSamples;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.params.ParameterizedTest;
@@ -46,7 +47,7 @@ import org.junit.jupiter.params.provider.MethodSource;
public final class TestMatrixFormulasFromXMLSpreadsheet {
- private static final POILogger LOG = POILogFactory.getLogger(TestMatrixFormulasFromXMLSpreadsheet.class);
+ private static final Logger LOG = LogManager.getLogger(TestMatrixFormulasFromXMLSpreadsheet.class);
private static XSSFWorkbook workbook;
private static Sheet sheet;
@@ -208,13 +209,13 @@ public final class TestMatrixFormulasFromXMLSpreadsheet {
*/
private static String getTargetFunctionName(Row r) {
if(r == null) {
- LOG.log(POILogger.WARN, "Warning - given null row, can't figure out function name");
+ LOG.atWarn().log("Given null row, can't figure out function name");
return null;
}
Cell cell = r.getCell(Navigator.START_OPERATORS_COL_INDEX);
- LOG.log(POILogger.DEBUG, String.valueOf(Navigator.START_OPERATORS_COL_INDEX));
+ LOG.atDebug().log( box(Navigator.START_OPERATORS_COL_INDEX));
if(cell == null) {
- LOG.log(POILogger.WARN, "Warning - Row " + r.getRowNum() + " has no cell " + Navigator.START_OPERATORS_COL_INDEX + ", can't figure out function name");
+ LOG.atWarn().log("Row {} has no cell " + Navigator.START_OPERATORS_COL_INDEX + ", can't figure out function name", box(r.getRowNum()));
return null;
}
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestMultiSheetFormulaEvaluatorOnXSSF.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestMultiSheetFormulaEvaluatorOnXSSF.java
index 91045bfbb7..4c458ea42b 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestMultiSheetFormulaEvaluatorOnXSSF.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestMultiSheetFormulaEvaluatorOnXSSF.java
@@ -17,6 +17,9 @@
package org.apache.poi.xssf.usermodel;
+import static org.apache.logging.log4j.util.Unbox.box;
+import static org.apache.poi.xssf.usermodel.TestMultiSheetFormulaEvaluatorOnXSSF.SS.COLUMN_INDEX_FUNCTION_NAME;
+import static org.apache.poi.xssf.usermodel.TestMultiSheetFormulaEvaluatorOnXSSF.SS.COLUMN_INDEX_TEST_NAME;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -28,6 +31,8 @@ import java.util.List;
import java.util.Locale;
import java.util.stream.Stream;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.hssf.HSSFTestDataSamples;
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.openxml4j.opc.PackageAccess;
@@ -38,8 +43,6 @@ import org.apache.poi.ss.usermodel.CellValue;
import org.apache.poi.ss.usermodel.FormulaEvaluator;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
@@ -49,9 +52,9 @@ import org.junit.jupiter.params.provider.MethodSource;
* Tests formulas for multi sheet reference (i.e. SUM(Sheet1:Sheet5!A1))
*/
public final class TestMultiSheetFormulaEvaluatorOnXSSF {
- private static final POILogger LOG = POILogFactory.getLogger(TestMultiSheetFormulaEvaluatorOnXSSF.class);
+ private static final Logger LOG = LogManager.getLogger(TestMultiSheetFormulaEvaluatorOnXSSF.class);
- private static XSSFWorkbook workbook;
+ private static XSSFWorkbook workbook;
private static Sheet sheet;
private static FormulaEvaluator evaluator;
@@ -211,12 +214,12 @@ public final class TestMultiSheetFormulaEvaluatorOnXSSF {
*/
private static String getTargetFunctionName(Row r) {
if(r == null) {
- LOG.log(POILogger.WARN, "Warning - given null row, can't figure out function name");
+ LOG.atWarn().log("Given null row, can't figure out function name");
return null;
}
- Cell cell = r.getCell(SS.COLUMN_INDEX_FUNCTION_NAME);
+ Cell cell = r.getCell(COLUMN_INDEX_FUNCTION_NAME);
if(cell == null) {
- LOG.log(POILogger.WARN, "Warning - Row " + r.getRowNum() + " has no cell " + SS.COLUMN_INDEX_FUNCTION_NAME + ", can't figure out function name");
+ LOG.atWarn().log("Row {} has no cell " + COLUMN_INDEX_FUNCTION_NAME + ", can't figure out function name", box(r.getRowNum()));
return null;
}
@@ -232,12 +235,12 @@ public final class TestMultiSheetFormulaEvaluatorOnXSSF {
*/
private static String getTargetTestName(Row r) {
if(r == null) {
- LOG.log(POILogger.WARN, "Warning - given null row, can't figure out test name");
+ LOG.atWarn().log("Given null row, can't figure out test name");
return null;
}
- Cell cell = r.getCell(SS.COLUMN_INDEX_TEST_NAME);
+ Cell cell = r.getCell(COLUMN_INDEX_TEST_NAME);
if(cell == null) {
- LOG.log(POILogger.WARN, "Warning - Row " + r.getRowNum() + " has no cell " + SS.COLUMN_INDEX_TEST_NAME + ", can't figure out test name");
+ LOG.atWarn().log("Row {} has no cell " + COLUMN_INDEX_TEST_NAME + ", can't figure out test name", box(r.getRowNum()));
return null;
}
CellType ct = cell.getCellType();
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
index 650754e4c8..562fa9f246 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
@@ -17,6 +17,9 @@
package org.apache.poi.xssf.usermodel;
+import static java.time.Duration.between;
+import static java.time.Instant.now;
+import static org.apache.logging.log4j.util.Unbox.box;
import static org.apache.poi.extractor.ExtractorFactory.OOXML_PACKAGE;
import static org.apache.poi.openxml4j.opc.TestContentType.isOldXercesActive;
import static org.junit.jupiter.api.Assertions.*;
@@ -31,7 +34,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.charset.StandardCharsets;
-import java.time.Duration;
import java.time.Instant;
import java.util.Arrays;
import java.util.Calendar;
@@ -45,6 +47,8 @@ import java.util.TreeMap;
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
import org.apache.commons.compress.archivers.zip.ZipFile;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.POIDataSamples;
import org.apache.poi.common.usermodel.HyperlinkType;
import org.apache.poi.hssf.HSSFITestDataProvider;
@@ -96,8 +100,6 @@ import org.apache.poi.ss.util.CellReference;
import org.apache.poi.ss.util.CellUtil;
import org.apache.poi.util.LocaleUtil;
import org.apache.poi.util.NullOutputStream;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.util.TempFile;
import org.apache.poi.util.XMLHelper;
import org.apache.poi.xssf.SXSSFITestDataProvider;
@@ -117,7 +119,6 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCalcCell;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCols;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDefinedName;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDefinedNames;
-import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTIgnoredErrors;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTMergeCell;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTMergeCells;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheet;
@@ -127,7 +128,7 @@ import org.xml.sax.SAXParseException;
import org.xml.sax.XMLReader;
public final class TestXSSFBugs extends BaseTestBugzillaIssues {
- private static final POILogger LOG = POILogFactory.getLogger(TestXSSFBugs.class);
+ private static final Logger LOG = LogManager.getLogger(TestXSSFBugs.class);
public TestXSSFBugs() {
super(XSSFITestDataProvider.instance);
@@ -2033,7 +2034,6 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
"DEC2BIN(A1), org.apache.poi.ss.formula.eval.StringEval [0]"
})
void test57196_WorkbookEvaluator(String formula, String expValue) throws IOException {
- String previousLogger = System.getProperty("org.apache.poi.util.POILogger");
try (XSSFWorkbook wb = new XSSFWorkbook()) {
XSSFSheet sheet = wb.createSheet("Sheet1");
XSSFRow row = sheet.createRow(0);
@@ -2051,13 +2051,6 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
ValueEval ve = workbookEvaluator.evaluate(new XSSFEvaluationCell(cell));
assertEquals(expValue, ve.toString());
- } finally {
- if (previousLogger == null) {
- System.clearProperty("org.apache.poi.util.POILogger");
- } else {
- System.setProperty("org.apache.poi.util.POILogger", previousLogger);
- }
- System.clearProperty("poi.log.level");
}
}
@@ -3429,24 +3422,24 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
void test58896WithFile() throws IOException {
try (Workbook wb = XSSFTestDataSamples.openSampleWorkbook("58896.xlsx")) {
Sheet sheet = wb.getSheetAt(0);
- Instant start = Instant.now();
+ Instant start = now();
- LOG.log(POILogger.INFO, "Autosizing columns...");
+ LOG.atInfo().log("Autosizing columns...");
for (int i = 0; i < 3; ++i) {
- LOG.log(POILogger.INFO, "Autosize ", i, " - ", Duration.between(start, Instant.now()));
+ LOG.atInfo().log("Autosize {} - {}", box(i), between(start, now()));
sheet.autoSizeColumn(i);
}
for (int i = 0; i < 69 - 35 + 1; ++i)
for (int j = 0; j < 8; ++j) {
int col = 3 + 2 + i * (8 + 2) + j;
- LOG.log(POILogger.INFO, "Autosize ", col, " - ", Duration.between(start, Instant.now()));
+ LOG.atInfo().log("Autosize {} - {}", box(col), between(start, now()));
sheet.autoSizeColumn(col);
}
- LOG.log(POILogger.INFO, Duration.between(start, Instant.now()));
+ LOG.atInfo().log(between(start, now()));
- assertTrue(Duration.between(start, Instant.now()).getSeconds() < 25);
+ assertTrue(between(start, now()).getSeconds() < 25);
}
}
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFColGrouping.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFColGrouping.java
index a86d72282b..227dc3627b 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFColGrouping.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFColGrouping.java
@@ -23,8 +23,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.xssf.XSSFTestDataSamples;
import org.junit.jupiter.api.Test;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCol;
@@ -43,7 +43,7 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCols;
*/
class TestXSSFColGrouping {
- private static final POILogger LOG = POILogFactory.getLogger(TestXSSFColGrouping.class);
+ private static final Logger LOG = LogManager.getLogger(TestXSSFColGrouping.class);
/**
@@ -65,7 +65,7 @@ class TestXSSFColGrouping {
sheet = wb2.getSheet("test");
CTCols cols = sheet.getCTWorksheet().getColsArray(0);
- LOG.log(POILogger.DEBUG, "test52186/cols:" + cols);
+ LOG.atDebug().log("test52186/cols:{}", cols);
for (CTCol col : cols.getColArray()) {
assertTrue(col.isSetWidth(), "Col width attribute is unset: " + col);
}
@@ -91,7 +91,7 @@ class TestXSSFColGrouping {
sheet.setColumnGroupCollapsed(4, true);
CTCols cols = sheet.getCTWorksheet().getColsArray(0);
- LOG.log(POILogger.DEBUG, "test52186_2/cols:" + cols);
+ LOG.atDebug().log("test52186_2/cols:{}", cols);
try (XSSFWorkbook wb2 = XSSFTestDataSamples.writeOutAndReadBack(wb1, "testNoColsWithoutWidthWhenGroupingAndCollapsing")) {
sheet = wb2.getSheet("test");
@@ -125,7 +125,7 @@ class TestXSSFColGrouping {
sheet.groupColumn((short) 2, (short) 3);
sheet.getCTWorksheet().getColsArray(0);
- LOG.log(POILogger.DEBUG, "testMergingOverlappingCols_OVERLAPS_2_WRAPS/cols:" + cols);
+ LOG.atDebug().log("testMergingOverlappingCols_OVERLAPS_2_WRAPS/cols:{}", cols);
assertEquals(0, cols.getColArray(0).getOutlineLevel());
assertEquals(2, cols.getColArray(0).getMin()); // 1 based
@@ -173,7 +173,7 @@ class TestXSSFColGrouping {
sheet.groupColumn((short) 1, (short) 5);
cols = sheet.getCTWorksheet().getColsArray(0);
- LOG.log(POILogger.DEBUG, "testMergingOverlappingCols_OVERLAPS_1_WRAPS/cols:" + cols);
+ LOG.atDebug().log("testMergingOverlappingCols_OVERLAPS_1_WRAPS/cols:{}", cols);
assertEquals(1, cols.getColArray(0).getOutlineLevel());
assertEquals(2, cols.getColArray(0).getMin()); // 1 based
@@ -221,7 +221,7 @@ class TestXSSFColGrouping {
sheet.groupColumn((short) 3, (short) 5);
cols = sheet.getCTWorksheet().getColsArray(0);
- LOG.log(POILogger.DEBUG, "testMergingOverlappingCols_OVERLAPS_1_MINOR/cols:" + cols);
+ LOG.atDebug().log("testMergingOverlappingCols_OVERLAPS_1_MINOR/cols:{}", cols);
assertEquals(0, cols.getColArray(0).getOutlineLevel());
assertEquals(3, cols.getColArray(0).getMin()); // 1 based
@@ -270,7 +270,7 @@ class TestXSSFColGrouping {
sheet.groupColumn((short) 1, (short) 3);
cols = sheet.getCTWorksheet().getColsArray(0);
- LOG.log(POILogger.DEBUG, "testMergingOverlappingCols_OVERLAPS_2_MINOR/cols:" + cols);
+ LOG.atDebug().log("testMergingOverlappingCols_OVERLAPS_2_MINOR/cols:{}", cols);
assertEquals(1, cols.getColArray(0).getOutlineLevel());
assertEquals(2, cols.getColArray(0).getMin()); // 1 based
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetMergeRegions.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetMergeRegions.java
index 983f36cd8c..1cce6eb861 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetMergeRegions.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetMergeRegions.java
@@ -16,20 +16,21 @@
==================================================================== */
package org.apache.poi.xssf.usermodel;
+import static org.apache.logging.log4j.util.Unbox.box;
import static org.junit.jupiter.api.Assertions.*;
import java.io.IOException;
import java.util.List;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.poi.ss.util.CellRangeAddress;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
import org.apache.poi.xssf.XSSFTestDataSamples;
import org.junit.jupiter.api.Test;
class TestXSSFSheetMergeRegions {
- private static final POILogger LOG = POILogFactory.getLogger(TestXSSFSheetMergeRegions.class);
+ private static final Logger LOG = LogManager.getLogger(TestXSSFSheetMergeRegions.class);
@Test
void testMergeRegionsSpeed() throws IOException {
@@ -43,7 +44,7 @@ class TestXSSFSheetMergeRegions {
if (millis < 2000) {
break;
}
- LOG.log(POILogger.INFO, "Retry ", i, " because run-time is too high: ", millis);
+ LOG.atInfo().log("Retry {} because run-time is too high: {}", box(i),box(millis));
}
boolean inGump = false;