You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2023/10/18 12:27:51 UTC
[commons-io] branch master updated (c9dfe728 -> 50e2d770)
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/commons-io.git
from c9dfe728 The declared exceptions are not actually thrown by test methods
new 7dd7e4bc Fix constant name
new 50e2d770 Add MessageDigestInputStream and deprecate MessageDigestCalculatingInputStream
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
pom.xml | 6 ++
src/changes/changes.xml | 3 +
.../input/MessageDigestCalculatingInputStream.java | 21 ++++-
...utStream.java => MessageDigestInputStream.java} | 103 +++++++--------------
.../commons/io/input/ObservableInputStream.java | 2 +-
.../apache/commons/io/DemuxInputStreamTest.java | 6 +-
.../MessageDigestCalculatingInputStreamTest.java | 47 +++++++---
...Test.java => MessageDigestInputStreamTest.java} | 30 +++---
.../io/input/ObservableInputStreamTest.java | 11 +--
.../commons/io/input/TimestampedObserverTest.java | 4 +-
10 files changed, 115 insertions(+), 118 deletions(-)
copy src/main/java/org/apache/commons/io/input/{MessageDigestCalculatingInputStream.java => MessageDigestInputStream.java} (61%)
copy src/test/java/org/apache/commons/io/input/{MessageDigestCalculatingInputStreamTest.java => MessageDigestInputStreamTest.java} (60%)
[commons-io] 02/02: Add MessageDigestInputStream and deprecate MessageDigestCalculatingInputStream
Posted by gg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-io.git
commit 50e2d770f98cbcb709dcb2a981cac53ea70b4f45
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Wed Oct 18 08:27:46 2023 -0400
Add MessageDigestInputStream and deprecate
MessageDigestCalculatingInputStream
---
pom.xml | 6 ++
src/changes/changes.xml | 3 +
.../input/MessageDigestCalculatingInputStream.java | 21 ++++-
...utStream.java => MessageDigestInputStream.java} | 103 +++++++--------------
.../commons/io/input/ObservableInputStream.java | 2 +-
.../MessageDigestCalculatingInputStreamTest.java | 47 +++++++---
...Test.java => MessageDigestInputStreamTest.java} | 30 +++---
.../io/input/ObservableInputStreamTest.java | 11 +--
.../commons/io/input/TimestampedObserverTest.java | 4 +-
9 files changed, 112 insertions(+), 115 deletions(-)
diff --git a/pom.xml b/pom.xml
index 592367ff..ac5ee3d7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -288,6 +288,12 @@ file comparators, endian transformation classes, and much more.
<version>3.13.0</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>commons-codec</groupId>
+ <artifactId>commons-codec</artifactId>
+ <version>1.16.0</version>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-core</artifactId>
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 109061de..ff6a6c48 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -121,6 +121,9 @@ The <action> type attribute can be add,update,fix,remove.
<action dev="ggregory" type="add" due-to="Gary Gregory">
Add org.apache.commons.io.StreamIterator.
</action>
+ <action dev="ggregory" type="add" due-to="Gary Gregory">
+ Add MessageDigestInputStream and deprecate MessageDigestCalculatingInputStream.
+ </action>
<!-- UPDATE -->
<action dev="ggregory" type="update" due-to="Gary Gregory">
Bump org.apache.commons:commons-parent from 62 to 64.
diff --git a/src/main/java/org/apache/commons/io/input/MessageDigestCalculatingInputStream.java b/src/main/java/org/apache/commons/io/input/MessageDigestCalculatingInputStream.java
index 429b225b..97d7ff59 100644
--- a/src/main/java/org/apache/commons/io/input/MessageDigestCalculatingInputStream.java
+++ b/src/main/java/org/apache/commons/io/input/MessageDigestCalculatingInputStream.java
@@ -27,7 +27,7 @@ import org.apache.commons.io.build.AbstractStreamBuilder;
/**
* This class is an example for using an {@link ObservableInputStream}. It creates its own {@link org.apache.commons.io.input.ObservableInputStream.Observer},
- * which calculates a checksum using a MessageDigest, for example an MD5 sum.
+ * which calculates a checksum using a {@link MessageDigest}, for example, a SHA-512 sum.
* <p>
* To build an instance, see {@link Builder}.
* </p>
@@ -36,12 +36,11 @@ import org.apache.commons.io.build.AbstractStreamBuilder;
* Cryptography Architecture Standard Algorithm Name Documentation</a> for information about standard algorithm names.
* </p>
* <p>
- * <em>Note</em>: Neither {@link ObservableInputStream}, nor {@link MessageDigest}, are thread safe. So is {@link MessageDigestCalculatingInputStream}.
- * </p>
- * <p>
- * TODO Rename to MessageDigestInputStream in 3.0.
+ * <em>Note</em>: Neither {@link ObservableInputStream}, nor {@link MessageDigest}, are thread safe, so is {@link MessageDigestCalculatingInputStream}.
* </p>
+ * @deprecated Use {@link MessageDigestInputStream}.
*/
+@Deprecated
public class MessageDigestCalculatingInputStream extends ObservableInputStream {
/**
@@ -96,6 +95,9 @@ public class MessageDigestCalculatingInputStream extends ObservableInputStream {
/**
* Sets the message digest.
+ * <p>
+ * The MD5 cryptographic algorithm is weak and should not be used.
+ * </p>
*
* @param messageDigest the message digest.
*/
@@ -105,6 +107,9 @@ public class MessageDigestCalculatingInputStream extends ObservableInputStream {
/**
* Sets the name of the name of the message digest algorithm.
+ * <p>
+ * The MD5 cryptographic algorithm is weak and should not be used.
+ * </p>
*
* @param algorithm the name of the algorithm. See the MessageDigest section in the
* <a href= "https://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#MessageDigest"> Java Cryptography
@@ -192,6 +197,9 @@ public class MessageDigestCalculatingInputStream extends ObservableInputStream {
/**
* Constructs a new instance, which calculates a signature on the given stream, using the given {@link MessageDigest}.
+ * <p>
+ * The MD5 cryptographic algorithm is weak and should not be used.
+ * </p>
*
* @param inputStream the stream to calculate the message digest for
* @param messageDigest the message digest to use
@@ -206,6 +214,9 @@ public class MessageDigestCalculatingInputStream extends ObservableInputStream {
/**
* Constructs a new instance, which calculates a signature on the given stream, using a {@link MessageDigest} with the given algorithm.
+ * <p>
+ * The MD5 cryptographic algorithm is weak and should not be used.
+ * </p>
*
* @param inputStream the stream to calculate the message digest for
* @param algorithm the name of the algorithm requested. See the MessageDigest section in the
diff --git a/src/main/java/org/apache/commons/io/input/MessageDigestCalculatingInputStream.java b/src/main/java/org/apache/commons/io/input/MessageDigestInputStream.java
similarity index 61%
copy from src/main/java/org/apache/commons/io/input/MessageDigestCalculatingInputStream.java
copy to src/main/java/org/apache/commons/io/input/MessageDigestInputStream.java
index 429b225b..d822256b 100644
--- a/src/main/java/org/apache/commons/io/input/MessageDigestCalculatingInputStream.java
+++ b/src/main/java/org/apache/commons/io/input/MessageDigestInputStream.java
@@ -20,14 +20,13 @@ import java.io.IOException;
import java.io.InputStream;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
-import java.security.Provider;
import java.util.Objects;
import org.apache.commons.io.build.AbstractStreamBuilder;
/**
* This class is an example for using an {@link ObservableInputStream}. It creates its own {@link org.apache.commons.io.input.ObservableInputStream.Observer},
- * which calculates a checksum using a MessageDigest, for example an MD5 sum.
+ * which calculates a checksum using a {@link MessageDigest}, for example, a SHA-512 sum.
* <p>
* To build an instance, see {@link Builder}.
* </p>
@@ -36,29 +35,32 @@ import org.apache.commons.io.build.AbstractStreamBuilder;
* Cryptography Architecture Standard Algorithm Name Documentation</a> for information about standard algorithm names.
* </p>
* <p>
- * <em>Note</em>: Neither {@link ObservableInputStream}, nor {@link MessageDigest}, are thread safe. So is {@link MessageDigestCalculatingInputStream}.
+ * You must specify a message digest algorithm name or instance.
* </p>
* <p>
- * TODO Rename to MessageDigestInputStream in 3.0.
+ * <em>Note</em>: Neither {@link ObservableInputStream}, nor {@link MessageDigest}, are thread safe, so is {@link MessageDigestInputStream}.
* </p>
+ *
+ * @since 2.15.0
*/
-public class MessageDigestCalculatingInputStream extends ObservableInputStream {
+public final class MessageDigestInputStream extends ObservableInputStream {
/**
- * Builds a new {@link MessageDigestCalculatingInputStream} instance.
+ * Builds new {@link MessageDigestInputStream} instances.
* <p>
* For example:
* </p>
* <pre>{@code
- * MessageDigestCalculatingInputStream s = MessageDigestCalculatingInputStream.builder()
+ * MessageDigestInputStream s = MessageDigestInputStream.builder()
* .setPath(path)
* .setMessageDigest("SHA-512")
* .get();}
* </pre>
- *
- * @since 2.12.0
+ * <p>
+ * You must specify a message digest algorithm name or instance.
+ * </p>
*/
- public static class Builder extends AbstractStreamBuilder<MessageDigestCalculatingInputStream, Builder> {
+ public static class Builder extends AbstractStreamBuilder<MessageDigestInputStream, Builder> {
private MessageDigest messageDigest;
@@ -66,12 +68,7 @@ public class MessageDigestCalculatingInputStream extends ObservableInputStream {
* Constructs a new Builder.
*/
public Builder() {
- try {
- this.messageDigest = getDefaultMessageDigest();
- } catch (final NoSuchAlgorithmException e) {
- // Should not happen.
- throw new IllegalStateException(e);
- }
+ // empty
}
/**
@@ -90,29 +87,39 @@ public class MessageDigestCalculatingInputStream extends ObservableInputStream {
*/
@SuppressWarnings("resource")
@Override
- public MessageDigestCalculatingInputStream get() throws IOException {
- return new MessageDigestCalculatingInputStream(getInputStream(), messageDigest);
+ public MessageDigestInputStream get() throws IOException {
+ return new MessageDigestInputStream(getInputStream(), messageDigest);
}
/**
* Sets the message digest.
+ * <p>
+ * The MD5 cryptographic algorithm is weak and should not be used.
+ * </p>
*
* @param messageDigest the message digest.
+ * @return this
*/
- public void setMessageDigest(final MessageDigest messageDigest) {
+ public Builder setMessageDigest(final MessageDigest messageDigest) {
this.messageDigest = messageDigest;
+ return this;
}
/**
* Sets the name of the name of the message digest algorithm.
+ * <p>
+ * The MD5 cryptographic algorithm is weak and should not be used.
+ * </p>
*
* @param algorithm the name of the algorithm. See the MessageDigest section in the
* <a href= "https://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#MessageDigest"> Java Cryptography
* Architecture Standard Algorithm Name Documentation</a> for information about standard algorithm names.
+ * @return this
* @throws NoSuchAlgorithmException if no Provider supports a MessageDigestSpi implementation for the specified algorithm.
*/
- public void setMessageDigest(final String algorithm) throws NoSuchAlgorithmException {
+ public Builder setMessageDigest(final String algorithm) throws NoSuchAlgorithmException {
this.messageDigest = MessageDigest.getInstance(algorithm);
+ return this;
}
}
@@ -121,6 +128,7 @@ public class MessageDigestCalculatingInputStream extends ObservableInputStream {
* Maintains the message digest.
*/
public static class MessageDigestMaintainingObserver extends Observer {
+
private final MessageDigest messageDigest;
/**
@@ -144,81 +152,32 @@ public class MessageDigestCalculatingInputStream extends ObservableInputStream {
}
}
- /**
- * The default message digest algorithm.
- * <p>
- * The MD5 cryptographic algorithm is weak and should not be used.
- * </p>
- */
- private static final String DEFAULT_ALGORITHM = "MD5";
-
/**
* Constructs a new {@link Builder}.
*
* @return a new {@link Builder}.
- * @since 2.12.0
*/
public static Builder builder() {
return new Builder();
}
- /**
- * Gets a MessageDigest object that implements the default digest algorithm.
- *
- * @return a Message Digest object that implements the default algorithm.
- * @throws NoSuchAlgorithmException if no Provider supports a MessageDigestSpi implementation.
- * @see Provider
- */
- static MessageDigest getDefaultMessageDigest() throws NoSuchAlgorithmException {
- return MessageDigest.getInstance(DEFAULT_ALGORITHM);
- }
-
private final MessageDigest messageDigest;
/**
- * Constructs a new instance, which calculates a signature on the given stream, using a {@link MessageDigest} with the "MD5" algorithm.
+ * Constructs a new instance, which calculates a signature on the given stream, using the given {@link MessageDigest}.
* <p>
- * The MD5 algorithm is weak and should not be used.
+ * The MD5 cryptographic algorithm is weak and should not be used.
* </p>
*
- * @param inputStream the stream to calculate the message digest for
- * @throws NoSuchAlgorithmException if no Provider supports a MessageDigestSpi implementation for the specified algorithm.
- * @deprecated Use {@link #builder()}, {@link Builder}, and {@link Builder#get()}.
- */
- @Deprecated
- public MessageDigestCalculatingInputStream(final InputStream inputStream) throws NoSuchAlgorithmException {
- this(inputStream, getDefaultMessageDigest());
- }
-
- /**
- * Constructs a new instance, which calculates a signature on the given stream, using the given {@link MessageDigest}.
- *
* @param inputStream the stream to calculate the message digest for
* @param messageDigest the message digest to use
* @throws NullPointerException if messageDigest is null.
- * @deprecated Use {@link #builder()}, {@link Builder}, and {@link Builder#get()}.
*/
- @Deprecated
- public MessageDigestCalculatingInputStream(final InputStream inputStream, final MessageDigest messageDigest) {
+ private MessageDigestInputStream(final InputStream inputStream, final MessageDigest messageDigest) {
super(inputStream, new MessageDigestMaintainingObserver(messageDigest));
this.messageDigest = messageDigest;
}
- /**
- * Constructs a new instance, which calculates a signature on the given stream, using a {@link MessageDigest} with the given algorithm.
- *
- * @param inputStream the stream to calculate the message digest for
- * @param algorithm the name of the algorithm requested. See the MessageDigest section in the
- * <a href= "https://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#MessageDigest"> Java Cryptography
- * Architecture Standard Algorithm Name Documentation</a> for information about standard algorithm names.
- * @throws NoSuchAlgorithmException if no Provider supports a MessageDigestSpi implementation for the specified algorithm.
- * @deprecated Use {@link #builder()}, {@link Builder}, and {@link Builder#get()}.
- */
- @Deprecated
- public MessageDigestCalculatingInputStream(final InputStream inputStream, final String algorithm) throws NoSuchAlgorithmException {
- this(inputStream, MessageDigest.getInstance(algorithm));
- }
-
/**
* Gets the {@link MessageDigest}, which is being used for generating the checksum.
* <p>
diff --git a/src/main/java/org/apache/commons/io/input/ObservableInputStream.java b/src/main/java/org/apache/commons/io/input/ObservableInputStream.java
index ee080f06..a97702fb 100644
--- a/src/main/java/org/apache/commons/io/input/ObservableInputStream.java
+++ b/src/main/java/org/apache/commons/io/input/ObservableInputStream.java
@@ -39,7 +39,7 @@ import org.apache.commons.io.function.IOConsumer;
* be used.
* </p>
*
- * @see MessageDigestCalculatingInputStream
+ * @see MessageDigestInputStream
*/
public class ObservableInputStream extends ProxyInputStream {
diff --git a/src/test/java/org/apache/commons/io/input/MessageDigestCalculatingInputStreamTest.java b/src/test/java/org/apache/commons/io/input/MessageDigestCalculatingInputStreamTest.java
index 517a014e..9123c41f 100644
--- a/src/test/java/org/apache/commons/io/input/MessageDigestCalculatingInputStreamTest.java
+++ b/src/test/java/org/apache/commons/io/input/MessageDigestCalculatingInputStreamTest.java
@@ -20,40 +20,57 @@ import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import java.io.ByteArrayInputStream;
import java.security.MessageDigest;
-import java.util.Random;
+import org.apache.commons.codec.digest.DigestUtils;
+import org.apache.commons.codec.digest.MessageDigestAlgorithms;
+import org.apache.commons.io.input.MessageDigestCalculatingInputStream.Builder;
import org.junit.jupiter.api.Test;
/**
* Tests {@link MessageDigestCalculatingInputStream}.
*/
+@SuppressWarnings("deprecation")
public class MessageDigestCalculatingInputStreamTest {
- public static byte[] generateRandomByteStream(final int pSize) {
- final byte[] buffer = new byte[pSize];
- final Random rnd = new Random();
- rnd.nextBytes(buffer);
- return buffer;
- }
-
@Test
- public void test() throws Exception {
+ public void testNormalUse() throws Exception {
for (int i = 256; i < 8192; i = i * 2) {
- final byte[] buffer = generateRandomByteStream(i);
- final MessageDigest messageDigest = MessageDigestCalculatingInputStream.getDefaultMessageDigest();
- final byte[] expect = messageDigest.digest(buffer);
+ final byte[] buffer = MessageDigestInputStreamTest.generateRandomByteStream(i);
+ final MessageDigest defaultMessageDigest = MessageDigestCalculatingInputStream.getDefaultMessageDigest();
+ final byte[] defaultExpect = defaultMessageDigest.digest(buffer);
+ // Defaults
try (MessageDigestCalculatingInputStream messageDigestInputStream = new MessageDigestCalculatingInputStream(new ByteArrayInputStream(buffer))) {
messageDigestInputStream.consume();
- assertArrayEquals(expect, messageDigestInputStream.getMessageDigest().digest());
+ assertArrayEquals(defaultExpect, messageDigestInputStream.getMessageDigest().digest());
}
try (MessageDigestCalculatingInputStream messageDigestInputStream = MessageDigestCalculatingInputStream.builder()
.setInputStream(new ByteArrayInputStream(buffer)).get()) {
messageDigestInputStream.consume();
- assertArrayEquals(expect, messageDigestInputStream.getMessageDigest().digest());
+ assertArrayEquals(defaultExpect, messageDigestInputStream.getMessageDigest().digest());
}
try (MessageDigestCalculatingInputStream messageDigestInputStream = MessageDigestCalculatingInputStream.builder().setByteArray(buffer).get()) {
messageDigestInputStream.consume();
- assertArrayEquals(expect, messageDigestInputStream.getMessageDigest().digest());
+ assertArrayEquals(defaultExpect, messageDigestInputStream.getMessageDigest().digest());
+ }
+ // SHA-512
+ final byte[] sha512Expect = DigestUtils.sha512(buffer);
+ {
+ final Builder builder = MessageDigestCalculatingInputStream.builder();
+ builder.setMessageDigest(MessageDigestAlgorithms.SHA_512);
+ builder.setInputStream(new ByteArrayInputStream(buffer));
+ try (MessageDigestCalculatingInputStream messageDigestInputStream = builder.get()) {
+ messageDigestInputStream.consume();
+ assertArrayEquals(sha512Expect, messageDigestInputStream.getMessageDigest().digest());
+ }
+ }
+ {
+ final Builder builder = MessageDigestCalculatingInputStream.builder();
+ builder.setMessageDigest(MessageDigestAlgorithms.SHA_512);
+ builder.setInputStream(new ByteArrayInputStream(buffer));
+ try (MessageDigestCalculatingInputStream messageDigestInputStream = builder.get()) {
+ messageDigestInputStream.consume();
+ assertArrayEquals(sha512Expect, messageDigestInputStream.getMessageDigest().digest());
+ }
}
}
}
diff --git a/src/test/java/org/apache/commons/io/input/MessageDigestCalculatingInputStreamTest.java b/src/test/java/org/apache/commons/io/input/MessageDigestInputStreamTest.java
similarity index 60%
copy from src/test/java/org/apache/commons/io/input/MessageDigestCalculatingInputStreamTest.java
copy to src/test/java/org/apache/commons/io/input/MessageDigestInputStreamTest.java
index 517a014e..d41da0b7 100644
--- a/src/test/java/org/apache/commons/io/input/MessageDigestCalculatingInputStreamTest.java
+++ b/src/test/java/org/apache/commons/io/input/MessageDigestInputStreamTest.java
@@ -17,19 +17,21 @@
package org.apache.commons.io.input;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
import java.io.ByteArrayInputStream;
-import java.security.MessageDigest;
import java.util.Random;
+import org.apache.commons.codec.digest.DigestUtils;
+import org.apache.commons.codec.digest.MessageDigestAlgorithms;
import org.junit.jupiter.api.Test;
/**
- * Tests {@link MessageDigestCalculatingInputStream}.
+ * Tests {@link MessageDigestInputStream}.
*/
-public class MessageDigestCalculatingInputStreamTest {
+public class MessageDigestInputStreamTest {
- public static byte[] generateRandomByteStream(final int pSize) {
+ static byte[] generateRandomByteStream(final int pSize) {
final byte[] buffer = new byte[pSize];
final Random rnd = new Random();
rnd.nextBytes(buffer);
@@ -37,21 +39,23 @@ public class MessageDigestCalculatingInputStreamTest {
}
@Test
- public void test() throws Exception {
+ public void testNoDefault() throws Exception {
+ assertThrows(IllegalStateException.class, () -> MessageDigestInputStream.builder().get());
+ assertThrows(NullPointerException.class, () -> MessageDigestInputStream.builder().setInputStream(new ByteArrayInputStream(new byte[] { 1 })).get());
+ }
+
+ @Test
+ public void testNormalUse() throws Exception {
for (int i = 256; i < 8192; i = i * 2) {
final byte[] buffer = generateRandomByteStream(i);
- final MessageDigest messageDigest = MessageDigestCalculatingInputStream.getDefaultMessageDigest();
- final byte[] expect = messageDigest.digest(buffer);
- try (MessageDigestCalculatingInputStream messageDigestInputStream = new MessageDigestCalculatingInputStream(new ByteArrayInputStream(buffer))) {
- messageDigestInputStream.consume();
- assertArrayEquals(expect, messageDigestInputStream.getMessageDigest().digest());
- }
- try (MessageDigestCalculatingInputStream messageDigestInputStream = MessageDigestCalculatingInputStream.builder()
+ final byte[] expect = DigestUtils.sha512(buffer);
+ try (MessageDigestInputStream messageDigestInputStream = MessageDigestInputStream.builder().setMessageDigest(MessageDigestAlgorithms.SHA_512)
.setInputStream(new ByteArrayInputStream(buffer)).get()) {
messageDigestInputStream.consume();
assertArrayEquals(expect, messageDigestInputStream.getMessageDigest().digest());
}
- try (MessageDigestCalculatingInputStream messageDigestInputStream = MessageDigestCalculatingInputStream.builder().setByteArray(buffer).get()) {
+ try (MessageDigestInputStream messageDigestInputStream = MessageDigestInputStream.builder().setByteArray(buffer)
+ .setMessageDigest(DigestUtils.getSha512Digest()).get()) {
messageDigestInputStream.consume();
assertArrayEquals(expect, messageDigestInputStream.getMessageDigest().digest());
}
diff --git a/src/test/java/org/apache/commons/io/input/ObservableInputStreamTest.java b/src/test/java/org/apache/commons/io/input/ObservableInputStreamTest.java
index 4c9b193b..8c099ade 100644
--- a/src/test/java/org/apache/commons/io/input/ObservableInputStreamTest.java
+++ b/src/test/java/org/apache/commons/io/input/ObservableInputStreamTest.java
@@ -153,8 +153,7 @@ public class ObservableInputStreamTest {
*/
@Test
public void testDataByteCalled_add() throws Exception {
- final byte[] buffer = MessageDigestCalculatingInputStreamTest
- .generateRandomByteStream(IOUtils.DEFAULT_BUFFER_SIZE);
+ final byte[] buffer = MessageDigestInputStreamTest.generateRandomByteStream(IOUtils.DEFAULT_BUFFER_SIZE);
final DataViewObserver lko = new DataViewObserver();
try (ObservableInputStream ois = new ObservableInputStream(new ByteArrayInputStream(buffer))) {
assertEquals(-1, lko.lastValue);
@@ -185,8 +184,7 @@ public class ObservableInputStreamTest {
*/
@Test
public void testDataByteCalled_ctor() throws Exception {
- final byte[] buffer = MessageDigestCalculatingInputStreamTest
- .generateRandomByteStream(IOUtils.DEFAULT_BUFFER_SIZE);
+ final byte[] buffer = MessageDigestInputStreamTest.generateRandomByteStream(IOUtils.DEFAULT_BUFFER_SIZE);
final DataViewObserver lko = new DataViewObserver();
try (ObservableInputStream ois = new ObservableInputStream(new ByteArrayInputStream(buffer), lko)) {
assertEquals(-1, lko.lastValue);
@@ -216,10 +214,9 @@ public class ObservableInputStreamTest {
*/
@Test
public void testDataBytesCalled() throws Exception {
- final byte[] buffer = MessageDigestCalculatingInputStreamTest
- .generateRandomByteStream(IOUtils.DEFAULT_BUFFER_SIZE);
+ final byte[] buffer = MessageDigestInputStreamTest.generateRandomByteStream(IOUtils.DEFAULT_BUFFER_SIZE);
try (ByteArrayInputStream bais = new ByteArrayInputStream(buffer);
- final ObservableInputStream ois = new ObservableInputStream(bais)) {
+ final ObservableInputStream ois = new ObservableInputStream(bais)) {
final DataViewObserver observer = new DataViewObserver();
final byte[] readBuffer = new byte[23];
assertNull(observer.buffer);
diff --git a/src/test/java/org/apache/commons/io/input/TimestampedObserverTest.java b/src/test/java/org/apache/commons/io/input/TimestampedObserverTest.java
index 54922005..ea37b381 100644
--- a/src/test/java/org/apache/commons/io/input/TimestampedObserverTest.java
+++ b/src/test/java/org/apache/commons/io/input/TimestampedObserverTest.java
@@ -51,7 +51,7 @@ public class TimestampedObserverTest {
assertTrue(timestampedObserver.getOpenToNowDuration().toNanos() > 0);
assertNull(timestampedObserver.getCloseInstant());
assertFalse(timestampedObserver.isClosed());
- final byte[] buffer = MessageDigestCalculatingInputStreamTest.generateRandomByteStream(IOUtils.DEFAULT_BUFFER_SIZE);
+ final byte[] buffer = MessageDigestInputStreamTest.generateRandomByteStream(IOUtils.DEFAULT_BUFFER_SIZE);
try (ObservableInputStream ois = new ObservableInputStream(new ByteArrayInputStream(buffer), timestampedObserver)) {
assertTrue(timestampedObserver.getOpenInstant().isAfter(before));
assertTrue(timestampedObserver.getOpenToNowDuration().toNanos() > 0);
@@ -68,7 +68,7 @@ public class TimestampedObserverTest {
@Test
public void testExample() throws IOException {
final TimestampedObserver timestampedObserver = new TimestampedObserver();
- final byte[] buffer = MessageDigestCalculatingInputStreamTest
+ final byte[] buffer = MessageDigestInputStreamTest
.generateRandomByteStream(IOUtils.DEFAULT_BUFFER_SIZE);
try (ObservableInputStream ois = new ObservableInputStream(new ByteArrayInputStream(buffer),
timestampedObserver)) {
[commons-io] 01/02: Fix constant name
Posted by gg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-io.git
commit 7dd7e4bc469e4dac5c0cc869b52ab1bdfd494ae9
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Wed Oct 18 08:02:43 2023 -0400
Fix constant name
---
src/test/java/org/apache/commons/io/DemuxInputStreamTest.java | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/test/java/org/apache/commons/io/DemuxInputStreamTest.java b/src/test/java/org/apache/commons/io/DemuxInputStreamTest.java
index 73466c21..6b1a63b2 100644
--- a/src/test/java/org/apache/commons/io/DemuxInputStreamTest.java
+++ b/src/test/java/org/apache/commons/io/DemuxInputStreamTest.java
@@ -62,7 +62,7 @@ public class DemuxInputStreamTest {
// System.out.println( "Reading: " + (char)ch );
stringBuffer.append((char) ch);
- final int sleepMillis = Math.abs(c_random.nextInt() % 10);
+ final int sleepMillis = Math.abs(RANDOM.nextInt() % 10);
TestUtils.sleep(sleepMillis);
ch = demuxInputStream.read();
}
@@ -91,7 +91,7 @@ public class DemuxInputStreamTest {
try {
// System.out.println( "Writing: " + (char)byteArray[ i ] );
demuxOutputStream.write(element);
- final int sleepMillis = Math.abs(c_random.nextInt() % 10);
+ final int sleepMillis = Math.abs(RANDOM.nextInt() % 10);
TestUtils.sleep(sleepMillis);
} catch (final Exception e) {
e.printStackTrace();
@@ -100,7 +100,7 @@ public class DemuxInputStreamTest {
}
}
- private static final Random c_random = new Random();
+ private static final Random RANDOM = new Random();
private static final String DATA1 = "Data for thread1";
private static final String DATA2 = "Data for thread2";