You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by gg...@apache.org on 2023/06/23 17:50:59 UTC

[juneau] 02/11: [juneau-rest-common] Throw a specialized RuntimeException instead of RuntimeException

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/juneau.git

commit afab8ae4dc9c2302dd1f359e7572c605f3b076d8
Author: Gary Gregory <gg...@rocketsoftware.com>
AuthorDate: Fri Jun 23 12:47:26 2023 -0400

    [juneau-rest-common] Throw a specialized RuntimeException instead of
    RuntimeException
---
 .../apache/juneau/http/entity/BasicHttpEntity.java | 35 ++++++++++++++--------
 .../org/apache/juneau/http/entity/FileEntity.java  |  8 ++---
 .../apache/juneau/http/entity/ReaderEntity.java    |  9 +++---
 .../apache/juneau/http/entity/StreamEntity.java    |  9 +++---
 .../org/apache/juneau/http/header/HeaderList.java  |  4 +--
 .../java/org/apache/juneau/http/part/PartList.java |  4 +--
 6 files changed, 38 insertions(+), 31 deletions(-)

diff --git a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/entity/BasicHttpEntity.java b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/entity/BasicHttpEntity.java
index cdfb42899..3baf45504 100644
--- a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/entity/BasicHttpEntity.java
+++ b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/entity/BasicHttpEntity.java
@@ -12,18 +12,27 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.http.entity;
 
-import static org.apache.juneau.common.internal.IOUtils.*;
-
-import java.io.*;
-import java.nio.charset.*;
-import java.util.function.*;
-
-import org.apache.http.*;
-import org.apache.juneau.annotation.*;
-import org.apache.juneau.assertions.*;
-import org.apache.juneau.common.internal.*;
-import org.apache.juneau.http.header.*;
-import org.apache.juneau.internal.*;
+import static org.apache.juneau.common.internal.IOUtils.UTF8;
+import static org.apache.juneau.common.internal.IOUtils.read;
+import static org.apache.juneau.common.internal.IOUtils.readBytes;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UncheckedIOException;
+import java.nio.charset.Charset;
+import java.util.function.Supplier;
+
+import org.apache.http.Header;
+import org.apache.http.HttpEntity;
+import org.apache.juneau.annotation.BeanIgnore;
+import org.apache.juneau.assertions.FluentByteArrayAssertion;
+import org.apache.juneau.assertions.FluentStringAssertion;
+import org.apache.juneau.common.internal.IOUtils;
+import org.apache.juneau.http.header.ContentEncoding;
+import org.apache.juneau.http.header.ContentType;
+import org.apache.juneau.internal.FluentSetter;
+import org.apache.juneau.internal.FluentSetters;
 
 /**
  * A basic {@link org.apache.http.HttpEntity} implementation with additional features.
@@ -384,7 +393,7 @@ public class BasicHttpEntity implements HttpEntity {
 		try {
 			return asBytes();
 		} catch (IOException e) {
-			throw new RuntimeException(e);
+			throw new UncheckedIOException(e);
 		}
 	}
 
diff --git a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/entity/FileEntity.java b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/entity/FileEntity.java
index db6a3501e..131b118dd 100644
--- a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/entity/FileEntity.java
+++ b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/entity/FileEntity.java
@@ -17,6 +17,7 @@ import static org.apache.juneau.common.internal.IOUtils.*;
 
 import java.io.*;
 import java.nio.charset.*;
+import java.util.Objects;
 import java.util.function.*;
 
 import org.apache.juneau.common.internal.*;
@@ -77,12 +78,11 @@ public class FileEntity extends BasicHttpEntity {
 
 	private File content() {
 		File f = contentOrElse((File)null);
-		if (f == null)
-			throw new RuntimeException("File is null.");
+		Objects.requireNonNull(f, "File");
 		if (! f.exists())
-			throw new RuntimeException("File "+f.getAbsolutePath()+" does not exist.");
+			throw new IllegalStateException("File " + f.getAbsolutePath() + " does not exist.");
 		if (! f.canRead())
-			throw new RuntimeException("File "+f.getAbsolutePath()+" is not readable.");
+			throw new IllegalStateException("File " + f.getAbsolutePath() + " is not readable.");
 		return f;
 	}
 
diff --git a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/entity/ReaderEntity.java b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/entity/ReaderEntity.java
index 450545f3a..d052375de 100644
--- a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/entity/ReaderEntity.java
+++ b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/entity/ReaderEntity.java
@@ -17,6 +17,7 @@ import static org.apache.juneau.common.internal.IOUtils.*;
 
 import java.io.*;
 import java.nio.charset.*;
+import java.util.Objects;
 import java.util.function.*;
 
 import org.apache.juneau.http.header.*;
@@ -74,11 +75,9 @@ public class ReaderEntity extends BasicHttpEntity {
 	// Other methods
 	//-----------------------------------------------------------------------------------------------------------------
 
-	private Reader content() {
-		Reader r = contentOrElse((Reader)null);
-		if (r == null)
-			throw new RuntimeException("Reader is null.");
-		return r;
+	@SuppressWarnings("resource") // Caller closes
+    private Reader content() {
+		return Objects.requireNonNull(contentOrElse((Reader) null), "Reader is null.");
 	}
 
 	@Override /* AbstractHttpEntity */
