You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2022/04/13 17:49:19 UTC

[isis] branch master updated: ISIS-3003: RO: fixes regression in null argument processing

This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/master by this push:
     new fa5eed6db5 ISIS-3003: RO: fixes regression in null argument processing
fa5eed6db5 is described below

commit fa5eed6db530596d2a45c033292ab3be72237360
Author: Andi Huber <ah...@apache.org>
AuthorDate: Wed Apr 13 19:49:13 2022 +0200

    ISIS-3003: RO: fixes regression in null argument processing
---
 .../restfulobjects/client/ActionParameterListBuilder.java |  2 +-
 .../viewer/resources/ObjectActionArgHelper.java           | 15 +++++++++------
 2 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/viewers/restfulobjects/client/src/main/java/org/apache/isis/viewer/restfulobjects/client/ActionParameterListBuilder.java b/viewers/restfulobjects/client/src/main/java/org/apache/isis/viewer/restfulobjects/client/ActionParameterListBuilder.java
index 6956e0fc49..33272868e5 100644
--- a/viewers/restfulobjects/client/src/main/java/org/apache/isis/viewer/restfulobjects/client/ActionParameterListBuilder.java
+++ b/viewers/restfulobjects/client/src/main/java/org/apache/isis/viewer/restfulobjects/client/ActionParameterListBuilder.java
@@ -39,7 +39,7 @@ public class ActionParameterListBuilder {
     public ActionParameterListBuilder addActionParameter(final String parameterName, final String parameterValue) {
         actionParameters.put(parameterName, parameterValue != null
                 ? value("\"" + parameterValue + "\"")
-                        : value(JSON_NULL_LITERAL));
+                : value(JSON_NULL_LITERAL));
         actionParameterTypes.put(parameterName, String.class);
         return this;
     }
diff --git a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/ObjectActionArgHelper.java b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/ObjectActionArgHelper.java
index ee7444504c..ea83128bbb 100644
--- a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/ObjectActionArgHelper.java
+++ b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/ObjectActionArgHelper.java
@@ -59,12 +59,15 @@ public class ObjectActionArgHelper {
             val paramMeta = parameters.getElseFail(argIndex);
             val paramSpec = paramMeta.getElementType();
 
-            val tryArgument = Try.call(()->
-                    (paramMeta.isOptional()
-                            && argRepr == null)
-                    ? ManagedObject.empty(paramSpec)
-                    : new JsonParserHelper(resourceContext, paramSpec)
-                            .objectAdapterFor(argRepr));
+            val tryArgument = (paramMeta.isOptional()
+                    && argRepr == null)
+                    ? Try.success(ManagedObject.empty(paramSpec))
+                    : Try.call(()->
+                        new JsonParserHelper(resourceContext, paramSpec)
+                            .objectAdapterFor(argRepr))
+                        .mapSuccess(success->success!=null
+                                ? success
+                                : ManagedObject.empty(paramSpec));
 
             val objectOrVeto = tryArgument.<Railway<InteractionVeto, ManagedObject>>fold(
                     exception->Railway.failure(