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 2020/01/05 18:13:41 UTC

[isis] branch master updated (7de533a -> 5e221bf)

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

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


    from 7de533a  ISIS-2255: sync-adoc.sh
     new 3812891  ISIS-2253: fixes false positive on homepage action facet count
     new 5e221bf  ISIS-2253: workaround for DemoApp to pass MM validation

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../homepage/annotation/HomePageFacetAnnotationFactory.java  | 12 ++++++------
 .../services/homepage/HomePageResolverServiceDefault.java    | 10 ++++++----
 .../java/demoapp/dom/actions/assoc/AssociatedActionDemo.java |  7 +++++++
 3 files changed, 19 insertions(+), 10 deletions(-)


[isis] 02/02: ISIS-2253: workaround for DemoApp to pass MM validation

Posted by ah...@apache.org.
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

commit 5e221bfc69c95e7bad1a2c1b86ae7f06c373a2ec
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sun Jan 5 19:13:33 2020 +0100

    ISIS-2253: workaround for DemoApp to pass MM validation
---
 .../main/java/demoapp/dom/actions/assoc/AssociatedActionDemo.java  | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/examples/demo/src/main/java/demoapp/dom/actions/assoc/AssociatedActionDemo.java b/examples/demo/src/main/java/demoapp/dom/actions/assoc/AssociatedActionDemo.java
index 169395a..b1ee14a 100644
--- a/examples/demo/src/main/java/demoapp/dom/actions/assoc/AssociatedActionDemo.java
+++ b/examples/demo/src/main/java/demoapp/dom/actions/assoc/AssociatedActionDemo.java
@@ -18,6 +18,7 @@
  */
 package demoapp.dom.actions.assoc;
 
+import java.util.Collections;
 import java.util.LinkedHashSet;
 import java.util.Set;
 
@@ -35,6 +36,7 @@ import org.apache.isis.applib.annotation.Editing;
 import org.apache.isis.applib.annotation.Nature;
 import org.apache.isis.applib.annotation.PromptStyle;
 import org.apache.isis.applib.services.message.MessageService;
+import org.apache.isis.incubator.model.applib.annotation.Model;
 
 import lombok.Getter;
 
@@ -69,4 +71,9 @@ public class AssociatedActionDemo extends DemoStub {
         items.add(DemoItem.of("last"));
     }
 
+    @Model //FIXME just a workaround, remove this supporting method!
+    public Set<DemoItem> choices0DoSomethingWithItems() {
+        return Collections.emptySet();
+    }
+    
 }


[isis] 01/02: ISIS-2253: fixes false positive on homepage action facet count

Posted by ah...@apache.org.
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

commit 3812891a1ff6ce248ff2cffbf7ac22f30bbf420d
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sun Jan 5 19:12:50 2020 +0100

    ISIS-2253: fixes false positive on homepage action facet count
---
 .../homepage/annotation/HomePageFacetAnnotationFactory.java  | 12 ++++++------
 .../services/homepage/HomePageResolverServiceDefault.java    | 10 ++++++----
 2 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/homepage/annotation/HomePageFacetAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/homepage/annotation/HomePageFacetAnnotationFactory.java
index 991b53b..60d874c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/homepage/annotation/HomePageFacetAnnotationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/homepage/annotation/HomePageFacetAnnotationFactory.java
@@ -20,13 +20,13 @@
 package org.apache.isis.metamodel.facets.actions.homepage.annotation;
 
 import java.util.HashSet;
-import java.util.List;
+import java.util.Map;
 import java.util.Set;
 import java.util.stream.Collectors;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.annotation.HomePage;
-import org.apache.isis.commons.internal.collections._Lists;
+import org.apache.isis.commons.internal.collections._Maps;
 import org.apache.isis.metamodel.facetapi.FacetUtil;
 import org.apache.isis.metamodel.facetapi.FeatureType;
 import org.apache.isis.metamodel.facetapi.MetaModelRefiner;
