You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2020/01/07 23:06:21 UTC
[isis] 03/03: ISIS-2226: converts action args back to List
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 7a993bb037c73a723a6e377b42c472b9db3b1aae
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Jan 7 22:22:44 2020 +0000
ISIS-2226: converts action args back to List<T>
... because Can<T> cannot hold nulls.
---
.../isis/metamodel/facets/DomainEventHelper.java | 6 +--
.../invocation/ActionDomainEventFacetAbstract.java | 10 +++--
.../action/invocation/ActionInvocationFacet.java | 4 +-
...ctionInvocationFacetForDomainEventAbstract.java | 10 ++---
.../actions/action/invocation/CommandUtil.java | 6 ++-
.../actions/validate/ActionValidationFacet.java | 4 +-
.../method/ActionValidationFacetViaMethod.java | 2 +-
.../ActionParameterAutoCompleteFacet.java | 4 +-
.../ActionParameterAutoCompleteFacetViaMethod.java | 4 +-
.../param/choices/ActionParameterChoicesFacet.java | 4 +-
.../choices/ActionParameterChoicesFacetNone.java | 4 +-
...rameterChoicesFacetDerivedFromChoicesFacet.java | 4 +-
.../ActionParameterChoicesFacetViaMethod.java | 2 +-
.../defaults/ActionParameterDefaultsFacet.java | 4 +-
.../ActionParameterDefaultsFacetViaMethod.java | 2 +-
.../disable/ActionParameterDisabledFacet.java | 4 +-
.../ActionParameterDisabledFacetViaMethod.java | 2 +-
.../param/hide/ActionParameterHiddenFacet.java | 4 +-
.../ActionParameterHiddenFacetViaMethod.java | 2 +-
.../interactions/ActionArgUsabilityContext.java | 6 ++-
.../interactions/ActionArgValidityContext.java | 9 +++--
.../interactions/ActionArgVisibilityContext.java | 6 ++-
.../interactions/ActionValidityContext.java | 6 ++-
...arameterChoicesFacetFromParentedCollection.java | 2 +-
...meterDefaultsFacetFromAssociatedCollection.java | 3 +-
.../command/CommandDtoServiceInternal.java | 4 +-
.../services/homepage/HomePageAction.java | 4 +-
.../ixn/InteractionDtoServiceInternal.java | 4 +-
.../apache/isis/metamodel/spec/ManagedObject.java | 24 ++++++-----
.../isis/metamodel/spec/feature/ObjectAction.java | 14 +++----
.../spec/feature/ObjectActionParameter.java | 13 +++---
.../specimpl/ObjectActionContributee.java | 15 +++----
.../specloader/specimpl/ObjectActionDefault.java | 46 +++++++++++-----------
.../specloader/specimpl/ObjectActionMixedIn.java | 4 +-
.../specimpl/ObjectActionParameterAbstract.java | 29 +++++++-------
.../ObjectActionParameterContributeeAbstract.java | 11 +++---
.../ObjectActionParameterMixedInAbstract.java | 6 ++-
.../specimpl/OneToManyAssociationContributee.java | 5 ++-
.../specimpl/OneToManyAssociationMixedIn.java | 10 ++---
.../specimpl/OneToOneAssociationContributee.java | 3 +-
.../specimpl/OneToOneAssociationMixedIn.java | 12 ++----
.../command/CommandDtoServiceInternalDefault.java | 6 +--
.../command/CommandExecutorServiceDefault.java | 11 +++---
.../ixn/InteractionDtoServiceInternalDefault.java | 2 +-
.../handlers/DomainObjectInvocationHandler.java | 8 ++--
.../domainobjects/ObjectAndActionInvocation.java | 9 +++--
...entNegotiationServiceForRestfulObjectsV1_0.java | 2 +-
.../viewer/resources/ObjectActionArgHelper.java | 7 ++--
.../wicket/model/models/ActionArgumentModel.java | 4 +-
.../viewer/wicket/model/models/ActionModel.java | 13 +++---
.../viewer/wicket/model/models/ScalarModel.java | 30 +++++++-------
.../components/actions/ActionParametersForm.java | 3 +-
.../components/scalars/ScalarPanelAbstract2.java | 5 ++-
.../scalars/ScalarPanelSelect2Abstract.java | 12 +++---
.../scalars/reference/ReferencePanel.java | 3 +-
.../valuechoices/ValueChoicesSelect2Panel.java | 4 +-
...derForReferenceParamOrPropertyAutoComplete.java | 9 +++--
57 files changed, 243 insertions(+), 203 deletions(-)
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/DomainEventHelper.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/DomainEventHelper.java
index 067ecb2..212ccad 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/DomainEventHelper.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/DomainEventHelper.java
@@ -68,7 +68,7 @@ public class DomainEventHelper {
final IdentifiedHolder identified,
final ManagedObject targetAdapter,
final ManagedObject mixedInAdapter,
- final Can<ManagedObject> argumentAdapters,
+ final List<ManagedObject> argumentAdapters,
final ManagedObject resultAdapter) {
return postEventForAction(phase, uncheckedCast(eventType), /*existingEvent*/null, objectAction, identified,
@@ -83,7 +83,7 @@ public class DomainEventHelper {
final IdentifiedHolder identified,
final ManagedObject targetAdapter,
final ManagedObject mixedInAdapter,
- final Can<ManagedObject> argumentAdapters,
+ final List<ManagedObject> argumentAdapters,
final ManagedObject resultAdapter) {
return postEventForAction(phase,
@@ -99,7 +99,7 @@ public class DomainEventHelper {
final IdentifiedHolder identified,
final ManagedObject targetAdapter,
final ManagedObject mixedInAdapter,
- final Can<ManagedObject> argumentAdapters,
+ final List<ManagedObject> argumentAdapters,
final ManagedObject resultAdapter) {
_Assert.assertTypeIsInstanceOf(eventType, ActionDomainEvent.class);
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/invocation/ActionDomainEventFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/invocation/ActionDomainEventFacetAbstract.java
index 06d01d5..36b2e52 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/invocation/ActionDomainEventFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/invocation/ActionDomainEventFacetAbstract.java
@@ -19,6 +19,9 @@
package org.apache.isis.metamodel.facets.actions.action.invocation;
+import java.util.Collections;
+import java.util.List;
+
import org.apache.isis.applib.events.domain.AbstractDomainEvent;
import org.apache.isis.applib.events.domain.ActionDomainEvent;
import org.apache.isis.applib.services.i18n.TranslatableString;
@@ -27,7 +30,6 @@ import org.apache.isis.applib.services.wrapper.events.InteractionEvent;
import org.apache.isis.applib.services.wrapper.events.UsabilityEvent;
import org.apache.isis.applib.services.wrapper.events.ValidityEvent;
import org.apache.isis.applib.services.wrapper.events.VisibilityEvent;
-import org.apache.isis.commons.collections.Can;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facetapi.IdentifiedHolder;
import org.apache.isis.metamodel.facets.DomainEventHelper;
@@ -142,7 +144,7 @@ implements ActionDomainEventFacet {
return ((ActionInteractionContext) ic).getObjectAction();
}
- private static Can<ManagedObject> argumentAdaptersFrom(
+ private static List<ManagedObject> argumentAdaptersFrom(
final InteractionContext<? extends InteractionEvent> ic) {
val contributee = ic.getContributeeWithParamIndex();
@@ -153,11 +155,11 @@ implements ActionDomainEventFacet {
? contributee.getValue()
: ManagedObject.empty();
- return Can.ofSingleton(adapter);
+ return Collections.singletonList(adapter);
}
- return Can.empty();
+ return Collections.emptyList();
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/invocation/ActionInvocationFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/invocation/ActionInvocationFacet.java
index d47138e..21c2b9c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/invocation/ActionInvocationFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/invocation/ActionInvocationFacet.java
@@ -19,6 +19,8 @@
package org.apache.isis.metamodel.facets.actions.action.invocation;
+import java.util.List;
+
import org.apache.isis.commons.collections.Can;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.Facet;
@@ -40,7 +42,7 @@ public interface ActionInvocationFacet extends Facet {
ObjectAction owningAction,
ManagedObject targetAdapter,
ManagedObject mixedInAdapter, // null for regular or contributed (not mixin) actions
- Can<ManagedObject> argumentAdapters,
+ List<ManagedObject> argumentAdapters,
InteractionInitiatedBy interactionInitiatedBy);
ObjectSpecification getReturnType();
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java
index d9e2900..db57555 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java
@@ -122,7 +122,7 @@ implements ImperativeFacet {
final ObjectAction owningAction,
final ManagedObject targetAdapter,
final ManagedObject mixedInAdapter,
- final Can<ManagedObject> argumentAdapters,
+ final List<ManagedObject> argumentAdapters,
final InteractionInitiatedBy interactionInitiatedBy) {
final ManagedObject executionResult =
@@ -155,7 +155,7 @@ implements ImperativeFacet {
final ObjectAction owningAction,
final ManagedObject targetAdapter,
final ManagedObject mixedInAdapter,
- final Can<ManagedObject> argumentAdapters,
+ final List<ManagedObject> argumentAdapters,
final InteractionInitiatedBy interactionInitiatedBy) {
// similar code in PropertySetterOrClearFacetFDEA
@@ -260,7 +260,7 @@ implements ImperativeFacet {
private Object invokeMethodElseFromCache(
final ManagedObject targetAdapter,
- final Can<ManagedObject> arguments)
+ final List<ManagedObject> arguments)
throws IllegalAccessException, InvocationTargetException {
final Object[] executionParameters = ManagedObject.unwrapPojoArray(arguments);
@@ -424,9 +424,9 @@ implements ImperativeFacet {
private final class DomainEventMemberExecutor
implements Interaction.MemberExecutor<Interaction.ActionInvocation> {
- private final Can<ManagedObject> argumentAdapters;
+ private final List<ManagedObject> argumentAdapters;
private final ManagedObject targetAdapter;
- private final Can<ManagedObject> argumentAdapterList;
+ private final List<ManagedObject> argumentAdapterList;
private final Command command;
private final ObjectAction owningAction;
private final ManagedObject mixinElseRegularAdapter;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/invocation/CommandUtil.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/invocation/CommandUtil.java
index dde8f61..9892069 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/invocation/CommandUtil.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/invocation/CommandUtil.java
@@ -19,6 +19,8 @@
package org.apache.isis.metamodel.facets.actions.action.invocation;
+import java.util.List;
+
import org.apache.isis.applib.services.bookmark.Bookmark;
import org.apache.isis.commons.collections.Can;
import org.apache.isis.commons.internal.base._NullSafe;
@@ -63,7 +65,7 @@ public class CommandUtil {
public static String argDescriptionFor(
final ObjectAction owningAction,
- final Can<ManagedObject> arguments) {
+ final List<ManagedObject> arguments) {
val argsBuf = new StringBuilder();
val parameters = owningAction.getParameters();
@@ -71,7 +73,7 @@ public class CommandUtil {
// should be the case
int i=0;
for (ObjectActionParameter param : parameters) {
- CommandUtil.appendParamArg(argsBuf, param, arguments.getOrThrow(i++));
+ CommandUtil.appendParamArg(argsBuf, param, arguments.get(i++));
}
}
return argsBuf.toString();
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/validate/ActionValidationFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/validate/ActionValidationFacet.java
index 6ec767a..898d96e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/validate/ActionValidationFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/validate/ActionValidationFacet.java
@@ -19,6 +19,8 @@
package org.apache.isis.metamodel.facets.actions.validate;
+import java.util.List;
+
import org.apache.isis.commons.collections.Can;
import org.apache.isis.metamodel.facetapi.Facet;
import org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet;
@@ -44,5 +46,5 @@ public interface ActionValidationFacet extends Facet, ValidatingInteractionAdvis
/**
* Reason why the validation has failed, or <tt>null</tt> if okay.
*/
- public String invalidReason(ManagedObject target, Can<ManagedObject> arguments);
+ public String invalidReason(ManagedObject target, List<ManagedObject> arguments);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/validate/method/ActionValidationFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/validate/method/ActionValidationFacetViaMethod.java
index 6be2414..b38f5f9 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/validate/method/ActionValidationFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/validate/method/ActionValidationFacetViaMethod.java
@@ -60,7 +60,7 @@ public class ActionValidationFacetViaMethod extends ActionValidationFacetAbstrac
}
@Override
- public String invalidReason(final ManagedObject owningAdapter, final Can<ManagedObject> proposedArgumentAdapters) {
+ public String invalidReason(final ManagedObject owningAdapter, final List<ManagedObject> proposedArgumentAdapters) {
final Object returnValue = ManagedObject.InvokeUtil.invoke(method, owningAdapter, proposedArgumentAdapters);
if(returnValue instanceof String) {
return (String) returnValue;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/autocomplete/ActionParameterAutoCompleteFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/autocomplete/ActionParameterAutoCompleteFacet.java
index 98fb5cd..bea5de8 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/autocomplete/ActionParameterAutoCompleteFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/autocomplete/ActionParameterAutoCompleteFacet.java
@@ -19,6 +19,8 @@
package org.apache.isis.metamodel.facets.param.autocomplete;
+import java.util.List;
+
import org.apache.isis.commons.collections.Can;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.Facet;
@@ -36,7 +38,7 @@ public interface ActionParameterAutoCompleteFacet extends Facet {
public Object[] autoComplete(
ManagedObject inObject,
- Can<ManagedObject> pendingArgs,
+ List<ManagedObject> pendingArgs,
String searchArg,
InteractionInitiatedBy interactionInitiatedBy);
/**
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/autocomplete/method/ActionParameterAutoCompleteFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/autocomplete/method/ActionParameterAutoCompleteFacetViaMethod.java
index f207460..b392fce 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/autocomplete/method/ActionParameterAutoCompleteFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/autocomplete/method/ActionParameterAutoCompleteFacetViaMethod.java
@@ -79,14 +79,14 @@ implements ImperativeFacet {
@Override
public Object[] autoComplete(
final ManagedObject owningAdapter,
- final Can<ManagedObject> pendingArgs,
+ final List<ManagedObject> pendingArgs,
final String searchArg,
final InteractionInitiatedBy interactionInitiatedBy) {
final Object collectionOrArray =
ManagedObject.InvokeUtil.invokeAutofit(
method, owningAdapter, pendingArgs,
- Can.ofSingleton(Optional.ofNullable(searchArg)));
+ Collections.singletonList(Optional.ofNullable(searchArg)));
if (collectionOrArray == null) {
return _Constants.emptyObjects;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/ActionParameterChoicesFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/ActionParameterChoicesFacet.java
index 2fab36f..0032dbf 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/ActionParameterChoicesFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/ActionParameterChoicesFacet.java
@@ -19,6 +19,8 @@
package org.apache.isis.metamodel.facets.param.choices;
+import java.util.List;
+
import org.apache.isis.commons.collections.Can;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.Facet;
@@ -36,6 +38,6 @@ public interface ActionParameterChoicesFacet extends Facet {
public Object[] getChoices(
ManagedObject target,
- Can<ManagedObject> pendingArgs,
+ List<ManagedObject> pendingArgs,
InteractionInitiatedBy interactionInitiatedBy);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/ActionParameterChoicesFacetNone.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/ActionParameterChoicesFacetNone.java
index c01e23f..e380b79 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/ActionParameterChoicesFacetNone.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/ActionParameterChoicesFacetNone.java
@@ -19,6 +19,8 @@
package org.apache.isis.metamodel.facets.param.choices;
+import java.util.List;
+
import org.apache.isis.commons.collections.Can;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.FacetHolder;
@@ -33,7 +35,7 @@ public class ActionParameterChoicesFacetNone extends ActionParameterChoicesFacet
@Override
public Object[] getChoices(
final ManagedObject adapter,
- final Can<ManagedObject> pendingArgs,
+ final List<ManagedObject> pendingArgs,
final InteractionInitiatedBy interactionInitiatedBy) {
return new ManagedObject[0];
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/enums/ActionParameterChoicesFacetDerivedFromChoicesFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/enums/ActionParameterChoicesFacetDerivedFromChoicesFacet.java
index 3a6c8d6..48cb14c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/enums/ActionParameterChoicesFacetDerivedFromChoicesFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/enums/ActionParameterChoicesFacetDerivedFromChoicesFacet.java
@@ -19,6 +19,8 @@
package org.apache.isis.metamodel.facets.param.choices.enums;
+import java.util.List;
+
import org.apache.isis.commons.collections.Can;
import org.apache.isis.commons.internal._Constants;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
@@ -38,7 +40,7 @@ public class ActionParameterChoicesFacetDerivedFromChoicesFacet extends ActionPa
@Override
public Object[] getChoices(
final ManagedObject adapter,
- final Can<ManagedObject> pendingArgs,
+ final List<ManagedObject> pendingArgs,
final InteractionInitiatedBy interactionInitiatedBy) {
final FacetHolder facetHolder = getFacetHolder();
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethod.java
index f1f1d62..b36490e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethod.java
@@ -70,7 +70,7 @@ implements ImperativeFacet {
@Override
public Object[] getChoices(
final ManagedObject owningAdapter,
- final Can<ManagedObject> pendingArgs,
+ final List<ManagedObject> pendingArgs,
final InteractionInitiatedBy interactionInitiatedBy) {
final Object choices =
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/defaults/ActionParameterDefaultsFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/defaults/ActionParameterDefaultsFacet.java
index 2c97147..1c5c847 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/defaults/ActionParameterDefaultsFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/defaults/ActionParameterDefaultsFacet.java
@@ -19,6 +19,8 @@
package org.apache.isis.metamodel.facets.param.defaults;
+import java.util.List;
+
import org.apache.isis.commons.collections.Can;
import org.apache.isis.metamodel.facetapi.Facet;
import org.apache.isis.metamodel.spec.ManagedObject;
@@ -35,6 +37,6 @@ public interface ActionParameterDefaultsFacet extends Facet {
public abstract Object getDefault(
ManagedObject target,
- Can<ManagedObject> parameters,
+ List<ManagedObject> parameters,
Integer paramNumUpdated);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetViaMethod.java
index e3d1fc9..9311426 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetViaMethod.java
@@ -71,7 +71,7 @@ public class ActionParameterDefaultsFacetViaMethod extends ActionParameterDefaul
@Override
public Object getDefault(
final ManagedObject target,
- final Can<ManagedObject> pendingArgs,
+ final List<ManagedObject> pendingArgs,
final Integer paramNumUpdated) {
// this isn't a dependent defaults situation, so just evaluate the default.
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/disable/ActionParameterDisabledFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/disable/ActionParameterDisabledFacet.java
index 2a9ab95..94c3b42 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/disable/ActionParameterDisabledFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/disable/ActionParameterDisabledFacet.java
@@ -19,6 +19,8 @@
package org.apache.isis.metamodel.facets.param.disable;
+import java.util.List;
+
import org.apache.isis.commons.collections.Can;
import org.apache.isis.metamodel.facetapi.Facet;
import org.apache.isis.metamodel.interactions.DisablingInteractionAdvisor;
@@ -36,5 +38,5 @@ public interface ActionParameterDisabledFacet extends Facet, DisablingInteractio
/**
* Reason why the parameter is disabled, or <tt>null</tt> if okay.
*/
- public String disabledReason(ManagedObject target, Can<ManagedObject> arguments);
+ public String disabledReason(ManagedObject target, List<ManagedObject> arguments);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/disable/method/ActionParameterDisabledFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/disable/method/ActionParameterDisabledFacetViaMethod.java
index de35541..74db06c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/disable/method/ActionParameterDisabledFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/disable/method/ActionParameterDisabledFacetViaMethod.java
@@ -69,7 +69,7 @@ implements ImperativeFacet {
@Override
public String disabledReason(
final ManagedObject owningAdapter,
- final Can<ManagedObject> argumentAdapters) {
+ final List<ManagedObject> argumentAdapters) {
final Object returnValue = ManagedObject.InvokeUtil
.invokeAutofit(method, owningAdapter, argumentAdapters);
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/hide/ActionParameterHiddenFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/hide/ActionParameterHiddenFacet.java
index d1a773b..1f802c6 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/hide/ActionParameterHiddenFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/hide/ActionParameterHiddenFacet.java
@@ -19,6 +19,8 @@
package org.apache.isis.metamodel.facets.param.hide;
+import java.util.List;
+
import org.apache.isis.commons.collections.Can;
import org.apache.isis.metamodel.facetapi.Facet;
import org.apache.isis.metamodel.interactions.HidingInteractionAdvisor;
@@ -37,5 +39,5 @@ public interface ActionParameterHiddenFacet extends Facet, HidingInteractionAdvi
/**
* Whether the parameter is hidden.
*/
- public boolean isHidden(ManagedObject target, Can<ManagedObject> arguments);
+ public boolean isHidden(ManagedObject target, List<ManagedObject> arguments);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/hide/method/ActionParameterHiddenFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/hide/method/ActionParameterHiddenFacetViaMethod.java
index 430d162..6782ad2 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/hide/method/ActionParameterHiddenFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/hide/method/ActionParameterHiddenFacetViaMethod.java
@@ -59,7 +59,7 @@ public class ActionParameterHiddenFacetViaMethod extends ActionParameterHiddenFa
@Override
public boolean isHidden(
final ManagedObject owningAdapter,
- final Can<ManagedObject> argumentAdapters) {
+ final List<ManagedObject> argumentAdapters) {
final Object returnValue = ManagedObject.InvokeUtil
.invokeAutofit(method, owningAdapter, argumentAdapters);
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionArgUsabilityContext.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionArgUsabilityContext.java
index e45fd3e..c4bd2a3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionArgUsabilityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionArgUsabilityContext.java
@@ -19,6 +19,8 @@
package org.apache.isis.metamodel.interactions;
+import java.util.List;
+
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.annotation.Where;
import org.apache.isis.applib.events.ActionArgumentUsabilityEvent;
@@ -43,14 +45,14 @@ extends UsabilityContext<ActionArgumentUsabilityEvent>
implements ActionInteractionContext {
@Getter(onMethod = @__(@Override)) private final ObjectAction objectAction;
- @Getter private final Can<ManagedObject> args;
+ @Getter private final List<ManagedObject> args;
@Getter private final int position;
public ActionArgUsabilityContext(
final ManagedObject targetAdapter,
final ObjectAction objectAction,
final Identifier id,
- final Can<ManagedObject> args,
+ final List<ManagedObject> args,
final int position,
final InteractionInitiatedBy interactionInitiatedBy) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionArgValidityContext.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionArgValidityContext.java
index cb87a49..562e4a5 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionArgValidityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionArgValidityContext.java
@@ -19,9 +19,10 @@
package org.apache.isis.metamodel.interactions;
+import java.util.List;
+
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.services.wrapper.events.ActionArgumentEvent;
-import org.apache.isis.commons.collections.Can;
import org.apache.isis.metamodel.consent.InteractionContextType;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.spec.ManagedObject;
@@ -39,14 +40,14 @@ public class ActionArgValidityContext extends ValidityContext<ActionArgumentEven
@Getter(onMethod = @__(@Override)) private final ObjectAction objectAction;
@Getter(onMethod = @__(@Override)) private final ManagedObject proposed;
- @Getter private final Can<ManagedObject> args;
+ @Getter private final List<ManagedObject> args;
@Getter private final int position;
public ActionArgValidityContext(
final ManagedObject targetAdapter,
final ObjectAction objectAction,
final Identifier id,
- final Can<ManagedObject> args,
+ final List<ManagedObject> args,
final int position,
final InteractionInitiatedBy interactionInitiatedBy) {
super(InteractionContextType.ACTION_PROPOSED_ARGUMENT, targetAdapter, id, interactionInitiatedBy);
@@ -54,7 +55,7 @@ public class ActionArgValidityContext extends ValidityContext<ActionArgumentEven
this.args = args;
this.position = position;
- this.proposed = args.getOrThrow(position);
+ this.proposed = args.get(position);
}
@Override
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionArgVisibilityContext.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionArgVisibilityContext.java
index 41a01fa..24f506f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionArgVisibilityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionArgVisibilityContext.java
@@ -19,6 +19,8 @@
package org.apache.isis.metamodel.interactions;
+import java.util.List;
+
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.annotation.Where;
import org.apache.isis.applib.events.ActionArgumentVisibilityEvent;
@@ -43,14 +45,14 @@ extends VisibilityContext<ActionArgumentVisibilityEvent>
implements ActionInteractionContext {
@Getter(onMethod = @__(@Override)) private final ObjectAction objectAction;
- @Getter private final Can<ManagedObject> args;
+ @Getter private final List<ManagedObject> args;
@Getter private final int position;
public ActionArgVisibilityContext(
final ManagedObject targetAdapter,
final ObjectAction objectAction,
final Identifier id,
- final Can<ManagedObject> args,
+ final List<ManagedObject> args,
final int position,
final InteractionInitiatedBy interactionInitiatedBy) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionValidityContext.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionValidityContext.java
index 8f45f75..73141f3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionValidityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionValidityContext.java
@@ -19,6 +19,8 @@
package org.apache.isis.metamodel.interactions;
+import java.util.List;
+
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.services.wrapper.events.ActionInvocationEvent;
import org.apache.isis.commons.collections.Can;
@@ -40,13 +42,13 @@ extends ValidityContext<ActionInvocationEvent>
implements ActionInteractionContext {
@Getter(onMethod = @__(@Override)) private final ObjectAction objectAction;
- @Getter private final Can<ManagedObject> args;
+ @Getter private final List<ManagedObject> args;
public ActionValidityContext(
final ManagedObject targetAdapter,
final ObjectAction objectAction,
final Identifier id,
- final Can<ManagedObject> args,
+ final List<ManagedObject> args,
final InteractionInitiatedBy interactionInitiatedBy) {
super(InteractionContextType.ACTION_INVOKE, targetAdapter, id, interactionInitiatedBy);
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/postprocessors/param/ActionParameterChoicesFacetFromParentedCollection.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/postprocessors/param/ActionParameterChoicesFacetFromParentedCollection.java
index 2022d61..7b728be 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/postprocessors/param/ActionParameterChoicesFacetFromParentedCollection.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/postprocessors/param/ActionParameterChoicesFacetFromParentedCollection.java
@@ -47,7 +47,7 @@ public class ActionParameterChoicesFacetFromParentedCollection extends ActionPar
@Override
public Object[] getChoices(
final ManagedObject target,
- final Can<ManagedObject> pendingArgs,
+ final List<ManagedObject> pendingArgs,
final InteractionInitiatedBy interactionInitiatedBy) {
final ManagedObject parentAdapter = determineParentAdapter(target);
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/postprocessors/param/ActionParameterDefaultsFacetFromAssociatedCollection.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/postprocessors/param/ActionParameterDefaultsFacetFromAssociatedCollection.java
index e937d0f..64ab2ce 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/postprocessors/param/ActionParameterDefaultsFacetFromAssociatedCollection.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/postprocessors/param/ActionParameterDefaultsFacetFromAssociatedCollection.java
@@ -19,6 +19,7 @@
package org.apache.isis.metamodel.postprocessors.param;
+import java.util.List;
import java.util.function.Function;
import org.apache.isis.applib.ApplicationException;
@@ -53,7 +54,7 @@ public class ActionParameterDefaultsFacetFromAssociatedCollection extends Action
@Override
public Object getDefault(
final ManagedObject target,
- final Can<ManagedObject> pendingArgs,
+ final List<ManagedObject> pendingArgs,
final Integer paramNumUpdated) {
return _selectedPojos.get();
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/services/command/CommandDtoServiceInternal.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/services/command/CommandDtoServiceInternal.java
index a3c3750..fb16ced 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/services/command/CommandDtoServiceInternal.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/services/command/CommandDtoServiceInternal.java
@@ -45,7 +45,7 @@ public interface CommandDtoServiceInternal {
CommandDto asCommandDto(
final List<ManagedObject> targetAdapters,
final ObjectAction objectAction,
- final Can<ManagedObject> argAdapters);
+ final List<ManagedObject> argAdapters);
/**
* Returns a JAXB DTO (hence convertible to XML) that represents the intention to edit (set or clear) a property on
@@ -61,7 +61,7 @@ public interface CommandDtoServiceInternal {
void addActionArgs(
final ObjectAction objectAction,
final ActionDto actionDto,
- final Can<ManagedObject> argAdapters);
+ final List<ManagedObject> argAdapters);
@Programmatic
void addPropertyValue(
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/services/homepage/HomePageAction.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/services/homepage/HomePageAction.java
index a7eeb68..079d111 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/services/homepage/HomePageAction.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/services/homepage/HomePageAction.java
@@ -18,6 +18,8 @@
*/
package org.apache.isis.metamodel.services.homepage;
+import java.util.Collections;
+
import org.apache.isis.applib.annotation.Where;
import org.apache.isis.commons.collections.Can;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
@@ -40,7 +42,7 @@ public final class HomePageAction {
public Object getHomePagePojo() {
final ManagedObject mixedInAdapter = null;
- final Can<ManagedObject> parameters = Can.empty();
+ val parameters = Collections.<ManagedObject>emptyList();
final ManagedObject resultAdapter = objectAction.executeWithRuleChecking(
objectAdapter, mixedInAdapter, parameters,
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/services/ixn/InteractionDtoServiceInternal.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/services/ixn/InteractionDtoServiceInternal.java
index 9dc0b96..bc829fe 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/services/ixn/InteractionDtoServiceInternal.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/services/ixn/InteractionDtoServiceInternal.java
@@ -18,6 +18,8 @@
*/
package org.apache.isis.metamodel.services.ixn;
+import java.util.List;
+
import org.apache.isis.applib.annotation.Programmatic;
import org.apache.isis.commons.collections.Can;
import org.apache.isis.metamodel.spec.ManagedObject;
@@ -32,7 +34,7 @@ public interface InteractionDtoServiceInternal {
ActionInvocationDto asActionInvocationDto(
ObjectAction objectAction,
ManagedObject targetAdapter,
- Can<ManagedObject> argumentAdapters);
+ List<ManagedObject> argumentAdapters);
@Programmatic
PropertyEditDto asPropertyEditDto(
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/ManagedObject.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/ManagedObject.java
index 75f2344..8d07c3f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/ManagedObject.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/ManagedObject.java
@@ -242,7 +242,7 @@ public interface ManagedObject {
return adapter != null ? adapter.getPojo() : null;
}
- public static Object[] unwrapPojoArray(final Can<ManagedObject> adapters) {
+ public static Object[] unwrapPojoArray(final List<ManagedObject> adapters) {
if (adapters == null) {
return null;
}
@@ -254,6 +254,10 @@ public interface ManagedObject {
return unwrappedObjects;
}
+ public static Object[] unwrapPojoArray(final Can<ManagedObject> adapters) {
+ return unwrapPojoArray(adapters.toList());
+ }
+
public static Object[] unwrapPojoArray(final ManagedObject[] adapters) {
if (adapters == null) {
return null;
@@ -423,8 +427,8 @@ public interface ManagedObject {
return MethodExtensions.invoke(method, unwrapPojo(adapter), new Object[] {arg0});
}
- public static Object invoke(Method method, ManagedObject adapter, Can<ManagedObject> args) {
- return invoke(method, adapter, args.toArray(ManagedObject.class));
+ public static Object invoke(Method method, ManagedObject adapter, List<ManagedObject> args) {
+ return invoke(method, adapter, args.toArray(new ManagedObject[0]));
}
public static Object invoke(Method method, ManagedObject adapter, ManagedObject arg0Adapter) {
@@ -469,8 +473,8 @@ public interface ManagedObject {
public static Object invokeAutofit(
final Method method,
final ManagedObject target,
- final Can<? extends ManagedObject> pendingArgs,
- final Can<Optional<Object>> additionalArgValues) {
+ final List<? extends ManagedObject> pendingArgs,
+ final List<Optional<Object>> additionalArgValues) {
val argArray = adjust(method, pendingArgs, additionalArgValues);
@@ -478,20 +482,20 @@ public interface ManagedObject {
}
/**
- * same as {@link #invokeAutofit(Method, ManagedObject, Can, Can)} w/o additionalArgValues
+ * same as {@link #invokeAutofit(Method, ManagedObject, List, List)} w/o additionalArgValues
*/
public static Object invokeAutofit(
final Method method,
final ManagedObject target,
- final Can<? extends ManagedObject> pendingArgs) {
+ final List<? extends ManagedObject> pendingArgs) {
- return invokeAutofit(method, target, pendingArgs, Can.empty());
+ return invokeAutofit(method, target, pendingArgs, Collections.emptyList());
}
private static Object[] adjust(
final Method method,
- final Can<? extends ManagedObject> pendingArgs,
- final Can<Optional<Object>> additionalArgValues) {
+ final List<? extends ManagedObject> pendingArgs,
+ final List<Optional<Object>> additionalArgValues) {
val parameterTypes = method.getParameterTypes();
val paramCount = parameterTypes.length;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/ObjectAction.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/ObjectAction.java
index 5a7b761..478b6ce 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/ObjectAction.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/ObjectAction.java
@@ -109,7 +109,7 @@ public interface ObjectAction extends ObjectMember {
ManagedObject executeWithRuleChecking(
final ManagedObject target,
final ManagedObject mixedInAdapter,
- final Can<ManagedObject> parameters,
+ final List<ManagedObject> parameters,
final InteractionInitiatedBy interactionInitiatedBy,
final Where where) throws AuthorizationException;
@@ -124,7 +124,7 @@ public interface ObjectAction extends ObjectMember {
ManagedObject execute(
ManagedObject targetAdapter,
ManagedObject mixedInAdapter,
- Can<ManagedObject> parameters,
+ List<ManagedObject> parameters,
final InteractionInitiatedBy interactionInitiatedBy);
@@ -135,26 +135,26 @@ public interface ObjectAction extends ObjectMember {
*
* <p>
* Basically just calls (the helper methods also called by) first
- * {@link #isEachIndividualArgumentValid(ManagedObject, ManagedObject[], InteractionInitiatedBy)}
+ * {@link #isEachIndividualArgumentValid(ManagedObject, List, InteractionInitiatedBy)}
* and then
- * {@link #isArgumentSetValid(ManagedObject, ManagedObject[], InteractionInitiatedBy)}.
+ * {@link #isArgumentSetValid(ManagedObject, List, InteractionInitiatedBy)}
* Those methods are
* separated out so that viewers have more fine-grained control.
* </p>
*/
Consent isProposedArgumentSetValid(
ManagedObject object,
- Can<ManagedObject> proposedArguments,
+ List<ManagedObject> proposedArguments,
InteractionInitiatedBy interactionInitiatedBy);
Consent isEachIndividualArgumentValid(
ManagedObject objectAdapter,
- Can<ManagedObject> proposedArguments,
+ List<ManagedObject> proposedArguments,
InteractionInitiatedBy interactionInitiatedBy);
Consent isArgumentSetValid(
ManagedObject objectAdapter,
- Can<ManagedObject> proposedArguments,
+ List<ManagedObject> proposedArguments,
InteractionInitiatedBy interactionInitiatedBy);
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/ObjectActionParameter.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/ObjectActionParameter.java
index 85abee4..fb480d7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/ObjectActionParameter.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/ObjectActionParameter.java
@@ -19,6 +19,7 @@
package org.apache.isis.metamodel.spec.feature;
+import java.util.List;
import java.util.function.Predicate;
import javax.annotation.Nullable;
@@ -75,7 +76,7 @@ public interface ObjectActionParameter extends ObjectFeature, CurrentHolder {
// internal API
ActionArgValidityContext createProposedArgumentInteractionContext(
ManagedObject targetObject,
- Can<ManagedObject> args,
+ List<ManagedObject> args,
int position,
InteractionInitiatedBy interactionInitiatedBy);
@@ -92,7 +93,7 @@ public interface ObjectActionParameter extends ObjectFeature, CurrentHolder {
*/
Can<ManagedObject> getAutoComplete(
ManagedObject adapter,
- Can<ManagedObject> pendingArgs,
+ List<ManagedObject> pendingArgs,
String searchArg,
InteractionInitiatedBy interactionInitiatedBy);
@@ -111,13 +112,13 @@ public interface ObjectActionParameter extends ObjectFeature, CurrentHolder {
*/
Can<ManagedObject> getChoices(
ManagedObject adapter,
- Can<ManagedObject> pendingArgs,
+ List<ManagedObject> pendingArgs,
InteractionInitiatedBy interactionInitiatedBy);
ManagedObject getDefault(
ManagedObject adapter,
- Can<ManagedObject> pendingArgs,
+ List<ManagedObject> pendingArgs,
Integer paramNumUpdated);
@@ -130,7 +131,7 @@ public interface ObjectActionParameter extends ObjectFeature, CurrentHolder {
*/
Consent isVisible(
ManagedObject targetAdapter,
- Can<ManagedObject> pendingArgs,
+ List<ManagedObject> pendingArgs,
InteractionInitiatedBy interactionInitiatedBy);
/**
@@ -142,7 +143,7 @@ public interface ObjectActionParameter extends ObjectFeature, CurrentHolder {
*/
Consent isUsable(
ManagedObject targetAdapter,
- Can<ManagedObject> pendingArgs,
+ List<ManagedObject> pendingArgs,
InteractionInitiatedBy interactionInitiatedBy);
/**
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionContributee.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionContributee.java
index e76e0ef..c8bd808 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionContributee.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionContributee.java
@@ -168,7 +168,7 @@ public class ObjectActionContributee extends ObjectActionDefault implements Cont
@Override
public Consent isProposedArgumentSetValid(
final ManagedObject contributee,
- final Can<ManagedObject> proposedArguments,
+ final List<ManagedObject> proposedArguments,
final InteractionInitiatedBy interactionInitiatedBy) {
val serviceArguments = argsPlusContributee(contributee, proposedArguments);
@@ -179,7 +179,7 @@ public class ObjectActionContributee extends ObjectActionDefault implements Cont
@Override
public Consent isEachIndividualArgumentValid(
final ManagedObject contributee,
- final Can<ManagedObject> proposedArguments,
+ final List<ManagedObject> proposedArguments,
final InteractionInitiatedBy interactionInitiatedBy) {
val serviceArguments = argsPlusContributee(contributee, proposedArguments);
@@ -190,7 +190,7 @@ public class ObjectActionContributee extends ObjectActionDefault implements Cont
@Override
public Consent isArgumentSetValid(
final ManagedObject contributee,
- final Can<ManagedObject> proposedArguments,
+ final List<ManagedObject> proposedArguments,
final InteractionInitiatedBy interactionInitiatedBy) {
val serviceArguments = argsPlusContributee(contributee, proposedArguments);
@@ -202,7 +202,7 @@ public class ObjectActionContributee extends ObjectActionDefault implements Cont
public ManagedObject execute(
final ManagedObject targetAdapter,
final ManagedObject mixedInAdapter,
- final Can<ManagedObject> argumentAdapters,
+ final List<ManagedObject> argumentAdapters,
final InteractionInitiatedBy interactionInitiatedBy) {
setupCommand(targetAdapter, argumentAdapters);
@@ -213,11 +213,12 @@ public class ObjectActionContributee extends ObjectActionDefault implements Cont
}
- private Can<ManagedObject> argsPlusContributee(
+ private List<ManagedObject> argsPlusContributee(
final ManagedObject contributee,
- final Can<ManagedObject> arguments) {
+ final List<ManagedObject> arguments) {
- return arguments.add(contributeeParamIndex, contributee);
+ arguments.add(contributeeParamIndex, contributee);
+ return arguments;
}
// //////////////////////////////////////
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionDefault.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionDefault.java
index f7bd86b..63a8967 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionDefault.java
@@ -242,10 +242,10 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
/**
* The Validates all arguments individually (by calling same helper that
- * {@link #isEachIndividualArgumentValid(ManagedObject, ManagedObject[], InteractionInitiatedBy)} delegates to)
+ * {@link #isEachIndividualArgumentValid(ManagedObject, List, InteractionInitiatedBy)} delegates to)
* and if there are no validation errors, then validates the entire argument
* set (by calling same helper that
- * {@link #isArgumentSetValid(ManagedObject, ManagedObject[], InteractionInitiatedBy)} delegates to).
+ * {@link #isArgumentSetValid(ManagedObject, List, InteractionInitiatedBy)} delegates to).
*
* <p>
* The two other validation methods mentioned above are separated out to allow viewers (such as the RO viewer) to
@@ -255,7 +255,7 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
@Override
public Consent isProposedArgumentSetValid(
final ManagedObject targetObject,
- final Can<ManagedObject> proposedArguments,
+ final List<ManagedObject> proposedArguments,
final InteractionInitiatedBy interactionInitiatedBy) {
final InteractionResultSet resultSet = new InteractionResultSet();
@@ -271,10 +271,10 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
/**
* Normally action validation is all performed by
- * {@link #isProposedArgumentSetValid(ManagedObject, ManagedObject[], InteractionInitiatedBy)}, which calls
- * {@link #isEachIndividualArgumentValid(ManagedObject, ManagedObject[], InteractionInitiatedBy) this method} to
+ * {@link #isProposedArgumentSetValid(ManagedObject, List, InteractionInitiatedBy)}, which calls
+ * {@link #isEachIndividualArgumentValid(ManagedObject, List, InteractionInitiatedBy) this method} to
* validate arguments individually, and then
- * {@link #isArgumentSetValid(ManagedObject, ManagedObject[], InteractionInitiatedBy) validate argument set}
+ * {@link #isArgumentSetValid(ManagedObject, List, InteractionInitiatedBy) validate argument set}
* afterwards.
*
* <p>
@@ -285,7 +285,7 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
@Override
public Consent isEachIndividualArgumentValid(
final ManagedObject objectAdapter,
- final Can<ManagedObject> proposedArguments,
+ final List<ManagedObject> proposedArguments,
final InteractionInitiatedBy interactionInitiatedBy) {
final InteractionResultSet resultSet = new InteractionResultSet();
@@ -297,7 +297,7 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
private void validateArgumentsIndividually(
final ManagedObject objectAdapter,
- final Can<ManagedObject> proposedArguments,
+ final List<ManagedObject> proposedArguments,
final InteractionInitiatedBy interactionInitiatedBy,
final InteractionResultSet resultSet) {
@@ -315,10 +315,10 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
/**
* Normally action validation is all performed by
- * {@link #isProposedArgumentSetValid(ManagedObject, ManagedObject[], InteractionInitiatedBy)}, which calls
- * {@link #isEachIndividualArgumentValid(ManagedObject, ManagedObject[], InteractionInitiatedBy)} to
+ * {@link #isProposedArgumentSetValid(ManagedObject, List, InteractionInitiatedBy)}, which calls
+ * {@link #isEachIndividualArgumentValid(ManagedObject, List, InteractionInitiatedBy)} to
* validate arguments individually, and then
- * {@link #isArgumentSetValid(ManagedObject, ManagedObject[], InteractionInitiatedBy) this method} to
+ * {@link #isArgumentSetValid(ManagedObject, List, InteractionInitiatedBy) this method} to
* validate the entire argument set afterwards.
*
* <p>
@@ -329,7 +329,7 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
@Override
public Consent isArgumentSetValid(
final ManagedObject objectAdapter,
- final Can<ManagedObject> proposedArguments,
+ final List<ManagedObject> proposedArguments,
final InteractionInitiatedBy interactionInitiatedBy) {
final InteractionResultSet resultSet = new InteractionResultSet();
@@ -340,7 +340,7 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
protected void validateArgumentSet(
final ManagedObject objectAdapter,
- final Can<ManagedObject> proposedArguments,
+ final List<ManagedObject> proposedArguments,
final InteractionInitiatedBy interactionInitiatedBy,
final InteractionResultSet resultSet) {
@@ -351,7 +351,7 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
ActionValidityContext createActionInvocationInteractionContext(
final ManagedObject targetObject,
- final Can<ManagedObject> proposedArguments,
+ final List<ManagedObject> proposedArguments,
final InteractionInitiatedBy interactionInitiatedBy) {
return new ActionValidityContext(targetObject, this, getIdentifier(), proposedArguments,
@@ -366,7 +366,7 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
public ManagedObject executeWithRuleChecking(
final ManagedObject target,
final ManagedObject mixedInAdapter,
- final Can<ManagedObject> arguments,
+ final List<ManagedObject> arguments,
final InteractionInitiatedBy interactionInitiatedBy,
final Where where) {
@@ -393,7 +393,7 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
/**
* Sets up the {@link Command}, then delegates off to
- * {@link #executeInternal(ManagedObject, ManagedObject, ManagedObject[], InteractionInitiatedBy) executeInternal}
+ * {@link #executeInternal(ManagedObject, ManagedObject, List, InteractionInitiatedBy) executeInternal}
* to invoke the {@link ActionInvocationFacet invocation facet}.
*
* @param mixedInAdapter - will be null for regular actions, and for mixin actions. When a mixin action invokes its underlying mixedIn action, then will be populated (so that the ActionDomainEvent can correctly provide the underlying mixin)
@@ -402,7 +402,7 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
public ManagedObject execute(
final ManagedObject targetAdapter,
final ManagedObject mixedInAdapter,
- final Can<ManagedObject> argumentAdapters,
+ final List<ManagedObject> argumentAdapters,
final InteractionInitiatedBy interactionInitiatedBy) {
setupCommand(targetAdapter, argumentAdapters);
@@ -416,7 +416,7 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
public ManagedObject executeInternal(
final ManagedObject targetAdapter,
final ManagedObject mixedInAdapter,
- final Can<ManagedObject> argumentAdapters,
+ final List<ManagedObject> argumentAdapters,
final InteractionInitiatedBy interactionInitiatedBy) {
val actionInvocationFacet = getFacet(ActionInvocationFacet.class);
@@ -469,8 +469,8 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
parameterDefaultPojos[i] = paramFacet
.getDefault(
target,
- /*parameters*/ Can.empty(),
- /*paramNumUpdated*/null);
+ Collections.emptyList(),
+ null);
} else {
parameterDefaultPojos[i] = null;
}
@@ -613,7 +613,7 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
*/
public void setupCommand(
final ManagedObject targetAdapter,
- final Can<ManagedObject> argumentAdapters) {
+ final List<ManagedObject> argumentAdapters) {
final CommandContext commandContext = getCommandContext();
final Command command = commandContext.getCommand();
@@ -629,7 +629,7 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
private void setupCommandTarget(
final ManagedObject targetAdapter,
- final Can<ManagedObject> argumentAdapters) {
+ final List<ManagedObject> argumentAdapters) {
final String arguments = CommandUtil.argDescriptionFor(this, argumentAdapters);
super.setupCommandTarget(targetAdapter, arguments);
@@ -637,7 +637,7 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
private void setupCommandMementoAndExecutionContext(
final ManagedObject targetAdapter,
- final Can<ManagedObject> argumentAdapters) {
+ final List<ManagedObject> argumentAdapters) {
val commandDtoServiceInternal = getCommandDtoService();
final List<ManagedObject> commandTargetAdapters =
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionMixedIn.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionMixedIn.java
index 466761a..9ed7e69 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionMixedIn.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionMixedIn.java
@@ -209,7 +209,7 @@ public class ObjectActionMixedIn extends ObjectActionDefault implements MixedInM
@Override
protected void validateArgumentSet(
final ManagedObject mixedInAdapter,
- final Can<ManagedObject> proposedArguments,
+ final List<ManagedObject> proposedArguments,
final InteractionInitiatedBy interactionInitiatedBy,
final InteractionResultSet resultSet) {
@@ -228,7 +228,7 @@ public class ObjectActionMixedIn extends ObjectActionDefault implements MixedInM
public ManagedObject execute(
final ManagedObject target, // will be the mixedInAdapter
final ManagedObject mixedInAdapter, // will be passed in as null
- final Can<ManagedObject> arguments,
+ final List<ManagedObject> arguments,
final InteractionInitiatedBy interactionInitiatedBy) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
index 783842c..847a3ec 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
@@ -19,6 +19,7 @@
package org.apache.isis.metamodel.specloader.specimpl;
+import java.util.Arrays;
import java.util.List;
import org.apache.isis.applib.Identifier;
@@ -207,7 +208,7 @@ implements ObjectActionParameter, FacetHolder.Delegating {
@Override
public Can<ManagedObject> getAutoComplete(
final ManagedObject adapter,
- final Can<ManagedObject> pendingArgs,
+ final List<ManagedObject> pendingArgs,
final String searchArg,
final InteractionInitiatedBy interactionInitiatedBy) {
@@ -244,7 +245,7 @@ implements ObjectActionParameter, FacetHolder.Delegating {
@Override
public Can<ManagedObject> getChoices(
final ManagedObject adapter,
- final Can<ManagedObject> pendingArgs,
+ final List<ManagedObject> pendingArgs,
final InteractionInitiatedBy interactionInitiatedBy) {
val args = argsForDefaultOrChoices(adapter, pendingArgs);
@@ -255,7 +256,7 @@ implements ObjectActionParameter, FacetHolder.Delegating {
private Can<ManagedObject> findChoices(
final ManagedObject target,
- final Can<ManagedObject> pendingArgs,
+ final List<ManagedObject> pendingArgs,
final InteractionInitiatedBy interactionInitiatedBy) {
final List<ManagedObject> adapters = _Lists.newArrayList();
@@ -277,7 +278,7 @@ implements ObjectActionParameter, FacetHolder.Delegating {
@Override
public ManagedObject getDefault(
final ManagedObject adapter,
- final Can<ManagedObject> pendingArgs,
+ final List<ManagedObject> pendingArgs,
final Integer paramNumUpdated) {
final ManagedObject target = targetForDefaultOrChoices(adapter);
@@ -288,7 +289,7 @@ implements ObjectActionParameter, FacetHolder.Delegating {
private ManagedObject findDefault(
final ManagedObject target,
- final Can<ManagedObject> args,
+ final List<ManagedObject> args,
final Integer paramNumUpdated) {
final ActionParameterDefaultsFacet defaultsFacet = getFacet(ActionParameterDefaultsFacet.class);
@@ -314,9 +315,9 @@ implements ObjectActionParameter, FacetHolder.Delegating {
/**
* Hook method; {@link ObjectActionParameterContributee contributed action parameter}s override.
*/
- protected Can<ManagedObject> argsForDefaultOrChoices(
+ protected List<ManagedObject> argsForDefaultOrChoices(
final ManagedObject adapter,
- final Can<ManagedObject> argumentsIfAvailable) {
+ final List<ManagedObject> argumentsIfAvailable) {
return argumentsIfAvailable;
}
@@ -358,7 +359,7 @@ implements ObjectActionParameter, FacetHolder.Delegating {
private ActionArgVisibilityContext createArgumentVisibilityContext(
final ManagedObject objectAdapter,
- final Can<ManagedObject> pendingArgs,
+ final List<ManagedObject> pendingArgs,
final int position,
final InteractionInitiatedBy interactionInitiatedBy) {
@@ -369,7 +370,7 @@ implements ObjectActionParameter, FacetHolder.Delegating {
@Override
public Consent isVisible(
final ManagedObject targetAdapter,
- final Can<ManagedObject> pendingArgs,
+ final List<ManagedObject> pendingArgs,
final InteractionInitiatedBy interactionInitiatedBy) {
final VisibilityContext<?> ic = createArgumentVisibilityContext(
@@ -385,7 +386,7 @@ implements ObjectActionParameter, FacetHolder.Delegating {
private ActionArgUsabilityContext createArgumentUsabilityContext(
final ManagedObject objectAdapter,
- final Can<ManagedObject> pendingArgs,
+ final List<ManagedObject> pendingArgs,
final int position,
final InteractionInitiatedBy interactionInitiatedBy) {
@@ -401,7 +402,7 @@ implements ObjectActionParameter, FacetHolder.Delegating {
@Override
public Consent isUsable(
final ManagedObject targetAdapter,
- final Can<ManagedObject> pendingArgs,
+ final List<ManagedObject> pendingArgs,
final InteractionInitiatedBy interactionInitiatedBy) {
final UsabilityContext<?> ic = createArgumentUsabilityContext(
@@ -419,7 +420,7 @@ implements ObjectActionParameter, FacetHolder.Delegating {
@Override
public ActionArgValidityContext createProposedArgumentInteractionContext(
final ManagedObject objectAdapter,
- final Can<ManagedObject> proposedArguments,
+ final List<ManagedObject> proposedArguments,
final int position,
final InteractionInitiatedBy interactionInitiatedBy) {
@@ -465,14 +466,14 @@ implements ObjectActionParameter, FacetHolder.Delegating {
* to do this in two passes, one to build up the argument set as a single
* unit, and then validate each in turn.
*/
- private Can<ManagedObject> arguments(final ManagedObject proposedValue) {
+ private List<ManagedObject> arguments(final ManagedObject proposedValue) {
final int parameterCount = getAction().getParameterCount();
final ManagedObject[] arguments = new ManagedObject[parameterCount];
for(int i=0; i< parameterCount; ++i) {
arguments[i] = ManagedObject.empty();
}
arguments[getNumber()] = proposedValue;
- return Can.ofArray(arguments);
+ return Arrays.asList(arguments);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterContributeeAbstract.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterContributeeAbstract.java
index cef6871..6684c55 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterContributeeAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterContributeeAbstract.java
@@ -59,7 +59,7 @@ implements ObjectActionParameterContributee {
@Override
public Can<ManagedObject> getAutoComplete(
final ManagedObject adapter,
- final Can<ManagedObject> pendingArgs,
+ final List<ManagedObject> pendingArgs,
final String searchArg,
final InteractionInitiatedBy interactionInitiatedBy) {
@@ -81,15 +81,14 @@ implements ObjectActionParameterContributee {
@Override
- protected Can<ManagedObject> argsForDefaultOrChoices(
+ protected List<ManagedObject> argsForDefaultOrChoices(
final ManagedObject contributee,
- final Can<ManagedObject> pendingArgs) {
+ final List<ManagedObject> pendingArgs) {
- final List<ManagedObject> suppliedArgs = pendingArgs.stream()
- .collect(Collectors.toCollection(ArrayList::new));
+ final List<ManagedObject> suppliedArgs = new ArrayList<>(pendingArgs);
final int contributeeParam = contributeeAction.getContributeeParamIndex();
ListExtensions.insert(suppliedArgs, contributeeParam, contributee);
- return Can.ofCollection(suppliedArgs);
+ return suppliedArgs;
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterMixedInAbstract.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterMixedInAbstract.java
index 91129cd..8e8887b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterMixedInAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterMixedInAbstract.java
@@ -18,6 +18,8 @@
*/
package org.apache.isis.metamodel.specloader.specimpl;
+import java.util.List;
+
import org.apache.isis.commons.collections.Can;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.FeatureType;
@@ -45,7 +47,7 @@ implements ObjectActionParameterMixedIn {
@Override
public Can<ManagedObject> getAutoComplete(
final ManagedObject mixedInAdapter,
- final Can<ManagedObject> pendingArgs,
+ final List<ManagedObject> pendingArgs,
final String searchArg,
final InteractionInitiatedBy interactionInitiatedBy) {
@@ -68,7 +70,7 @@ implements ObjectActionParameterMixedIn {
@Override
public ActionArgValidityContext createProposedArgumentInteractionContext(
final ManagedObject mixedInAdapter,
- final Can<ManagedObject> proposedArguments,
+ final List<ManagedObject> proposedArguments,
final int position,
final InteractionInitiatedBy interactionInitiatedBy) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToManyAssociationContributee.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToManyAssociationContributee.java
index be1c51b..e36a37b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToManyAssociationContributee.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToManyAssociationContributee.java
@@ -18,6 +18,7 @@
*/
package org.apache.isis.metamodel.specloader.specimpl;
+import java.util.Collections;
import java.util.List;
import org.apache.isis.applib.Identifier;
@@ -67,7 +68,7 @@ extends OneToManyAssociationDefault implements ContributeeMember {
val specLoader = objectAction.getMetaModelContext().getSpecificationLoader();
// TODO: a bit of a hack; ought really to set up a fallback TypeOfFacetDefault which ensures that there is always
// a TypeOfFacet for any contributee associations created from contributed actions.
- val type = actionTypeOfFacet != null? actionTypeOfFacet.value(): Object.class;
+ val type = actionTypeOfFacet != null? actionTypeOfFacet.value(): (Class)Object.class;
return specLoader.loadSpecification(type);
}
@@ -125,7 +126,7 @@ extends OneToManyAssociationDefault implements ContributeeMember {
final ManagedObject ownerAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
- val params = Can.ofSingleton(ownerAdapter);
+ val params = Collections.singletonList(ownerAdapter);
return serviceAction.execute(getServiceAdapter(), /*mixin*/null, params, interactionInitiatedBy);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToManyAssociationMixedIn.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToManyAssociationMixedIn.java
index afa9e49..31fbbdf 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToManyAssociationMixedIn.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToManyAssociationMixedIn.java
@@ -18,11 +18,11 @@
*/
package org.apache.isis.metamodel.specloader.specimpl;
+import java.util.Collections;
import java.util.List;
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.commons.collections.Can;
import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.metamodel.consent.Consent;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
@@ -152,12 +152,8 @@ public class OneToManyAssociationMixedIn extends OneToManyAssociationDefault imp
final ManagedObject mixinAdapter = mixinAdapterFor(mixinType, mixedInAdapter);
return getPublishingServiceInternal().withPublishingSuppressed(
- new PublisherDispatchService.Block<ManagedObject>() {
- @Override public ManagedObject exec() {
- return mixinAction.executeInternal(
- mixinAdapter, mixedInAdapter, Can.empty(), interactionInitiatedBy);
- }
- });
+ () -> mixinAction.executeInternal(
+ mixinAdapter, mixedInAdapter, Collections.emptyList(), interactionInitiatedBy));
}
@Override
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToOneAssociationContributee.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToOneAssociationContributee.java
index 7cf2d1f..97f9712 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToOneAssociationContributee.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToOneAssociationContributee.java
@@ -18,6 +18,7 @@
*/
package org.apache.isis.metamodel.specloader.specimpl;
+import java.util.Collections;
import java.util.List;
import org.apache.isis.applib.Identifier;
@@ -112,7 +113,7 @@ implements ContributeeMember {
final ManagedObject ownerAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
- val params = Can.ofSingleton(ownerAdapter);
+ val params = Collections.singletonList(ownerAdapter);
return serviceAction.execute(getServiceAdapter(), /*mixin*/null, params, interactionInitiatedBy);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToOneAssociationMixedIn.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToOneAssociationMixedIn.java
index 42e8ee0..7db9bce 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToOneAssociationMixedIn.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToOneAssociationMixedIn.java
@@ -18,6 +18,7 @@
*/
package org.apache.isis.metamodel.specloader.specimpl;
+import java.util.Collections;
import java.util.List;
import org.apache.isis.applib.Identifier;
@@ -137,14 +138,9 @@ public class OneToOneAssociationMixedIn extends OneToOneAssociationDefault imple
val mixinAdapter = mixinAdapterFor(mixinType, mixedInAdapter);
return getPublishingServiceInternal().withPublishingSuppressed(
- new PublisherDispatchService.Block<ManagedObject>(){
- @Override
- public ManagedObject exec() {
- return mixinAction.executeInternal(
- mixinAdapter, mixedInAdapter, Can.empty(), interactionInitiatedBy);
- }
- }
- );
+ () -> mixinAction.executeInternal(
+ mixinAdapter, mixedInAdapter, Collections.emptyList(), interactionInitiatedBy)
+ );
}
@Override
diff --git a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/command/CommandDtoServiceInternalDefault.java b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/command/CommandDtoServiceInternalDefault.java
index bf91a36..bd79f2c 100644
--- a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/command/CommandDtoServiceInternalDefault.java
+++ b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/command/CommandDtoServiceInternalDefault.java
@@ -70,7 +70,7 @@ public class CommandDtoServiceInternalDefault implements CommandDtoServiceIntern
public CommandDto asCommandDto(
final List<ManagedObject> targetAdapters,
final ObjectAction objectAction,
- final Can<ManagedObject> argAdapters) {
+ final List<ManagedObject> argAdapters) {
final CommandDto dto = asCommandDto(targetAdapters);
@@ -130,7 +130,7 @@ public class CommandDtoServiceInternalDefault implements CommandDtoServiceIntern
public void addActionArgs(
final ObjectAction objectAction,
final ActionDto actionDto,
- final Can<ManagedObject> argAdapters) {
+ final List<ManagedObject> argAdapters) {
final String actionId = CommandUtil.memberIdentifierFor(objectAction);
final ObjectSpecification onType = objectAction.getOnType();
@@ -144,7 +144,7 @@ public class CommandDtoServiceInternalDefault implements CommandDtoServiceIntern
final ObjectActionParameter actionParameter = actionParameters.getOrThrow(paramNum);
final String parameterName = actionParameter.getName();
final Class<?> paramType = actionParameter.getSpecification().getCorrespondingClass();
- final ManagedObject argAdapter = argAdapters.getOrThrow(paramNum);
+ final ManagedObject argAdapter = argAdapters.get(paramNum);
final Object arg = argAdapter != null? argAdapter.getPojo(): null;
final ParamsDto parameters = CommandDtoUtils.parametersFor(actionDto);
final List<ParamDto> parameterList = parameters.getParameter();
diff --git a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/command/CommandExecutorServiceDefault.java b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/command/CommandExecutorServiceDefault.java
index 3df691f..66e85d1 100644
--- a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/command/CommandExecutorServiceDefault.java
+++ b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/command/CommandExecutorServiceDefault.java
@@ -298,16 +298,15 @@ public class CommandExecutorServiceDefault implements CommandExecutorService {
}
- private Can<ManagedObject> argAdaptersFor(final ActionDto actionDto) {
+ private List<ManagedObject> argAdaptersFor(final ActionDto actionDto) {
val paramDtos = paramDtosFrom(actionDto);
-
- val argStream = paramDtos
+
+ return paramDtos
.stream()
.map(CommonDtoUtils::getValue)
- .map(this::adapterFor);
-
- return Can.ofStream(argStream);
+ .map(this::adapterFor)
+ .collect(Collectors.toList());
}
private static List<ParamDto> paramDtosFrom(final ActionDto actionDto) {
diff --git a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/ixn/InteractionDtoServiceInternalDefault.java b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/ixn/InteractionDtoServiceInternalDefault.java
index ff34330..4c6b716 100644
--- a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/ixn/InteractionDtoServiceInternalDefault.java
+++ b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/ixn/InteractionDtoServiceInternalDefault.java
@@ -67,7 +67,7 @@ public class InteractionDtoServiceInternalDefault implements InteractionDtoServi
public ActionInvocationDto asActionInvocationDto(
final ObjectAction objectAction,
final ManagedObject targetAdapter,
- final Can<ManagedObject> argumentAdapters) {
+ final List<ManagedObject> argumentAdapters) {
final Interaction interaction = interactionContext.getInteraction();
final int nextEventSequence = interaction.next(Interaction.Sequence.INTERACTION.id());
diff --git a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/wrapper/handlers/DomainObjectInvocationHandler.java b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/wrapper/handlers/DomainObjectInvocationHandler.java
index ad992b5..bfe5078 100644
--- a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/wrapper/handlers/DomainObjectInvocationHandler.java
+++ b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/wrapper/handlers/DomainObjectInvocationHandler.java
@@ -23,9 +23,11 @@ import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Collection;
import java.util.EnumSet;
+import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.Supplier;
+import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.apache.isis.applib.annotation.Where;
@@ -667,7 +669,7 @@ public class DomainObjectInvocationHandler<T> extends DelegatingInvocationHandle
private void checkValidity(
final ManagedObject targetAdapter,
final ObjectAction objectAction,
- final Can<ManagedObject> argAdapters) {
+ final List<ManagedObject> argAdapters) {
val interactionResult = objectAction
.isProposedArgumentSetValid(targetAdapter, argAdapters,getInteractionInitiatedBy())
@@ -675,10 +677,10 @@ public class DomainObjectInvocationHandler<T> extends DelegatingInvocationHandle
notifyListenersAndVetoIfRequired(interactionResult);
}
- private Can<ManagedObject> asObjectAdaptersUnderlying(final Object[] args) {
+ private List<ManagedObject> asObjectAdaptersUnderlying(final Object[] args) {
val argAdapters = _NullSafe.stream(args)
.map(getObjectManager()::adapt)
- .collect(Can.toCan());
+ .collect(Collectors.toList());
return argAdapters;
}
diff --git a/core/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectAndActionInvocation.java b/core/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectAndActionInvocation.java
index d6ad588..bb24861 100644
--- a/core/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectAndActionInvocation.java
+++ b/core/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectAndActionInvocation.java
@@ -18,7 +18,8 @@
*/
package org.apache.isis.viewer.restfulobjects.rendering.domainobjects;
-import org.apache.isis.commons.collections.Can;
+import java.util.List;
+
import org.apache.isis.metamodel.facets.collections.modify.CollectionFacet;
import org.apache.isis.metamodel.facets.object.encodeable.EncodableFacet;
import org.apache.isis.metamodel.spec.ManagedObject;
@@ -32,7 +33,7 @@ public class ObjectAndActionInvocation {
private final ManagedObject objectAdapter;
private final ObjectAction action;
private final JsonRepresentation arguments;
- private final Can<ManagedObject> argAdapters;
+ private final List<ManagedObject> argAdapters;
private final ManagedObject returnedAdapter;
private final ActionResultReprRenderer.SelfLink selfLink;
@@ -40,7 +41,7 @@ public class ObjectAndActionInvocation {
final ManagedObject objectAdapter,
final ObjectAction action,
final JsonRepresentation arguments,
- final Can<ManagedObject> argAdapters,
+ final List<ManagedObject> argAdapters,
final ManagedObject returnedAdapter,
final ActionResultReprRenderer.SelfLink selfLink) {
@@ -64,7 +65,7 @@ public class ObjectAndActionInvocation {
return arguments;
}
- public Can<ManagedObject> getArgAdapters() {
+ public List<ManagedObject> getArgAdapters() {
return argAdapters;
}
diff --git a/core/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/ContentNegotiationServiceForRestfulObjectsV1_0.java b/core/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/ContentNegotiationServiceForRestfulObjectsV1_0.java
index c6714be..70fa281 100644
--- a/core/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/ContentNegotiationServiceForRestfulObjectsV1_0.java
+++ b/core/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/ContentNegotiationServiceForRestfulObjectsV1_0.java
@@ -247,7 +247,7 @@ public class ContentNegotiationServiceForRestfulObjectsV1_0 implements ContentNe
val paramIndex = i;
val param = parameters.getOrThrow(paramIndex);
- val argAdapter = argAdapters.getOrThrow(paramIndex);
+ val argAdapter = argAdapters.get(paramIndex);
if(buf.length() > 0) {
buf.append(",");
diff --git a/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/ObjectActionArgHelper.java b/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/ObjectActionArgHelper.java
index 15d00ce..1c74a2a 100644
--- a/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/ObjectActionArgHelper.java
+++ b/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/ObjectActionArgHelper.java
@@ -55,7 +55,7 @@ public class ObjectActionArgHelper {
this.action = action;
}
- public Can<ManagedObject> parseAndValidateArguments(final JsonRepresentation arguments) {
+ public List<ManagedObject> parseAndValidateArguments(final JsonRepresentation arguments) {
final List<JsonRepresentation> argList = argListFor(action, arguments);
final List<ManagedObject> argAdapters = _Lists.newArrayList();
@@ -83,9 +83,8 @@ public class ObjectActionArgHelper {
}
// validate entire argument set
- val args = Can.ofCollection(argAdapters);
final Consent consent = action.isArgumentSetValid(
- objectAdapter, args, InteractionInitiatedBy.USER);
+ objectAdapter, argAdapters, InteractionInitiatedBy.USER);
if (consent.isVetoed()) {
arguments.mapPut("x-ro-invalidReason", consent.getReason());
valid = false;
@@ -98,7 +97,7 @@ public class ObjectActionArgHelper {
"Validation failed, see body for details");
}
- return args;
+ return argAdapters;
}
private static List<JsonRepresentation> argListFor(final ObjectAction action, final JsonRepresentation arguments) {
diff --git a/core/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionArgumentModel.java b/core/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionArgumentModel.java
index 17f5a4f..d47e15f 100644
--- a/core/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionArgumentModel.java
+++ b/core/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionArgumentModel.java
@@ -18,6 +18,8 @@
*/
package org.apache.isis.viewer.wicket.model.models;
+import java.util.List;
+
import org.apache.wicket.model.IModel;
import org.apache.isis.commons.collections.Can;
@@ -30,5 +32,5 @@ public interface ActionArgumentModel extends IModel<ManagedObject> {
void reset();
- void setActionArgsHint(Can<ManagedObject> arguments);
+ void setActionArgsHint(List<ManagedObject> arguments);
}
diff --git a/core/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java b/core/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
index ee6a4b5..33f8f43 100644
--- a/core/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
+++ b/core/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
@@ -23,6 +23,8 @@ import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
@@ -116,8 +118,6 @@ public class ActionModel extends BookmarkableModel<ManagedObject> implements For
/**
* Factory method for creating {@link PageParameters}.
- *
- * see {@link #ActionModel(PageParameters, SpecificationLoader)}
*/
public static PageParameters createPageParameters(ManagedObject adapter, ObjectAction objectAction) {
@@ -303,7 +303,6 @@ public class ActionModel extends BookmarkableModel<ManagedObject> implements For
/**
* Copy constructor, as called by {@link #copy()}.
- * @param commonContext
*/
private ActionModel(ActionModel actionModel) {
super(actionModel.getCommonContext());
@@ -450,7 +449,7 @@ public class ActionModel extends BookmarkableModel<ManagedObject> implements For
private ManagedObject executeAction() {
val targetAdapter = getTargetAdapter();
- val arguments = getArgumentsAsImmutable();
+ final List<ManagedObject> arguments = getArgumentsAsImmutable();
final ObjectAction action = getAction();
// if this action is a mixin, then it will fill in the details automatically.
@@ -509,7 +508,7 @@ public class ActionModel extends BookmarkableModel<ManagedObject> implements For
public String getReasonInvalidIfAny() {
val targetAdapter = getTargetAdapter();
- val proposedArguments = getArgumentsAsImmutable();
+ final List<ManagedObject> proposedArguments = getArgumentsAsImmutable();
final ObjectAction objectAction = getAction();
final Consent validity = objectAction
.isProposedArgumentSetValid(targetAdapter, proposedArguments, InteractionInitiatedBy.USER);
@@ -521,7 +520,7 @@ public class ActionModel extends BookmarkableModel<ManagedObject> implements For
throw new UnsupportedOperationException("target adapter for ActionModel cannot be changed");
}
- public Can<ManagedObject> getArgumentsAsImmutable() {
+ public List<ManagedObject> getArgumentsAsImmutable() {
if(this.arguments.size() < getAction().getParameterCount()) {
primeArgumentModels();
}
@@ -532,7 +531,7 @@ public class ActionModel extends BookmarkableModel<ManagedObject> implements For
final ActionArgumentModel actionArgumentModel = this.arguments.get(i);
arguments[i] = actionArgumentModel.getObject();
}
- return Can.ofArray(arguments);
+ return Collections.unmodifiableList(Arrays.asList(arguments));
}
@Override
diff --git a/core/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java b/core/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
index d549117..a7deaf6 100644
--- a/core/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
+++ b/core/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
@@ -187,7 +187,7 @@ implements LinksProvider, FormExecutorContext, ActionArgumentModel {
@Override
public ManagedObject getDefault(
final ScalarModel scalarModel,
- final Can<ManagedObject> pendingArgs,
+ final List<ManagedObject> pendingArgs,
final int paramNumUpdated,
final AuthenticationSession authenticationSession) {
@@ -208,7 +208,7 @@ implements LinksProvider, FormExecutorContext, ActionArgumentModel {
@Override
public List<ManagedObject> getChoices(
final ScalarModel scalarModel,
- final Can<ManagedObject> pendingArgs,
+ final List<ManagedObject> pendingArgs,
final AuthenticationSession authenticationSession) {
final PropertyMemento propertyMemento = scalarModel.getPropertyMemento();
@@ -232,7 +232,7 @@ implements LinksProvider, FormExecutorContext, ActionArgumentModel {
@Override
public List<ManagedObject> getAutoComplete(
final ScalarModel scalarModel,
- final Can<ManagedObject> pendingArgs, // ignored for properties
+ final List<ManagedObject> pendingArgs, // ignored for properties
final String searchArg,
final AuthenticationSession authenticationSession) {
@@ -423,7 +423,7 @@ implements LinksProvider, FormExecutorContext, ActionArgumentModel {
@Override
public ManagedObject getDefault(
final ScalarModel scalarModel,
- final Can<ManagedObject> pendingArgs,
+ final List<ManagedObject> pendingArgs,
final int paramNumUpdated,
final AuthenticationSession authenticationSession) {
@@ -444,7 +444,7 @@ implements LinksProvider, FormExecutorContext, ActionArgumentModel {
@Override
public List<ManagedObject> getChoices(
final ScalarModel scalarModel,
- final Can<ManagedObject> pendingArgs,
+ final List<ManagedObject> pendingArgs,
final AuthenticationSession authenticationSession) {
final ActionParameterMemento parameterMemento = scalarModel.getParameterMemento();
@@ -470,7 +470,7 @@ implements LinksProvider, FormExecutorContext, ActionArgumentModel {
@Override
public List<ManagedObject> getAutoComplete(
final ScalarModel scalarModel,
- final Can<ManagedObject> pendingArgs,
+ final List<ManagedObject> pendingArgs,
final String searchArg,
final AuthenticationSession authenticationSession) {
@@ -549,7 +549,7 @@ implements LinksProvider, FormExecutorContext, ActionArgumentModel {
scalarModel.getSpecificationLoader());
final ManagedObject parentAdapter =
scalarModel.getParentEntityModel().load();
- final ManagedObject defaultAdapter = actionParameter.getDefault(parentAdapter, Can.empty(), null);
+ final ManagedObject defaultAdapter = actionParameter.getDefault(parentAdapter, Collections.emptyList(), null);
scalarModel.setObject(defaultAdapter);
}
@@ -625,20 +625,20 @@ implements LinksProvider, FormExecutorContext, ActionArgumentModel {
public abstract ManagedObject getDefault(
ScalarModel scalarModel,
- Can<ManagedObject> pendingArgs,
+ List<ManagedObject> pendingArgs,
int paramNumUpdated,
AuthenticationSession authenticationSession);
public abstract boolean hasChoices(ScalarModel scalarModel);
public abstract List<ManagedObject> getChoices(
ScalarModel scalarModel,
- Can<ManagedObject> pendingArgs,
+ List<ManagedObject> pendingArgs,
AuthenticationSession authenticationSession);
public abstract boolean hasAutoComplete(ScalarModel scalarModel);
public abstract List<ManagedObject> getAutoComplete(
ScalarModel scalarModel,
- Can<ManagedObject> pendingArgs,
+ List<ManagedObject> pendingArgs,
String searchArg,
AuthenticationSession authenticationSession);
@@ -917,7 +917,7 @@ implements LinksProvider, FormExecutorContext, ActionArgumentModel {
}
public List<ManagedObject> getChoices(
- final Can<ManagedObject> pendingArgs,
+ final List<ManagedObject> pendingArgs,
final AuthenticationSession authenticationSession) {
return kind.getChoices(this, pendingArgs, authenticationSession);
@@ -928,7 +928,7 @@ implements LinksProvider, FormExecutorContext, ActionArgumentModel {
}
public List<ManagedObject> getAutoComplete(
- final Can<ManagedObject> pendingArgs,
+ final List<ManagedObject> pendingArgs,
final String searchTerm,
final AuthenticationSession authenticationSession) {
@@ -1214,7 +1214,6 @@ implements LinksProvider, FormExecutorContext, ActionArgumentModel {
* edit mode (eg for a parameter), or can be switched into edit mode, eg for an editable property or an
* associated action of a property with 'inline_as_if_edit'
*
- * @param deploymentCategory - used to determine the actions to discover (can vary, eg if prototyping).
* @return <tt>true</tt> if the widget for this model must be editable.
*/
public boolean mustBeEditable() {
@@ -1224,11 +1223,10 @@ implements LinksProvider, FormExecutorContext, ActionArgumentModel {
}
/**
- * Similar to {@link #mustBeEditable(DeploymentCategory)}, though not called from the same locations.
+ * Similar to {@link #mustBeEditable()}, though not called from the same locations.
*
* My suspicion is that it amounts to more or less the same set of conditions.
*
- * @param deploymentCategory
* @return
*/
@Override
@@ -1243,7 +1241,7 @@ implements LinksProvider, FormExecutorContext, ActionArgumentModel {
* @implNote transient because only temporary hint.
*/
@Getter @Setter
- private transient Can<ManagedObject> actionArgsHint;
+ private transient List<ManagedObject> actionArgsHint;
@Override
diff --git a/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersForm.java b/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersForm.java
index ee6f3de..063d700 100644
--- a/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersForm.java
+++ b/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersForm.java
@@ -18,6 +18,7 @@
*/
package org.apache.isis.viewer.wicket.ui.components.actions;
+import java.util.Collections;
import java.util.List;
import org.apache.wicket.Component;
@@ -90,7 +91,7 @@ class ActionParametersForm extends PromptFormAbstract<ActionModel> {
val realTargetAdapter = actionModel.getActionMemento().getAction(getSpecificationLoader())
.realTargetAdapter(targetAdapter);
final Consent consent = apm.getActionParameter(getSpecificationLoader())
- .isVisible(realTargetAdapter, Can.empty(), InteractionInitiatedBy.USER);
+ .isVisible(realTargetAdapter, Collections.emptyList(), InteractionInitiatedBy.USER);
final boolean allowed = consent.isAllowed();
paramPanel.setVisible(allowed);
}
diff --git a/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java b/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
index 2e1c8f3..b3516aa 100644
--- a/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
+++ b/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
@@ -39,6 +39,7 @@ import org.apache.wicket.model.Model;
import org.apache.isis.applib.annotation.ActionLayout;
import org.apache.isis.applib.annotation.PromptStyle;
import org.apache.isis.applib.services.metamodel.MetaModelService;
+import org.apache.isis.commons.collections.Can;
import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.commons.internal.collections._Lists;
import org.apache.isis.commons.internal.ioc.BeanSort;
@@ -134,7 +135,7 @@ implements ScalarModelSubscriber2 {
final AjaxRequestTarget target) {
final ObjectAction action = actionModel.getActionMemento().getAction(getSpecificationLoader());
- val pendingArguments = actionModel.getArgumentsAsImmutable();
+ final List<ManagedObject> pendingArguments = actionModel.getArgumentsAsImmutable();
// could almost certainly simplify this... (used by visibility and usability checks)
final ObjectActionParameter actionParameter = action.getParameters().getOrThrow(paramNumToPossiblyUpdate);
@@ -174,7 +175,7 @@ implements ScalarModelSubscriber2 {
val actionParameterMemento = new ActionParameterMemento(actionParameter);
val actionArgumentModel = actionModel.getArgumentModel(actionParameterMemento);
- val pendingArg = pendingArguments.getOrThrow(paramNumToPossiblyUpdate);
+ val pendingArg = pendingArguments.get(paramNumToPossiblyUpdate);
if (defaultIfAny != null) {
scalarModel.setObject(defaultIfAny);
diff --git a/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelSelect2Abstract.java b/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelSelect2Abstract.java
index e43a4fe..d80957f 100644
--- a/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelSelect2Abstract.java
+++ b/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelSelect2Abstract.java
@@ -113,7 +113,7 @@ public abstract class ScalarPanelSelect2Abstract extends ScalarPanelAbstract2 {
/**
* sets up the choices, also ensuring that any currently held value is compatible.
*/
- private void setProviderAndCurrAndPending(Select2 select2, Can<ManagedObject> pendingArgs) {
+ private void setProviderAndCurrAndPending(Select2 select2, List<ManagedObject> pendingArgs) {
final ChoiceProvider<ObjectMemento> choiceProvider = buildChoiceProvider(pendingArgs);
@@ -130,12 +130,12 @@ public abstract class ScalarPanelSelect2Abstract extends ScalarPanelAbstract2 {
}
/**
- * Mandatory hook (is called by {@link #setProviderAndCurrAndPending(Select2, Can<ManagedObject>)})
+ * Mandatory hook (is called by {@link #setProviderAndCurrAndPending(Select2, List<ManagedObject>)})
*/
- protected abstract ChoiceProvider<ObjectMemento> buildChoiceProvider(Can<ManagedObject> pendingArgs);
+ protected abstract ChoiceProvider<ObjectMemento> buildChoiceProvider(List<ManagedObject> pendingArgs);
/**
- * Mandatory hook (is called by {@link #setProviderAndCurrAndPending(Select2, Can<ManagedObject>)})
+ * Mandatory hook (is called by {@link #setProviderAndCurrAndPending(Select2, List<ManagedObject>)})
*/
protected abstract void syncIfNull(Select2 select2);
@@ -181,7 +181,7 @@ public abstract class ScalarPanelSelect2Abstract extends ScalarPanelAbstract2 {
final int paramNumToPossiblyUpdate,
final AjaxRequestTarget target) {
- val arguments = actionModel.getArgumentsAsImmutable();
+ final List<ManagedObject> arguments = actionModel.getArgumentsAsImmutable();
val repaint = super.updateIfNecessary(actionModel, paramNumUpdated, paramNumToPossiblyUpdate, target);
@@ -198,7 +198,7 @@ public abstract class ScalarPanelSelect2Abstract extends ScalarPanelAbstract2 {
}
}
- private boolean updateChoices(Can<ManagedObject> pendingArgs) {
+ private boolean updateChoices(List<ManagedObject> pendingArgs) {
if (select2 == null) {
return false;
}
diff --git a/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java b/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
index f578ec9..9348155 100644
--- a/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
+++ b/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
@@ -20,6 +20,7 @@
package org.apache.isis.viewer.wicket.ui.components.scalars.reference;
import java.util.ArrayList;
+import java.util.List;
import java.util.stream.Collectors;
import org.apache.wicket.AttributeModifier;
@@ -340,7 +341,7 @@ public class ReferencePanel extends ScalarPanelSelect2Abstract {
// //////////////////////////////////////
@Override
- protected ChoiceProvider<ObjectMemento> buildChoiceProvider(Can<ManagedObject> pendingArgs) {
+ protected ChoiceProvider<ObjectMemento> buildChoiceProvider(List<ManagedObject> pendingArgs) {
val commonContext = super.getCommonContext();
diff --git a/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java b/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java
index a3df988..84401aa 100644
--- a/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java
+++ b/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java
@@ -74,7 +74,7 @@ public class ValueChoicesSelect2Panel extends ScalarPanelSelect2Abstract {
}
- private List<ObjectMemento> getChoiceMementos(final Can<ManagedObject> pendingArgs) {
+ private List<ObjectMemento> getChoiceMementos(final List<ManagedObject> pendingArgs) {
val commonContext = super.getCommonContext();
@@ -165,7 +165,7 @@ public class ValueChoicesSelect2Panel extends ScalarPanelSelect2Abstract {
// in corresponding code in ReferencePanelFactory, these is a branch for different types of providers
// (choice vs autoComplete). Here though - because values don't currently support autoComplete - no branch is required
@Override
- protected ChoiceProvider<ObjectMemento> buildChoiceProvider(Can<ManagedObject> pendingArgs) {
+ protected ChoiceProvider<ObjectMemento> buildChoiceProvider(List<ManagedObject> pendingArgs) {
final List<ObjectMemento> choicesMementos = getChoiceMementos(pendingArgs);
return new ObjectAdapterMementoProviderForValueChoices(scalarModel, choicesMementos);
}
diff --git a/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/providers/ObjectAdapterMementoProviderForReferenceParamOrPropertyAutoComplete.java b/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/providers/ObjectAdapterMementoProviderForReferenceParamOrPropertyAutoComplete.java
index 8453be1..6397b23 100644
--- a/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/providers/ObjectAdapterMementoProviderForReferenceParamOrPropertyAutoComplete.java
+++ b/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/providers/ObjectAdapterMementoProviderForReferenceParamOrPropertyAutoComplete.java
@@ -20,6 +20,7 @@ package org.apache.isis.viewer.wicket.ui.components.widgets.select2.providers;
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
import org.apache.isis.commons.collections.Can;
import org.apache.isis.commons.internal.base._NullSafe;
@@ -63,13 +64,13 @@ extends ObjectAdapterMementoProviderAbstract {
}
- private Can<ManagedObject> reconstructDependentArgs(List<ObjectMemento> dependentArgMementos) {
+ private List<ManagedObject> reconstructDependentArgs(List<ObjectMemento> dependentArgMementos) {
val commonContext = super.getCommonContext();
- val pendingArgsStream = _NullSafe.stream(dependentArgMementos)
+ val pendingArgsList = _NullSafe.stream(dependentArgMementos)
.map(commonContext::reconstructObject)
- .map(ManagedObject.class::cast);
+ .map(ManagedObject.class::cast).collect(Collectors.toList());
- return Can.ofStream(pendingArgsStream);
+ return pendingArgsList;
}
}