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 4033e736ba ISIS-3309: pagesize facet precedence fixes (2) 4033e736ba is described below commit 4033e736ba6b95f16a5ab099b113aec95382226f Author: Andi Huber <ahu...@apache.org> AuthorDate: Wed Jan 11 13:50:40 2023 +0100 ISIS-3309: pagesize facet precedence fixes (2) --- .../causeway/core/metamodel/spec/feature/ObjectMember.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/feature/ObjectMember.java b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/feature/ObjectMember.java index b98f7b7224..b0f9903f88 100644 --- a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/feature/ObjectMember.java +++ b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/feature/ObjectMember.java @@ -37,6 +37,7 @@ import org.apache.causeway.commons.internal.factory._InstanceUtil; import org.apache.causeway.core.metamodel.consent.Consent; import org.apache.causeway.core.metamodel.consent.InteractionInitiatedBy; import org.apache.causeway.core.metamodel.facetapi.FacetHolder; +import org.apache.causeway.core.metamodel.facetapi.FacetUtil; import org.apache.causeway.core.metamodel.facets.all.hide.HiddenFacet; import org.apache.causeway.core.metamodel.facets.collections.sortedby.SortedByFacet; import org.apache.causeway.core.metamodel.facets.members.layout.group.LayoutGroupFacet; @@ -242,10 +243,13 @@ public interface ObjectMember extends ObjectFeature { // -- COLLECTION PAGE SIZE (COLL + NON-SCALAR ACTION RESULT) + /** + * @apiNote in theory should never return empty, as there are supposed to be fallback {@link PagedFacet}s + * installed originating from configuration + */ default OptionalInt getPageSize() { - return Stream.of(this, getElementType()) - .map(facetHolder->facetHolder.getFacet(PagedFacet.class)) - .filter(_NullSafe::isPresent) + return FacetUtil.lookupFacetIn(PagedFacet.class, this, getElementType()) + .stream() .mapToInt(PagedFacet::value) .findFirst(); }