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/07 15:31:18 UTC

[isis] 02/02: ISIS-2340: introduces shared FormPendingParamUiModel

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 efd93a562c381daef5df87e80de3551cb00f9b20
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu May 7 17:31:06 2020 +0200

    ISIS-2340: introduces shared FormPendingParamUiModel
---
 ...ctionFormUiModel.java => FormPendingParamUiModel.java} | 12 +++++++++++-
 .../form/{ActionFormUiModel.java => FormUiModel.java}     |  2 +-
 .../viewer/common/model/feature/ParameterUiModel.java     |  3 ---
 .../isis/viewer/wicket/model/models/ActionModel.java      | 15 ++++-----------
 .../ui/components/scalars/ScalarPanelAbstract2.java       | 10 +++++-----
 .../ui/components/scalars/ScalarPanelSelect2Abstract.java |  6 +++---
 6 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/form/ActionFormUiModel.java b/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/form/FormPendingParamUiModel.java
similarity index 66%
copy from viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/form/ActionFormUiModel.java
copy to viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/form/FormPendingParamUiModel.java
index 28d551a..7367633 100644
--- a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/form/ActionFormUiModel.java
+++ b/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/form/FormPendingParamUiModel.java
@@ -18,6 +18,16 @@
  */
 package org.apache.isis.viewer.common.model.action.form;
 
