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 0edb967eeb ISIS-3215: demo domain fixes
0edb967eeb is described below
commit 0edb967eebfea2eb2a6d263e78e4654cc7b6a5e7
Author: andi-huber <[email protected]>
AuthorDate: Sun Sep 18 07:57:10 2022 +0200
ISIS-3215: demo domain fixes
---
.../ActionParameterDefaultsFacetViaMethodFactory.java | 4 ----
.../org/apache/isis/core/metamodel/object/MmInvokeUtil.java | 6 +++---
.../depargs/DependentArgsActionDemo_useAutoComplete.java | 7 +++++--
.../depargs/DependentArgsActionDemo_useAutoComplete2.java | 13 ++++++++++++-
4 files changed, 20 insertions(+), 10 deletions(-)
diff --git
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetViaMethodFactory.java
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetViaMethodFactory.java
index e21d8ea448..18f2aaadc8 100644
---
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetViaMethodFactory.java
+++
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetViaMethodFactory.java
@@ -22,16 +22,12 @@ import javax.inject.Inject;
import
org.apache.isis.core.config.progmodel.ProgrammingModelConstants.MemberSupportPrefix;
import org.apache.isis.core.metamodel.context.MetaModelContext;
-import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facets.FacetedMethodParameter;
import
org.apache.isis.core.metamodel.facets.ParameterSupport.ParamSupportingMethodSearchResult;
import
org.apache.isis.core.metamodel.facets.param.support.ActionParameterSupportFacetFactoryAbstract;
import lombok.val;
-/**
- * Sets up all the {@link Facet}s for an action in a single shot.
- */
public class ActionParameterDefaultsFacetViaMethodFactory
extends ActionParameterSupportFacetFactoryAbstract {
diff --git
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/object/MmInvokeUtil.java
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/object/MmInvokeUtil.java
index a52e76affa..2084e63fb8 100644
---
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/object/MmInvokeUtil.java
+++
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/object/MmInvokeUtil.java
@@ -39,14 +39,14 @@ public final class MmInvokeUtil {
/** PAT ... Parameters as Tuple */
public static Object invokeWithPAT(
- final Constructor<?> ppmConstructor,
+ final Constructor<?> patConstructor,
final Method method,
final ManagedObject adapter,
final Can<ManagedObject> pendingArguments,
final List<Object> additionalArguments) {
- val ppmTuple = CanonicalInvoker.construct(ppmConstructor,
MmUnwrapUtil.multipleAsArray(pendingArguments));
- val paramPojos = _Arrays.combineWithExplicitType(Object.class,
ppmTuple, additionalArguments.toArray());
+ val pat = CanonicalInvoker.construct(patConstructor,
MmUnwrapUtil.multipleAsArray(pendingArguments));
+ val paramPojos = _Arrays.combineWithExplicitType(Object.class, pat,
additionalArguments.toArray());
return CanonicalInvoker.invoke(method, MmUnwrapUtil.single(adapter),
paramPojos);
}
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DependentArgsActionDemo_useAutoComplete.java
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DependentArgsActionDemo_useAutoComplete.java
index ab71f7391b..3e1ab72540 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DependentArgsActionDemo_useAutoComplete.java
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DependentArgsActionDemo_useAutoComplete.java
@@ -31,6 +31,7 @@ import org.apache.isis.applib.annotation.Optionality;
import org.apache.isis.applib.annotation.Parameter;
import org.apache.isis.applib.annotation.PromptStyle;
import org.apache.isis.applib.services.message.MessageService;
+import org.apache.isis.commons.internal.base._Strings;
import lombok.RequiredArgsConstructor;
import lombok.Value;
@@ -80,7 +81,7 @@ public class DependentArgsActionDemo_useAutoComplete {
// fill in first that is possible based on the first param from the UI
dialog
return params.parity()==null
? null
- : autoComplete1Act(params, params.parity.name())
+ : autoComplete1Act(params, "")
.stream().findFirst().orElse(null);
}
@@ -100,7 +101,9 @@ public class DependentArgsActionDemo_useAutoComplete {
return holder.getItems()
.stream()
.filter(item->parity == item.getParity())
-
.filter(item->item.getName().toLowerCase().contains(search.toLowerCase()))
+ .filter(item->_Strings.isNullOrEmpty(search)
+ ? true
+ :
item.getName().toLowerCase().contains(search.toLowerCase()))
.collect(Collectors.toList());
}
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DependentArgsActionDemo_useAutoComplete2.java
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DependentArgsActionDemo_useAutoComplete2.java
index 2c4eaf1e2a..e25708a8c4 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DependentArgsActionDemo_useAutoComplete2.java
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DependentArgsActionDemo_useAutoComplete2.java
@@ -33,6 +33,7 @@ import org.apache.isis.applib.annotation.Parameter;
import org.apache.isis.applib.annotation.PromptStyle;
import org.apache.isis.applib.services.message.MessageService;
import org.apache.isis.commons.internal.base._NullSafe;
+import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.commons.internal.collections._Lists;
import lombok.RequiredArgsConstructor;
@@ -82,6 +83,14 @@ public class DependentArgsActionDemo_useAutoComplete2 {
// -- PARAM 1 (DemoItem)
+ @MemberSupport public List<DemoItem> defaultItems(final Parameters params)
{
+ val paritiesFromDialog = params.parities(); // <-- the refining
parameter from the dialog above
+ if(_NullSafe.isEmpty(paritiesFromDialog)) {
+ return Collections.emptyList();
+ }
+ return autoCompleteItems(params, "");
+ }
+
@MemberSupport public List<DemoItem> autoCompleteItems(
final Parameters params,
@MinLength(2) final String search) {
@@ -94,7 +103,9 @@ public class DependentArgsActionDemo_useAutoComplete2 {
return holder.getItems()
.stream()
.filter(item->paritiesFromDialog.contains(item.getParity()))
-
.filter(item->item.getName().toLowerCase().contains(search.toLowerCase()))
+ .filter(item->_Strings.isNullOrEmpty(search)
+ ? true
+ :
item.getName().toLowerCase().contains(search.toLowerCase()))
.collect(Collectors.toList());
}