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();
        }
 

Reply via email to