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/02 13:44:41 UTC

[isis] branch master updated: ISIS-2340: replace individual param reset by batch param reset

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 f49f294  ISIS-2340: replace individual param reset by batch param reset
f49f294 is described below

commit f49f2943a47987b5447fe020bb802ef7d4a5d703
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sat May 2 15:44:32 2020 +0200

    ISIS-2340: replace individual param reset by batch param reset
---
 scripts/ci/build-demo-app.sh                           | 11 +----------
 .../wicket/model/models/ActionArgumentModel.java       |  2 --
 .../isis/viewer/wicket/model/models/ActionModel.java   | 18 +++++++++++++-----
 .../wicket/model/models/FormExecutorContext.java       |  2 --
 .../isis/viewer/wicket/model/models/ScalarModel.java   |  9 +++++++--
 .../wicket/model/models/ScalarParameterModel.java      | 10 ----------
 .../wicket/model/models/ScalarPropertyModel.java       |  1 -
 .../ui/components/scalars/ScalarPanelAbstract2.java    |  9 +++++----
 .../viewer/wicket/ui/panels/PromptFormAbstract.java    |  5 ++++-
 9 files changed, 30 insertions(+), 37 deletions(-)

diff --git a/scripts/ci/build-demo-app.sh b/scripts/ci/build-demo-app.sh
index e9e5aca..93c95a9 100644
--- a/scripts/ci/build-demo-app.sh
+++ b/scripts/ci/build-demo-app.sh
@@ -62,7 +62,6 @@ for app in demo
 do
   cd $PROJECT_ROOT_PATH/examples/$app
 
-  mvn versions:set -DnewVersion=$REVISION
   mvn clean install \
       $BATCH_MODE \
       -Dskip.git \
@@ -73,14 +72,6 @@ do
   do
 	cd $variant
 	
-	mvn versions:set -DnewVersion=$REVISION
-	mvn clean install \
-	    $BATCH_MODE \
-	    -Dflavor=$FLAVOR \
-	    -Dskip.git \
-	    -Dskip.arch \
-	    -DskipTests
-	
 	mvn --batch-mode \
 	    compile jib:build \
 	    -Dflavor=$FLAVOR \
@@ -89,7 +80,7 @@ do
 	    -DskipTests
 	
 	cd $PROJECT_ROOT_PATH/examples/$app
-	done
+  done
 
 
   cd $PROJECT_ROOT_PATH
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionArgumentModel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionArgumentModel.java
index c2c748f..a75f203 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionArgumentModel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionArgumentModel.java
@@ -28,7 +28,5 @@ public interface ActionArgumentModel extends IModel<ManagedObject> {
 
     ActionParameterMemento getParameterMemento();
 
-    void reset();
-
     void setActionArgsHint(Can<ManagedObject> arguments);
 }
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 f528b87..8f656d9 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
@@ -70,6 +70,7 @@ import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
 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.wicket.model.common.PageParametersUtils;
 import org.apache.isis.viewer.wicket.model.mementos.ActionMemento;
@@ -537,13 +538,20 @@ public class ActionModel extends BookmarkableModel<ManagedObject> implements For
         
     }
 
