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 2021/12/09 15:46:16 UTC
[isis] branch master updated: ISIS-2911: [REST] simplified renderer fixes
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 54b9091 ISIS-2911: [REST] simplified renderer fixes
54b9091 is described below
commit 54b9091c2787b366a412bf9b4297d2fcc80459d0
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Dec 9 16:45:23 2021 +0100
ISIS-2911: [REST] simplified renderer fixes
- also a regression since introducing new PackedManagedObject
---
.../restfulobjects/rendering/domainobjects/ListReprRenderer.java | 5 ++++-
.../rendering/domainobjects/ObjectAndActionInvocation.java | 4 +++-
.../rendering/domainobjects/ObjectCollectionReprRenderer.java | 6 ++----
3 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ListReprRenderer.java b/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ListReprRenderer.java
index 3e57342..db8cf2c5 100644
--- a/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ListReprRenderer.java
+++ b/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ListReprRenderer.java
@@ -40,7 +40,10 @@ extends ReprRendererAbstract<Stream<ManagedObject>> {
private ObjectSpecification returnType;
private Rel elementRel;
- public ListReprRenderer(final IResourceContext resourceContext, final LinkFollowSpecs linkFollower, final JsonRepresentation representation) {
+ public ListReprRenderer(
+ final IResourceContext resourceContext,
+ final LinkFollowSpecs linkFollower,
+ final JsonRepresentation representation) {
super(resourceContext, linkFollower, RepresentationType.LIST, representation);
usingLinkToBuilder(new DomainObjectLinkTo());
}
diff --git a/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectAndActionInvocation.java b/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectAndActionInvocation.java
index 897bcf8..d428d44 100644
--- a/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectAndActionInvocation.java
+++ b/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectAndActionInvocation.java
@@ -27,6 +27,7 @@ import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
import org.apache.isis.core.metamodel.interactions.managed.ActionInteraction;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.core.metamodel.spec.PackedManagedObject;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
import org.apache.isis.viewer.restfulobjects.applib.domainobjects.ActionResultRepresentation;
@@ -77,7 +78,8 @@ public class ObjectAndActionInvocation {
// which is introspected eagerly on application start and should be the binding contract
val actualReturnTypeSpec = returnedAdapter.getSpecification();
- if (isVector(actualReturnTypeSpec)) {
+ if (returnedAdapter instanceof PackedManagedObject
+ || isVector(actualReturnTypeSpec)) {
// though not strictly required, try to be consistent: empty list vs populated list
if(elementAdapters.get().isEmpty()) {
diff --git a/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectCollectionReprRenderer.java b/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectCollectionReprRenderer.java
index 770ab8f..286028b 100644
--- a/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectCollectionReprRenderer.java
+++ b/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectCollectionReprRenderer.java
@@ -20,7 +20,6 @@ package org.apache.isis.viewer.restfulobjects.rendering.domainobjects;
import java.util.List;
import java.util.Objects;
-import java.util.stream.Stream;
import org.apache.isis.applib.annotation.Where;
import org.apache.isis.commons.internal.collections._Lists;
@@ -103,11 +102,10 @@ extends AbstractObjectMemberReprRenderer<OneToManyAssociation> {
&& renderEagerly(valueAdapter)
|| !followHref.isTerminated();
- final Stream<ManagedObject> elementAdapters = CollectionFacet.streamAdapters(valueAdapter);
-
final List<JsonRepresentation> list = _Lists.newArrayList();
- elementAdapters.forEach(elementAdapter->{
+ CollectionFacet.streamAdapters(valueAdapter)
+ .forEach(elementAdapter->{
final LinkBuilder valueLinkBuilder = DomainObjectReprRenderer
.newLinkToBuilder(resourceContext, Rel.VALUE, elementAdapter);
if(eagerlyRender) {