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 82ea6d092a Marshall module improvements
82ea6d092a is described below
commit 82ea6d092a2319038bf095881a14b2a89f4e8ca7
Author: James Bognar <[email protected]>
AuthorDate: Fri Dec 12 18:45:03 2025 -0500
Marshall module improvements
---
.../src/main/java/org/apache/juneau/commons/utils/CollectionUtils.java | 3 +++
.../src/main/java/org/apache/juneau/commons/utils/StringUtils.java | 2 +-
.../src/main/java/org/apache/juneau/BeanPropertyMeta.java | 2 +-
.../src/main/java/org/apache/juneau/BeanTraverseSession.java | 3 ++-
.../src/main/java/org/apache/juneau/collections/JsonMap.java | 2 +-
.../src/main/java/org/apache/juneau/serializer/Serializer.java | 2 +-
.../src/main/java/org/apache/juneau/rest/mock/MockPathResolver.java | 3 ++-
.../src/main/java/org/apache/juneau/rest/RestSession.java | 2 +-
.../main/java/org/apache/juneau/rest/httppart/RequestPathParams.java | 2 +-
.../src/main/java/org/apache/juneau/rest/util/UrlPathMatch.java | 3 ++-
10 files changed, 15 insertions(+), 9 deletions(-)
diff --git
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/CollectionUtils.java
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/CollectionUtils.java
index 92b335a864..3e30c4c13c 100644
---
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/CollectionUtils.java
+++
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/CollectionUtils.java
@@ -1584,6 +1584,9 @@ public class CollectionUtils {
return Collections.emptyMap();
}
+ public static <K,V> Map<K,V> mape() {
+ return Collections.emptyMap();
+ }
/**
* Returns a null map.
*
diff --git
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/StringUtils.java
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/StringUtils.java
index 2500475717..7f1f616d0c 100644
---
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/StringUtils.java
+++
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/StringUtils.java
@@ -6409,7 +6409,7 @@ public class StringUtils {
if (s == null)
return null; // NOSONAR - Intentional.
if (isEmpty(s))
- return Collections.emptyMap();
+ return mape();
var m = new LinkedHashMap<String,String>();
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanPropertyMeta.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanPropertyMeta.java
index 6a401231ca..f6d94bf103 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanPropertyMeta.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanPropertyMeta.java
@@ -830,7 +830,7 @@ public class BeanPropertyMeta implements
Comparable<BeanPropertyMeta> {
return (Map)field.get(bean);
throw bex(beanMeta.getClassMeta(), "Getter or public
field not defined on property ''{0}''", name);
}
- return Collections.EMPTY_MAP;
+ return mape();
}
/**
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 040b3820f7..b7a0952af1 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
@@ -17,6 +17,7 @@
package org.apache.juneau;
import static org.apache.juneau.collections.JsonMap.*;
+import static org.apache.juneau.commons.utils.CollectionUtils.*;
import static org.apache.juneau.commons.utils.Utils.*;
import java.text.*;
@@ -182,7 +183,7 @@ public class BeanTraverseSession extends BeanSession {
if (isDetectRecursions() || isDebug()) {
set = new IdentityHashMap<>();
} else {
- set = Collections.emptyMap();
+ set = mape();
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/collections/JsonMap.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/collections/JsonMap.java
index 0747325bb3..9daf3f8b51 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/collections/JsonMap.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/collections/JsonMap.java
@@ -161,7 +161,7 @@ public class JsonMap extends LinkedHashMap<String,Object> {
@Override /* Overridden from Map */
public Collection<Object> values() {
- return Collections.emptyMap().values();
+ return mape().values();
}
};
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/Serializer.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/Serializer.java
index 3b9afeab71..395808aee3 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/Serializer.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/Serializer.java
@@ -1379,7 +1379,7 @@ public class Serializer extends BeanTraverseContext {
* Never <jk>null</jk>.
*/
public Map<String,String> getResponseHeaders(SerializerSession session)
{
- return Collections.emptyMap();
+ return mape();
}
@Override /* Overridden from Context */
diff --git
a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockPathResolver.java
b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockPathResolver.java
index 9313e3e63f..d233a92364 100644
---
a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockPathResolver.java
+++
b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockPathResolver.java
@@ -16,6 +16,7 @@
*/
package org.apache.juneau.rest.mock;
+import static org.apache.juneau.commons.utils.CollectionUtils.*;
import static org.apache.juneau.commons.utils.StateEnum.*;
import static org.apache.juneau.commons.utils.StringUtils.*;
import static org.apache.juneau.commons.utils.ThrowableUtils.*;
@@ -142,7 +143,7 @@ class MockPathResolver {
pathToResolve = emptyIfNull(pathToResolve);
if (! (pathToResolve.startsWith("http://") ||
pathToResolve.startsWith("https://"))) {
- pathToResolve = fixSegment(pathToResolve,
Collections.emptyMap());
+ pathToResolve = fixSegment(pathToResolve, mape());
this.uri = target + contextPath + servletPath +
pathToResolve;
this.target = target;
this.contextPath = contextPath;
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestSession.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestSession.java
index 6be399cf59..55a3dcd3da 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestSession.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestSession.java
@@ -380,7 +380,7 @@ public class RestSession extends ContextSession {
@SuppressWarnings("unchecked")
public Map<String,String> getPathVars() {
var m =
(Map<String,String>)req.getAttribute(REST_PATHVARS_ATTR);
- return m == null ? Collections.emptyMap() : m;
+ return m == null ? mape() : m;
}
/**
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestPathParams.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestPathParams.java
index b4be06eb79..39945623a1 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestPathParams.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestPathParams.java
@@ -128,7 +128,7 @@ public class RequestPathParams extends
ArrayList<RequestPathParam> {
// Add parameters from parent context if any.
@SuppressWarnings("unchecked")
- var parentVars =
(Map<String,String>)req.getAttribute("juneau.pathVars").orElse(Collections.emptyMap());
+ var parentVars =
(Map<String,String>)req.getAttribute("juneau.pathVars").orElse(mape());
for (var e : parentVars.entrySet())
add(e.getKey(), e.getValue());
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/UrlPathMatch.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/UrlPathMatch.java
index 866feeaec9..14bb810a8a 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/UrlPathMatch.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/UrlPathMatch.java
@@ -17,6 +17,7 @@
package org.apache.juneau.rest.util;
import static org.apache.juneau.collections.JsonMap.*;
+import static org.apache.juneau.commons.utils.CollectionUtils.*;
import static org.apache.juneau.commons.utils.StringUtils.*;
import static org.apache.juneau.commons.utils.Utils.*;
@@ -48,7 +49,7 @@ public class UrlPathMatch {
protected UrlPathMatch(String path, int matchedParts, String[] keys,
String[] values) {
this.path = path;
this.matchedParts = matchedParts;
- this.vars = keys == null ? Collections.emptyMap() : new
SimpleMap<>(keys, values);
+ this.vars = keys == null ? mape() : new SimpleMap<>(keys,
values);
}
/**