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 1a193b9b61 StringFormatter class
1a193b9b61 is described below

commit 1a193b9b616ea9da3ca005d9a10458d8130c5b4f
Author: James Bognar <[email protected]>
AuthorDate: Fri Nov 28 10:28:36 2025 -0500

    StringFormatter class
---
 .../org/apache/juneau/junit/bct/AssertionArgs.java |  4 +--
 .../java/org/apache/juneau/junit/bct/BctUtils.java |  2 +-
 .../junit/bct/PropertyNotFoundException.java       |  4 +--
 .../common/reflect/BeanRuntimeException.java       |  2 +-
 .../juneau/common/reflect/ExecutableException.java |  4 +--
 .../juneau/common/reflect/ExecutableInfo.java      |  2 +-
 .../org/apache/juneau/common/utils/Console.java    |  4 +--
 .../apache/juneau/common/utils/ThrowableUtils.java | 18 +++++-----
 .../java/org/apache/juneau/common/utils/Utils.java | 36 -------------------
 .../juneau/rest/client/RestCallException.java      |  2 +-
 .../juneau/http/response/BasicHttpException.java   |  6 ++--
 .../java/org/apache/juneau/rest/RestContext.java   |  8 ++---
 .../java/org/apache/juneau/BeanConfig_Test.java    | 40 +++++++++++-----------
 .../org/apache/juneau/ComboRoundTrip_Tester.java   |  8 ++---
 .../org/apache/juneau/ComboSerialize_Tester.java   |  2 +-
 .../java/org/apache/juneau/MaxIndent_Test.java     |  2 +-
 .../src/test/java/org/apache/juneau/TestUtils.java | 10 +++---
 .../org/apache/juneau/html/BasicHtml_Test.java     | 14 ++++----
 .../juneau/http/MediaRanges_FindMatch_Test.java    |  2 +-
 .../juneau/http/header/ContentType_Match_Test.java |  2 +-
 .../juneau/json/JsonParserEdgeCases_Test.java      | 12 +++----
 .../juneau/serializer/UriResolution_Test.java      |  4 +--
 .../juneau/transforms/OneWayStringSwap_Tester.java |  4 +--
 .../transforms/RoundTripObjectSwap_Tester.java     |  8 ++---
 .../juneau/transforms/StringSwap_Tester.java       |  8 ++---
 .../utils/UriContextResolutionCombo_Test.java      |  2 +-
 .../juneau/utils/UriContextUriCombo_Test.java      | 14 ++++----
 .../java/org/apache/juneau/xml/BasicXml_Test.java  | 12 +++----
 .../apache/juneau/xml/XmlIgnoreComments_Test.java  |  8 ++---
 29 files changed, 104 insertions(+), 140 deletions(-)

diff --git 
a/juneau-core/juneau-bct/src/main/java/org/apache/juneau/junit/bct/AssertionArgs.java
 
