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/09/03 12:05:51 UTC

[isis] branch master updated: ISIS-2774: fixes MM validation when annotations on inherited abstract method

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 ee9f888  ISIS-2774: fixes MM validation  when annotations on inherited abstract method
ee9f888 is described below

commit ee9f88855c6c39e668668e007e9e3600e3b49fa1
Author: Andi Huber <ah...@apache.org>
AuthorDate: Fri Sep 3 14:05:45 2021 +0200

    ISIS-2774: fixes MM validation  when annotations on inherited abstract
    method
---
 ...mainIncludeAnnotationEnforcesMetamodelContributionValidator.java | 6 ++----
 .../isis/testdomain/model/good/ProperMemberInheritanceAbstract.java | 6 ++++--
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/methods/DomainIncludeAnnotationEnforcesMetamodelContributionValidator.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/methods/DomainIncludeAnnotationEnforcesMetamodelContributionValidator.java
index f625285..9794669 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/methods/DomainIncludeAnnotationEnforcesMetamodelContributionValidator.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/methods/DomainIncludeAnnotationEnforcesMetamodelContributionValidator.java
@@ -19,7 +19,6 @@
 package org.apache.isis.core.metamodel.methods;
 
 import java.lang.reflect.Method;
-import java.util.HashSet;
 import java.util.List;
 import java.util.Optional;
 import java.util.TreeSet;
@@ -90,14 +89,13 @@ extends MetaModelVisitingValidatorAbstract {
         .forEach(recognizedMemberMethods::add);
 
         // support methods known to the meta-model
-        val recognizedSupportMethods = new HashSet<Method>();
+        val recognizedSupportMethods = new TreeSet<Method>(_Reflect::methodWeakCompare);
 
         spec
         .streamFacetHolders()
         .flatMap(FacetHolder::streamFacetRankings)
         .map(facetRanking->facetRanking.getWinnerNonEvent(facetRanking.facetType()))
-        .filter(Optional::isPresent)
-        .map(Optional::get)
+        .flatMap(Optional::stream)
         .filter(ImperativeFacet.class::isInstance)
         .map(ImperativeFacet.class::cast)
         .map(ImperativeFacet::getMethods)
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberInheritanceAbstract.java b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberInheritanceAbstract.java
index 873431a..6670f5e 100644
--- a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberInheritanceAbstract.java
+++ b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberInheritanceAbstract.java
@@ -24,20 +24,22 @@ import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.applib.annotation.Collection;
 import org.apache.isis.applib.annotation.CollectionLayout;
+import org.apache.isis.applib.annotation.ObjectSupport;
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
+import org.apache.isis.applib.annotation.Title;
 
 import lombok.Getter;
 import lombok.Setter;
 
 abstract class ProperMemberInheritanceAbstract {
 
-    //@Title //FIXME[ISIS-2774] either not picked up, or validation fails when abstract
+    @Title
     public String title() {
         return "inherited title";
     }
 
-    //@ObjectSupport //FIXME[ISIS-2774] either not picked up, or validation fails when abstract
+    @ObjectSupport
     public String iconName() {
         return "inherited icon";
     }