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/05/14 15:25:25 UTC
[isis] branch master updated: ISIS-2666: always allow defaults to
override filled in param values
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 e0a06a3 ISIS-2666: always allow defaults to override filled in param values
e0a06a3 is described below
commit e0a06a3a849b6317e3c9037bda27e3ec7c37e76c
Author: ahuber@apache.org <ah...@luna>
AuthorDate: Fri May 14 17:25:12 2021 +0200
ISIS-2666: always allow defaults to override filled in param values
---
.../depargs/DependentArgsActionDemo_useChoices2.java | 19 ++++++++++++++-----
.../depargs/DependentArgsActionDemo_useDefault.java | 7 ++++---
.../isis/viewer/wicket/model/models/ActionModel.java | 16 ++++++++++------
3 files changed, 28 insertions(+), 14 deletions(-)
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DependentArgsActionDemo_useChoices2.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DependentArgsActionDemo_useChoices2.java
index 095ed45..c94d34a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DependentArgsActionDemo_useChoices2.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DependentArgsActionDemo_useChoices2.java
@@ -54,9 +54,10 @@ public class DependentArgsActionDemo_useChoices2 {
@Value @Accessors(fluent = true) // fluent so we can replace this with Java(14+) records later
static class Parameters {
List<Parity> parities;
- DemoItem item;
+ List<DemoItem> items;
}
+ @MemberSupport
public DependentArgsActionDemo act(
// PARAM 0
@@ -65,15 +66,17 @@ public class DependentArgsActionDemo_useChoices2 {
// PARAM 1
@Parameter(optionality = Optionality.MANDATORY)
- DemoItem item
+ List<DemoItem> items
) {
- messageService.informUser(item.getName());
+ _NullSafe.stream(items)
+ .forEach(item->messageService.informUser(item.getName()));
+
return holder;
}
- // -- PARAM 0 (Parity)
+ // -- PARAM 0 (Parities)
@MemberSupport
public List<Parity> defaultParities(Parameters params) {
@@ -83,7 +86,13 @@ public class DependentArgsActionDemo_useChoices2 {
// -- PARAM 1 (DemoItem)
@MemberSupport
- public List<DemoItem> choicesItem(Parameters params) {
+ public List<DemoItem> defaultItems(Parameters params) {
+
+ return choicesItems(params); // <-- fill in all that are possible based on the first param from the UI dialog
+ }
+
+ @MemberSupport
+ public List<DemoItem> choicesItems(Parameters params) {
val paritiesFromDialog = params.parities(); // <-- the refining parameter from the dialog above
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DependentArgsActionDemo_useDefault.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DependentArgsActionDemo_useDefault.java
index 6b9d765..7db4fa5 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DependentArgsActionDemo_useDefault.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DependentArgsActionDemo_useDefault.java
@@ -70,6 +70,7 @@ public class DependentArgsActionDemo_useDefault {
@MemberSupport
public Parity defaultParity(Parameters params) {
+
return mixee.getDialogParityDefault();
}
@@ -78,12 +79,12 @@ public class DependentArgsActionDemo_useDefault {
@MemberSupport
public String defaultMessage(Parameters params) {
- val parity = params.parity(); // <-- the refining parameter from the dialog above
+ val parityFromDialog = params.parity(); // <-- the refining parameter from the dialog above
- if(parity == null) {
+ if(parityFromDialog == null) {
return "no parity selected";
}
- return parity.name();
+ return parityFromDialog.name();
}
}
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 f1de5c8..64313c8 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
@@ -427,13 +427,17 @@ implements FormUiModel, FormExecutorContext, BookmarkableModel {
.forEach(actionArgumentModel->{
val actionParameter = actionArgumentModel.getMetaModel();
- val paramValue = actionArgumentModel.getValue();
- val hasChoices = actionParameter.hasChoices();
- val hasAutoComplete = actionParameter.hasAutoComplete();
- val isEmpty = ManagedObjects.isNullOrUnspecifiedOrEmpty(paramValue);
+
+//XXX veto removed as of ISIS-2666
+// val paramValue = actionArgumentModel.getValue();
+// val hasChoices = actionParameter.hasChoices();
+// val hasAutoComplete = actionParameter.hasAutoComplete();
+// val isEmpty = ManagedObjects.isNullOrUnspecifiedOrEmpty(paramValue);
// if we have choices or autoSelect, don't override any param value, already chosen by the user
- val vetoDefaultsToBeSet = !isEmpty
- && (hasChoices||hasAutoComplete);
+// val vetoDefaultsToBeSet = !isEmpty
+// && (hasChoices||hasAutoComplete);
+
+ val vetoDefaultsToBeSet = false;
if(!vetoDefaultsToBeSet) {
val paramDefaultValue = actionParameter.getDefault(pendingArgs);