-public interface ActionFormUiModel {
+import org.apache.isis.core.metamodel.consent.Consent;
+import org.apache.isis.core.metamodel.specloader.specimpl.PendingParameterModel;
+import org.apache.isis.viewer.common.model.feature.ParameterUiModel;
 
+import lombok.Value;
+
+@Value(staticConstructor = "of")
+public class FormPendingParamUiModel {
+    final PendingParameterModel pendingArgs;
+    final ParameterUiModel paramModel;
+    final Consent visibilityConsent;
+    final Consent usabilityConsent;
 }
diff --git a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/form/ActionFormUiModel.java b/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/form/FormUiModel.java
similarity index 95%
rename from viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/form/ActionFormUiModel.java
rename to viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/form/FormUiModel.java
index 28d551a..5ad138b 100644
--- a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/form/ActionFormUiModel.java
+++ b/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/form/FormUiModel.java
@@ -18,6 +18,6 @@
  */
 package org.apache.isis.viewer.common.model.action.form;
 
-public interface ActionFormUiModel {
+public interface FormUiModel {
 
 }
diff --git a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/feature/ParameterUiModel.java b/viewers/common/src/main/java/org/apache/isis/viewer/common/model/feature/ParameterUiModel.java
index a46d6fe..098766d 100644
--- a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/feature/ParameterUiModel.java
+++ b/viewers/common/src/main/java/org/apache/isis/viewer/common/model/feature/ParameterUiModel.java
@@ -37,9 +37,6 @@ public interface ParameterUiModel extends ScalarUiModel {
     /** param value */
     void setValue(ManagedObject paramValue);
     
-    /** actions's owner */
-    ManagedObject getOwner();
-    
     String getCssClass();
     
     // -- PENDING PARAMETER MODEL
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
index 44f79ce..42ea916 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
@@ -58,10 +58,9 @@ import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
 import org.apache.isis.core.metamodel.specloader.specimpl.PendingParameterModel;
 import org.apache.isis.core.metamodel.specloader.specimpl.PendingParameterModelHead;
 import org.apache.isis.core.webapp.context.IsisWebAppCommonContext;
-import org.apache.isis.viewer.common.model.feature.ParameterUiModel;
+import org.apache.isis.viewer.common.model.action.form.FormPendingParamUiModel;
 import org.apache.isis.viewer.wicket.model.mementos.ActionMemento;
 
-import lombok.Value;
 import lombok.val;
 
 public class ActionModel 
@@ -457,15 +456,9 @@ implements FormExecutorContext {
         argCache().clearParameterValue(actionParameter);
     }
 
-    @Value(staticConstructor = "of")
-    public static class ActionArgumentModelAndConsents {
-        final PendingParameterModel pendingArgs;
-        final ParameterUiModel paramModel;
-        final Consent visibilityConsent;
-        final Consent usabilityConsent;
-    }
 
-    public Stream<ActionArgumentModelAndConsents> streamActionArgumentModels() {
+
+    public Stream<FormPendingParamUiModel> streamActionArgumentModels() {
 
         val targetAdapter = this.getTargetAdapter();
         val realTargetAdapter = this.getAction().realTargetAdapter(targetAdapter);
@@ -488,7 +481,7 @@ implements FormExecutorContext {
             val usabilityConsent = objectActionParamter
                     .isUsable(realTargetAdapter, pendingArgValues, InteractionInitiatedBy.USER);
 
-            return ActionArgumentModelAndConsents.of(
+            return FormPendingParamUiModel.of(
                     pendingArgs, actionArgumentModel, visibilityConsent, usabilityConsent);
 
         });
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
index 0ea3577..f601fb3 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
@@ -50,8 +50,8 @@ import org.apache.isis.core.metamodel.facets.objectvalue.labelat.LabelAtFacet;
 import org.apache.isis.core.metamodel.spec.ManagedObject;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
+import org.apache.isis.viewer.common.model.action.form.FormPendingParamUiModel;
 import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
-import org.apache.isis.viewer.wicket.model.models.ActionModel.ActionArgumentModelAndConsents;
 import org.apache.isis.viewer.wicket.model.models.ActionPrompt;
 import org.apache.isis.viewer.wicket.model.models.ActionPromptProvider;
 import org.apache.isis.viewer.wicket.model.models.EntityModel;
@@ -120,14 +120,14 @@ implements ScalarModelSubscriber2 {
     /** this is a hack for the ScalarParameterModel, which does not support usability constraints in the model*/
     private transient Runnable postInit;
     @Deprecated // properly implement ScalarParameterModel
-    public void postInit(@NonNull final ActionArgumentModelAndConsents argsAndConsents) {
+    public void postInit(@NonNull final FormPendingParamUiModel argAndConsents) {
         this.postInit = () ->{
             // visibility
-            val visibilityConsent = argsAndConsents.getVisibilityConsent();
+            val visibilityConsent = argAndConsents.getVisibilityConsent();
             setVisible(visibilityConsent.isAllowed());
 
             // usability
-            val usabilityConsent = argsAndConsents.getUsabilityConsent();
+            val usabilityConsent = argAndConsents.getUsabilityConsent();
             if(usabilityConsent.isAllowed()) {
                 onInitializeEditable();
             } else {
@@ -145,7 +145,7 @@ implements ScalarModelSubscriber2 {
      * @return - true if changed as a result of these pending arguments.
      */
     public Repaint updateIfNecessary(
-            @NonNull final ActionArgumentModelAndConsents argsAndConsents,
+            @NonNull final FormPendingParamUiModel argsAndConsents,
             @NonNull final Optional<AjaxRequestTarget> target) {
         
         val argModel = argsAndConsents.getParamModel();
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelSelect2Abstract.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelSelect2Abstract.java
index 93f41ab..610d5c7 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelSelect2Abstract.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelSelect2Abstract.java
@@ -34,7 +34,7 @@ import org.apache.wicket.validation.ValidationError;
 import org.wicketstuff.select2.ChoiceProvider;
 
 import org.apache.isis.core.webapp.context.memento.ObjectMemento;
-import org.apache.isis.viewer.wicket.model.models.ActionModel.ActionArgumentModelAndConsents;
+import org.apache.isis.viewer.common.model.action.form.FormPendingParamUiModel;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.isis.viewer.wicket.ui.components.widgets.bootstrap.FormGroup;
 import org.apache.isis.viewer.wicket.ui.components.widgets.select2.Select2;
@@ -177,10 +177,10 @@ public abstract class ScalarPanelSelect2Abstract extends ScalarPanelAbstract2 {
      */
     @Override
     public Repaint updateIfNecessary(
-            @NonNull final ActionArgumentModelAndConsents argsAndConsents,
+            @NonNull final FormPendingParamUiModel argAndConsents,
             @NonNull final Optional<AjaxRequestTarget> target) {
 
-        val repaint = super.updateIfNecessary(argsAndConsents, target);
+        val repaint = super.updateIfNecessary(argAndConsents, target);
         final boolean choicesUpdated = updateChoices();
 
         if (repaint == Repaint.NOTHING) {