[ 
https://issues.apache.org/jira/browse/ISIS-1599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16384759#comment-16384759
 ] 

Andi Huber commented on ISIS-1599:
----------------------------------

Supported (non-scalar) action parameter types are now
* Collection
* List
* Set
* SortedSet

any other (non-scalar) type will not work! We should do a check during 
meta-model validation and fail early if actions do not conform!

And to clarify: we don't allow side-effects on these collections, meaning these 
are all *unmodifiable*.

(Previously any action had received an ArrayList for the parameter types 'List' 
or 'Collection'. Now its an unmodifiable list!)



> "Set" interface does not work as an action parameter's collection  type
> -----------------------------------------------------------------------
>
>                 Key: ISIS-1599
>                 URL: https://issues.apache.org/jira/browse/ISIS-1599
>             Project: Isis
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.14.0
>            Reporter: Tadas Giniotis
>            Assignee: Andi Huber
>            Priority: Minor
>             Fix For: 2.0.0-M1
>
>
> When using a Set<MyClass> as a parameter for an action -> it throws an 
> exception when using that action. The same works correctly when using 
> List<MyClass>.
> {quote}
> ...
>  java.lang.IllegalArgumentException
> argument type mismatch
> sun.reflect.NativeMethodAccessorImpl#invoke0(null:-2)
> sun.reflect.NativeMethodAccessorImpl#invoke(null:-1)
> sun.reflect.DelegatingMethodAccessorImpl#invoke(null:-1)
> java.lang.reflect.Method#invoke(null:-1)
> org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract#invokeMethodElseFromCache(ActionInvocationFacetForDomainEventAbstract.java:408)
> org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract$2#execute(ActionInvocationFacetForDomainEventAbstract.java:262)
> org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract$2#execute(ActionInvocationFacetForDomainEventAbstract.java:223)
> org.apache.isis.applib.services.iactn.Interaction#executeInternal(Interaction.java:173)
> org.apache.isis.applib.services.iactn.Interaction#execute(Interaction.java:143)
>  
> ...
> {quote}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to