[ 
https://issues.apache.org/jira/browse/ISIS-1201?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dan Haywood updated ISIS-1201:
------------------------------
    Fix Version/s: 1.10.0

> autoComplete support fails validation when using Collection<T> as return type
> -----------------------------------------------------------------------------
>
>                 Key: ISIS-1201
>                 URL: https://issues.apache.org/jira/browse/ISIS-1201
>             Project: Isis
>          Issue Type: Bug
>          Components: Archetype: SimpleApp, Core
>    Affects Versions: 1.9.0
>         Environment: Mac OS X 10.10.2
> Eclipse Java EE IDE for Web Developers. Version: Mars Release (4.5.0) Build 
> id: 20150621-1200
> JDK 1.8.0_60
>            Reporter: Matthias Burbach
>            Assignee: Dan Haywood
>             Fix For: 1.10.0
>
>
> When using the autoComplete support method for an action with return type 
> Collection<T> the meta model validation reports an error.
> It works, however, when using List instead of Collection.
> :
> ################################################ ISIS METAMODEL VALIDATION 
> ERRORS ################################################################
> domainapp.dom.simple.Connections#autoComplete0Create: has prefix 
> autoComplete, is probably a supporting method for a property, collection or 
> action.  If the method is intended to be an action, then rename and use 
> @ActionLayout(named="...") or ignore completely using @Programmatic
> Please inspect the above messages and correct your domain model.
> for this:
> ...
>     //region > create (action)
>     public static class CreateDomainEvent extends 
> ActionDomainEvent<Connections> {
>         public CreateDomainEvent(final Connections source, final Identifier 
> identifier, final Object... arguments) {
>             super(source, identifier, arguments);
>         }
>     }
>     @Action(
>             domainEvent = CreateDomainEvent.class
>     )
>     @MemberOrder(sequence = "3")
>     public Connection create(
>             final @ParameterLayout(named="System A") System systemA) {
>         final Connection obj = 
> container.newTransientInstance(Connection.class);
>         obj.setName(systemA.getName());
>         obj.setSystemA(systemA);
>         container.persistIfNotAlready(obj);
>         return obj;
>     }
>     public Collection<System> autoComplete0Create(@MinLength(value = 1) final 
> String search) {
>     
> return systems.listAll();
>     }
> ...
> }
> while using choices instead of autoComplete works fine:
>     public Collection<System> choices0Create() {
>     
> return systems.listAll();
>     }
> //    public Collection<System> autoComplete0Create(@MinLength(value = 1) 
> final String search) {
> //    return systems.listAll();
> //    }



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to