You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2022/09/04 14:05:33 UTC
[juneau] branch master updated: Simplify BasicRuntimeException
This is an automated email from the ASF dual-hosted git repository.
jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git
The following commit(s) were added to refs/heads/master by this push:
new b26d128e7 Simplify BasicRuntimeException
b26d128e7 is described below
commit b26d128e721ea504d2c7416666aaf9439774a0de
Author: JamesBognar <ja...@salesforce.com>
AuthorDate: Sun Sep 4 10:04:58 2022 -0400
Simplify BasicRuntimeException
---
.../java/org/apache/juneau/dto/openapi3/Items.java | 4 +--
.../juneau/dto/openapi3/SecuritySchemeInfo.java | 8 +++---
.../org/apache/juneau/BasicRuntimeException.java | 30 +++++++++++++++++++---
.../apache/juneau/rest/client/ResponseHeader.java | 2 +-
.../java/org/apache/juneau/cp/BeanStore_Test.java | 10 ++++----
5 files changed, 38 insertions(+), 16 deletions(-)
diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/openapi3/Items.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/openapi3/Items.java
index ecf53e24c..58bf5b717 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/openapi3/Items.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/openapi3/Items.java
@@ -260,10 +260,10 @@ public class Items extends OpenApiElement {
*/
public Items setCollectionFormat(String value) {
if (isStrict() && ! contains(value, VALID_COLLECTION_FORMATS))
- throw BasicRuntimeException.create().message(
+ throw new BasicRuntimeException(
"Invalid value passed in to setCollectionFormat(String). Value=''{0}'', valid values={1}",
value, VALID_COLLECTION_FORMATS
- ).build();
+ );
collectionFormat = value;
return this;
}
diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/openapi3/SecuritySchemeInfo.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/openapi3/SecuritySchemeInfo.java
index 47539f1f8..80447f41d 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/openapi3/SecuritySchemeInfo.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/openapi3/SecuritySchemeInfo.java
@@ -227,10 +227,10 @@ public class SecuritySchemeInfo extends OpenApiElement {
*/
public SecuritySchemeInfo setIn(String value) {
if (isStrict() && ! contains(value, VALID_IN))
- throw BasicRuntimeException.create().message(
+ throw new BasicRuntimeException(
"Invalid value passed in to setIn(String). Value=''{0}'', valid values={1}",
value, VALID_IN
- ).build();
+ );
in = value;
return this;
}
@@ -329,10 +329,10 @@ public class SecuritySchemeInfo extends OpenApiElement {
*/
public SecuritySchemeInfo setType(String value) {
if (isStrict() && ! contains(value, VALID_TYPES))
- throw BasicRuntimeException.create().message(
+ throw new BasicRuntimeException(
"Invalid value passed in to setType(String). Value=''{0}'', valid values={1}",
value, VALID_TYPES
- ).build();
+ );
type = value;
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BasicRuntimeException.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BasicRuntimeException.java
index 731fffce9..8aeb6a087 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BasicRuntimeException.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BasicRuntimeException.java
@@ -129,7 +129,8 @@ public class BasicRuntimeException extends RuntimeException {
// Instance
//-----------------------------------------------------------------------------------------------------------------
- final boolean unmodifiable;
+ boolean unmodifiable;
+ String message;
/**
* Constructor.
@@ -149,7 +150,7 @@ public class BasicRuntimeException extends RuntimeException {
* @param args Optional {@link MessageFormat}-style arguments.
*/
public BasicRuntimeException(Throwable cause, String message, Object...args) {
- this(create().causedBy(cause).message(message, args));
+ super(format(message, args), cause);
}
/**
@@ -159,7 +160,7 @@ public class BasicRuntimeException extends RuntimeException {
* @param args Optional {@link MessageFormat}-style arguments.
*/
public BasicRuntimeException(String message, Object...args) {
- this(create().message(message, args));
+ super(format(message, args));
}
/**
@@ -168,7 +169,7 @@ public class BasicRuntimeException extends RuntimeException {
* @param cause The cause of this exception.
*/
public BasicRuntimeException(Throwable cause) {
- this(create().causedBy(cause));
+ super(cause);
}
/**
@@ -182,6 +183,19 @@ public class BasicRuntimeException extends RuntimeException {
return ThrowableUtils.getCause(c, this);
}
+ /**
+ * Sets the detail message on this exception.
+ *
+ * @param message The message.
+ * @param args The message args.
+ * @return This object.
+ */
+ public BasicRuntimeException setMessage(String message, Object...args) {
+ assertModifiable();
+ this.message = format(message, args);
+ return this;
+ }
+
@Override /* Throwable */
public String getMessage() {
String m = super.getMessage();
@@ -218,6 +232,14 @@ public class BasicRuntimeException extends RuntimeException {
return t == null ? this : t;
}
+ /**
+ * Set the unmodifiable flag on this exception. This prevents the message from being up
+ *
+ */
+ protected void setUnmodifiable() {
+ unmodifiable = true;
+ }
+
/**
* Throws an {@link UnsupportedOperationException} if the unmodifiable flag is set on this bean.
*/
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseHeader.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseHeader.java
index b51ee5ca5..39388890b 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseHeader.java
+++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseHeader.java
@@ -365,7 +365,7 @@ public class ResponseHeader extends BasicHeader {
try {
return optional(parser.parse(HEADER, schema, getValue(), type));
} catch (ParseException e) {
- throw BasicRuntimeException.create().causedBy(e).message("Could not parse response header {0}.", getName()).build();
+ throw new BasicRuntimeException(e, "Could not parse response header {0}.", getName());
}
}
diff --git a/juneau-utest/src/test/java/org/apache/juneau/cp/BeanStore_Test.java b/juneau-utest/src/test/java/org/apache/juneau/cp/BeanStore_Test.java
index 4169d8fc8..db8bca8c5 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/cp/BeanStore_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/cp/BeanStore_Test.java
@@ -536,9 +536,9 @@ public class BeanStore_Test {
assertObject(b1c.createMethodFinder(C.class, C1.class).find("createA1").run()).isNull();
assertObject(b2c.createMethodFinder(C.class).find("createA1").run()).isNotNull();
assertObject(b3c.createMethodFinder(C.class).find("createA1").run()).isNull();
- assertThrown(()->b1c.createMethodFinder(C.class, x).find("createA7").run()).asMessage().is("foo");
+ assertThrown(()->b1c.createMethodFinder(C.class, x).find("createA7").run()).asMessage().isContains("foo");
assertObject(b1c.createMethodFinder(C.class, C1.class).find("createA7").run()).isNull();
- assertThrown(()->b2c.createMethodFinder(C.class).find("createA7").run()).asMessage().is("foo");
+ assertThrown(()->b2c.createMethodFinder(C.class).find("createA7").run()).asMessage().isContains("foo");
assertObject(b3c.createMethodFinder(C.class).find("createA7").run()).isNull();
}
@@ -576,9 +576,9 @@ public class BeanStore_Test {
assertObject(b1c.createMethodFinder(C.class, C2.class).find("createB1").run()).isNotNull();
assertObject(b2c.createMethodFinder(C.class).find("createB1").run()).isNotNull();
assertObject(b3c.createMethodFinder(C.class).find("createB1").run()).isNull();
- assertThrown(()->b1c.createMethodFinder(C.class, x).find("createB7").run()).asMessage().is("foo");
- assertThrown(()->b1c.createMethodFinder(C.class, C2.class).find("createB7").run()).asMessage().is("foo");
- assertThrown(()->b2c.createMethodFinder(C.class).find("createB7").run()).asMessage().is("foo");
+ assertThrown(()->b1c.createMethodFinder(C.class, x).find("createB7").run()).asMessage().isContains("foo");
+ assertThrown(()->b1c.createMethodFinder(C.class, C2.class).find("createB7").run()).asMessage().isContains("foo");
+ assertThrown(()->b2c.createMethodFinder(C.class).find("createB7").run()).asMessage().isContains("foo");
assertObject(b3c.createMethodFinder(C.class).find("createB7").run()).isNull();
}