b/juneau-core/juneau-bct/src/main/java/org/apache/juneau/junit/bct/AssertionArgs.java
index 9d9b37a8c5..fb40b59c9c 100644
--- 
a/juneau-core/juneau-bct/src/main/java/org/apache/juneau/junit/bct/AssertionArgs.java
+++ 
b/juneau-core/juneau-bct/src/main/java/org/apache/juneau/junit/bct/AssertionArgs.java
@@ -194,7 +194,7 @@ public class AssertionArgs {
         * @return This instance for method chaining.
         */
        public AssertionArgs setMessage(String message, Object...args) {
-               messageSupplier = mfs(message, args);
+               messageSupplier = fs(message, args);
                return this;
        }
 
@@ -260,6 +260,6 @@ public class AssertionArgs {
         * @return A supplier that produces the composed error message.
         */
        protected Supplier<String> getMessage(String msg, Object...args) {
-               return messageSupplier == null ? mfs(msg, args) : mfs("{0}, 
Caused by: {1}", messageSupplier.get(), mf(msg, args));
+               return messageSupplier == null ? fs(msg, args) : fs("{0}, 
Caused by: {1}", messageSupplier.get(), f(msg, args));
        }
 }
\ No newline at end of file
diff --git 
a/juneau-core/juneau-bct/src/main/java/org/apache/juneau/junit/bct/BctUtils.java
 
b/juneau-core/juneau-bct/src/main/java/org/apache/juneau/junit/bct/BctUtils.java
index dcd1bdd74c..33ec69a9b4 100644
--- 
a/juneau-core/juneau-bct/src/main/java/org/apache/juneau/junit/bct/BctUtils.java
+++ 
b/juneau-core/juneau-bct/src/main/java/org/apache/juneau/junit/bct/BctUtils.java
@@ -60,7 +60,7 @@ public class BctUtils {
         * @return A new {@link AssertionFailedError} with formatted message 
and values.
         */
        public static AssertionFailedError assertEqualsFailed(Object expected, 
Object actual, Supplier<String> messageSupplier) {
-               return new AssertionFailedError(opt(messageSupplier).map(x -> 
x.get()).orElse("Equals assertion failed.") + mf(" ==> expected: <{0}> but was: 
<{1}>", expected, actual), expected, actual);
+               return new AssertionFailedError(opt(messageSupplier).map(x -> 
x.get()).orElse("Equals assertion failed.") + f(" ==> expected: <{0}> but was: 
<{1}>", expected, actual), expected, actual);
        }
 
        /**
diff --git 
a/juneau-core/juneau-bct/src/main/java/org/apache/juneau/junit/bct/PropertyNotFoundException.java
 
b/juneau-core/juneau-bct/src/main/java/org/apache/juneau/junit/bct/PropertyNotFoundException.java
index 5ff033b719..99d61add6a 100644
--- 
a/juneau-core/juneau-bct/src/main/java/org/apache/juneau/junit/bct/PropertyNotFoundException.java
+++ 
b/juneau-core/juneau-bct/src/main/java/org/apache/juneau/junit/bct/PropertyNotFoundException.java
@@ -62,7 +62,7 @@ public class PropertyNotFoundException extends 
RuntimeException {
         * @param objectType The type of object on which the property was sought
         */
        public PropertyNotFoundException(String propertyName, Class<?> 
objectType) {
-               super(mf("Property ''{0}'' not found on object of type {1}", 
propertyName, cns(objectType)));
+               super(f("Property ''{0}'' not found on object of type {1}", 
propertyName, cns(objectType)));
        }
 
        /**
@@ -73,7 +73,7 @@ public class PropertyNotFoundException extends 
RuntimeException {
         * @param cause The underlying cause of the exception
         */
        public PropertyNotFoundException(String propertyName, Class<?> 
objectType, Throwable cause) {
-               super(mf("Property ''{0}'' not found on object of type {1}", 
propertyName, cns(objectType)), cause);
+               super(f("Property ''{0}'' not found on object of type {1}", 
propertyName, cns(objectType)), cause);
        }
 
        /**
diff --git 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/BeanRuntimeException.java
 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/BeanRuntimeException.java
index c9905cda31..c0480c9de7 100644
--- 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/BeanRuntimeException.java
+++ 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/BeanRuntimeException.java
@@ -58,7 +58,7 @@ public class BeanRuntimeException extends RuntimeException {
 
        private static String getMessage(Throwable cause, Class<?> c, String 
msg, Object...args) {
                if (nn(msg))
-                       return (c == null ? "" : cn(c) + ": ") + mf(msg, args);
+                       return (c == null ? "" : cn(c) + ": ") + f(msg, args);
                if (nn(cause))
                        return (c == null ? "" : cn(c) + ": ") + 
cause.getMessage();
                return null;
diff --git 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/ExecutableException.java
 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/ExecutableException.java
index 2fd0389ca6..5e020e61b8 100644
--- 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/ExecutableException.java
+++ 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/ExecutableException.java
@@ -38,7 +38,7 @@ public class ExecutableException extends RuntimeException {
         * @param args Optional {@link MessageFormat}-style arguments.
         */
        public ExecutableException(String message, Object...args) {
-               super(mf(message, args));
+               super(f(message, args));
        }
 
        /**
@@ -58,7 +58,7 @@ public class ExecutableException extends RuntimeException {
         * @param args Optional {@link MessageFormat}-style arguments.
         */
        public ExecutableException(Throwable causedBy, String message, 
Object...args) {
-               super(mf(message, args), causedBy);
+               super(f(message, args), causedBy);
        }
 
        /**
diff --git 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/ExecutableInfo.java
 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/ExecutableInfo.java
index b1a34d86ed..967d3541e0 100644
--- 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/ExecutableInfo.java
+++ 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/ExecutableInfo.java
@@ -112,7 +112,7 @@ public abstract class ExecutableInfo extends AccessibleInfo 
{
                this.parameters = memoize(this::findParameters);
                this.exceptions = memoize(() -> 
stream(inner.getExceptionTypes()).map(ClassInfo::of).toList());
                this.declaredAnnotations = memoize(() -> 
stream(inner.getDeclaredAnnotations()).flatMap(a -> 
AnnotationUtils.streamRepeated(a)).map(a -> ai((Annotatable)this, a)).toList());
-               this.shortName = memoize(() -> mf("{0}({1})", getSimpleName(), 
getParameters().stream().map(p -> 
p.getParameterType().getNameSimple()).collect(joining(","))));
+               this.shortName = memoize(() -> f("{0}({1})", getSimpleName(), 
getParameters().stream().map(p -> 
p.getParameterType().getNameSimple()).collect(joining(","))));
                this.fullName = memoize(this::findFullName);
        }
 
diff --git 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/utils/Console.java
 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/utils/Console.java
index 0d18c6ce98..4da35c0ca9 100644
--- 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/utils/Console.java
+++ 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/utils/Console.java
@@ -46,7 +46,7 @@ public class Console {
         * @param args The arguments sent to the formatter.
         */
        public static final void err(String msg, Object...args) {
-               System.err.println(mf(msg, args));  // NOT DEBUG
+               System.err.println(f(msg, args));  // NOT DEBUG
        }
 
        /**
@@ -67,6 +67,6 @@ public class Console {
         * @param args The arguments sent to the formatter.
         */
        public static final void out(String msg, Object...args) {
-               System.out.println(mf(msg, args));
+               System.out.println(f(msg, args));
        }
 }
\ No newline at end of file
diff --git 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/utils/ThrowableUtils.java
 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/utils/ThrowableUtils.java
index 17ddd6809e..482949cb9f 100644
--- 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/utils/ThrowableUtils.java
+++ 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/utils/ThrowableUtils.java
@@ -138,7 +138,7 @@ public class ThrowableUtils {
         * @return A new IllegalArgumentException with the formatted message.
         */
        public static IllegalArgumentException illegalArg(String msg, 
Object...args) {
-               return new IllegalArgumentException(args.length == 0 ? msg : 
mf(msg, args));
+               return new IllegalArgumentException(args.length == 0 ? msg : 
f(msg, args));
        }
 
        /**
@@ -160,7 +160,7 @@ public class ThrowableUtils {
         * @return A new IllegalArgumentException with the formatted message 
and cause.
         */
        public static IllegalArgumentException illegalArg(Throwable cause, 
String msg, Object...args) {
-               return new IllegalArgumentException(args.length == 0 ? msg : 
mf(msg, args), cause);
+               return new IllegalArgumentException(args.length == 0 ? msg : 
f(msg, args), cause);
        }
 
        /**
@@ -171,7 +171,7 @@ public class ThrowableUtils {
         * @return A new IOException with the formatted message.
         */
        public static java.io.IOException ioex(String msg, Object...args) {
-               return new java.io.IOException(args.length == 0 ? msg : mf(msg, 
args));
+               return new java.io.IOException(args.length == 0 ? msg : f(msg, 
args));
        }
 
        /**
@@ -193,7 +193,7 @@ public class ThrowableUtils {
         * @return A new IOException with the formatted message and cause.
         */
        public static java.io.IOException ioex(Throwable cause, String msg, 
Object...args) {
-               return new java.io.IOException(args.length == 0 ? msg : mf(msg, 
args), cause);
+               return new java.io.IOException(args.length == 0 ? msg : f(msg, 
args), cause);
        }
 
        /**
@@ -214,7 +214,7 @@ public class ThrowableUtils {
         * @return A new RuntimeException with the formatted message.
         */
        public static RuntimeException rex(String msg, Object...args) {
-               return new RuntimeException(args.length == 0 ? msg : mf(msg, 
args));
+               return new RuntimeException(args.length == 0 ? msg : f(msg, 
args));
        }
 
        /**
@@ -236,7 +236,7 @@ public class ThrowableUtils {
         * @return A new RuntimeException with the formatted message and cause.
         */
        public static RuntimeException rex(Throwable cause, String msg, 
Object...args) {
-               return new RuntimeException(mf(msg, args), cause);
+               return new RuntimeException(f(msg, args), cause);
        }
 
        /**
@@ -294,7 +294,7 @@ public class ThrowableUtils {
         * @return A new RuntimeException with the formatted message and cause.
         */
        public static BeanRuntimeException bex(Throwable cause, String msg, 
Object...args) {
-               return new BeanRuntimeException(args.length == 0 ? msg : 
mf(msg, args), cause);
+               return new BeanRuntimeException(args.length == 0 ? msg : f(msg, 
args), cause);
        }
 
        /**
@@ -324,7 +324,7 @@ public class ThrowableUtils {
         * @return A new UnsupportedOperationException with the formatted 
message.
         */
        public static UnsupportedOperationException unsupportedOp(String msg, 
Object...args) {
-               return new UnsupportedOperationException(args.length == 0 ? msg 
: mf(msg, args));
+               return new UnsupportedOperationException(args.length == 0 ? msg 
: f(msg, args));
        }
 
        /**
@@ -346,7 +346,7 @@ public class ThrowableUtils {
         * @return A new UnsupportedOperationException with the formatted 
message and cause.
         */
        public static UnsupportedOperationException unsupportedOp(Throwable 
cause, String msg, Object...args) {
-               return new UnsupportedOperationException(args.length == 0 ? msg 
: mf(msg, args), cause);
+               return new UnsupportedOperationException(args.length == 0 ? msg 
: f(msg, args), cause);
        }
 
        /**
diff --git 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/utils/Utils.java
 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/utils/Utils.java
index c65d36dc08..d94a6fc1fe 100644
--- 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/utils/Utils.java
+++ 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/utils/Utils.java
@@ -288,17 +288,6 @@ public class Utils {
                return s1.equalsIgnoreCase(s2);
        }
 
-       /**
-        * Same as MessageFormat.format().
-        *
-        * @param pattern The message pattern.
-        * @param args The arguments to substitute into the pattern.
-        * @return The formatted string.
-        */
-       public static String mf(String pattern, Object...args) {
-               return StringFormat.format(pattern, args);
-       }
-
        /**
         * Returns the first non-null value in the specified array
         *
@@ -379,31 +368,6 @@ public class Utils {
                return java.util.regex.Pattern.compile(sb.toString(), flags);
        }
 
-       /**
-        * Creates a formatted string supplier with message arguments for lazy 
evaluation.
-        *
-        * <p>This method returns a {@link Supplier} that formats the string 
pattern with the provided arguments
-        * only when the supplier's {@code get()} method is called. This is 
useful for expensive string formatting
-        * operations that may not always be needed, such as error messages in 
assertions.</p>
-        *
-        * <h5 class='section'>Usage Examples:</h5>
-        * <p class='bjava'>
-        *      <jc>// Lazy evaluation - string is only formatted if assertion 
fails</jc>
-        *      assertTrue(condition, fs(<js>"Expected {0} but got {1}"</js>, 
expected, actual));
-        *
-        *      <jc>// Can be used anywhere a Supplier&lt;String&gt; is 
expected</jc>
-        *      Supplier&lt;String&gt; <jv>messageSupplier</jv> = 
fs(<js>"Processing item {0} of {1}"</js>, i, total);
-        * </p>
-        *
-        * @param pattern The message pattern using <js>{0}</js>, <js>{1}</js>, 
etc. placeholders.
-        * @param args The arguments to substitute into the pattern 
placeholders.
-        * @return A {@link Supplier} that will format the string when {@code 
get()} is called.
-        * @see StringUtils#mformat(String, Object...)
-        */
-       public static Supplier<String> mfs(String pattern, Object...args) {
-               return () -> StringFormat.format(pattern, args);
-       }
-
        /**
         * Shortcut for calling {@link StringUtils#format(String, Object...)}.
         *
diff --git 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCallException.java
 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCallException.java
index 65d001e0e8..174174a2b8 100644
--- 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCallException.java
+++ 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCallException.java
@@ -61,7 +61,7 @@ public class RestCallException extends HttpException {
        private static String format(String msg, Object...args) {
                if (args.length == 0)
                        return clean(msg);
-               return clean(mf(msg, args));
+               return clean(f(msg, args));
        }
 
        private final int statusCode;
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/response/BasicHttpException.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/response/BasicHttpException.java
index 71a30401c4..9e0afb1cb0 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/response/BasicHttpException.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/response/BasicHttpException.java
@@ -132,7 +132,7 @@ public class BasicHttpException extends 
BasicRuntimeException implements HttpRes
        public BasicHttpException(int statusCode, Throwable cause, String msg, 
Object...args) {
                super(cause, msg, args);
                setStatusCode(statusCode);
-               setContent(mf(msg, args));
+               setContent(f(msg, args));
        }
 
        /**
@@ -202,9 +202,9 @@ public class BasicHttpException extends 
BasicRuntimeException implements HttpRes
                                msg = msg.replace('<', ' ').replace('>', ' 
').replace('&', ' ');
                        var cls = cns(e);
                        if (msg == null)
-                               sb.append(mf("\nCaused by ({0})", cls));
+                               sb.append(f("\nCaused by ({0})", cls));
                        else
-                               sb.append(mf("\nCaused by ({0}): {1}", cls, 
msg));
+                               sb.append(f("\nCaused by ({0}): {1}", cls, 
msg));
                        e = e.getCause();
                }
                return sb.toString();
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
index 494ce0f404..f3489cdbf4 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
@@ -4900,11 +4900,11 @@ public class RestContext extends Context {
        public static final Map<Class<?>,RestContext> getGlobalRegistry() { 
return u(REGISTRY); }
 
        static ServletException servletException(String msg, Object...args) {
-               return new ServletException(mf(msg, args));
+               return new ServletException(f(msg, args));
        }
 
        static ServletException servletException(Throwable t, String msg, 
Object...args) {
-               return new ServletException(mf(msg, args), t);
+               return new ServletException(f(msg, args), t);
        }
 
        private final Supplier<?> resource;
@@ -5100,7 +5100,7 @@ public class RestContext extends Context {
                        try {
                                x.invoke(beanStore, getResource());
                        } catch (Exception e) {
-                               getLogger().log(Level.WARNING, unwrap(e), () -> 
mf("Error occurred invoking servlet-destroy method ''{0}''.", x.getFullName()));
+                               getLogger().log(Level.WARNING, unwrap(e), () -> 
f("Error occurred invoking servlet-destroy method ''{0}''.", x.getFullName()));
                        }
                }
 
@@ -5893,7 +5893,7 @@ public class RestContext extends Context {
                        try {
                                x.invoke(session.getBeanStore(), 
session.getResource());
                        } catch (Exception e) {
-                               getLogger().log(Level.WARNING, unwrap(e), () -> 
mf("Error occurred invoking finish-call method ''{0}''.", x.getFullName()));
+                               getLogger().log(Level.WARNING, unwrap(e), () -> 
f("Error occurred invoking finish-call method ''{0}''.", x.getFullName()));
                        }
                }
        }
diff --git a/juneau-utest/src/test/java/org/apache/juneau/BeanConfig_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/BeanConfig_Test.java
index 47849dce9e..f39f85fe58 100755
--- a/juneau-utest/src/test/java/org/apache/juneau/BeanConfig_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/BeanConfig_Test.java
@@ -73,17 +73,17 @@ class BeanConfig_Test extends TestBase {
 
                var pm1 = bc.toBeanMap(p1);
 
-               assertEquals(pm1.size(), m1.size(), mfs("Bean Map size failed 
for: {0} / {1} / {2}", p1, pm1.size(), m1.size()));
-               assertEquals(pm1.keySet(), m1.keySet(), mfs("Bean Map key set 
equality failed for: {0} / {1} / {2}", p1, pm1.keySet() , m1.keySet()));
-               assertEquals(m1.keySet(), pm1.keySet(), mfs("Bean Map key set 
reverse equality failed for: {0} / {1} / {2}", p1, pm1.keySet(), m1.keySet()));
-               assertEquals(pm1, m1, mfs("Bean Map equality failed for: {0} / 
{1} / {2}", p1, pm1, m1));  // NOSONAR
+               assertEquals(pm1.size(), m1.size(), fs("Bean Map size failed 
for: {0} / {1} / {2}", p1, pm1.size(), m1.size()));
+               assertEquals(pm1.keySet(), m1.keySet(), fs("Bean Map key set 
equality failed for: {0} / {1} / {2}", p1, pm1.keySet() , m1.keySet()));
+               assertEquals(m1.keySet(), pm1.keySet(), fs("Bean Map key set 
reverse equality failed for: {0} / {1} / {2}", p1, pm1.keySet(), m1.keySet()));
+               assertEquals(pm1, m1, fs("Bean Map equality failed for: {0} / 
{1} / {2}", p1, pm1, m1));  // NOSONAR
                assertThrows(BeanRuntimeException.class, 
()->bc.newBeanMap(Address.class));  // Address returned as a new bean type, but 
shouldn't be since it doesn't have a default constructor.
                assertNull(bc.newBeanMap(java.lang.Integer.class), 
"java.lang.Integer incorrectly designated as bean type.");
                assertNull(bc.newBeanMap(java.lang.Class.class), 
"java.lang.Class incorrectly designated as bean type.");
 
                var bm1 = bc.toBeanMap(new Address("street", "city", "state", 
"zip"));
 
-               assertEquals(bm1.size(), m2.size(), mfs("Bean Adapter map's key 
set has wrong size: {0} / {1} / {2}", a, bm1.size(), m2.size()));
+               assertEquals(bm1.size(), m2.size(), fs("Bean Adapter map's key 
set has wrong size: {0} / {1} / {2}", a, bm1.size(), m2.size()));
 
                var iter = bm1.keySet().iterator();
                var temp = new HashSet<>();
@@ -93,16 +93,16 @@ class BeanConfig_Test extends TestBase {
                        count++;
                }
 
-               assertEquals(count, m2.size(), mfs("Iteration count over bean 
adpater key set failed: {0} / {1} / {2}", a, count, m2.size()));
-               assertEquals(m2.keySet(), temp, mfs("Iteration over bean 
adpater key set failed: {0} / {1} / {2}", a, bm1.keySet(), m2.keySet()));
-               assertNotNull(bc.toBeanMap(p2), mfs("Failed to identify class 
as bean type: {0}", p2.getClass()));
+               assertEquals(count, m2.size(), fs("Iteration count over bean 
adpater key set failed: {0} / {1} / {2}", a, count, m2.size()));
+               assertEquals(m2.keySet(), temp, fs("Iteration over bean adpater 
key set failed: {0} / {1} / {2}", a, bm1.keySet(), m2.keySet()));
+               assertNotNull(bc.toBeanMap(p2), fs("Failed to identify class as 
bean type: {0}", p2.getClass()));
 
                var m5 = bc.toBeanMap(p2);
                @SuppressWarnings("cast")
                var es1 = (Set)m5.entrySet();
 
-               assertEquals(es1, m3.entrySet(), mfs("Entry set equality 
failed: {0} / {1} / {2}", p2, es1, m3.entrySet()));
-               assertEquals(m3.entrySet(), es1, mfs("Entry set reverse 
equality failed: {0} / {1} / {2}", p2, es1, m3.entrySet()));
+               assertEquals(es1, m3.entrySet(), fs("Entry set equality failed: 
{0} / {1} / {2}", p2, es1, m3.entrySet()));
+               assertEquals(m3.entrySet(), es1, fs("Entry set reverse equality 
failed: {0} / {1} / {2}", p2, es1, m3.entrySet()));
 
                iter = es1.iterator();
                temp = new HashSet<>();
@@ -112,8 +112,8 @@ class BeanConfig_Test extends TestBase {
                        count++;
                }
 
-               assertEquals(count, m3.size(), mfs("Iteration count over bean 
adpater entry set failed: {0} / {1} / {2}", a, count, m3.size()));
-               assertEquals(m3.entrySet(), temp, mfs("Iteration over bean 
adpater entry set failed: {0} / {1} / {2}", a, es1, m3.entrySet()));
+               assertEquals(count, m3.size(), fs("Iteration count over bean 
adpater entry set failed: {0} / {1} / {2}", a, count, m3.size()));
+               assertEquals(m3.entrySet(), temp, fs("Iteration over bean 
adpater entry set failed: {0} / {1} / {2}", a, es1, m3.entrySet()));
        }
 
        public static class Person {
@@ -133,7 +133,7 @@ class BeanConfig_Test extends TestBase {
 
                @Override /* Overridden from Object */
                public String toString() {
-                       return mf("Person(name: {0}, age: {1})", name, age);
+                       return f("Person(name: {0}, age: {1})", name, age);
                }
        }
 
@@ -170,7 +170,7 @@ class BeanConfig_Test extends TestBase {
 
                @Override /* Overridden from Object */
                public String toString() {
-                       return mf("Address(street: {0}, city: {1}, state: {2}, 
zip: {3})", street, city, state, zip);
+                       return f("Address(street: {0}, city: {1}, state: {2}, 
zip: {3})", street, city, state, zip);
                }
        }
 
@@ -328,7 +328,7 @@ class BeanConfig_Test extends TestBase {
 
                @Override /* Overridden from Object */
                public String toString() {
-                       return mf("toString():name={0},age={1}", name, age);
+                       return f("toString():name={0},age={1}", name, age);
                }
        }
 
@@ -358,7 +358,7 @@ class BeanConfig_Test extends TestBase {
 
                @Override /* Overridden from Object */
                public String toString() {
-                       return mf("toString():name={0},age={1}", name, age);
+                       return f("toString():name={0},age={1}", name, age);
                }
        }
 
@@ -399,10 +399,10 @@ class BeanConfig_Test extends TestBase {
                var f1 = (A) 
Proxy.newProxyInstance(this.getClass().getClassLoader(), a(A.class), new 
AHandler());
 
                var bm1 = session.toBeanMap(f1);
-               assertNotNull(bm1, mfs("Failed to obtain bean adapter for 
proxy: {0}", f1));
+               assertNotNull(bm1, fs("Failed to obtain bean adapter for proxy: 
{0}", f1));
 
                var bm2 = session.newBeanMap(A.class);
-               assertNotNull(bm2, mfs("Failed to create dynamic proxy bean for 
interface: {0}", A.class.getName()));
+               assertNotNull(bm2, fs("Failed to create dynamic proxy bean for 
interface: {0}", A.class.getName()));
 
                bm2.put("a", "Hello");
                bm2.put("b", Integer.valueOf(50));
@@ -410,8 +410,8 @@ class BeanConfig_Test extends TestBase {
                f1.setB(50);
 
                assertBean(bm2, "a,b", "Hello,50");
-               assertEquals(bm1, bm2, mfs("Failed equality test of dynamic 
proxies beans: {0} / {1}", bm1, bm2));
-               assertEquals(bm2, bm1, mfs("Failed reverse equality test of 
dynamic proxies beans: {0} / {1}", bm1, bm2));
+               assertEquals(bm1, bm2, fs("Failed equality test of dynamic 
proxies beans: {0} / {1}", bm1, bm2));
+               assertEquals(bm2, bm1, fs("Failed reverse equality test of 
dynamic proxies beans: {0} / {1}", bm1, bm2));
        }
 
        public interface A {
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/ComboRoundTrip_Tester.java 
b/juneau-utest/src/test/java/org/apache/juneau/ComboRoundTrip_Tester.java
index f24c45f547..68559dff58 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/ComboRoundTrip_Tester.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/ComboRoundTrip_Tester.java
@@ -86,7 +86,7 @@ public class ComboRoundTrip_Tester<T> {
 
                public Builder<T> verify(Function<T,String> v) { verify.add(v); 
return this; }
 
-               public Builder<T> verify(Predicate<T> p, String msg, 
Object...args) { verify.add(x -> p.test(x) ? null : mf(msg, args)); return 
this; }
+               public Builder<T> verify(Predicate<T> p, String msg, 
Object...args) { verify.add(x -> p.test(x) ? null : f(msg, args)); return this; 
}
 
                public Builder<T> swaps(Class<?>...c) { swaps.addAll(l(c)); 
return this; }
 
@@ -232,7 +232,7 @@ public class ComboRoundTrip_Tester<T> {
                                System.out.println(r);
                        }
 
-                       assertEquals(exp, r, mfs("{0}/{1} serialize-normal 
failed.", label, testName));
+                       assertEquals(exp, r, fs("{0}/{1} serialize-normal 
failed.", label, testName));
                } catch (AssertionError e) {
                        if (exceptionMsg == null)
                                throw e;
@@ -256,7 +256,7 @@ public class ComboRoundTrip_Tester<T> {
                        o = postConvert.apply((T)o);
                        r = s.serializeToString(o);
 
-                       assertEquals(exp, r, mfs("{0}/{1} parse-normal failed", 
label, testName));
+                       assertEquals(exp, r, fs("{0}/{1} parse-normal failed", 
label, testName));
                } catch (AssertionError e) {
                        if (exceptionMsg == null)
                                throw e;
@@ -298,7 +298,7 @@ public class ComboRoundTrip_Tester<T> {
                        var r = s.serializeToString(in.get());
                        var o = p.parse(r, type);
                        r = js.serialize(o);
-                       assertEquals(exp, r, mfs("{0}/{1} parse-normal failed 
on JSON equivalency", label, testName));
+                       assertEquals(exp, r, fs("{0}/{1} parse-normal failed on 
JSON equivalency", label, testName));
                } catch (AssertionError e) {
                        if (exceptionMsg == null)
                                throw e;
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/ComboSerialize_Tester.java 
b/juneau-utest/src/test/java/org/apache/juneau/ComboSerialize_Tester.java
index 824c34e8e3..fdbc0c07b8 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/ComboSerialize_Tester.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/ComboSerialize_Tester.java
@@ -173,7 +173,7 @@ public class ComboSerialize_Tester<T> {
                                }
                        }
 
-                       assertEquals(exp, r, mfs("{0}/{1} serialize-normal 
failed.", label, testName));
+                       assertEquals(exp, r, fs("{0}/{1} serialize-normal 
failed.", label, testName));
                } catch (AssertionError e) {
                        if (exceptionMsg == null)
                                throw e;
diff --git a/juneau-utest/src/test/java/org/apache/juneau/MaxIndent_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/MaxIndent_Test.java
index fd7f7691d3..7e87993224 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/MaxIndent_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/MaxIndent_Test.java
@@ -224,7 +224,7 @@ class MaxIndent_Test extends TestBase {
                                return;
                        }
 
-                       assertEquals(expected, r, mfs("{0}/{1} parse-normal 
failed", input.label, testName));
+                       assertEquals(expected, r, fs("{0}/{1} parse-normal 
failed", input.label, testName));
 
                } catch (AssertionError e) {
                        throw e;
diff --git a/juneau-utest/src/test/java/org/apache/juneau/TestUtils.java 
b/juneau-utest/src/test/java/org/apache/juneau/TestUtils.java
index fc8bffcd64..2cd8e50370 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/TestUtils.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/TestUtils.java
@@ -148,7 +148,7 @@ public class TestUtils extends Utils2 {
 
        public static void assertEqualsAll(Object...values) {
                for (var i = 1; i < values.length; i++) {
-                       assertEquals(values[0], values[i], mfs("Elements at 
index {0} and {1} did not match. {0}={2}, {1}={3}", 0, i, r(values[0]), 
r(values[i])));
+                       assertEquals(values[0], values[i], fs("Elements at 
index {0} and {1} did not match. {0}={2}, {1}={3}", 0, i, r(values[0]), 
r(values[i])));
                }
        }
 
@@ -171,7 +171,7 @@ public class TestUtils extends Utils2 {
        public static void assertNotEqualsAny(Object actual, Object...values) {
                assertNotNull(actual, "Value was null.");
                for (var i = 0; i < values.length; i++) {
-                       assertNotEquals(values[i], actual, mfs("Element at 
index {0} unexpectedly matched.  expected={1}, actual={2}", i, values[i], 
s(actual)));
+                       assertNotEquals(values[i], actual, fs("Element at index 
{0} unexpectedly matched.  expected={1}, actual={2}", i, values[i], s(actual)));
                }
        }
 
@@ -184,21 +184,21 @@ public class TestUtils extends Utils2 {
 
        public static <T extends Throwable> T assertThrowable(Class<? extends 
Throwable> expectedType, String expectedSubstring, T t) {
                var messages = getMessages(t);
-               assertTrue(messages.contains(expectedSubstring), mfs("Expected 
message to contain: {0}.\nActual:\n{1}", expectedSubstring, messages));
+               assertTrue(messages.contains(expectedSubstring), fs("Expected 
message to contain: {0}.\nActual:\n{1}", expectedSubstring, messages));
                return t;
        }
 
        public static <T extends Throwable> T assertThrowsWithMessage(Class<T> 
expectedType, List<String> expectedSubstrings, 
org.junit.jupiter.api.function.Executable executable) {
                var exception = Assertions.assertThrows(expectedType, 
executable);
                var messages = getMessages(exception);
-               expectedSubstrings.stream().forEach(x -> 
assertTrue(messages.contains(x), mfs("Expected message to contain: 
{0}.\nActual:\n{1}", x, messages)));
+               expectedSubstrings.stream().forEach(x -> 
assertTrue(messages.contains(x), fs("Expected message to contain: 
{0}.\nActual:\n{1}", x, messages)));
                return exception;
        }
 
        public static <T extends Throwable> T assertThrowsWithMessage(Class<T> 
expectedType, String expectedSubstring, 
org.junit.jupiter.api.function.Executable executable) {
                var exception = Assertions.assertThrows(expectedType, 
executable);
                var messages = getMessages(exception);
-               assertTrue(messages.contains(expectedSubstring), mfs("Expected 
message to contain: {0}.\nActual:\n{1}", expectedSubstring, messages));
+               assertTrue(messages.contains(expectedSubstring), fs("Expected 
message to contain: {0}.\nActual:\n{1}", expectedSubstring, messages));
                return exception;
        }
 
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/html/BasicHtml_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/html/BasicHtml_Test.java
index 18177e75fe..e9c48713b5 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/html/BasicHtml_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/html/BasicHtml_Test.java
@@ -2551,7 +2551,7 @@ class BasicHtml_Test extends TestBase {
        void a1_serializeNormal(Input input) {
                try {
                        var r = s1.serialize(input.in);
-                       assertEquals(input.e1, r, mfs("{0} serialize-normal 
failed", input.label));
+                       assertEquals(input.e1, r, fs("{0} serialize-normal 
failed", input.label));
                } catch (AssertionError e) {
                        throw e;
                } catch (Throwable e) {
@@ -2566,7 +2566,7 @@ class BasicHtml_Test extends TestBase {
                        var r = s1.serialize(input.in);
                        var o = parser.parse(r, input.type);
                        r = s1.serialize(o);
-                       assertEquals(input.e1, r, mfs("{0} parse-normal 
failed", input.label));
+                       assertEquals(input.e1, r, fs("{0} parse-normal failed", 
input.label));
                } catch (AssertionError e) {
                        throw e;
                } catch (Throwable e) {
@@ -2593,7 +2593,7 @@ class BasicHtml_Test extends TestBase {
        void b1_serializeReadable(Input input) {
                try {
                        var r = s2.serialize(input.in);
-                       assertEquals(input.e2, r, mfs("{0} serialize-readable 
failed", input.label));
+                       assertEquals(input.e2, r, fs("{0} serialize-readable 
failed", input.label));
                } catch (AssertionError e) {
                        throw e;
                } catch (Throwable e) {
@@ -2608,7 +2608,7 @@ class BasicHtml_Test extends TestBase {
                        var r = s2.serialize(input.in);
                        var o = parser.parse(r, input.type);
                        r = s2.serialize(o);
-                       assertEquals(input.e2, r, mfs("{0} parse-readable 
failed", input.label));
+                       assertEquals(input.e2, r, fs("{0} parse-readable 
failed", input.label));
                } catch (AssertionError e) {
                        throw e;
                } catch (Throwable e) {
@@ -2635,7 +2635,7 @@ class BasicHtml_Test extends TestBase {
        void c1_serializeAbridged(Input input) {
                try {
                        var r = s3.serialize(input.in);
-                       assertEquals(input.e3, r, mfs("{0} 
serialize-addRootType failed", input.label));
+                       assertEquals(input.e3, r, fs("{0} serialize-addRootType 
failed", input.label));
                } catch (AssertionError e) {
                        throw e;
                } catch (Throwable e) {
@@ -2650,7 +2650,7 @@ class BasicHtml_Test extends TestBase {
                        var r = s3.serialize(input.in);
                        var o = parser.parse(r, input.type);
                        r = s3.serialize(o);
-                       assertEquals(input.e3, r, mfs("{0} parse-addRootType 
failed", input.label));
+                       assertEquals(input.e3, r, fs("{0} parse-addRootType 
failed", input.label));
                } catch (AssertionError e) {
                        throw e;
                } catch (Throwable e) {
@@ -3111,7 +3111,7 @@ class BasicHtml_Test extends TestBase {
 
        private static void assertInstancesOf(Class<?> c, Object...values) {
                for (var i = 0; i < values.length; i++) {
-                       assertInstanceOf(c, values[i], mfs("Object {0} not 
expected type.  Expected={1}, Actual={2}", i, c, cns(values[i])));
+                       assertInstanceOf(c, values[i], fs("Object {0} not 
expected type.  Expected={1}, Actual={2}", i, c, cns(values[i])));
                }
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/MediaRanges_FindMatch_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/http/MediaRanges_FindMatch_Test.java
index 7d6d26913d..b79a993212 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/http/MediaRanges_FindMatch_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/http/MediaRanges_FindMatch_Test.java
@@ -178,7 +178,7 @@ class MediaRanges_FindMatch_Test extends TestBase {
                var a = accept(input.accept);
                var mt = JsonParser.DEFAULT.parse(input.mediaTypes, 
MediaType[].class);
                var r = a.match(l(mt));
-               assertEquals(input.expected, r, mfs("{0} failed", input.label));
+               assertEquals(input.expected, r, fs("{0} failed", input.label));
        }
 
        @ParameterizedTest
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/header/ContentType_Match_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/http/header/ContentType_Match_Test.java
index a7924439fd..20c7ccac41 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/http/header/ContentType_Match_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/http/header/ContentType_Match_Test.java
@@ -94,6 +94,6 @@ class ContentType_Match_Test extends TestBase {
        void a01_basic(Input input) throws Exception {
                var ct = contentType(input.contentType);
                var mt = JsonParser.DEFAULT.parse(input.mediaTypes, 
MediaType[].class);
-               assertEquals(input.expected, ct.match(l(mt)), mfs("{0} failed", 
input.label));
+               assertEquals(input.expected, ct.match(l(mt)), fs("{0} failed", 
input.label));
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/json/JsonParserEdgeCases_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/json/JsonParserEdgeCases_Test.java
index 0186b71642..d0c4a17ac5 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/json/JsonParserEdgeCases_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/json/JsonParserEdgeCases_Test.java
@@ -399,10 +399,10 @@ class JsonParserEdgeCases_Test extends TestBase {
                                fail("ParseException expected.  
Test="+input.name+", Input=" + input.jsonReadable);
                        } catch (ParseException e) {
                                if (input.errorText != null)
-                                       
assertTrue(e.getRootCause().getMessage().contains(input.errorText), mfs("Got 
ParseException but didn't contain expected text ''{0}''.  Test={1}, Input={2}, 
Message={3}", input.errorText, input.name, input.jsonReadable, 
e.getRootCause().getMessage()));
+                                       
assertTrue(e.getRootCause().getMessage().contains(input.errorText), fs("Got 
ParseException but didn't contain expected text ''{0}''.  Test={1}, Input={2}, 
Message={3}", input.errorText, input.name, input.jsonReadable, 
e.getRootCause().getMessage()));
                        } catch (IOException e) {
                                if (input.errorText != null)
-                                       
assertTrue(e.getMessage().contains(input.errorText), mfs("Got ParseException 
but didn't contain expected text ''{0}''.  Test={1}, Input={2}, Message={3}", 
input.errorText, input.name, input.jsonReadable, e.getMessage()));
+                                       
assertTrue(e.getMessage().contains(input.errorText), fs("Got ParseException but 
didn't contain expected text ''{0}''.  Test={1}, Input={2}, Message={3}", 
input.errorText, input.name, input.jsonReadable, e.getMessage()));
                        } catch (AssertionError e) {
                                throw e;
                        } catch (Throwable t) {
@@ -415,10 +415,10 @@ class JsonParserEdgeCases_Test extends TestBase {
                                p.parse(input.json, Object.class);
                        } catch (ParseException e) {
                                if (input.errorText != null)
-                                       
assertTrue(e.getRootCause().getMessage().contains(input.errorText), mfs("Got 
ParseException but didn't contain expected text ''{0}''.  Test={1}, Input={2}, 
Message={3}", input.errorText, input.name, input.jsonReadable, 
e.getRootCause().getMessage()));
+                                       
assertTrue(e.getRootCause().getMessage().contains(input.errorText), fs("Got 
ParseException but didn't contain expected text ''{0}''.  Test={1}, Input={2}, 
Message={3}", input.errorText, input.name, input.jsonReadable, 
e.getRootCause().getMessage()));
                        } catch (IOException e) {
                                if (input.errorText != null)
-                                       
assertTrue(e.getMessage().contains(input.errorText), mfs("Got ParseException 
but didn't contain expected text ''{0}''.  Test={1}, Input={2}, Message={3}", 
input.errorText, input.name, input.jsonReadable, e.getMessage()));
+                                       
assertTrue(e.getMessage().contains(input.errorText), fs("Got ParseException but 
didn't contain expected text ''{0}''.  Test={1}, Input={2}, Message={3}", 
input.errorText, input.name, input.jsonReadable, e.getMessage()));
                        } catch (Throwable t) {
                                fail("Expected ParseException.  
Test="+input.name+", Input=" + input.jsonReadable + ", Exception=" + 
t.getClass().getName() + "," +t.getLocalizedMessage());
                        }
@@ -444,7 +444,7 @@ class JsonParserEdgeCases_Test extends TestBase {
                                p.parse(input.json, Object.class);
                        } catch (ParseException e) {
                                if (input.errorText != null)
-                                       
assertTrue(e.getRootCause().getMessage().contains(input.errorText), mfs("Got 
ParseException but didn't contain expected text ''{0}''.  Test={1}, Input={2}, 
Message={3}", input.errorText, input.name, input.jsonReadable, 
e.getRootCause().getMessage()));
+                                       
assertTrue(e.getRootCause().getMessage().contains(input.errorText), fs("Got 
ParseException but didn't contain expected text ''{0}''.  Test={1}, Input={2}, 
Message={3}", input.errorText, input.name, input.jsonReadable, 
e.getRootCause().getMessage()));
                        } catch (AssertionError e) {
                                throw e;
                        } catch (Throwable t) {
@@ -457,7 +457,7 @@ class JsonParserEdgeCases_Test extends TestBase {
                                p.parse(input.json, Object.class);
                        } catch (ParseException e) {
                                if (input.errorText != null)
-                                       
assertTrue(e.getRootCause().getMessage().contains(input.errorText), mfs("Got 
ParseException but didn't contain expected text ''{0}''.  Test={1}, Input={2}, 
Message={3}", input.errorText, input.name, input.jsonReadable, 
e.getRootCause().getMessage()));
+                                       
assertTrue(e.getRootCause().getMessage().contains(input.errorText), fs("Got 
ParseException but didn't contain expected text ''{0}''.  Test={1}, Input={2}, 
Message={3}", input.errorText, input.name, input.jsonReadable, 
e.getRootCause().getMessage()));
                        } catch (Throwable t) {
                                fail("Expected ParseException.  
Test="+input.name+", Input=" + input.jsonReadable + ", Exception=" + 
t.getClass().getName() + "," +t.getLocalizedMessage());
                        }
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/serializer/UriResolution_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/serializer/UriResolution_Test.java
index 6c39a8b164..7725155810 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/serializer/UriResolution_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/serializer/UriResolution_Test.java
@@ -58,7 +58,7 @@ class UriResolution_Test extends TestBase {
                                        System.out.println(r);
                                }
 
-                               assertEquals(expected, r, mfs("{0}/{1} 
serialize-normal failed", label, s.getClass().getSimpleName()));
+                               assertEquals(expected, r, fs("{0}/{1} 
serialize-normal failed", label, s.getClass().getSimpleName()));
 
                        } catch (AssertionError e) {
                                throw e;
@@ -75,7 +75,7 @@ class UriResolution_Test extends TestBase {
                                var m = p.parse(r, TreeMap.class, String.class, 
String.class);
 
                                var r2 = Json5Serializer.DEFAULT.toString(m);
-                               assertEquals(r2, results.json, mfs("{0}/{1} 
parse failed", label, s.getClass().getSimpleName()));
+                               assertEquals(r2, results.json, fs("{0}/{1} 
parse failed", label, s.getClass().getSimpleName()));
 
                        } catch (AssertionError e) {
                                throw e;
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/transforms/OneWayStringSwap_Tester.java
 
b/juneau-utest/src/test/java/org/apache/juneau/transforms/OneWayStringSwap_Tester.java
index fba5b3751a..f3b22b9aab 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/transforms/OneWayStringSwap_Tester.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/transforms/OneWayStringSwap_Tester.java
@@ -94,11 +94,11 @@ public class OneWayStringSwap_Tester<T> {
                } catch (AssertionError e) {
                        if (exceptionMsg == null)
                                throw e;
-                       assertTrue(e.getMessage().contains(exceptionMsg), 
mfs("Expected exception message to contain: {0}, but was {1}.", exceptionMsg, 
e.getMessage()));
+                       assertTrue(e.getMessage().contains(exceptionMsg), 
fs("Expected exception message to contain: {0}, but was {1}.", exceptionMsg, 
e.getMessage()));
                } catch (Exception e) {
                        if (exceptionMsg == null)
                                throw new AssertionError("Test [" + label + " 
swap] failed with exception: " + e.getLocalizedMessage(), e);
-                       assertTrue(e.getMessage().contains(exceptionMsg), 
mfs("Expected exception message to contain: {0}, but was {1}.", exceptionMsg, 
e.getMessage()));
+                       assertTrue(e.getMessage().contains(exceptionMsg), 
fs("Expected exception message to contain: {0}, but was {1}.", exceptionMsg, 
e.getMessage()));
                }
        }
 
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/transforms/RoundTripObjectSwap_Tester.java
 
b/juneau-utest/src/test/java/org/apache/juneau/transforms/RoundTripObjectSwap_Tester.java
index cb4e843d2b..e193de3732 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/transforms/RoundTripObjectSwap_Tester.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/transforms/RoundTripObjectSwap_Tester.java
@@ -88,11 +88,11 @@ public class RoundTripObjectSwap_Tester<T,S> {
                } catch (AssertionError e) {
                        if (exceptionMsg == null)
                                throw e;
-                       assertTrue(e.getMessage().contains(exceptionMsg), 
mfs("Expected exception message to contain: {0}, but was {1}.", exceptionMsg, 
e.getMessage()));
+                       assertTrue(e.getMessage().contains(exceptionMsg), 
fs("Expected exception message to contain: {0}, but was {1}.", exceptionMsg, 
e.getMessage()));
                } catch (Exception e) {
                        if (exceptionMsg == null)
                                throw new AssertionError("Test [" + label + " 
swap] failed with exception: " + e.getLocalizedMessage(), e);
-                       assertTrue(e.getMessage().contains(exceptionMsg), 
mfs("Expected exception message to contain: {0}, but was {1}.", exceptionMsg, 
e.getMessage()));
+                       assertTrue(e.getMessage().contains(exceptionMsg), 
fs("Expected exception message to contain: {0}, but was {1}.", exceptionMsg, 
e.getMessage()));
                }
        }
 
@@ -109,11 +109,11 @@ public class RoundTripObjectSwap_Tester<T,S> {
                } catch (AssertionError e) {
                        if (exceptionMsg == null)
                                throw e;
-                       assertTrue(e.getMessage().contains(exceptionMsg), 
mfs("Expected exception message to contain: {0}, but was {1}.", exceptionMsg, 
e.getMessage()));
+                       assertTrue(e.getMessage().contains(exceptionMsg), 
fs("Expected exception message to contain: {0}, but was {1}.", exceptionMsg, 
e.getMessage()));
                } catch (Exception e) {
                        if (exceptionMsg == null)
                                throw new AssertionError("Test [" + label + " 
unswap] failed with exception: " + e.getLocalizedMessage(), e);
-                       assertTrue(e.getMessage().contains(exceptionMsg), 
mfs("Expected exception message to contain: {0}, but was {1}.", exceptionMsg, 
e.getMessage()));
+                       assertTrue(e.getMessage().contains(exceptionMsg), 
fs("Expected exception message to contain: {0}, but was {1}.", exceptionMsg, 
e.getMessage()));
                }
        }
 
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/transforms/StringSwap_Tester.java
 
b/juneau-utest/src/test/java/org/apache/juneau/transforms/StringSwap_Tester.java
index 99d169c750..f387e9c82a 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/transforms/StringSwap_Tester.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/transforms/StringSwap_Tester.java
@@ -91,11 +91,11 @@ public class StringSwap_Tester<T> {
                } catch (AssertionError e) {
                        if (exceptionMsg == null)
                                throw e;
-                       assertTrue(e.getMessage().contains(exceptionMsg), 
mfs("Expected exception message to contain: {0}, but was {1}.", exceptionMsg, 
e.getMessage()));
+                       assertTrue(e.getMessage().contains(exceptionMsg), 
fs("Expected exception message to contain: {0}, but was {1}.", exceptionMsg, 
e.getMessage()));
                } catch (Exception e) {
                        if (exceptionMsg == null)
                                throw new AssertionError("Test [" + label + " 
swap] failed with exception: " + e.getLocalizedMessage(), e);
-                       assertTrue(e.getMessage().contains(exceptionMsg), 
mfs("Expected exception message to contain: {0}, but was {1}.", exceptionMsg, 
e.getMessage()));
+                       assertTrue(e.getMessage().contains(exceptionMsg), 
fs("Expected exception message to contain: {0}, but was {1}.", exceptionMsg, 
e.getMessage()));
                }
        }
 
@@ -113,11 +113,11 @@ public class StringSwap_Tester<T> {
                } catch (AssertionError e) {
                        if (exceptionMsg == null)
                                throw e;
-                       assertTrue(e.getMessage().contains(exceptionMsg), 
mfs("Expected exception message to contain: {0}, but was {1}.", exceptionMsg, 
e.getMessage()));
+                       assertTrue(e.getMessage().contains(exceptionMsg), 
fs("Expected exception message to contain: {0}, but was {1}.", exceptionMsg, 
e.getMessage()));
                } catch (Exception e) {
                        if (exceptionMsg == null)
                                throw new AssertionError("Test [" + label + " 
unswap] failed with exception: " + e.getLocalizedMessage(), e);
-                       assertTrue(e.getMessage().contains(exceptionMsg), 
mfs("Expected exception message to contain: {0}, but was {1}.", exceptionMsg, 
e.getMessage()));
+                       assertTrue(e.getMessage().contains(exceptionMsg), 
fs("Expected exception message to contain: {0}, but was {1}.", exceptionMsg, 
e.getMessage()));
                }
        }
 
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/utils/UriContextResolutionCombo_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/utils/UriContextResolutionCombo_Test.java
index b3593b92ea..068b8a875f 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/utils/UriContextResolutionCombo_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/utils/UriContextResolutionCombo_Test.java
@@ -1096,7 +1096,7 @@ class UriContextResolutionCombo_Test extends TestBase {
        @MethodSource("testers")
        void a01_testAbsoluteResource(Tester t) {
                var x = UriResolver.of(ABSOLUTE, RESOURCE, 
UriContext.of(t.input.authority, t.input.context, t.input.resource, 
t.input.path)).resolve(t.input.uri);
-               assertEquals(t.results.aResource, x, mfs("{0}: testAbsolute() 
failed", t.label));
+               assertEquals(t.results.aResource, x, fs("{0}: testAbsolute() 
failed", t.label));
        }
 
        @ParameterizedTest
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/utils/UriContextUriCombo_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/utils/UriContextUriCombo_Test.java
index c8cf09c61e..d6368d77b0 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/utils/UriContextUriCombo_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/utils/UriContextUriCombo_Test.java
@@ -238,42 +238,42 @@ class UriContextUriCombo_Test extends TestBase {
        @ParameterizedTest
        @MethodSource("data")
        void a01_testAbsoluteAuthority(Data d) {
-               assertEquals(d.r.eAbsoluteAuthority, 
d.in.uriContext.getAbsoluteAuthority(), mfs("{0}: testAbsoluteAuthority() 
failed", d.label));
+               assertEquals(d.r.eAbsoluteAuthority, 
d.in.uriContext.getAbsoluteAuthority(), fs("{0}: testAbsoluteAuthority() 
failed", d.label));
        }
 
        @ParameterizedTest
        @MethodSource("data")
        void a02_testAbsoluteContext(Data d) {
-               assertEquals(d.r.eAbsoluteContext, 
d.in.uriContext.getAbsoluteContextRoot(), mfs("{0}: testAbsoluteContext() 
failed", d.label));
+               assertEquals(d.r.eAbsoluteContext, 
d.in.uriContext.getAbsoluteContextRoot(), fs("{0}: testAbsoluteContext() 
failed", d.label));
        }
 
        @ParameterizedTest
        @MethodSource("data")
        void a03_testAbsoluteResource(Data d) {
-               assertEquals(d.r.eAbsoluteResource, 
d.in.uriContext.getAbsoluteServletPath(), mfs("{0}: testAbsoluteResource() 
failed", d.label));
+               assertEquals(d.r.eAbsoluteResource, 
d.in.uriContext.getAbsoluteServletPath(), fs("{0}: testAbsoluteResource() 
failed", d.label));
        }
 
        @ParameterizedTest
        @MethodSource("data")
        void a04_testAbsolutePath(Data d) {
-               assertEquals(d.r.eAbsolutePath, 
d.in.uriContext.getAbsolutePathInfo(), mfs("{0}: testAbsolutePath() failed", 
d.label));
+               assertEquals(d.r.eAbsolutePath, 
d.in.uriContext.getAbsolutePathInfo(), fs("{0}: testAbsolutePath() failed", 
d.label));
        }
 
        @ParameterizedTest
        @MethodSource("data")
        void a05_testRootRelativeContext(Data d) {
-               assertEquals(d.r.eRootRelativeContext, 
d.in.uriContext.getRootRelativeContextRoot(), mfs("{0}: 
testRootRelativeContext() failed", d.label));
+               assertEquals(d.r.eRootRelativeContext, 
d.in.uriContext.getRootRelativeContextRoot(), fs("{0}: 
testRootRelativeContext() failed", d.label));
        }
 
        @ParameterizedTest
        @MethodSource("data")
        void a06_testRootRelativeResource(Data d) {
-               assertEquals(d.r.eRootRelativeResource, 
d.in.uriContext.getRootRelativeServletPath(), mfs("{0}: 
testRootRelativeResource() failed", d.label));
+               assertEquals(d.r.eRootRelativeResource, 
d.in.uriContext.getRootRelativeServletPath(), fs("{0}: 
testRootRelativeResource() failed", d.label));
        }
 
        @ParameterizedTest
        @MethodSource("data")
        void a07_testRootRelativePath(Data d) {
-               assertEquals(d.r.eRootRelativePath, 
d.in.uriContext.getRootRelativePathInfo(), mfs("{0}: testRootRelativePath() 
failed", d.label));
+               assertEquals(d.r.eRootRelativePath, 
d.in.uriContext.getRootRelativePathInfo(), fs("{0}: testRootRelativePath() 
failed", d.label));
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/xml/BasicXml_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/xml/BasicXml_Test.java
index 96d1532a22..df3d5a3db3 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/xml/BasicXml_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/xml/BasicXml_Test.java
@@ -1183,7 +1183,7 @@ class BasicXml_Test extends TestBase {
        void a01_serializeNormal(Input input) {
                try {
                        var r = s1.serialize(input.in);
-                       assertEquals(input.e1, r, mfs("{0} serialize-normal 
failed", input.label));
+                       assertEquals(input.e1, r, fs("{0} serialize-normal 
failed", input.label));
                } catch (AssertionError e) {
                        throw e;
                } catch (Throwable e) {
@@ -1199,7 +1199,7 @@ class BasicXml_Test extends TestBase {
                        var c = input.in == null ? Object.class : 
input.in.getClass();
                        var o = parser.parse(r, c);
                        r = s1.serialize(o);
-                       assertEquals(input.e1, r, mfs("{0} parse-normal 
failed", input.label));
+                       assertEquals(input.e1, r, fs("{0} parse-normal failed", 
input.label));
                } catch (AssertionError e) {
                        throw e;
                } catch (Throwable e) {
@@ -1212,7 +1212,7 @@ class BasicXml_Test extends TestBase {
        void a03_serializeReadable(Input input) {
                try {
                        var r = s2.serialize(input.in);
-                       assertEquals(input.e2, r, mfs("{0} serialize-readable 
failed", input.label));
+                       assertEquals(input.e2, r, fs("{0} serialize-readable 
failed", input.label));
                } catch (AssertionError e) {
                        throw e;
                } catch (Throwable e) {
@@ -1228,7 +1228,7 @@ class BasicXml_Test extends TestBase {
                        var c = input.in == null ? Object.class : 
input.in.getClass();
                        var o = parser.parse(r, c);
                        r = s2.serialize(o);
-                       assertEquals(input.e2, r, mfs("{0} parse-readable 
failed", input.label));
+                       assertEquals(input.e2, r, fs("{0} parse-readable 
failed", input.label));
                } catch (AssertionError e) {
                        throw e;
                } catch (Throwable e) {
@@ -1241,7 +1241,7 @@ class BasicXml_Test extends TestBase {
        void a05_serializeNsEnabled(Input input) {
                try {
                        var r = s3.serialize(input.in);
-                       assertEquals(input.e3, r, mfs("{0} serialize-ns-enabled 
failed", input.label));
+                       assertEquals(input.e3, r, fs("{0} serialize-ns-enabled 
failed", input.label));
                } catch (AssertionError e) {
                        throw e;
                } catch (Throwable e) {
@@ -1257,7 +1257,7 @@ class BasicXml_Test extends TestBase {
                        var c = input.in == null ? Object.class : 
input.in.getClass();
                        var o = parser.parse(r, c);
                        r = s3.serialize(o);
-                       assertEquals(input.e3, r, mfs("{0} parse-ns-enabled 
failed", input.label));
+                       assertEquals(input.e3, r, fs("{0} parse-ns-enabled 
failed", input.label));
                } catch (AssertionError e) {
                        throw e;
                } catch (Throwable e) {
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/xml/XmlIgnoreComments_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/xml/XmlIgnoreComments_Test.java
index 03194122d7..02b22ace30 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/xml/XmlIgnoreComments_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/xml/XmlIgnoreComments_Test.java
@@ -702,14 +702,14 @@ class XmlIgnoreComments_Test extends TestBase {
        @MethodSource("input")
        void a01_noComment(Input input) throws Exception {
                var actual = XmlParser.DEFAULT.parse(input.input.replace("|", 
""), input.type);
-               assertEquals(json(actual), json(input.expected), mfs("Test 
''{0}'' failed with comparison error", input.label));
+               assertEquals(json(actual), json(input.expected), fs("Test 
''{0}'' failed with comparison error", input.label));
        }
 
        @ParameterizedTest
        @MethodSource("input")
        void a02_normalComment(Input input) throws Exception {
                var actual = XmlParser.DEFAULT.parse(input.input.replace("|", 
"<!--x-->"), input.type);
-               assertEquals(json(actual), json(input.expected), mfs("Test 
''{0}'' failed with comparison error", input.label));
+               assertEquals(json(actual), json(input.expected), fs("Test 
''{0}'' failed with comparison error", input.label));
        }
 
        @ParameterizedTest
@@ -717,7 +717,7 @@ class XmlIgnoreComments_Test extends TestBase {
        void a03_commentWithWhitespace(Input input) throws Exception {
                var actual = XmlParser.DEFAULT.parse(input.input.replace("|", " 
\n <!-- \n x \n --> \n "), input.type);
                if (! input.skipWsTests)
-                       assertEquals(json(actual), json(input.expected), 
mfs("Test ''{0}'' failed with comparison error", input.label));
+                       assertEquals(json(actual), json(input.expected), 
fs("Test ''{0}'' failed with comparison error", input.label));
        }
 
        @ParameterizedTest
@@ -725,7 +725,7 @@ class XmlIgnoreComments_Test extends TestBase {
        void a04_doubleCommentsWithWhitespace(Input input) throws Exception {
                var actual = XmlParser.DEFAULT.parse(input.input.replace("|", " 
\n <!-- \n x \n --> \n \n <!-- \n x \n --> \n "), input.type);
                if (! input.skipWsTests)
-                       assertEquals(json(actual), json(input.expected), 
mfs("Test ''{0}'' failed with comparison error", input.label));
+                       assertEquals(json(actual), json(input.expected), 
fs("Test ''{0}'' failed with comparison error", input.label));
        }
 
        
//-----------------------------------------------------------------------------------------------------------------

Reply via email to