diff --git a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/entity/StreamEntity.java b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/entity/StreamEntity.java
index 1fd4f3021..612b11d32 100644
--- a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/entity/StreamEntity.java
+++ b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/entity/StreamEntity.java
@@ -17,6 +17,7 @@ import static org.apache.juneau.common.internal.IOUtils.*;
 
 import java.io.*;
 import java.nio.charset.*;
+import java.util.Objects;
 import java.util.function.*;
 
 import org.apache.juneau.http.header.*;
@@ -74,11 +75,9 @@ public class StreamEntity extends BasicHttpEntity {
 	// Other methods
 	//-----------------------------------------------------------------------------------------------------------------
 
-	private InputStream content() {
-		InputStream is = contentOrElse((InputStream)null);
-		if (is == null)
-			throw new RuntimeException("Input stream is null.");
-		return is;
+	@SuppressWarnings("resource") // Caller closes
+    private InputStream content() {
+		return Objects.requireNonNull(contentOrElse((InputStream) null), "Input stream is null.");
 	}
 
 	@Override /* AbstractHttpEntity */
diff --git a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/HeaderList.java b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/HeaderList.java
index 88cfdf90f..2ddeff8ae 100644
--- a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/HeaderList.java
+++ b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/HeaderList.java
@@ -120,12 +120,12 @@ public class HeaderList extends ControlledArrayList<Header> {
 	 * @throws RuntimeException If odd number of parameters were specified.
 	 * @return A new instance.
 	 */
-	public static HeaderList ofPairs(String...pairs) {
+	public static HeaderList ofPairs(String... pairs) {
 		HeaderList x = new HeaderList();
 		if (pairs == null)
 			pairs = new String[0];
 		if (pairs.length % 2 != 0)
-			throw new RuntimeException("Odd number of parameters passed into HeaderList.ofPairs()");
+			throw new IllegalArgumentException("Odd number of parameters passed into HeaderList.ofPairs()");
 		for (int i = 0; i < pairs.length; i+=2)
 			x.add(BasicHeader.of(pairs[i], pairs[i+1]));
 		return x;
diff --git a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/PartList.java b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/PartList.java
index cc22bb7e7..e70029714 100644
--- a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/PartList.java
+++ b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/PartList.java
@@ -106,12 +106,12 @@ public class PartList extends ControlledArrayList<NameValuePair> {
 	 * @throws RuntimeException If odd number of parameters were specified.
 	 * @return A new instance.
 	 */
-	public static PartList ofPairs(String...pairs) {
+	public static PartList ofPairs(String... pairs) {
 		PartList x = new PartList();
 		if (pairs == null)
 			pairs = new String[0];
 		if (pairs.length % 2 != 0)
-			throw new RuntimeException("Odd number of parameters passed into PartList.ofPairs()");
+			throw new IllegalArgumentException("Odd number of parameters passed into PartList.ofPairs()");
 		for (int i = 0; i < pairs.length; i+=2)
 			x.add(BasicPart.of(pairs[i], pairs[i+1]));
 		return x;