This is an automated email from the ASF dual-hosted git repository.
pjfanning pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/poi.git
The following commit(s) were added to refs/heads/trunk by this push:
new 413719df29 use StringUtil.equalsIgnoreCase (#1137)
413719df29 is described below
commit 413719df29892540d887698582fe9f30074bf000
Author: PJ Fanning <[email protected]>
AuthorDate: Fri Jun 12 12:26:53 2026 +0100
use StringUtil.equalsIgnoreCase (#1137)
---
.../java/org/apache/poi/ooxml/POIXMLFactory.java | 3 +-
.../org/apache/poi/ooxml/util/POIXMLUnits.java | 7 +-
.../org/apache/poi/ooxml/util/XPathHelper.java | 3 +-
.../org/apache/poi/openxml4j/opc/OPCPackage.java | 3 +-
.../apache/poi/openxml4j/opc/PackagePartName.java | 3 +-
.../org/apache/poi/openxml4j/opc/ZipPackage.java | 3 +-
.../poi/openxml4j/opc/internal/ContentType.java | 3 +-
.../openxml4j/opc/internal/ContentTypeManager.java | 4 +-
.../poi/openxml4j/util/ZipFileZipEntrySource.java | 3 +-
.../util/ZipInputStreamZipEntrySource.java | 3 +-
.../poi/poifs/crypt/dsig/SignatureConfig.java | 79 +++++++++++-----------
.../org/apache/poi/xslf/draw/SVGImageRenderer.java | 3 +-
.../apache/poi/xslf/usermodel/XSLFFontInfo.java | 24 +++----
.../java/org/apache/poi/xslf/util/PPTX2PNG.java | 3 +-
.../apache/poi/xssf/eventusermodel/XSSFReader.java | 7 +-
.../xssf/usermodel/BaseXSSFEvaluationWorkbook.java | 3 +-
.../org/apache/poi/xssf/usermodel/XSSFName.java | 4 +-
.../org/apache/poi/xssf/usermodel/XSSFSheet.java | 5 +-
.../org/apache/poi/xssf/usermodel/XSSFTable.java | 2 +-
.../apache/poi/xssf/usermodel/XSSFWorkbook.java | 9 +--
.../apache/poi/hemf/draw/HemfImageRenderer.java | 3 +-
.../java/org/apache/poi/hmef/dev/HMEFDumper.java | 3 +-
.../org/apache/poi/hslf/dev/SlideShowDumper.java | 3 +-
.../main/java/org/apache/poi/hsmf/MAPIMessage.java | 16 ++---
.../apache/poi/hwmf/draw/HwmfImageRenderer.java | 5 +-
.../apache/poi/poifs/macros/VBAMacroReader.java | 65 ++++++++++--------
26 files changed, 146 insertions(+), 123 deletions(-)
diff --git a/poi-ooxml/src/main/java/org/apache/poi/ooxml/POIXMLFactory.java
b/poi-ooxml/src/main/java/org/apache/poi/ooxml/POIXMLFactory.java
index 1c0d37888f..c443291c75 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/ooxml/POIXMLFactory.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/ooxml/POIXMLFactory.java
@@ -25,6 +25,7 @@ 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.StringUtil;
import org.apache.xmlbeans.XmlException;
/**
@@ -111,7 +112,7 @@ public abstract class POIXMLFactory {
String partName = part.getPartName().getName();
for (PackageRelationship pr :
parent.getPackagePart().getRelationships()) {
String packName = pr.getTargetURI().toASCIIString();
- if (packName.equalsIgnoreCase(partName)) {
+ if (StringUtil.equalsIgnoreCase(packName, partName)) {
return pr;
}
}
diff --git a/poi-ooxml/src/main/java/org/apache/poi/ooxml/util/POIXMLUnits.java
b/poi-ooxml/src/main/java/org/apache/poi/ooxml/util/POIXMLUnits.java
index cc847cb2ab..584caf0484 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/ooxml/util/POIXMLUnits.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/ooxml/util/POIXMLUnits.java
@@ -17,6 +17,8 @@
package org.apache.poi.ooxml.util;
+import org.apache.poi.util.StringUtil;
+
import static org.apache.poi.util.Units.EMU_PER_DXA;
import static org.apache.poi.util.Units.EMU_PER_INCH;
import static org.apache.poi.util.Units.EMU_PER_POINT;
@@ -264,7 +266,10 @@ public class POIXMLUnits {
public static boolean
parseOnOff(org.openxmlformats.schemas.officeDocument.x2006.sharedTypes.STOnOff
onOff) {
if (onOff == null) return false;
String str = onOff.getStringValue();
- return ("true".equalsIgnoreCase(str) || "on".equalsIgnoreCase(str) ||
"x".equalsIgnoreCase(str) || "1".equals(str));
+ return StringUtil.equalsIgnoreCase("true", str) ||
+ StringUtil.equalsIgnoreCase("on", str) ||
+ StringUtil.equalsIgnoreCase("x", str) ||
+ "1".equals(str);
}
}
diff --git a/poi-ooxml/src/main/java/org/apache/poi/ooxml/util/XPathHelper.java
b/poi-ooxml/src/main/java/org/apache/poi/ooxml/util/XPathHelper.java
index a0ba2d67f5..8fa8fbf7aa 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/ooxml/util/XPathHelper.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/ooxml/util/XPathHelper.java
@@ -27,6 +27,7 @@ import
com.microsoft.schemas.compatibility.AlternateContentDocument;
import org.apache.logging.log4j.Logger;
import org.apache.poi.logging.PoiLogManager;
import org.apache.poi.util.Internal;
+import org.apache.poi.util.StringUtil;
import org.apache.poi.xslf.usermodel.XSLFShape;
import org.apache.xmlbeans.XmlCursor;
import org.apache.xmlbeans.XmlException;
@@ -185,7 +186,7 @@ public final class XPathHelper {
XmlCursor innerCur = null;
try (XmlCursor cCur = choice.newCursor()) {
String requiresNS =
cCur.namespaceForPrefix(choice.getRequires());
- if (MAC_DML_NS.equalsIgnoreCase(requiresNS)) {
+ if (StringUtil.equalsIgnoreCase(MAC_DML_NS, requiresNS)) {
// Mac DML usually contains PDFs ...
continue;
}
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/OPCPackage.java
b/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/OPCPackage.java
index fcb774d4f7..c42486ca40 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/OPCPackage.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/OPCPackage.java
@@ -664,8 +664,7 @@ public abstract class OPCPackage implements
RelationshipSource, Closeable {
if (StringUtil.isNotBlank(this.originalPackagePath)) {
File targetFile = new File(this.originalPackagePath);
if (!targetFile.exists()
- || !(this.originalPackagePath
- .equalsIgnoreCase(targetFile.getAbsolutePath()))) {
+ || !StringUtil.equalsIgnoreCase(this.originalPackagePath,
targetFile.getAbsolutePath())) {
// Case of a package created from scratch
save(targetFile);
} else {
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/PackagePartName.java
b/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/PackagePartName.java
index 971064db69..f3232d71f5 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/PackagePartName.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/PackagePartName.java
@@ -24,6 +24,7 @@ import java.util.Locale;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.openxml4j.exceptions.OpenXML4JRuntimeException;
+import org.apache.poi.util.StringUtil;
/**
* An immutable Open Packaging Convention compliant part name.
@@ -528,7 +529,7 @@ public final class PackagePartName implements
Comparable<PackagePartName> {
return 1;
}
- if (str1.equalsIgnoreCase(str2)) {
+ if (StringUtil.equalsIgnoreCase(str1, str2)) {
return 0;
}
final String name1 = str1.toLowerCase(Locale.ROOT);
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/ZipPackage.java
b/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/ZipPackage.java
index 6869d02a6e..e12dcfdb43 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/ZipPackage.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/ZipPackage.java
@@ -52,6 +52,7 @@ import org.apache.poi.openxml4j.util.ZipFileZipEntrySource;
import org.apache.poi.openxml4j.util.ZipInputStreamZipEntrySource;
import org.apache.poi.openxml4j.util.ZipSecureFile;
import org.apache.poi.util.IOUtils;
+import org.apache.poi.util.StringUtil;
import org.apache.poi.util.TempFile;
/**
@@ -450,7 +451,7 @@ public final class ZipPackage extends OPCPackage {
try {
// We get an error when we parse [Content_Types].xml
// because it's not a valid URI.
- ppn =
(CONTENT_TYPES_PART_NAME.equalsIgnoreCase(entryName)) ? null
+ ppn = StringUtil.equalsIgnoreCase(CONTENT_TYPES_PART_NAME,
entryName) ? null
:
PackagingURIHelper.createPartName(ZipHelper.getOPCNameFromZipItemName(entryName));
} catch (Exception e) {
// We assume we can continue, even in degraded mode ...
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/ContentType.java
b/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/ContentType.java
index f95aad6a30..e69529def9 100644
---
a/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/ContentType.java
+++
b/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/ContentType.java
@@ -26,6 +26,7 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
+import org.apache.poi.util.StringUtil;
/**
* Represents an immutable MIME ContentType value (RFC 2616 §3.7)
@@ -206,7 +207,7 @@ public final class ContentType {
@Override
public boolean equals(Object obj) {
return (!(obj instanceof ContentType))
- || (this.toString().equalsIgnoreCase(obj.toString()));
+ || (StringUtil.equalsIgnoreCase(this.toString(),
obj.toString()));
}
@Override
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/ContentTypeManager.java
b/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/ContentTypeManager.java
index 3b5303d206..0688093d51 100644
---
a/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/ContentTypeManager.java
+++
b/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/ContentTypeManager.java
@@ -35,6 +35,7 @@ import org.apache.poi.openxml4j.opc.PackageNamespaces;
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.StringUtil;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
@@ -232,8 +233,7 @@ public abstract class ContentTypeManager {
try {
for (PackagePart part : this.container.getParts()) {
if (!part.getPartName().equals(partName)
- && part.getPartName().getExtension()
- .equalsIgnoreCase(extensionToDelete)) {
+ &&
StringUtil.equalsIgnoreCase(part.getPartName().getExtension(),
extensionToDelete)) {
deleteDefaultContentTypeFlag = false;
break;
}
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/openxml4j/util/ZipFileZipEntrySource.java
b/poi-ooxml/src/main/java/org/apache/poi/openxml4j/util/ZipFileZipEntrySource.java
index d1322fef30..41ef77796a 100644
---
a/poi-ooxml/src/main/java/org/apache/poi/openxml4j/util/ZipFileZipEntrySource.java
+++
b/poi-ooxml/src/main/java/org/apache/poi/openxml4j/util/ZipFileZipEntrySource.java
@@ -23,6 +23,7 @@ import java.util.Enumeration;
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
import org.apache.commons.compress.archivers.zip.ZipFile;
import org.apache.poi.util.IOUtils;
+import org.apache.poi.util.StringUtil;
/**
* A ZipEntrySource wrapper around a ZipFile.
@@ -78,7 +79,7 @@ public class ZipFileZipEntrySource implements ZipEntrySource {
final Enumeration<ZipArchiveEntry> zipArchiveEntryEnumeration =
zipArchive.getEntries();
while (zipArchiveEntryEnumeration.hasMoreElements()) {
ZipArchiveEntry ze = zipArchiveEntryEnumeration.nextElement();
- if
(normalizedPath.equalsIgnoreCase(IOUtils.normalizePath(ze.getName()))) {
+ if (StringUtil.equalsIgnoreCase(normalizedPath,
IOUtils.normalizePath(ze.getName()))) {
return ze;
}
}
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/openxml4j/util/ZipInputStreamZipEntrySource.java
b/poi-ooxml/src/main/java/org/apache/poi/openxml4j/util/ZipInputStreamZipEntrySource.java
index 2e4265e4bb..d036906ad2 100644
---
a/poi-ooxml/src/main/java/org/apache/poi/openxml4j/util/ZipInputStreamZipEntrySource.java
+++
b/poi-ooxml/src/main/java/org/apache/poi/openxml4j/util/ZipInputStreamZipEntrySource.java
@@ -29,6 +29,7 @@ import java.util.Set;
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
import org.apache.poi.openxml4j.opc.internal.InvalidZipException;
import org.apache.poi.util.IOUtils;
+import org.apache.poi.util.StringUtil;
/**
* Provides a way to get at all the ZipEntries
@@ -169,7 +170,7 @@ public class ZipInputStreamZipEntrySource implements
ZipEntrySource {
}
for (final Map.Entry<String, ZipArchiveFakeEntry> fze :
zipEntries.entrySet()) {
- if
(normalizedPath.equalsIgnoreCase(IOUtils.normalizePath(fze.getKey()))) {
+ if (StringUtil.equalsIgnoreCase(normalizedPath,
IOUtils.normalizePath(fze.getKey()))) {
return fze.getValue();
}
}
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/SignatureConfig.java
b/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/SignatureConfig.java
index a3e585b521..20049ccefb 100644
---
a/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/SignatureConfig.java
+++
b/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/SignatureConfig.java
@@ -19,6 +19,7 @@ package org.apache.poi.poifs.crypt.dsig;
import static
org.apache.poi.poifs.crypt.dsig.facets.SignatureFacet.OO_DIGSIG_NS;
import static
org.apache.poi.poifs.crypt.dsig.facets.SignatureFacet.XADES_132_NS;
+import static org.apache.poi.util.StringUtil.equalsIgnoreCase;
import java.io.ByteArrayInputStream;
import java.io.IOException;
@@ -465,16 +466,14 @@ public class SignatureConfig {
return defaultMethod;
}
- switch (canonicalizationMethod) {
- case Transform.ENVELOPED:
- case CanonicalizationMethod.INCLUSIVE:
- case CanonicalizationMethod.INCLUSIVE_WITH_COMMENTS:
- case CanonicalizationMethod.EXCLUSIVE:
- case CanonicalizationMethod.EXCLUSIVE_WITH_COMMENTS:
- return canonicalizationMethod;
- }
+ return switch (canonicalizationMethod) {
+ case Transform.ENVELOPED, CanonicalizationMethod.INCLUSIVE,
CanonicalizationMethod.INCLUSIVE_WITH_COMMENTS,
+ CanonicalizationMethod.EXCLUSIVE,
CanonicalizationMethod.EXCLUSIVE_WITH_COMMENTS ->
+ canonicalizationMethod;
+ default ->
+ throw new EncryptedDocumentException("Unknown
CanonicalizationMethod: " + canonicalizationMethod);
+ };
- throw new EncryptedDocumentException("Unknown CanonicalizationMethod:
"+canonicalizationMethod);
}
/**
@@ -856,16 +855,16 @@ public class SignatureConfig {
* supported, so it's the rsa variant of the main digest
*/
public String getSignatureMethodUri() {
- switch (getDigestAlgo()) {
- case sha1: return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA1;
- case sha224: return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA224;
- case sha256: return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA256;
- case sha384: return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA384;
- case sha512: return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA512;
- case ripemd160: return XMLSignature.ALGO_ID_SIGNATURE_RSA_RIPEMD160;
- default: throw new EncryptedDocumentException("Hash algorithm "
- +getDigestAlgo()+" not supported for signing.");
- }
+ return switch (getDigestAlgo()) {
+ case sha1 -> XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA1;
+ case sha224 -> XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA224;
+ case sha256 -> XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA256;
+ case sha384 -> XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA384;
+ case sha512 -> XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA512;
+ case ripemd160 -> XMLSignature.ALGO_ID_SIGNATURE_RSA_RIPEMD160;
+ default -> throw new EncryptedDocumentException("Hash algorithm "
+ + getDigestAlgo() + " not supported for signing.");
+ };
}
/**
@@ -883,16 +882,16 @@ public class SignatureConfig {
* @return the uri for the given digest
*/
public static String getDigestMethodUri(HashAlgorithm digestAlgo) {
- switch (digestAlgo) {
- case sha1: return DigestMethod.SHA1;
- case sha224: return DigestMethod_SHA224;
- case sha256: return DigestMethod.SHA256;
- case sha384: return DigestMethod_SHA384;
- case sha512: return DigestMethod.SHA512;
- case ripemd160: return DigestMethod.RIPEMD160;
- default: throw new EncryptedDocumentException("Hash algorithm "
- +digestAlgo+" not supported for signing.");
- }
+ return switch (digestAlgo) {
+ case sha1 -> DigestMethod.SHA1;
+ case sha224 -> DigestMethod_SHA224;
+ case sha256 -> DigestMethod.SHA256;
+ case sha384 -> DigestMethod_SHA384;
+ case sha512 -> DigestMethod.SHA512;
+ case ripemd160 -> DigestMethod.RIPEMD160;
+ default -> throw new EncryptedDocumentException("Hash algorithm "
+ + digestAlgo + " not supported for signing.");
+ };
}
/**
@@ -906,16 +905,16 @@ public class SignatureConfig {
if (digestMethodUri == null || digestMethodUri.isEmpty()) {
return null;
}
- switch (digestMethodUri) {
- case DigestMethod.SHA1: return HashAlgorithm.sha1;
- case DigestMethod_SHA224: return HashAlgorithm.sha224;
- case DigestMethod.SHA256: return HashAlgorithm.sha256;
- case DigestMethod_SHA384: return HashAlgorithm.sha384;
- case DigestMethod.SHA512: return HashAlgorithm.sha512;
- case DigestMethod.RIPEMD160: return HashAlgorithm.ripemd160;
- default: throw new EncryptedDocumentException("Hash algorithm "
- +digestMethodUri+" not supported for signing.");
- }
+ return switch (digestMethodUri) {
+ case DigestMethod.SHA1 -> HashAlgorithm.sha1;
+ case DigestMethod_SHA224 -> HashAlgorithm.sha224;
+ case DigestMethod.SHA256 -> HashAlgorithm.sha256;
+ case DigestMethod_SHA384 -> HashAlgorithm.sha384;
+ case DigestMethod.SHA512 -> HashAlgorithm.sha512;
+ case DigestMethod.RIPEMD160 -> HashAlgorithm.ripemd160;
+ default -> throw new EncryptedDocumentException("Hash algorithm "
+ + digestMethodUri + " not supported for signing.");
+ };
}
/**
@@ -1150,7 +1149,7 @@ public class SignatureConfig {
}
Optional<X509Certificate> found = Stream.of(chain)
.map(X509Certificate.class::cast)
- .filter(c ->
principalName.equalsIgnoreCase(c.getSubjectX500Principal().getName()))
+ .filter(c -> equalsIgnoreCase(principalName,
c.getSubjectX500Principal().getName()))
.findFirst();
if (found.isPresent()) {
return found.get();
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xslf/draw/SVGImageRenderer.java
b/poi-ooxml/src/main/java/org/apache/poi/xslf/draw/SVGImageRenderer.java
index 66d32f85a8..7b99086dd3 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xslf/draw/SVGImageRenderer.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xslf/draw/SVGImageRenderer.java
@@ -41,6 +41,7 @@ import org.apache.poi.sl.draw.Drawable;
import org.apache.poi.sl.draw.ImageRenderer;
import org.apache.poi.sl.usermodel.PictureData;
import org.apache.poi.util.MathUtil;
+import org.apache.poi.util.StringUtil;
import org.w3c.dom.svg.SVGDocument;
public class SVGImageRenderer implements ImageRenderer {
@@ -146,7 +147,7 @@ public class SVGImageRenderer implements ImageRenderer {
@Override
public boolean canRender(String contentType) {
- return
PictureData.PictureType.SVG.contentType.equalsIgnoreCase(contentType);
+ return
StringUtil.equalsIgnoreCase(PictureData.PictureType.SVG.contentType,
contentType);
}
@Override
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFFontInfo.java
b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFFontInfo.java
index 3addddbb92..abee6f15fd 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFFontInfo.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFFontInfo.java
@@ -38,6 +38,7 @@ import org.apache.poi.common.usermodel.fonts.FontPitch;
import org.apache.poi.ooxml.POIXMLDocumentPart;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.util.IOUtils;
+import org.apache.poi.util.StringUtil;
import org.openxmlformats.schemas.drawingml.x2006.main.CTTextFont;
import
org.openxmlformats.schemas.presentationml.x2006.main.CTEmbeddedFontDataId;
import org.openxmlformats.schemas.presentationml.x2006.main.CTEmbeddedFontList;
@@ -59,7 +60,7 @@ public class XSLFFontInfo implements FontInfo {
? pres.getEmbeddedFontLst() : pres.addNewEmbeddedFontLst();
for (CTEmbeddedFontListEntry fe : fontList.getEmbeddedFontArray()) {
- if (typeface.equalsIgnoreCase(fe.getFont().getTypeface())) {
+ if (StringUtil.equalsIgnoreCase(typeface,
fe.getFont().getTypeface())) {
fontListEntry = fe;
return;
}
@@ -154,24 +155,16 @@ public class XSLFFontInfo implements FontInfo {
final int style =
(header.getWeight() > 400 ? Font.BOLD : Font.PLAIN) |
(header.isItalic() ? Font.ITALIC : Font.PLAIN);
- switch (style) {
- case Font.PLAIN:
- dataId = fontListEntry.isSetRegular()
+ dataId = switch (style) {
+ case Font.PLAIN -> fontListEntry.isSetRegular()
? fontListEntry.getRegular() :
fontListEntry.addNewRegular();
- break;
- case Font.BOLD:
- dataId = fontListEntry.isSetBold()
+ case Font.BOLD -> fontListEntry.isSetBold()
? fontListEntry.getBold() : fontListEntry.addNewBold();
- break;
- case Font.ITALIC:
- dataId = fontListEntry.isSetItalic()
+ case Font.ITALIC -> fontListEntry.isSetItalic()
? fontListEntry.getItalic() : fontListEntry.addNewItalic();
- break;
- default:
- dataId = fontListEntry.isSetBoldItalic()
+ default -> fontListEntry.isSetBoldItalic()
? fontListEntry.getBoldItalic() :
fontListEntry.addNewBoldItalic();
- break;
- }
+ };
XSLFFontFacet facet = new XSLFFontFacet(dataId);
facet.setFontData(is);
@@ -275,7 +268,6 @@ public class XSLFFontInfo implements FontInfo {
public static List<XSLFFontInfo> getFonts(XMLSlideShow ppt) {
final CTPresentation pres = ppt.getCTPresentation();
- //noinspection deprecation
return pres.isSetEmbeddedFontLst()
? Stream.of(pres.getEmbeddedFontLst().getEmbeddedFontArray())
.map(fe -> new XSLFFontInfo(ppt,
fe)).collect(Collectors.toList())
diff --git a/poi-ooxml/src/main/java/org/apache/poi/xslf/util/PPTX2PNG.java
b/poi-ooxml/src/main/java/org/apache/poi/xslf/util/PPTX2PNG.java
index 3a6e1e9b25..13b8eb9024 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xslf/util/PPTX2PNG.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xslf/util/PPTX2PNG.java
@@ -46,6 +46,7 @@ import org.apache.poi.util.Dimension2DDouble;
import org.apache.poi.util.GenericRecordJsonWriter;
import org.apache.poi.util.LocaleUtil;
import org.apache.poi.util.MathUtil;
+import org.apache.poi.util.StringUtil;
/**
* An utility to convert slides of a .pptx slide show to a PNG image
@@ -238,7 +239,7 @@ public final class PPTX2PNG {
}
}
- final boolean isStdin = file != null &&
"stdin".equalsIgnoreCase(file.getName());
+ final boolean isStdin = file != null &&
StringUtil.equalsIgnoreCase("stdin", file.getName());
if (!isStdin && (file == null || !file.exists())) {
usage("File not specified or it doesn't exist");
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xssf/eventusermodel/XSSFReader.java
b/poi-ooxml/src/main/java/org/apache/poi/xssf/eventusermodel/XSSFReader.java
index f945b3457f..8fc307729a 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xssf/eventusermodel/XSSFReader.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xssf/eventusermodel/XSSFReader.java
@@ -43,6 +43,7 @@ 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.StringUtil;
import org.apache.poi.util.XMLHelper;
import org.apache.poi.xssf.model.*;
import org.apache.poi.xssf.usermodel.XSSFDrawing;
@@ -535,14 +536,14 @@ public class XSSFReader {
// and add XSSFSheetRef(id="rId6", name="Sheet6") to sheetRefs
@Override
public void startElement(String uri, String localName, String qName,
Attributes attrs) throws SAXException {
- if (localName.equalsIgnoreCase(SHEET)) {
+ if (StringUtil.equalsIgnoreCase(localName, SHEET)) {
String name = null;
String id = null;
for (int i = 0; i < attrs.getLength(); i++) {
final String attrName = attrs.getLocalName(i);
- if (attrName.equalsIgnoreCase(NAME)) {
+ if (StringUtil.equalsIgnoreCase(attrName, NAME)) {
name = attrs.getValue(i);
- } else if (attrName.equalsIgnoreCase(ID)) {
+ } else if (StringUtil.equalsIgnoreCase(attrName, ID)) {
id = attrs.getValue(i);
}
if (name != null && id != null) {
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/BaseXSSFEvaluationWorkbook.java
b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/BaseXSSFEvaluationWorkbook.java
index 7c65d8f508..5cafcea7f0 100644
---
a/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/BaseXSSFEvaluationWorkbook.java
+++
b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/BaseXSSFEvaluationWorkbook.java
@@ -43,6 +43,7 @@ import org.apache.poi.ss.util.AreaReference;
import org.apache.poi.ss.util.CellReference;
import org.apache.poi.util.NotImplemented;
import org.apache.poi.util.Internal;
+import org.apache.poi.util.StringUtil;
import org.apache.poi.xssf.model.ExternalLinksTable;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDefinedName;
@@ -170,7 +171,7 @@ public abstract class BaseXSSFEvaluationWorkbook implements
FormulaRenderingWork
XSSFName nm = _uBook.getNameAt(i);
String nameText = nm.getNameName();
int nameSheetindex = nm.getSheetIndex();
- if (name.equalsIgnoreCase(nameText) &&
+ if (StringUtil.equalsIgnoreCase(name, nameText) &&
(nameSheetindex == -1 || nameSheetindex == sheetIndex)) {
return new Name(nm, i, this);
}
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFName.java
b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFName.java
index 163550506f..40d04226d9 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFName.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFName.java
@@ -26,6 +26,8 @@ import org.apache.poi.ss.util.AreaReference;
import org.apache.poi.ss.util.CellReference;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDefinedName;
+import static org.apache.poi.util.StringUtil.equalsIgnoreCase;
+
/**
* Represents a defined named range in a SpreadsheetML workbook.
* <p>
@@ -396,7 +398,7 @@ public final class XSSFName implements Name {
if (name.length() > 255) {
throw new IllegalArgumentException("Invalid name: '"+name+"':
cannot exceed 255 characters in length");
}
- if (name.equalsIgnoreCase("R") || name.equalsIgnoreCase("C")) {
+ if (equalsIgnoreCase(name, "R") || equalsIgnoreCase(name, ("C"))) {
throw new IllegalArgumentException("Invalid name: '"+name+"':
cannot be special shorthand R or C");
}
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
index e53f69c4b3..98f06ada70 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
@@ -53,6 +53,7 @@ import org.apache.poi.ss.util.SheetUtil;
import org.apache.poi.util.Beta;
import org.apache.poi.util.Internal;
import org.apache.poi.util.Removal;
+import org.apache.poi.util.StringUtil;
import org.apache.poi.util.Units;
import org.apache.poi.xssf.model.Comments;
import
org.apache.poi.xssf.usermodel.XSSFPivotTable.PivotTableReferenceConfigurator;
@@ -4749,7 +4750,7 @@ public class XSSFSheet extends POIXMLDocumentPart
implements Sheet, OoxmlSheetEx
@Beta
public XSSFPivotTable createPivotTable(final AreaReference source,
CellReference position, Sheet sourceSheet) {
final String sourceSheetName = source.getFirstCell().getSheetName();
- if(sourceSheetName != null &&
!sourceSheetName.equalsIgnoreCase(sourceSheet.getSheetName())) {
+ if(sourceSheetName != null &&
!StringUtil.equalsIgnoreCase(sourceSheetName, sourceSheet.getSheetName())) {
throw new IllegalArgumentException("The area is referenced in
another sheet than the "
+ "defined source sheet " + sourceSheet.getSheetName() +
".");
}
@@ -4801,7 +4802,7 @@ public class XSSFSheet extends POIXMLDocumentPart
implements Sheet, OoxmlSheetEx
@Beta
public XSSFPivotTable createPivotTable(AreaReference source, CellReference
position){
final String sourceSheetName = source.getFirstCell().getSheetName();
- if(sourceSheetName != null &&
!sourceSheetName.equalsIgnoreCase(this.getSheetName())) {
+ if(sourceSheetName != null &&
!StringUtil.equalsIgnoreCase(sourceSheetName, this.getSheetName())) {
final XSSFSheet sourceSheet =
getWorkbook().getSheet(sourceSheetName);
return createPivotTable(source, position, sourceSheet);
}
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFTable.java
b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFTable.java
index 480cc491c8..d94545a7d6 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFTable.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFTable.java
@@ -280,7 +280,7 @@ public class XSSFTable extends POIXMLDocumentPart
implements Table {
// check if name is unique and calculate unique column id
long nextColumnId = 0;
for (XSSFTableColumn tableColumn : getColumns()) {
- if (columnName != null &&
columnName.equalsIgnoreCase(tableColumn.getName())) {
+ if (columnName != null && StringUtil.equalsIgnoreCase(columnName,
tableColumn.getName())) {
throw new IllegalArgumentException("Column '" + columnName
+ "' already exists. Column names must be unique per
table.");
}
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java
b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java
index 533352ea90..455ae820cf 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java
@@ -90,6 +90,7 @@ import org.apache.poi.util.IOUtils;
import org.apache.poi.util.Internal;
import org.apache.poi.util.NotImplemented;
import org.apache.poi.util.Removal;
+import org.apache.poi.util.StringUtil;
import org.apache.poi.util.XMLHelper;
import org.apache.poi.xssf.XLSBUnsupportedException;
import org.apache.poi.xssf.model.CalculationChain;
@@ -1232,7 +1233,7 @@ public class XSSFWorkbook extends POIXMLDocument
implements Workbook, Date1904Su
}
for (XSSFSheet sheet : sheets) {
- if (name.equalsIgnoreCase(sheet.getSheetName())) {
+ if (StringUtil.equalsIgnoreCase(name, sheet.getSheetName())) {
return sheet;
}
}
@@ -1263,7 +1264,7 @@ public class XSSFWorkbook extends POIXMLDocument
implements Workbook, Date1904Su
public int getSheetIndex(String name) {
int idx = 0;
for (XSSFSheet sh : sheets) {
- if (name.equalsIgnoreCase(sh.getSheetName())) {
+ if (StringUtil.equalsIgnoreCase(name, sh.getSheetName())) {
return idx;
}
idx++;
@@ -1941,7 +1942,7 @@ public class XSSFWorkbook extends POIXMLDocument
implements Workbook, Date1904Su
ctName = ctName.substring(0, MAX_SENSITIVE_SHEET_NAME_LEN);
}
- if (excludeSheetIdx != i && name.equalsIgnoreCase(ctName)) {
+ if (excludeSheetIdx != i && StringUtil.equalsIgnoreCase(name,
ctName)) {
return true;
}
}
@@ -2553,7 +2554,7 @@ public class XSSFWorkbook extends POIXMLDocument
implements Workbook, Date1904Su
if (name != null && sheets != null) {
for (XSSFSheet sheet : sheets) {
for (XSSFTable tbl : sheet.getTables()) {
- if (name.equalsIgnoreCase(tbl.getName())) {
+ if (StringUtil.equalsIgnoreCase(name, tbl.getName())) {
return tbl;
}
}
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hemf/draw/HemfImageRenderer.java
b/poi-scratchpad/src/main/java/org/apache/poi/hemf/draw/HemfImageRenderer.java
index cf348154f0..3ba45da83f 100644
---
a/poi-scratchpad/src/main/java/org/apache/poi/hemf/draw/HemfImageRenderer.java
+++
b/poi-scratchpad/src/main/java/org/apache/poi/hemf/draw/HemfImageRenderer.java
@@ -40,6 +40,7 @@ import org.apache.poi.sl.draw.EmbeddedExtractor;
import org.apache.poi.sl.draw.ImageRenderer;
import org.apache.poi.sl.usermodel.PictureData;
import org.apache.poi.util.MathUtil;
+import org.apache.poi.util.StringUtil;
import org.apache.poi.util.Units;
@SuppressWarnings("unused")
@@ -50,7 +51,7 @@ public class HemfImageRenderer implements ImageRenderer,
EmbeddedExtractor {
@Override
public boolean canRender(String contentType) {
- return
PictureData.PictureType.EMF.contentType.equalsIgnoreCase(contentType);
+ return
StringUtil.equalsIgnoreCase(PictureData.PictureType.EMF.contentType,
contentType);
}
@Override
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hmef/dev/HMEFDumper.java
b/poi-scratchpad/src/main/java/org/apache/poi/hmef/dev/HMEFDumper.java
index 6ce5fc665b..81c6571cf9 100644
--- a/poi-scratchpad/src/main/java/org/apache/poi/hmef/dev/HMEFDumper.java
+++ b/poi-scratchpad/src/main/java/org/apache/poi/hmef/dev/HMEFDumper.java
@@ -32,6 +32,7 @@ import org.apache.poi.hmef.attribute.TNEFStringAttribute;
import org.apache.poi.util.HexDump;
import org.apache.poi.util.IOUtils;
import org.apache.poi.util.LittleEndian;
+import org.apache.poi.util.StringUtil;
/**
* Developer focused raw dumper
@@ -63,7 +64,7 @@ public final class HMEFDumper {
boolean truncatePropData = true;
for (String arg : args) {
- if (arg.equalsIgnoreCase("--full")) {
+ if (StringUtil.equalsIgnoreCase(arg, "--full")) {
truncatePropData = false;
continue;
}
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/dev/SlideShowDumper.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/dev/SlideShowDumper.java
index 141f47d8c8..6f06a2efdd 100644
--- a/poi-scratchpad/src/main/java/org/apache/poi/hslf/dev/SlideShowDumper.java
+++ b/poi-scratchpad/src/main/java/org/apache/poi/hslf/dev/SlideShowDumper.java
@@ -28,6 +28,7 @@ import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.util.HexDump;
import org.apache.poi.util.IOUtils;
import org.apache.poi.util.LittleEndian;
+import org.apache.poi.util.StringUtil;
import java.io.File;
import java.io.IOException;
@@ -99,7 +100,7 @@ public final class SlideShowDumper {
SlideShowDumper foo = new SlideShowDumper(poifs, System.out);
if (args.length > 1) {
- if (args[0].equalsIgnoreCase("-escher")) {
+ if (StringUtil.equalsIgnoreCase(args[0], "-escher")) {
foo.setDDFEscher(true);
} else {
foo.setBasicEscher(true);
diff --git a/poi-scratchpad/src/main/java/org/apache/poi/hsmf/MAPIMessage.java
b/poi-scratchpad/src/main/java/org/apache/poi/hsmf/MAPIMessage.java
index 36e8ba32dd..2d99b7b5b0 100644
--- a/poi-scratchpad/src/main/java/org/apache/poi/hsmf/MAPIMessage.java
+++ b/poi-scratchpad/src/main/java/org/apache/poi/hsmf/MAPIMessage.java
@@ -475,7 +475,7 @@ public class MAPIMessage extends POIReadOnlyDocument {
if (generalcodepage == null) {
try {
String[] headers = getHeaders();
- if (headers != null && headers.length > 0) {
+ if (headers != null) {
for (String header : headers) {
if
(header.toLowerCase(LocaleUtil.getUserLocale()).startsWith("content-type")) {
Matcher m =
GUESS_7_BIT_ENCODING_PATTERN.matcher(header);
@@ -498,7 +498,7 @@ public class MAPIMessage extends POIReadOnlyDocument {
try {
String encoding = CodePageUtil.codepageToEncoding(codepage,
true);
htmlbodycodepage = encoding;
- if (!encoding.equalsIgnoreCase("utf-8")) {
+ if (!StringUtil.equalsIgnoreCase(encoding, "utf-8")) {
bodycodepage = encoding;
}
} catch (UnsupportedEncodingException e) {
@@ -630,17 +630,17 @@ public class MAPIMessage extends POIReadOnlyDocument {
String mc = getStringFromChunk(mainChunks.getMessageClass());
if (StringUtil.isBlank(mc)) {
return MESSAGE_CLASS.UNSPECIFIED;
- } else if (mc.equalsIgnoreCase("IPM.Note")) {
+ } else if (StringUtil.equalsIgnoreCase(mc, "IPM.Note")) {
return MESSAGE_CLASS.NOTE;
- } else if (mc.equalsIgnoreCase("IPM.Contact")) {
+ } else if (StringUtil.equalsIgnoreCase(mc, "IPM.Contact")) {
return MESSAGE_CLASS.CONTACT;
- } else if (mc.equalsIgnoreCase("IPM.Appointment")) {
+ } else if (StringUtil.equalsIgnoreCase(mc, "IPM.Appointment")) {
return MESSAGE_CLASS.APPOINTMENT;
- } else if (mc.equalsIgnoreCase("IPM.StickyNote")) {
+ } else if (StringUtil.equalsIgnoreCase(mc, "IPM.StickyNote")) {
return MESSAGE_CLASS.STICKY_NOTE;
- } else if (mc.equalsIgnoreCase("IPM.Task")) {
+ } else if (StringUtil.equalsIgnoreCase(mc, "IPM.Task")) {
return MESSAGE_CLASS.TASK;
- } else if (mc.equalsIgnoreCase("IPM.Post")) {
+ } else if (StringUtil.equalsIgnoreCase(mc, "IPM.Post")) {
return MESSAGE_CLASS.POST;
} else {
LOG.atWarn().log("I don't recognize message class '{}'. Please
open an issue on POI's bugzilla", mc);
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hwmf/draw/HwmfImageRenderer.java
b/poi-scratchpad/src/main/java/org/apache/poi/hwmf/draw/HwmfImageRenderer.java
index c43ec8b54a..064b4804ae 100644
---
a/poi-scratchpad/src/main/java/org/apache/poi/hwmf/draw/HwmfImageRenderer.java
+++
b/poi-scratchpad/src/main/java/org/apache/poi/hwmf/draw/HwmfImageRenderer.java
@@ -41,6 +41,7 @@ import org.apache.poi.sl.draw.ImageRenderer;
import org.apache.poi.sl.usermodel.PictureData.PictureType;
import org.apache.poi.util.Internal;
import org.apache.poi.util.MathUtil;
+import org.apache.poi.util.StringUtil;
import org.apache.poi.util.Units;
/**
@@ -54,7 +55,7 @@ public class HwmfImageRenderer implements ImageRenderer,
EmbeddedExtractor {
@Override
public boolean canRender(String contentType) {
- return PictureType.WMF.contentType.equalsIgnoreCase(contentType);
+ return StringUtil.equalsIgnoreCase(PictureType.WMF.contentType,
contentType);
}
@Override
@@ -170,7 +171,7 @@ public class HwmfImageRenderer implements ImageRenderer,
EmbeddedExtractor {
return () -> {
final Iterator<HwmfEmbedded> embit = embs.iterator();
final int[] idx = { 1 };
- return new Iterator<EmbeddedExtractor.EmbeddedPart>() {
+ return new Iterator<>() {
@Override
public boolean hasNext() {
return embit.hasNext();
diff --git a/poi/src/main/java/org/apache/poi/poifs/macros/VBAMacroReader.java
b/poi/src/main/java/org/apache/poi/poifs/macros/VBAMacroReader.java
index a56a1cd161..f422870f1c 100644
--- a/poi/src/main/java/org/apache/poi/poifs/macros/VBAMacroReader.java
+++ b/poi/src/main/java/org/apache/poi/poifs/macros/VBAMacroReader.java
@@ -18,8 +18,7 @@
package org.apache.poi.poifs.macros;
import static org.apache.logging.log4j.util.Unbox.box;
-import static org.apache.poi.util.StringUtil.endsWithIgnoreCase;
-import static org.apache.poi.util.StringUtil.startsWithIgnoreCase;
+import static org.apache.poi.util.StringUtil.*;
import java.io.Closeable;
import java.io.EOFException;
@@ -53,7 +52,6 @@ import org.apache.poi.util.HexDump;
import org.apache.poi.util.IOUtils;
import org.apache.poi.util.LittleEndian;
import org.apache.poi.util.RLEDecompressingInputStream;
-import org.apache.poi.util.StringUtil;
/**
* <p>Finds all VBA Macros in an office file (OLE2/POIFS and OOXML/OPC),
@@ -190,7 +188,7 @@ public class VBAMacroReader implements Closeable {
}
}
protected static class ModuleMap extends HashMap<String, ModuleImpl> {
- Charset charset = StringUtil.WIN_1252; // default charset
+ Charset charset = WIN_1252; // default charset
}
/**
@@ -204,14 +202,14 @@ public class VBAMacroReader implements Closeable {
* @since 3.15-beta2
*/
protected void findMacros(DirectoryNode dir, ModuleMap modules) throws
IOException {
- if (VBA_PROJECT_POIFS.equalsIgnoreCase(dir.getName())) {
+ if (equalsIgnoreCase(VBA_PROJECT_POIFS, dir.getName())) {
// VBA project directory, process
readMacros(dir, modules);
} else {
// Check children
for (Entry child : dir) {
- if (child instanceof DirectoryNode) {
- findMacros((DirectoryNode)child, modules);
+ if (child instanceof DirectoryNode dn) {
+ findMacros(dn, modules);
}
}
}
@@ -334,50 +332,61 @@ public class VBAMacroReader implements Closeable {
//but may be in another directory (\_VBA_PROJECT_CUR\VBA ENTRY NAME)
//process the dirstream first -- "dir" is case insensitive
for (String entryName : macroDir.getEntryNames()) {
- if ("dir".equalsIgnoreCase(entryName)) {
+ if (equalsIgnoreCase("dir", entryName)) {
processDirStream(macroDir.getEntryCaseInsensitive(entryName),
modules);
break;
}
}
for (Entry entry : macroDir) {
- if (! (entry instanceof DocumentNode)) { continue; }
- String name = entry.getName();
- DocumentNode document = (DocumentNode)entry;
+ if (entry instanceof DocumentNode document) {
+ String name = entry.getName();
- if (! "dir".equalsIgnoreCase(name) && !startsWithIgnoreCase(name,
"__SRP")
+ if (!equalsIgnoreCase("dir", name) &&
!startsWithIgnoreCase(name, "__SRP")
&& !startsWithIgnoreCase(name, "_VBA_PROJECT")) {
// process module, skip __SRP and _VBA_PROJECT since these
do not contain macros
readModuleFromDocumentStream(document, name, modules);
+ }
}
+
}
}
protected void findProjectProperties(DirectoryNode node, Map<String,
String> moduleNameMap, ModuleMap modules) throws IOException {
for (Entry entry : node) {
- if ("project".equalsIgnoreCase(entry.getName())) {
- DocumentNode document = (DocumentNode)entry;
- try(DocumentInputStream dis = new
DocumentInputStream(document)) {
- readProjectProperties(dis, moduleNameMap, modules);
- return;
+ if (equalsIgnoreCase("project", entry.getName())) {
+ if (entry instanceof DocumentNode document) {
+ try(DocumentInputStream dis = new
DocumentInputStream(document)) {
+ readProjectProperties(dis, moduleNameMap, modules);
+ return;
+ }
+ } else {
+ throw new IllegalStateException("project node is expected
to be a DocumentNode, found " +
+ entry.getClass().getName());
}
- } else if (entry instanceof DirectoryNode) {
- findProjectProperties((DirectoryNode)entry, moduleNameMap,
modules);
+ } else if (entry instanceof DirectoryNode dn) {
+ findProjectProperties(dn, moduleNameMap, modules);
}
}
}
protected void findModuleNameMap(DirectoryNode node, Map<String, String>
moduleNameMap, ModuleMap modules) throws IOException {
for (Entry entry : node) {
- if ("projectwm".equalsIgnoreCase(entry.getName())) {
- DocumentNode document = (DocumentNode)entry;
- try(DocumentInputStream dis = new
DocumentInputStream(document)) {
- readNameMapRecords(dis, moduleNameMap, modules.charset);
- return;
+ if (equalsIgnoreCase("projectwm", entry.getName())) {
+ if (entry instanceof DocumentNode document) {
+ try (DocumentInputStream dis = new
DocumentInputStream(document)) {
+ readNameMapRecords(dis, moduleNameMap,
modules.charset);
+ return;
+ }
+ } else {
+ throw new IllegalStateException("projectwm node is
expected to be a DocumentNode, found " +
+ entry.getClass().getName());
}
} else if (entry.isDirectoryEntry()) {
- findModuleNameMap((DirectoryNode)entry, moduleNameMap,
modules);
+ if (entry instanceof DirectoryNode dn) {
+ findModuleNameMap(dn, moduleNameMap, modules);
+ }
}
}
}
@@ -672,7 +681,7 @@ public class VBAMacroReader implements Closeable {
} catch (EOFException e) {
return;
}
- if (StringUtil.isNotBlank(mbcs) && StringUtil.isNotBlank(unicode))
{
+ if (isNotBlank(mbcs) && isNotBlank(unicode)) {
moduleNames.put(mbcs, unicode);
}
@@ -795,7 +804,7 @@ public class VBAMacroReader implements Closeable {
if (bytesRead != unicodeNameRecordLength) {
throw new EOFException();
}
- return new String(buffer, StringUtil.UTF16LE);
+ return new String(buffer, UTF16LE);
}
/**
@@ -828,7 +837,7 @@ public class VBAMacroReader implements Closeable {
//can be many 0 length or junk streams that are
uncompressed
//look in the first 20 characters for "Attribute"
int firstX = Math.min(20, decompressed.length);
- String start = new String(decompressed, 0, firstX,
StringUtil.WIN_1252);
+ String start = new String(decompressed, 0, firstX,
WIN_1252);
if (start.contains("Attribute")) {
return decompressed;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]