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 <[email protected]>
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();
}