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/05/28 08:15:44 UTC

[isis] branch master updated: ISIS-2340: minor simplification

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 2017428  ISIS-2340: minor simplification
2017428 is described below

commit 2017428cdbf2ee582ba0863838b8614c6d0d1afd
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu May 28 10:15:23 2020 +0200

    ISIS-2340: minor simplification
---
 .../viewer/vaadin/model/action/ActionFactoryVaa.java      | 12 +++++-------
 .../viewer/common/model/action/ActionUiModelFactory.java  | 10 ++++------
 .../common/model/menu/MenuUiModel_buildMenuItems.java     | 15 ++++++---------
 .../actionmenu/serviceactions/ServiceActionUtil.java      | 10 ++++------
 4 files changed, 19 insertions(+), 28 deletions(-)

diff --git a/incubator/viewers/vaadin/model/src/main/java/org/apache/isis/incubator/viewer/vaadin/model/action/ActionFactoryVaa.java b/incubator/viewers/vaadin/model/src/main/java/org/apache/isis/incubator/viewer/vaadin/model/action/ActionFactoryVaa.java
index c207311..ea7ba0d 100644
--- a/incubator/viewers/vaadin/model/src/main/java/org/apache/isis/incubator/viewer/vaadin/model/action/ActionFactoryVaa.java
+++ b/incubator/viewers/vaadin/model/src/main/java/org/apache/isis/incubator/viewer/vaadin/model/action/ActionFactoryVaa.java
@@ -21,8 +21,7 @@ package org.apache.isis.incubator.viewer.vaadin.model.action;
 import com.vaadin.flow.component.Component;
 import com.vaadin.flow.component.html.Label;
 
-import org.apache.isis.core.metamodel.spec.ManagedObject;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
+import org.apache.isis.core.metamodel.interactions.managed.ManagedAction;
 import org.apache.isis.core.webapp.context.IsisWebAppCommonContext;
 import org.apache.isis.incubator.viewer.vaadin.model.decorator.Decorators;
 import org.apache.isis.incubator.viewer.vaadin.model.entity.ObjectVaa;
@@ -39,16 +38,15 @@ public class ActionFactoryVaa implements ActionUiModelFactory<Component> {
     public ActionUiModel<Component> newAction(
             IsisWebAppCommonContext commonContext, 
             String named,
-            ManagedObject actionHolder, 
-            ObjectAction objectAction) {
+            ManagedAction managedAction) {
         
-        val serviceModel = new ObjectVaa(commonContext, actionHolder);
+        val actionOwnerModel = new ObjectVaa(commonContext, managedAction.getOwner());
         
         val actionUiModel = new ActionVaa(
                 this::createUiComponent,
                 named,
-                serviceModel, 
-                objectAction);
+                actionOwnerModel, 
+                managedAction.getAction());
         
         return actionUiModel;
     }
diff --git a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/ActionUiModelFactory.java b/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/ActionUiModelFactory.java
index df5063c..39e97ee 100644
--- a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/ActionUiModelFactory.java
+++ b/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/ActionUiModelFactory.java
@@ -18,8 +18,7 @@
  */
 package org.apache.isis.viewer.common.model.action;
 
-import org.apache.isis.core.metamodel.spec.ManagedObject;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
+import org.apache.isis.core.metamodel.interactions.managed.ManagedAction;
 import org.apache.isis.core.webapp.context.IsisWebAppCommonContext;
 
 /**
@@ -37,14 +36,13 @@ public interface ActionUiModelFactory<T> {
      * 
      * @param commonContext
      * @param named - used when explicitly named (eg. menu bar layout file), otherwise {@code null}
-     * @param actionHolder
-     * @param objectAction
+     * @param managedAction
      * @return
      */
     ActionUiModel<T> newAction(
             IsisWebAppCommonContext commonContext, 
             String named,
-            ManagedObject actionHolder,
-            ObjectAction objectAction);
+            ManagedAction managedAction);
+    
     
 }
diff --git a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/menu/MenuUiModel_buildMenuItems.java b/viewers/common/src/main/java/org/apache/isis/viewer/common/model/menu/MenuUiModel_buildMenuItems.java
index 6306157..5d7dae0 100644
--- a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/menu/MenuUiModel_buildMenuItems.java
+++ b/viewers/common/src/main/java/org/apache/isis/viewer/common/model/menu/MenuUiModel_buildMenuItems.java
@@ -25,6 +25,7 @@ import java.util.function.Function;
 import org.apache.isis.applib.layout.menubars.bootstrap3.BS3Menu;
 import org.apache.isis.applib.layout.menubars.bootstrap3.BS3MenuBar;
 import org.apache.isis.core.commons.internal.base._Strings;
+import org.apache.isis.core.metamodel.interactions.managed.ManagedAction;
 import org.apache.isis.core.webapp.context.IsisWebAppCommonContext;
 import org.apache.isis.viewer.common.model.action.ActionUiModelFactory;
 import org.apache.isis.viewer.common.model.menuitem.MenuItemUiModel;
@@ -66,23 +67,19 @@ final class MenuUiModel_buildMenuItems {
                         continue;
                     }
 
-                    val objectAction =
-                            serviceAdapter
-                                    .getSpecification()
-                                    .getObjectAction(actionLayoutData.getId())
-                                    .orElse(null);
-                    if (objectAction == null) {
+                    val managedAction = ManagedAction.lookupAction(serviceAdapter, actionLayoutData.getId())
+                            .orElse(null);
+                    if (managedAction == null) {
                         log.warn("No such action {}", actionLayoutData.getId());
                         continue;
                     }
-
+                    
                     val isFirstInSection = itemsPerSectionCounter.intValue()==0; 
                     
                     val menuActionUiModel = menuActionFactory.newAction(
                             commonContext,
                             actionLayoutData.getNamed(),
-                            serviceAdapter,
-                            objectAction);
+                            managedAction);
 
                     // Optionally creates a sub-menu item based on visibility and usability
                     menuItemModel.addSubMenuItemFor(
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/ServiceActionUtil.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/ServiceActionUtil.java
index 7a2ab96..4907766 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/ServiceActionUtil.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/ServiceActionUtil.java
@@ -29,8 +29,7 @@ import org.apache.wicket.markup.html.list.ListItem;
 import org.apache.wicket.markup.html.list.ListView;
 import org.apache.wicket.markup.html.panel.Fragment;
 
-import org.apache.isis.core.metamodel.spec.ManagedObject;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
+import org.apache.isis.core.metamodel.interactions.managed.ManagedAction;
 import org.apache.isis.core.webapp.context.IsisWebAppCommonContext;
 import org.apache.isis.viewer.common.model.action.ActionUiModelFactory;
 import org.apache.isis.viewer.common.model.menu.MenuUiModel;
@@ -113,10 +112,9 @@ public final class ServiceActionUtil {
         public LinkAndLabel newAction(
                 IsisWebAppCommonContext commonContext, 
                 String named, 
-                ManagedObject actionHolder,
-                ObjectAction objectAction) {
+                ManagedAction managedAction) {
         
-            val serviceModel = EntityModel.ofAdapter(commonContext, actionHolder);
+            val serviceModel = EntityModel.ofAdapter(commonContext, managedAction.getOwner());
             
             val actionLinkFactory = new MenuActionLinkFactory(
                     PageAbstract.ID_MENU_LINK, 
@@ -126,7 +124,7 @@ public final class ServiceActionUtil {
                     model->actionLinkFactory.newActionLink(model.getObjectAction(), named).getUiComponent(),
                     named,
                     serviceModel,
-                    objectAction);
+                    managedAction.getAction());
         }
         
     }