-    @Override
-    public void reset() {
-    }
-
+    /** Resets arguments to their fixed point default values
+     * @see {@link PendingParameterModelHead#defaults()}
+     */
     public void clearArguments() {
+        
+        val defaultsFixedPoint = getAction()
+                .newPendingParameterModelHead(getTargetAdapter())
+                .defaults()
+                .getParamValues();
+        
         for (final ActionArgumentModel actionArgumentModel : arguments.values()) {
-            actionArgumentModel.reset();
+            int paramIndex = actionArgumentModel.getParameterMemento().getNumber();
+            val paramDefaultValue = defaultsFixedPoint.getElseFail(paramIndex);
+            actionArgumentModel.setObject(paramDefaultValue);
         }
     }
 
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/FormExecutorContext.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/FormExecutorContext.java
index 42f768b..f1577b2 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/FormExecutorContext.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/FormExecutorContext.java
@@ -27,8 +27,6 @@ public interface FormExecutorContext extends ParentEntityModelProvider {
 
     InlinePromptContext getInlinePromptContext();
 
-    void reset();
-
     default boolean isWithinPrompt() {
         return getPromptStyle().isInlineOrInlineAsIfEdit() &&
                 getInlinePromptContext() != null;
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
index f0e8187..b73e622 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
@@ -47,6 +47,7 @@ import org.apache.isis.viewer.wicket.model.links.LinksProvider;
 import org.apache.isis.viewer.wicket.model.mementos.ActionParameterMemento;
 import org.apache.isis.viewer.wicket.model.mementos.PropertyMemento;
 
+import lombok.NonNull;
 import lombok.val;
 
 
@@ -73,10 +74,14 @@ implements LinksProvider, FormExecutorContext {
 
     private static final long serialVersionUID = 1L;
 
-    public enum Kind {
+    private enum Kind {
         PROPERTY,
         PARAMETER;
     }
+    @NonNull private final Kind kind;
+    public boolean isProperty() { return kind == Kind.PROPERTY; }
+    public boolean isParameter() { return kind == Kind.PARAMETER; }
+    
 
     static boolean isRequired(final FacetHolder facetHolder) {
         final MandatoryFacet mandatoryFacet = facetHolder.getFacet(MandatoryFacet.class);
@@ -84,7 +89,7 @@ implements LinksProvider, FormExecutorContext {
         return required;
     }
 
-    private final Kind kind;
+
 
     private final EntityModel parentEntityModel;
 
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarParameterModel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarParameterModel.java
index b5e2f7d..d3c9402 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarParameterModel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarParameterModel.java
@@ -258,16 +258,6 @@ implements ActionArgumentModel {
     }
 
     @Override
-    public void reset() {
-        final ObjectActionParameter actionParameter = parameterMemento.getActionParameter(
-                getSpecificationLoader());
-        final ManagedObject parentAdapter =
-                getParentEntityModel().load();
-        final ManagedObject defaultAdapter = actionParameter.getDefault(parentAdapter);
-        setObject(defaultAdapter);
-    }
-
-    @Override
     public ManagedObject load() {
         final ActionParameterMemento parameterMemento = getParameterMemento();
         final ObjectActionParameter actionParameter = parameterMemento
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarPropertyModel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarPropertyModel.java
index 92f08aa..3e4f4b6 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarPropertyModel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarPropertyModel.java
@@ -279,7 +279,6 @@ public class ScalarPropertyModel extends ScalarModel {
         return facet != null? facet.value(): null;
     }
 
-    @Override
     public void reset() {
         final OneToOneAssociation property = getPropertyMemento().getProperty(getSpecificationLoader());
 
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 dbec3d0..68e2c6f 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
@@ -433,9 +433,10 @@ implements ScalarModelSubscriber2 {
         }
 
         // prevent from tabbing into non-editable widgets.
-        if(scalarModel.getKind() == ScalarModel.Kind.PROPERTY &&
-                scalarModel.getMode() == EntityModel.Mode.VIEW     &&
-                (scalarModel.getPromptStyle().isDialog() || !scalarModel.canEnterEditMode())) {
+        if(scalarModel.isProperty() 
+                && scalarModel.getMode() == EntityModel.Mode.VIEW
+                && (scalarModel.getPromptStyle().isDialog() 
+                        || !scalarModel.canEnterEditMode())) {
             getScalarValueComponent().add(new AttributeAppender("tabindex", "-1"));
         }
 
@@ -601,7 +602,7 @@ implements ScalarModelSubscriber2 {
     public void onUpdate(
             final AjaxRequestTarget target, final ScalarPanelAbstract2 scalarPanel) {
 
-        if(getModel().getKind() == ScalarModel.Kind.PARAMETER) {
+        if(getModel().isParameter()) {
             target.appendJavaScript(
                     String.format("Wicket.Event.publish(Isis.Topic.FOCUS_FIRST_PARAMETER, '%s')", getMarkupId()));
         }
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PromptFormAbstract.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PromptFormAbstract.java
index bb8a0a1..c37833d 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PromptFormAbstract.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PromptFormAbstract.java
@@ -47,6 +47,7 @@ import org.apache.isis.viewer.wicket.model.models.BookmarkableModel;
 import org.apache.isis.viewer.wicket.model.models.FormExecutor;
 import org.apache.isis.viewer.wicket.model.models.FormExecutorContext;
 import org.apache.isis.viewer.wicket.model.models.ParentEntityModelProvider;
+import org.apache.isis.viewer.wicket.model.models.ScalarPropertyModel;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarModelSubscriber2;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract2;
 import org.apache.isis.viewer.wicket.ui.components.widgets.formcomponent.FormFeedbackPanel;
@@ -288,7 +289,9 @@ implements ScalarModelSubscriber2 {
     private void completePrompt(final AjaxRequestTarget target) {
 
         if (isWithinPrompt()) {
-            formExecutorContext.reset();
+            if(formExecutorContext instanceof ScalarPropertyModel) {            
+                ((ScalarPropertyModel)formExecutorContext).reset();
+            }
             rebuildGuiAfterInlinePromptDone(target);
         } else {
             closePromptIfAny(target);