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 424c5d048 Test modernization, clean up utility classes.
424c5d048 is described below
commit 424c5d0483f45e3eac9d8c47de582b66799d533b
Author: James Bognar <[email protected]>
AuthorDate: Mon Aug 25 11:15:52 2025 -0400
Test modernization, clean up utility classes.
---
.../org/apache/juneau/common/internal/Utils.java | 122 +++++++++++++++++++++
.../org/apache/juneau/BeanTraverseSession.java | 3 +-
.../apache/juneau/annotation/SchemaAnnotation.java | 8 +-
.../juneau/annotation/SubItemsAnnotation.java | 4 +-
.../main/java/org/apache/juneau/cp/BeanStore.java | 3 +-
.../main/java/org/apache/juneau/cp/Messages.java | 2 +-
.../apache/juneau/html/BasicHtmlDocTemplate.java | 5 +-
.../apache/juneau/html/HtmlSerializerSession.java | 3 +-
.../org/apache/juneau/httppart/HttpPartSchema.java | 6 +-
.../org/apache/juneau/internal/ObjectUtils.java | 122 ---------------------
.../jsonschema/JsonSchemaGeneratorSession.java | 2 +-
.../apache/juneau/oapi/OpenApiParserSession.java | 3 +-
.../juneau/oapi/OpenApiSerializerSession.java | 2 +-
.../apache/juneau/microservice/Microservice.java | 21 ++--
.../microservice/jetty/JettyMicroservice.java | 7 +-
.../apache/juneau/rest/client/ResponseContent.java | 2 +-
.../org/apache/juneau/http/BasicStatusLine.java | 3 +-
.../org/apache/juneau/http/header/BasicHeader.java | 2 +-
.../apache/juneau/rest/debug/DebugEnablement.java | 9 +-
.../org/apache/juneau/rest/logger/CallLogger.java | 20 ++--
.../org/apache/juneau/rest/stats/ThrownStore.java | 3 +-
.../rest/swagger/BasicSwaggerProviderSession.java | 18 +--
22 files changed, 190 insertions(+), 180 deletions(-)
diff --git
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/Utils.java
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/Utils.java
index 5ca161f13..eb6be6ae5 100644
---
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/Utils.java
+++
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/Utils.java
@@ -418,4 +418,126 @@ public class Utils {
public static <T> Optional<T> empty() {
return Optional.empty();
}
+
+ /**
+ * Returns the first non-null value in the specified array
+ *
+ * @param <T> The value types.
+ * @param t The values to check.
+ * @return The first non-null value, or <jk>null</jk> if the array is
null or empty or contains only <jk>null</jk> values.
+ */
+ @SafeVarargs
+ public static <T> T firstNonNull(T... t) {
+ if (t != null)
+ for (T tt : t)
+ if (tt != null)
+ return tt;
+ return null;
+ }
+
+ /**
+ * Casts an object to a specific type if it's an instance of that type.
+ *
+ * @param <T> The type to cast to.
+ * @param c The type to cast to.
+ * @param o The object to cast to.
+ * @return The cast object, or <jk>null</jk> if the object wasn't the
specified type.
+ */
+ public static <T> T cast(Class<T> c, Object o) {
+ return o != null && c.isInstance(o) ? c.cast(o) : null;
+ }
+
+ /**
+ * Returns <jk>true</jk> if the specified object is empty.
+ *
+ * <p>
+ * Return <jk>true</jk> if the value is any of the following:
+ * <ul>
+ * <li><jk>null</jk>
+ * <li>An empty Collection
+ * <li>An empty Map
+ * <li>An empty array
+ * <li>An empty CharSequence
+ * <li>An empty String when serialized to a string using {@link
Object#toString()}.
+ * </ul>
+ *
+ * @param o The object to test.
+ * @return <jk>true</jk> if the specified object is empty.
+ */
+ @SuppressWarnings("rawtypes")
+ public static boolean isEmpty(Object o) {
+ if (o == null)
+ return true;
+ if (o instanceof Collection)
+ return ((Collection)o).isEmpty();
+ if (o instanceof Map)
+ return ((Map)o).isEmpty();
+ if (o.getClass().isArray())
+ return (Array.getLength(o) == 0);
+ return o.toString().isEmpty();
+ }
+
+ /**
+ * Returns <jk>true</jk> if the specified object is not <jk>null</jk>.
+ *
+ * @param <T> The value type.
+ * @param value The value being checked.
+ * @return <jk>true</jk> if the specified object is not <jk>null</jk>.
+ */
+ public static <T> boolean isNotNull(T value) {
+ return value != null;
+ }
+
+ /**
+ * If the specified object is an instance of the specified class, casts
it to that type.
+ *
+ * @param <T> The class to cast to.
+ * @param o The object to cast.
+ * @param c The class to cast to.
+ * @return The cast object, or <jk>null</jk> if the object wasn't an
instance of the specified class.
+ */
+ public static <T> T castOrNull(Object o, Class<T> c) {
+ if (c.isInstance(o))
+ return c.cast(o);
+ return null;
+ }
+
+ /**
+ * Returns <jk>true</jk> if the specified boolean is not <jk>null</jk>
and is <jk>true</jk>.
+ *
+ * @param value The value being checked.
+ * @return <jk>true</jk> if the specified boolean is not <jk>null</jk>
and is <jk>true</jk>.
+ */
+ public static boolean isTrue(Boolean value) {
+ return value != null && value;
+ }
+
+ /**
+ * Returns <jk>true</jk> if the specified number is not <jk>null</jk>
and not <c>-1</c>.
+ *
+ * @param <T> The value types.
+ * @param value The value being checked.
+ * @return <jk>true</jk> if the specified number is not <jk>null</jk>
and not <c>-1</c>.
+ */
+ public static <T extends Number> boolean isNotMinusOne(T value) {
+ return value != null && value.intValue() != -1;
+ }
+
+ /**
+ * Returns <jk>true</jk> if the specified object is not <jk>null</jk>
and not empty.
+ *
+ * Works on any of the following data types: String, CharSequence,
Collection, Map, array.
+ * All other types are stringified and then checked as a String.
+ *
+ * @param value The value being checked.
+ * @return <jk>true</jk> if the specified object is not <jk>null</jk>
and not empty.
+ */
+ public static boolean isNotEmpty(Object value) {
+ if (value == null) return false;
+ if (value instanceof CharSequence x) return ! x.isEmpty();
+ if (value instanceof Collection<?> x) return ! x.isEmpty();
+ if (value instanceof Map<?,?> x) return ! x.isEmpty();
+ if (value.getClass().isArray()) return Array.getLength(value) >
0;
+ return StringUtils.isNotEmpty(s(value));
+ }
}
\ No newline at end of file
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseSession.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseSession.java
index 73b43d6fb..e0920a3de 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseSession.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseSession.java
@@ -21,6 +21,7 @@ import java.util.*;
import java.util.function.*;
import org.apache.juneau.collections.*;
+import org.apache.juneau.common.internal.*;
import org.apache.juneau.internal.*;
/**
@@ -382,7 +383,7 @@ public class BeanTraverseSession extends BeanSession {
* @return A map, typically containing something like
<c>{line:123,column:456,currentProperty:"foobar"}</c>
*/
public final JsonMap getLastLocation() {
- Predicate<Object> nn = ObjectUtils::isNotNull;
+ Predicate<Object> nn = Utils::isNotNull;
Predicate<Collection<?>> nec = CollectionUtils::isNotEmpty;
return JsonMap.create()
.appendIf(nn, "currentClass", currentClass)
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SchemaAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SchemaAnnotation.java
index f36d32fb7..dc8bf80a8 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SchemaAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SchemaAnnotation.java
@@ -99,8 +99,8 @@ public class SchemaAnnotation {
Predicate<String> ne = StringUtils::isNotEmpty;
Predicate<Collection<?>> nec = CollectionUtils::isNotEmpty;
Predicate<Map<?,?>> nem = CollectionUtils::isNotEmpty;
- Predicate<Boolean> nf = ObjectUtils::isTrue;
- Predicate<Long> nm1 = ObjectUtils::isNotMinusOne;
+ Predicate<Boolean> nf = Utils::isTrue;
+ Predicate<Long> nm1 = Utils::isNotMinusOne;
return m
.appendIf(nem, "additionalProperties",
parseMap(a.additionalProperties()))
.appendIf(ne, "allOf", joinnl(a.allOf()))
@@ -142,8 +142,8 @@ public class SchemaAnnotation {
Predicate<String> ne = StringUtils::isNotEmpty;
Predicate<Collection<?>> nec = CollectionUtils::isNotEmpty;
Predicate<Map<?,?>> nem = CollectionUtils::isNotEmpty;
- Predicate<Boolean> nf = ObjectUtils::isTrue;
- Predicate<Long> nm1 = ObjectUtils::isNotMinusOne;
+ Predicate<Boolean> nf = Utils::isTrue;
+ Predicate<Long> nm1 = Utils::isNotMinusOne;
return m
.appendFirst(ne, "collectionFormat",
a.collectionFormat(), a.cf())
.appendIf(ne, "default", joinnl(a._default(), a.df()))
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SubItemsAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SubItemsAnnotation.java
index bad8e345f..395c5c907 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SubItemsAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SubItemsAnnotation.java
@@ -72,8 +72,8 @@ public class SubItemsAnnotation {
Predicate<String> ne = StringUtils::isNotEmpty;
Predicate<Collection<?>> nec = CollectionUtils::isNotEmpty;
Predicate<Map<?,?>> nem = CollectionUtils::isNotEmpty;
- Predicate<Boolean> nf = ObjectUtils::isTrue;
- Predicate<Long> nm1 = ObjectUtils::isNotMinusOne;
+ Predicate<Boolean> nf = Utils::isTrue;
+ Predicate<Long> nm1 = Utils::isNotMinusOne;
return om
.appendFirst(ne, "collectionFormat",
a.collectionFormat(), a.cf())
.appendIf(ne, "default", joinnl(a._default(), a.df()))
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanStore.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanStore.java
index 43e2bd7c0..687771936 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanStore.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanStore.java
@@ -25,6 +25,7 @@ import java.util.stream.*;
import org.apache.juneau.*;
import org.apache.juneau.collections.*;
+import org.apache.juneau.common.internal.*;
import org.apache.juneau.internal.*;
import org.apache.juneau.marshaller.*;
import org.apache.juneau.reflect.*;
@@ -698,7 +699,7 @@ public class BeanStore {
}
private JsonMap properties() {
- Predicate<Boolean> nf = ObjectUtils::isTrue;
+ Predicate<Boolean> nf = Utils::isTrue;
return filteredMap()
.append("identity", ObjectUtils.identity(this))
.append("entries",
entries.stream().map(BeanStoreEntry::properties).collect(toList()))
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/Messages.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/Messages.java
index d1e1c7135..e737bca9c 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/Messages.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/Messages.java
@@ -191,7 +191,7 @@ public class Messages extends ResourceBundle {
Builder x = null;
for (int i = mbl.length-1; i >= 0; i--) {
- Class<?> c =
firstNonNull(mbl[i].getA(), forClass);
+ Class<?> c =
Utils.firstNonNull(mbl[i].getA(), forClass);
String value = mbl[i].getB();
if (isJsonObject(value, true)) {
MessagesString ms;
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/BasicHtmlDocTemplate.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/BasicHtmlDocTemplate.java
index 356ff610c..4de9c89d0 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/BasicHtmlDocTemplate.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/BasicHtmlDocTemplate.java
@@ -13,6 +13,9 @@
package org.apache.juneau.html;
import static org.apache.juneau.html.AsideFloat.*;
+
+import org.apache.juneau.common.internal.*;
+
import static org.apache.juneau.common.internal.StringUtils.*;
import org.apache.juneau.internal.*;
@@ -256,7 +259,7 @@ public class BasicHtmlDocTemplate implements
HtmlDocTemplate {
if (o == null) {
w.append(6, "<null/>").nl(6);
- } else if (ObjectUtils.isEmpty(o)){
+ } else if (Utils.isEmpty(o)){
String m = session.getNoResultsMessage();
if (exists(m))
w.append(6, session.resolve(m)).nl(6);
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
index 869dc3827..49c497ae5 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
@@ -25,6 +25,7 @@ import java.util.function.*;
import java.util.regex.*;
import org.apache.juneau.*;
+import org.apache.juneau.common.internal.*;
import org.apache.juneau.html.annotation.*;
import org.apache.juneau.httppart.*;
import org.apache.juneau.internal.*;
@@ -460,7 +461,7 @@ public class HtmlSerializerSession extends
XmlSerializerSession {
HtmlClassMeta cHtml = getHtmlClassMeta(sType);
HtmlBeanPropertyMeta bpHtml =
getHtmlBeanPropertyMeta(pMeta);
- HtmlRender render = firstNonNull(bpHtml.getRender(),
cHtml.getRender());
+ HtmlRender render =
Utils.firstNonNull(bpHtml.getRender(), cHtml.getRender());
if (render != null) {
Object o2 = render.getContent(this, o);
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSchema.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSchema.java
index 8d7c2b63e..1e08b08a1 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSchema.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSchema.java
@@ -4088,9 +4088,9 @@ public class HttpPartSchema {
public String toString() {
try {
Predicate<Object> ne = x -> isNotEmpty(stringify(x));
- Predicate<Boolean> nf = ObjectUtils::isTrue;
- Predicate<Number> nm1 = ObjectUtils::isNotMinusOne;
- Predicate<Object> nn = ObjectUtils::isNotNull;
+ Predicate<Boolean> nf = Utils::isTrue;
+ Predicate<Number> nm1 = Utils::isNotMinusOne;
+ Predicate<Object> nn = Utils::isNotNull;
JsonMap m = new JsonMap()
.appendIf(ne, "name", name)
.appendIf(ne, "type", type)
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ObjectUtils.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ObjectUtils.java
index d120a77cb..68baa6349 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ObjectUtils.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ObjectUtils.java
@@ -30,20 +30,6 @@ import org.apache.juneau.reflect.*;
*/
public class ObjectUtils {
- /**
- * If the specified object is an instance of the specified class, casts
it to that type.
- *
- * @param <T> The class to cast to.
- * @param o The object to cast.
- * @param c The class to cast to.
- * @return The cast object, or <jk>null</jk> if the object wasn't an
instance of the specified class.
- */
- public static <T> T castOrNull(Object o, Class<T> c) {
- if (c.isInstance(o))
- return c.cast(o);
- return null;
- }
-
/**
* Compares two objects for equality.
*
@@ -199,64 +185,6 @@ public class ObjectUtils {
return o;
}
- /**
- * Returns <jk>true</jk> if the specified object is empty.
- *
- * <p>
- * Return <jk>true</jk> if the value is any of the following:
- * <ul>
- * <li><jk>null</jk>
- * <li>An empty Collection
- * <li>An empty Map
- * <li>An empty array
- * <li>An empty CharSequence
- * <li>An empty String when serialized to a string using {@link
Object#toString()}.
- * </ul>
- *
- * @param o The object to test.
- * @return <jk>true</jk> if the specified object is empty.
- */
- @SuppressWarnings("rawtypes")
- public static boolean isEmpty(Object o) {
- if (o == null)
- return true;
- if (o instanceof Collection)
- return ((Collection)o).isEmpty();
- if (o instanceof Map)
- return ((Map)o).isEmpty();
- if (o.getClass().isArray())
- return (Array.getLength(o) == 0);
- return o.toString().isEmpty();
- }
-
- /**
- * Returns the first non-null value in the specified array
- *
- * @param <T> The value types.
- * @param t The values to check.
- * @return The first non-null value, or <jk>null</jk> if the array is
null or empty or contains only <jk>null</jk> values.
- */
- @SafeVarargs
- public static <T> T firstNonNull(T... t) {
- if (t != null)
- for (T tt : t)
- if (tt != null)
- return tt;
- return null;
- }
-
- /**
- * Casts an object to a specific type if it's an instance of that type.
- *
- * @param <T> The type to cast to.
- * @param c The type to cast to.
- * @param o The object to cast to.
- * @return The cast object, or <jk>null</jk> if the object wasn't the
specified type.
- */
- public static <T> T cast(Class<T> c, Object o) {
- return o != null && c.isInstance(o) ? c.cast(o) : null;
- }
-
/**
* Converts the specified object into an identifiable string of the
form "Class[identityHashCode]"
* @param o The object to convert to a string.
@@ -299,54 +227,4 @@ public class ObjectUtils {
methods.forEach((k,v) -> m.put(k, v.invoke(o)));
return m;
}
-
- /**
- * Returns <jk>true</jk> if the specified object is not <jk>null</jk>.
- *
- * @param <T> The value type.
- * @param value The value being checked.
- * @return <jk>true</jk> if the specified object is not <jk>null</jk>.
- */
- public static <T> boolean isNotNull(T value) {
- return value != null;
- }
-
- /**
- * Returns <jk>true</jk> if the specified boolean is not <jk>null</jk>
and is <jk>true</jk>.
- *
- * @param value The value being checked.
- * @return <jk>true</jk> if the specified boolean is not <jk>null</jk>
and is <jk>true</jk>.
- */
- public static boolean isTrue(Boolean value) {
- return value != null && value;
- }
-
- /**
- * Returns <jk>true</jk> if the specified number is not <jk>null</jk>
and not <c>-1</c>.
- *
- * @param <T> The value types.
- * @param value The value being checked.
- * @return <jk>true</jk> if the specified number is not <jk>null</jk>
and not <c>-1</c>.
- */
- public static <T extends Number> boolean isNotMinusOne(T value) {
- return value != null && value.intValue() != -1;
- }
-
- /**
- * Returns <jk>true</jk> if the specified object is not <jk>null</jk>
and not empty.
- *
- * Works on any of the following data types: String, CharSequence,
Collection, Map, array.
- * All other types are stringified and then checked as a String.
- *
- * @param value The value being checked.
- * @return <jk>true</jk> if the specified object is not <jk>null</jk>
and not empty.
- */
- public static boolean isNotEmpty(Object value) {
- if (value == null) return false;
- if (value instanceof CharSequence) return
CharSequence.class.cast(value).length() > 0;
- if (value instanceof Collection) return !
Collection.class.cast(value).isEmpty();
- if (value instanceof Map) return !
Map.class.cast(value).isEmpty();
- if (value.getClass().isArray()) return Array.getLength(value) >
0;
- return StringUtils.isNotEmpty(StringUtils.stringify(value));
- }
}
\ No newline at end of file
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorSession.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorSession.java
index e14ca75a5..7775aa354 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorSession.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorSession.java
@@ -360,7 +360,7 @@ public class JsonSchemaGeneratorSession extends
BeanTraverseSession {
out.append(jscm.getSchema());
- Predicate<Object> neo = ObjectUtils::isNotEmpty;
+ Predicate<Object> neo = Utils::isNotEmpty;
out.appendIfAbsentIf(neo, "description", description);
out.appendIfAbsentIf(neo, "example", example);
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserSession.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserSession.java
index 9704a03f6..4b13be62b 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserSession.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserSession.java
@@ -26,6 +26,7 @@ import java.util.function.*;
import org.apache.juneau.*;
import org.apache.juneau.collections.*;
+import org.apache.juneau.common.internal.*;
import org.apache.juneau.httppart.*;
import org.apache.juneau.internal.*;
import org.apache.juneau.parser.*;
@@ -243,7 +244,7 @@ public class OpenApiParserSession extends UonParserSession {
if (type == null)
type = (ClassMeta<T>)object();
- schema = ObjectUtils.firstNonNull(schema, getSchema(),
DEFAULT_SCHEMA);
+ schema = Utils.firstNonNull(schema, getSchema(),
DEFAULT_SCHEMA);
T t = parseInner(partType, schema, in, type);
if (t == null && type.isPrimitive())
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializerSession.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializerSession.java
index 9f90ea4cd..5cbdc29b4 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializerSession.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializerSession.java
@@ -273,7 +273,7 @@ public class OpenApiSerializerSession extends
UonSerializerSession {
type = getClassMetaForObject(value);
}
- schema = ObjectUtils.firstNonNull(schema, DEFAULT_SCHEMA);
+ schema = Utils.firstNonNull(schema, DEFAULT_SCHEMA);
HttpPartDataType t = schema.getType(type);
diff --git
a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/Microservice.java
b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/Microservice.java
index 0b8026a25..5afe2dc71 100755
---
a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/Microservice.java
+++
b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/Microservice.java
@@ -32,6 +32,7 @@ import java.util.logging.Formatter;
import org.apache.juneau.*;
import org.apache.juneau.collections.*;
+import org.apache.juneau.common.internal.*;
import org.apache.juneau.config.*;
import org.apache.juneau.config.event.*;
import org.apache.juneau.config.store.*;
@@ -652,11 +653,11 @@ public class Microservice implements ConfigEventListener {
//
--------------------------------------------------------------------------------
// Initialize console commands.
//
--------------------------------------------------------------------------------
- this.consoleEnabled =
ObjectUtils.firstNonNull(builder.consoleEnabled,
config.get("Console/enabled").asBoolean().orElse(false));
+ this.consoleEnabled =
Utils.firstNonNull(builder.consoleEnabled,
config.get("Console/enabled").asBoolean().orElse(false));
if (consoleEnabled) {
Console c = System.console();
- this.consoleReader =
ObjectUtils.firstNonNull(builder.consoleReader, new Scanner(c == null ? new
InputStreamReader(System.in) : c.reader()));
- this.consoleWriter =
ObjectUtils.firstNonNull(builder.consoleWriter, c == null ? new
PrintWriter(System.out, true) : c.writer());
+ this.consoleReader =
Utils.firstNonNull(builder.consoleReader, new Scanner(c == null ? new
InputStreamReader(System.in) : c.reader()));
+ this.consoleWriter =
Utils.firstNonNull(builder.consoleWriter, c == null ? new
PrintWriter(System.out, true) : c.writer());
for (ConsoleCommand cc : builder.consoleCommands) {
consoleCommandMap.put(cc.getName(), cc);
@@ -773,18 +774,18 @@ public class Microservice implements ConfigEventListener {
if (this.logger == null) {
LogManager.getLogManager().reset();
this.logger = Logger.getLogger("");
- String logFile = firstNonNull(logConfig.logFile,
config.get("Logging/logFile").orElse(null));
+ String logFile = Utils.firstNonNull(logConfig.logFile,
config.get("Logging/logFile").orElse(null));
if (isNotEmpty(logFile)) {
- String logDir = firstNonNull(logConfig.logDir,
config.get("Logging/logDir").orElse("."));
+ String logDir =
Utils.firstNonNull(logConfig.logDir, config.get("Logging/logDir").orElse("."));
File logDirFile = resolveFile(logDir);
mkdirs(logDirFile, false);
logDir = logDirFile.getAbsolutePath();
System.setProperty("juneau.logDir", logDir);
- boolean append = firstNonNull(logConfig.append,
config.get("Logging/append").asBoolean().orElse(false));
- int limit = firstNonNull(logConfig.limit,
config.get("Logging/limit").asInteger().orElse(1024*1024));
- int count = firstNonNull(logConfig.count,
config.get("Logging/count").asInteger().orElse(1));
+ boolean append =
Utils.firstNonNull(logConfig.append,
config.get("Logging/append").asBoolean().orElse(false));
+ int limit = Utils.firstNonNull(logConfig.limit,
config.get("Logging/limit").asInteger().orElse(1024*1024));
+ int count = Utils.firstNonNull(logConfig.count,
config.get("Logging/count").asInteger().orElse(1));
FileHandler fh = new FileHandler(logDir + '/' +
logFile, limit, count, append);
@@ -796,11 +797,11 @@ public class Microservice implements ConfigEventListener {
f = new LogEntryFormatter(format,
dateFormat, useStackTraceHashes);
}
fh.setFormatter(f);
- fh.setLevel(firstNonNull(logConfig.fileLevel,
config.get("Logging/fileLevel").as(Level.class).orElse(Level.INFO)));
+
fh.setLevel(Utils.firstNonNull(logConfig.fileLevel,
config.get("Logging/fileLevel").as(Level.class).orElse(Level.INFO)));
logger.addHandler(fh);
ConsoleHandler ch = new ConsoleHandler();
-
ch.setLevel(firstNonNull(logConfig.consoleLevel,
config.get("Logging/consoleLevel").as(Level.class).orElse(Level.WARNING)));
+
ch.setLevel(Utils.firstNonNull(logConfig.consoleLevel,
config.get("Logging/consoleLevel").as(Level.class).orElse(Level.WARNING)));
ch.setFormatter(f);
logger.addHandler(ch);
}
diff --git
a/juneau-microservice/juneau-microservice-jetty/src/main/java/org/apache/juneau/microservice/jetty/JettyMicroservice.java
b/juneau-microservice/juneau-microservice-jetty/src/main/java/org/apache/juneau/microservice/jetty/JettyMicroservice.java
index 0fa47186e..9c7141f56 100644
---
a/juneau-microservice/juneau-microservice-jetty/src/main/java/org/apache/juneau/microservice/jetty/JettyMicroservice.java
+++
b/juneau-microservice/juneau-microservice-jetty/src/main/java/org/apache/juneau/microservice/jetty/JettyMicroservice.java
@@ -42,11 +42,10 @@ import org.apache.juneau.BasicRuntimeException;
import org.apache.juneau.ExecutableException;
import org.apache.juneau.collections.Args;
import org.apache.juneau.collections.JsonMap;
-import org.apache.juneau.common.internal.IOUtils;
+import org.apache.juneau.common.internal.*;
import org.apache.juneau.config.Config;
import org.apache.juneau.config.store.ConfigStore;
import org.apache.juneau.cp.Messages;
-import org.apache.juneau.internal.ObjectUtils;
import org.apache.juneau.microservice.Microservice;
import org.apache.juneau.microservice.console.ConsoleCommand;
import org.apache.juneau.parser.ParseException;
@@ -692,7 +691,7 @@ public class JettyMicroservice extends Microservice {
JsonMap mf = getManifest();
VarResolver vr = getVarResolver();
- int[] ports = ObjectUtils.firstNonNull(builder.ports,
cf.get("Jetty/port").as(int[].class).orElseGet(()->mf.getWithDefault("Jetty-Port",
new int[]{8000}, int[].class)));
+ int[] ports = Utils.firstNonNull(builder.ports,
cf.get("Jetty/port").as(int[].class).orElseGet(()->mf.getWithDefault("Jetty-Port",
new int[]{8000}, int[].class)));
int availablePort = findOpenPort(ports);
if (System.getProperty("availablePort") == null)
@@ -700,7 +699,7 @@ public class JettyMicroservice extends Microservice {
String jettyXml = builder.jettyXml;
String jettyConfig =
cf.get("Jetty/config").orElse(mf.getString("Jetty-Config", "jetty.xml"));
- boolean resolveVars =
ObjectUtils.firstNonNull(builder.jettyXmlResolveVars,
cf.get("Jetty/resolveVars").asBoolean().orElse(false));
+ boolean resolveVars =
Utils.firstNonNull(builder.jettyXmlResolveVars,
cf.get("Jetty/resolveVars").asBoolean().orElse(false));
if (jettyXml == null)
jettyXml =
IOUtils.loadSystemResourceAsString("jetty.xml", ".", "files");
diff --git
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseContent.java
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseContent.java
index 247facb29..0f020aae0 100644
---
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseContent.java
+++
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseContent.java
@@ -120,7 +120,7 @@ public class ResponseContent implements HttpEntity {
this.request = request;
this.response = response;
this.parser = parser;
- this.entity =
ObjectUtils.firstNonNull(response.asHttpResponse().getEntity(), NULL_ENTITY);
+ this.entity =
Utils.firstNonNull(response.asHttpResponse().getEntity(), NULL_ENTITY);
}
//------------------------------------------------------------------------------------------------------------------
diff --git
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/BasicStatusLine.java
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/BasicStatusLine.java
index 8d753825b..d67fea189 100644
---
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/BasicStatusLine.java
+++
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/BasicStatusLine.java
@@ -19,6 +19,7 @@ import java.util.*;
import org.apache.http.*;
import org.apache.http.impl.*;
import org.apache.http.message.*;
+import org.apache.juneau.common.internal.*;
import org.apache.juneau.http.BasicStatusLine;
import org.apache.juneau.internal.*;
@@ -166,7 +167,7 @@ public class BasicStatusLine implements StatusLine {
@Override /* StatusLine */
public String getReasonPhrase() {
if (reasonPhrase == null) {
- ReasonPhraseCatalog rfc =
firstNonNull(reasonPhraseCatalog, EnglishReasonPhraseCatalog.INSTANCE);
+ ReasonPhraseCatalog rfc =
Utils.firstNonNull(reasonPhraseCatalog, EnglishReasonPhraseCatalog.INSTANCE);
return rfc.getReason(statusCode, locale);
}
return reasonPhrase;
diff --git
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicHeader.java
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicHeader.java
index e9364f73d..ec44700fe 100644
---
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicHeader.java
+++
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicHeader.java
@@ -115,7 +115,7 @@ public class BasicHeader implements Header, Cloneable,
Serializable {
this.name = name;
this.value = value instanceof Supplier ? null : value;
this.stringValue = stringify(value);
- this.supplier = cast(Supplier.class, value);
+ this.supplier = Utils.cast(Supplier.class, value);
}
/**
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/debug/DebugEnablement.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/debug/DebugEnablement.java
index 7e7588759..77f935611 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/debug/DebugEnablement.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/debug/DebugEnablement.java
@@ -21,6 +21,7 @@ import java.util.function.*;
import jakarta.servlet.http.*;
import org.apache.juneau.*;
+import org.apache.juneau.common.internal.*;
import org.apache.juneau.cp.*;
import org.apache.juneau.http.response.*;
import org.apache.juneau.rest.*;
@@ -231,9 +232,9 @@ public abstract class DebugEnablement {
*/
public DebugEnablement(BeanStore beanStore) {
Builder builder = init(beanStore);
- this.defaultEnablement =
firstNonNull(builder.defaultEnablement, NEVER);
+ this.defaultEnablement =
Utils.firstNonNull(builder.defaultEnablement, NEVER);
this.enablementMap = builder.mapBuilder.build();
- this.conditionalPredicate = firstNonNull(builder.conditional, x
-> "true".equalsIgnoreCase(x.getHeader("Debug")));
+ this.conditionalPredicate =
Utils.firstNonNull(builder.conditional, x ->
"true".equalsIgnoreCase(x.getHeader("Debug")));
}
/**
@@ -242,9 +243,9 @@ public abstract class DebugEnablement {
* @param builder The builder for this enablement.
*/
public DebugEnablement(Builder builder) {
- this.defaultEnablement =
firstNonNull(builder.defaultEnablement, NEVER);
+ this.defaultEnablement =
Utils.firstNonNull(builder.defaultEnablement, NEVER);
this.enablementMap = builder.mapBuilder.build();
- this.conditionalPredicate = firstNonNull(builder.conditional, x
-> "true".equalsIgnoreCase(x.getHeader("Debug")));
+ this.conditionalPredicate =
Utils.firstNonNull(builder.conditional, x ->
"true".equalsIgnoreCase(x.getHeader("Debug")));
}
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/CallLogger.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/CallLogger.java
index 7091973cf..9f2d67640 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/CallLogger.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/CallLogger.java
@@ -582,16 +582,16 @@ public class CallLogger {
if (! isEnabled(rule, req))
return;
- Level level = firstNonNull(rule.getLevel(), this.level);
+ Level level = Utils.firstNonNull(rule.getLevel(), this.level);
if (level == Level.OFF)
return;
- Throwable e =
ObjectUtils.castOrNull(req.getAttribute("Exception"), Throwable.class);
- Long execTime =
ObjectUtils.castOrNull(req.getAttribute("ExecTime"), Long.class);
+ Throwable e = Utils.castOrNull(req.getAttribute("Exception"),
Throwable.class);
+ Long execTime = Utils.castOrNull(req.getAttribute("ExecTime"),
Long.class);
- CallLoggingDetail reqd = firstNonNull(rule.getRequestDetail(),
requestDetail);
- CallLoggingDetail resd = firstNonNull(rule.getResponseDetail(),
responseDetail);
+ CallLoggingDetail reqd =
Utils.firstNonNull(rule.getRequestDetail(), requestDetail);
+ CallLoggingDetail resd =
Utils.firstNonNull(rule.getResponseDetail(), responseDetail);
String method = req.getMethod();
int status = res.getStatus();
@@ -721,7 +721,7 @@ public class CallLogger {
* @see RestOp#debug()
*/
protected boolean isDebug(HttpServletRequest req) {
- return
firstNonNull(ObjectUtils.castOrNull(req.getAttribute("Debug"), Boolean.class),
false);
+ return
Utils.firstNonNull(Utils.castOrNull(req.getAttribute("Debug"), Boolean.class),
false);
}
/**
@@ -739,8 +739,8 @@ public class CallLogger {
* @return <jk>true</jk> if logging is enabled for this request.
*/
protected boolean isEnabled(CallLoggerRule rule, HttpServletRequest
req) {
- Enablement enabled = firstNonNull(rule.getEnabled(),
this.enabled);
- Predicate<HttpServletRequest> enabledTest =
firstNonNull(rule.getEnabledTest(), this.enabledTest);
+ Enablement enabled = Utils.firstNonNull(rule.getEnabled(),
this.enabled);
+ Predicate<HttpServletRequest> enabledTest =
Utils.firstNonNull(rule.getEnabledTest(), this.enabledTest);
return enabled.isEnabled(enabledTest.test(req));
}
@@ -780,13 +780,13 @@ public class CallLogger {
private byte[] getRequestContent(HttpServletRequest req) {
if (req instanceof CachingHttpServletRequest)
return ((CachingHttpServletRequest)req).getContent();
- return
ObjectUtils.castOrNull(req.getAttribute("RequestContent"), byte[].class);
+ return Utils.castOrNull(req.getAttribute("RequestContent"),
byte[].class);
}
private byte[] getResponseContent(HttpServletRequest req,
HttpServletResponse res) {
if (res instanceof CachingHttpServletResponse)
return ((CachingHttpServletResponse)res).getContent();
- return
ObjectUtils.castOrNull(req.getAttribute("ResponseContent"), byte[].class);
+ return Utils.castOrNull(req.getAttribute("ResponseContent"),
byte[].class);
}
private ThrownStats getThrownStats(Throwable e) {
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/stats/ThrownStore.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/stats/ThrownStore.java
index 4a4c70702..2e1efbcb7 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/stats/ThrownStore.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/stats/ThrownStore.java
@@ -21,6 +21,7 @@ import java.util.*;
import java.util.concurrent.*;
import org.apache.juneau.*;
+import org.apache.juneau.common.internal.*;
import org.apache.juneau.cp.*;
import org.apache.juneau.internal.*;
@@ -177,7 +178,7 @@ public class ThrownStore {
this.parent = optional(builder.parent);
this.beanStore = builder.beanStore();
- this.statsImplClass = firstNonNull(builder.statsImplClass,
parent.isPresent() ? parent.get().statsImplClass : null, null);
+ this.statsImplClass =
Utils.firstNonNull(builder.statsImplClass, parent.isPresent() ?
parent.get().statsImplClass : null, null);
Set<String> s = null;
if (builder.ignoreClasses != null)
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/swagger/BasicSwaggerProviderSession.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/swagger/BasicSwaggerProviderSession.java
index 5b7dff7e8..d901c8535 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/swagger/BasicSwaggerProviderSession.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/swagger/BasicSwaggerProviderSession.java
@@ -723,7 +723,7 @@ public class BasicSwaggerProviderSession {
@SafeVarargs
private final <T> T firstNonEmpty(T...t) {
for (T oo : t)
- if (! ObjectUtils.isEmpty(oo))
+ if (! Utils.isEmpty(oo))
return oo;
return null;
}
@@ -803,7 +803,7 @@ public class BasicSwaggerProviderSession {
* Replaces non-standard JSON-Schema attributes with standard Swagger
attributes.
*/
private JsonMap fixSwaggerExtensions(JsonMap om) {
- Predicate<Object> nn = ObjectUtils::isNotNull;
+ Predicate<Object> nn = Utils::isNotNull;
om
.appendIf(nn, "discriminator",
om.remove("x-discriminator"))
.appendIf(nn, "readOnly", om.remove("x-readOnly"))
@@ -934,8 +934,8 @@ public class BasicSwaggerProviderSession {
Predicate<String> ne = StringUtils::isNotEmpty;
Predicate<Collection<?>> nec =
CollectionUtils::isNotEmpty;
Predicate<Map<?,?>> nem = CollectionUtils::isNotEmpty;
- Predicate<Boolean> nf = ObjectUtils::isTrue;
- Predicate<Long> nm1 = ObjectUtils::isNotMinusOne;
+ Predicate<Boolean> nf = Utils::isTrue;
+ Predicate<Long> nm1 = Utils::isNotMinusOne;
return om
.appendIf(nem, "additionalProperties",
toJsonMap(a.additionalProperties()))
.appendIf(ne, "allOf", joinnl(a.allOf()))
@@ -992,8 +992,8 @@ public class BasicSwaggerProviderSession {
Predicate<String> ne = StringUtils::isNotEmpty;
Predicate<Collection<?>> nec = CollectionUtils::isNotEmpty;
Predicate<Map<?,?>> nem = CollectionUtils::isNotEmpty;
- Predicate<Boolean> nf = ObjectUtils::isTrue;
- Predicate<Long> nm1 = ObjectUtils::isNotMinusOne;
+ Predicate<Boolean> nf = Utils::isTrue;
+ Predicate<Long> nm1 = Utils::isNotMinusOne;
return om
.appendFirst(ne, "collectionFormat",
a.collectionFormat(), a.cf())
.appendIf(ne, "default", joinnl(a._default(), a.df()))
@@ -1023,8 +1023,8 @@ public class BasicSwaggerProviderSession {
Predicate<String> ne = StringUtils::isNotEmpty;
Predicate<Collection<?>> nec = CollectionUtils::isNotEmpty;
Predicate<Map<?,?>> nem = CollectionUtils::isNotEmpty;
- Predicate<Boolean> nf = ObjectUtils::isTrue;
- Predicate<Long> nm1 = ObjectUtils::isNotMinusOne;
+ Predicate<Boolean> nf = Utils::isTrue;
+ Predicate<Long> nm1 = Utils::isNotMinusOne;
return om
.appendFirst(ne, "collectionFormat",
a.collectionFormat(), a.cf())
.appendIf(ne, "default", joinnl(a._default(), a.df()))
@@ -1075,7 +1075,7 @@ public class BasicSwaggerProviderSession {
}
private JsonMap pushupSchemaFields(RestPartType type, JsonMap param,
JsonMap schema) {
- Predicate<Object> ne = ObjectUtils::isNotEmpty;
+ Predicate<Object> ne = Utils::isNotEmpty;
if (schema != null && ! schema.isEmpty()) {
if (type == BODY || type == RESPONSE) {
param