@@ -75,7 +75,7 @@ implements MetaModelRefiner {
     private Visitor newValidatorVisitor() {
         return new MetaModelValidatorVisiting.SummarizingVisitor() {
 
-            private final List<ObjectAction> actionsHavingHomePageFacet = _Lists.newArrayList();
+            private final Map<String, ObjectAction> actionsHavingHomePageFacet = _Maps.newHashMap();
 
             @Override
             public boolean visit(ObjectSpecification objectSpec, MetaModelValidator validator) {
@@ -87,7 +87,7 @@ implements MetaModelRefiner {
                 .filter(objectAction->objectAction.containsFacet(HomePageFacet.class))
                 .forEach(objectAction->{
                     
-                    actionsHavingHomePageFacet.add(objectAction);
+                    actionsHavingHomePageFacet.put(objectAction.getId(), objectAction);
 
                     // TODO: it would be good to flag if the facet is found on any non-services, however
                     // ObjectSpecification.isService(...) can only be trusted once a PersistenceSession 
@@ -105,12 +105,12 @@ implements MetaModelRefiner {
             public void summarize(MetaModelValidator validator) {
                 if(actionsHavingHomePageFacet.size()>1) {
                     
-                    final Set<String> homepageActionIdSet = actionsHavingHomePageFacet.stream()
+                    final Set<String> homepageActionIdSet = actionsHavingHomePageFacet.values().stream()
                             .map(ObjectAction::getIdentifier)
                             .map(Identifier::toClassAndNameIdentityString)
                             .collect(Collectors.toCollection(HashSet::new));
                     
-                    for (val objectAction : actionsHavingHomePageFacet) {
+                    for (val objectAction : actionsHavingHomePageFacet.values()) {
                         val actionIdentifier = objectAction.getIdentifier(); 
                         val actionId = actionIdentifier.toClassAndNameIdentityString();
                         val colission = homepageActionIdSet.stream()
diff --git a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/homepage/HomePageResolverServiceDefault.java b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/homepage/HomePageResolverServiceDefault.java
index 8427e9c..bf3cd28 100644
--- a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/homepage/HomePageResolverServiceDefault.java
+++ b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/homepage/HomePageResolverServiceDefault.java
@@ -28,9 +28,10 @@ import org.springframework.core.annotation.Order;
 import org.springframework.stereotype.Service;
 
 import org.apache.isis.applib.annotation.Action;
+import org.apache.isis.applib.annotation.DomainObject;
 import org.apache.isis.applib.annotation.HomePage;
+import org.apache.isis.applib.annotation.Nature;
 import org.apache.isis.applib.annotation.OrderPrecedence;
-import org.apache.isis.applib.annotation.ViewModel;
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.applib.services.factory.FactoryService;
 import org.apache.isis.applib.services.registry.ServiceRegistry;
@@ -51,14 +52,12 @@ import org.apache.isis.metamodel.spec.feature.ObjectAction;
 import org.apache.isis.metamodel.specloader.SpecificationLoader;
 
 import lombok.val;
-import lombok.extern.log4j.Log4j2;
 
 @Service
 @Named("isisRuntimeServices.HomePageResolverServiceDefault")
 @Order(OrderPrecedence.MIDPOINT)
 @Primary
 @Qualifier("Default")
-@Log4j2
 public class HomePageResolverServiceDefault implements HomePageResolverService {
 
     @Inject private FactoryService factoryService;
@@ -124,7 +123,10 @@ public class HomePageResolverServiceDefault implements HomePageResolverService {
         return homePageAction;
     }
 
-    @Vetoed @ViewModel
+    @Vetoed
+    @DomainObject(
+            nature = Nature.INMEMORY_ENTITY, 
+            objectType = "isisRuntimeServices.HomePageResolverServiceDefault.HomePageActionContainer")
     public static class HomePageActionContainer {
 
         @Inject private FactoryService factoryService;