Author: centic
Date: Sun Nov 7 14:59:40 2021
New Revision: 1894810
URL: http://svn.apache.org/viewvc?rev=1894810&view=rev
Log:
Add some more forbidden-apis to prefer core JDK classes over Guava and
commons-codec
Also prevent java logging from being used inadvertently
Modified:
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/ooxml/TestTriggerCoverage.java
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/poifs/crypt/tests/TestDecryptor.java
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/ss/tests/usermodel/TestEmbedOLEPackage.java
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/eventusermodel/TestXSSFReader.java
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hslf/extractor/TestExtractor.java
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hslf/record/TestDocumentEncryption.java
poi/trunk/poi/src/main/java/org/apache/poi/poifs/crypt/agile/EncryptionDocument.java
poi/trunk/poi/src/main/java/org/apache/poi/ss/format/CellFormat.java
poi/trunk/poi/src/main/java/org/apache/poi/ss/format/CellFormatPart.java
poi/trunk/src/resources/devtools/forbidden-signatures.txt
Modified:
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/ooxml/TestTriggerCoverage.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/ooxml/TestTriggerCoverage.java?rev=1894810&r1=1894809&r2=1894810&view=diff
==============================================================================
---
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/ooxml/TestTriggerCoverage.java
(original)
+++
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/ooxml/TestTriggerCoverage.java
Sun Nov 7 14:59:40 2021
@@ -56,7 +56,7 @@ import static org.junit.jupiter.api.Asse
/**
* Test to trigger code-execution of various parts so
- * that all required elements are inclueded in the ooxml-schema-lite package
+ * that all required elements are included in the ooxml-schema-lite package
*/
class TestTriggerCoverage {
private static final Set<String> FAILING = new HashSet<>();
Modified:
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/poifs/crypt/tests/TestDecryptor.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/poifs/crypt/tests/TestDecryptor.java?rev=1894810&r1=1894809&r2=1894810&view=diff
==============================================================================
---
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/poifs/crypt/tests/TestDecryptor.java
(original)
+++
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/poifs/crypt/tests/TestDecryptor.java
Sun Nov 7 14:59:40 2021
@@ -27,10 +27,10 @@ import java.io.IOException;
import java.io.InputStream;
import java.security.GeneralSecurityException;
import java.security.MessageDigest;
+import java.util.Base64;
import javax.crypto.Cipher;
-import org.apache.commons.codec.binary.Base64;
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
@@ -166,7 +166,7 @@ class TestDecryptor {
try (InputStream is2 = dec.getDataStream(pfs)) {
md.update(IOUtils.toByteArray(is2));
}
- assertEquals("L1vDQq2EuMSfU/FBfVQfM2zfOY5Jx9ZyVgIQhXPPVgs=",
Base64.encodeBase64String(md.digest()));
+ assertEquals("L1vDQq2EuMSfU/FBfVQfM2zfOY5Jx9ZyVgIQhXPPVgs=",
Base64.getEncoder().encodeToString(md.digest()));
}
}
Modified:
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/ss/tests/usermodel/TestEmbedOLEPackage.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/ss/tests/usermodel/TestEmbedOLEPackage.java?rev=1894810&r1=1894809&r2=1894810&view=diff
==============================================================================
---
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/ss/tests/usermodel/TestEmbedOLEPackage.java
(original)
+++
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/ss/tests/usermodel/TestEmbedOLEPackage.java
Sun Nov 7 14:59:40 2021
@@ -29,11 +29,11 @@ import java.io.InputStream;
import java.security.MessageDigest;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Base64;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
-import org.apache.commons.codec.binary.Base64;
import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
import org.apache.poi.POIDataSamples;
import org.apache.poi.hpsf.ClassIDPredefined;
@@ -144,7 +144,7 @@ class TestEmbedOLEPackage {
private static String digest(Ole10Native ole10) {
MessageDigest sha =
CryptoFunctions.getMessageDigest(HashAlgorithm.sha256);
byte[] digest = sha.digest(ole10.getDataBuffer());
- return Base64.encodeBase64String(digest);
+ return Base64.getEncoder().encodeToString(digest);
}
@Test
Modified:
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/eventusermodel/TestXSSFReader.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/eventusermodel/TestXSSFReader.java?rev=1894810&r1=1894809&r2=1894810&view=diff
==============================================================================
---
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/eventusermodel/TestXSSFReader.java
(original)
+++
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/eventusermodel/TestXSSFReader.java
Sun Nov 7 14:59:40 2021
@@ -29,12 +29,12 @@ import static org.junit.jupiter.api.Asse
import java.io.IOException;
import java.io.InputStream;
import java.security.MessageDigest;
+import java.util.Base64;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
-import org.apache.commons.codec.binary.Base64;
import org.apache.poi.POIDataSamples;
import org.apache.poi.ooxml.POIXMLException;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
@@ -370,6 +370,6 @@ public final class TestXSSFReader {
md.update(IOUtils.toByteArray(is));
}
- return Base64.encodeBase64String(md.digest());
+ return Base64.getEncoder().encodeToString(md.digest());
}
}
Modified:
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hslf/extractor/TestExtractor.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hslf/extractor/TestExtractor.java?rev=1894810&r1=1894809&r2=1894810&view=diff
==============================================================================
---
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hslf/extractor/TestExtractor.java
(original)
+++
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hslf/extractor/TestExtractor.java
Sun Nov 7 14:59:40 2021
@@ -29,11 +29,12 @@ import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.security.MessageDigest;
+import java.util.Base64;
import java.util.BitSet;
import java.util.List;
import com.zaxxer.sparsebits.SparseBitSet;
-import org.apache.commons.codec.binary.Base64;
+
import org.apache.poi.POIDataSamples;
import org.apache.poi.hslf.usermodel.HSLFObjectShape;
import org.apache.poi.hslf.usermodel.HSLFSlideShow;
@@ -241,7 +242,7 @@ public final class TestExtractor {
sha2.update(IOUtils.toByteArray(is));
}
String exp = "lIRRfGMin6B4++WR4XvA82usdQ3ijeHBHU85j523sKY=";
- String act = Base64.encodeBase64String(sha2.digest());
+ String act = Base64.getEncoder().encodeToString(sha2.digest());
assertEquals(exp, act);
}
}
Modified:
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hslf/record/TestDocumentEncryption.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hslf/record/TestDocumentEncryption.java?rev=1894810&r1=1894809&r2=1894810&view=diff
==============================================================================
---
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hslf/record/TestDocumentEncryption.java
(original)
+++
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hslf/record/TestDocumentEncryption.java
Sun Nov 7 14:59:40 2021
@@ -25,9 +25,9 @@ import static org.junit.jupiter.api.Asse
import java.io.InputStream;
import java.security.MessageDigest;
+import java.util.Base64;
import java.util.List;
-import org.apache.commons.codec.binary.Base64;
import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
import org.apache.poi.POIDataSamples;
import org.apache.poi.hpsf.DocumentSummaryInformation;
@@ -167,7 +167,7 @@ public class TestDocumentEncryption {
for (HSLFPictureData p : pd) {
byte[] hash = md.digest(p.getData());
assertEquals(Integer.parseInt(picCmp[i][0]), p.getOffset());
- assertEquals(picCmp[i][1], Base64.encodeBase64String(hash));
+ assertEquals(picCmp[i][1],
Base64.getEncoder().encodeToString(hash));
i++;
}
Modified:
poi/trunk/poi/src/main/java/org/apache/poi/poifs/crypt/agile/EncryptionDocument.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/poifs/crypt/agile/EncryptionDocument.java?rev=1894810&r1=1894809&r2=1894810&view=diff
==============================================================================
---
poi/trunk/poi/src/main/java/org/apache/poi/poifs/crypt/agile/EncryptionDocument.java
(original)
+++
poi/trunk/poi/src/main/java/org/apache/poi/poifs/crypt/agile/EncryptionDocument.java
Sun Nov 7 14:59:40 2021
@@ -18,11 +18,11 @@
package org.apache.poi.poifs.crypt.agile;
import java.util.ArrayList;
+import java.util.Base64;
import java.util.List;
import javax.xml.XMLConstants;
-import org.apache.commons.codec.binary.Base64;
import org.apache.poi.EncryptedDocumentException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -129,7 +129,7 @@ public class EncryptionDocument {
static byte[] getBinAttr(Element el, String name) {
String at = el.getAttribute(name);
- return (at.isEmpty()) ? null : Base64.decodeBase64(at);
+ return (at.isEmpty()) ? null : Base64.getDecoder().decode(at);
}
static void setIntAttr(Element el, String name, Integer val) {
@@ -144,7 +144,7 @@ public class EncryptionDocument {
static void setBinAttr(Element el, String name, byte[] val) {
if (val != null) {
- setAttr(el, name, Base64.encodeBase64String(val));
+ setAttr(el, name, Base64.getEncoder().encodeToString(val));
}
}
}
Modified: poi/trunk/poi/src/main/java/org/apache/poi/ss/format/CellFormat.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/ss/format/CellFormat.java?rev=1894810&r1=1894809&r2=1894810&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/ss/format/CellFormat.java
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/ss/format/CellFormat.java Sun
Nov 7 14:59:40 2021
@@ -23,13 +23,14 @@ import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.WeakHashMap;
-import java.util.logging.Level;
-import java.util.logging.Logger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.JLabel;
+import org.apache.logging.log4j.Level;
+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.CellType;
import org.apache.poi.ss.usermodel.ConditionalFormatting;
@@ -93,7 +94,7 @@ import org.apache.poi.util.LocaleUtil;
*/
public class CellFormat {
/** The logger to use in the formatting code. */
- private static final Logger LOG =
Logger.getLogger(CellFormat.class.getName());
+ private static final Logger LOG =
LogManager.getLogger(CellFormat.class);
private static final Pattern ONE_PART = Pattern.compile(
CellFormatPart.FORMAT_PAT.pattern() + "(;|$)",
@@ -191,7 +192,7 @@ public class CellFormat {
parts.add(new CellFormatPart(locale, valueDesc));
} catch (RuntimeException e) {
- LOG.log(Level.WARNING, "Invalid format: " +
CellFormatter.quote(m.group()), e);
+ LOG.log(Level.WARN, "Invalid format: " +
CellFormatter.quote(m.group()), e);
parts.add(null);
}
}
Modified:
poi/trunk/poi/src/main/java/org/apache/poi/ss/format/CellFormatPart.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/ss/format/CellFormatPart.java?rev=1894810&r1=1894809&r2=1894810&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/ss/format/CellFormatPart.java
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/ss/format/CellFormatPart.java
Sun Nov 7 14:59:40 2021
@@ -50,9 +50,8 @@ public class CellFormatPart {
static final Map<String, Color> NAMED_COLORS;
-
private final Color color;
- private CellFormatCondition condition;
+ private final CellFormatCondition condition;
private final CellFormatter format;
private final CellFormatType type;
@@ -410,17 +409,17 @@ public class CellFormatPart {
while (codePoints.hasNext()) {
String ch = codePoints.next();
if ("\'".equals(ch) && type.isSpecial('\'')) {
- sb.append('\u0000');
- continue;
- }
-
- boolean special = type.isSpecial(ch.charAt(0));
- if (special)
- sb.append("\'");
- sb.append(ch);
- if (special)
- sb.append("\'");
- }
+ sb.append('\u0000');
+ continue;
+ }
+
+ boolean special = type.isSpecial(ch.charAt(0));
+ if (special)
+ sb.append("'");
+ sb.append(ch);
+ if (special)
+ sb.append("'");
+ }
return sb.toString();
}
Modified: poi/trunk/src/resources/devtools/forbidden-signatures.txt
URL:
http://svn.apache.org/viewvc/poi/trunk/src/resources/devtools/forbidden-signatures.txt?rev=1894810&r1=1894809&r2=1894810&view=diff
==============================================================================
--- poi/trunk/src/resources/devtools/forbidden-signatures.txt (original)
+++ poi/trunk/src/resources/devtools/forbidden-signatures.txt Sun Nov 7
14:59:40 2021
@@ -141,5 +141,34 @@ javax.xml.bind.DatatypeConverter
@defaultMessage don't rely on the threads ContextClassLoader - provide the
classloader via load(Class, Classloader)
java.util.ServiceLoader#load(java.lang.Class)
-@defaultMessage use java.nio.charset.StandardCharsets instead
-org.apache.commons.codec.Charsets
\ No newline at end of file
+@defaultMessage Use Log4J classes instead
+java.util.logging.**
+
+# taken from
https://github.com/apache/solr/blob/main/gradle/validation/forbidden-apis/com.google.guava.guava.all.txt
+@defaultMessage Use corresponding Java 8 functional/streaming interfaces
+com.google.common.base.Function
+com.google.common.base.Joiner
+com.google.common.base.Predicate
+com.google.common.base.Supplier
+
+@defaultMessage Use java.nio.charset.StandardCharsets instead
+com.google.common.base.Charsets
+
+@defaultMessage Use methods in java.util.Objects instead
+com.google.common.base.Objects#equal(java.lang.Object,java.lang.Object)
+com.google.common.base.Objects#hashCode(java.lang.Object[])
+com.google.common.base.Preconditions#checkNotNull(java.lang.Object)
+com.google.common.base.Preconditions#checkNotNull(java.lang.Object,java.lang.Object)
+
+@defaultMessage Use methods in java.util.Comparator instead
+com.google.common.collect.Ordering
+
+
+# taken from
https://github.com/apache/solr/blob/main/gradle/validation/forbidden-apis/commons-codec.commons-codec.all.txt
+@defaultMessage Use java.nio.charset.StandardCharsets instead
+org.apache.commons.codec.Charsets
+
+@defaultMessage Use java.util.Base64 instead
+org.apache.commons.codec.binary.Base64
+
+
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]