Um, maybe.
To clarify: what I mean is to define an action that accepts a string
parameter, and then have your RO client post a data structure (eg json) as
that string. You'll likely need to escape any quotes etc. In the action
itself, use a library such as jackson to unmarshall into an object graph,
which can then be processed.
eg:
public void upload(String customerBookmarks) {
List<string> list = fromJson(customerBookmarks);
List<Customer> customers = list.stream().map(x =>
(Customer)bookmarkService.lookup(x)).collect(Collectors.toList());
...
}
and in the RO client:
var jsonStr = "[ 'com.mycompany.myapp.Customer:1', 'com.mycompany.myapp.
Customer:2', 'com.mycompany.myapp.Customer:3' ]";
$roService.upload(jsonStr);
HTH
Dan
On 18 April 2016 at 17:32, Arturo Ulises Castañeda Estrada <
[email protected]> wrote:
> Ok, then i can pass the object json and the server gets the parameter to
> be serialized?
>
> ________________________________________
> De: Dan Haywood <[email protected]>
> Enviado: domingo, 17 de abril de 2016 07:54 a. m.
> Para: users
> Asunto: Re: list parameters
>
> Yeah, actions with list parameters aren't yet supported in the Isis
> metamodel, so therefore not in the Wicket viewer nor the REST API.
>
> The best workaround I can give you is to define your own data structure, eg
> a json list or XML document, serialize this to a string, and define an
> action that takes that string. You can use things like bookmarks
> ("com.mycompany.myapp.Customer:1") as a way to pass references to objects
> around; the BookmarkService can be used to create/consume these.
>
> HTH
> Dan
>
>
> On 15 April 2016 at 19:24, Arturo Ulises Castañeda Estrada <
> [email protected]> wrote:
>
> > Hi Dan
> >
> >
> > I'm trying to pass an list as parameter to a method for consume in a WS
> > but i get the error that does not support list as parameter.
> >
> >
> > org.apache.isis.core.commons.exceptions.UnknownTypeException: collections
> > not supported as parameters:
> >
> domainapp.dom.simple.sequence.SequenceItemRepository#addItemsToSequence(domainapp.dom.simple.sequence.Sequence,java.util.List)
> >
> >
> > What can i do to set an list instead of iterate object by object for
> > persist?
> >
>