thanks for the rapid response, I should have looked in JIRA too, will do so now.
On Thu, May 5, 2016 at 4:39 PM, Dan Haywood <[email protected]> wrote: > Meantime, the work-around is to use a view model, eg: > > > import org.apache.isis.applib.annotation.Title; > > @javax.xml.bind.annotation.XmlRootElement(name = "address") > @javax.xml.bind.annotation.XmlType(propOrder = { "name" } ) > public class Address implements org.apache.isis.applib.services.dto.Dto { > > public static Address of(String name) { > final Address address = new Address(); > address.setName(name); > return address; > } > > private String name; > > @Title > public String getName() { return name; } > public void setName(final String name) { this.name = name; } > > } > > > and then: > > > final ArrayList<Address> addresses = Lists.newArrayList( > Address.of("Strawberry fields"), > Address.of("Penny Lane"), > Address.of("Abbey Road"), > Address.of("Octopuses Garden"), > Address.of("Blackburn, Lancashire"), > Address.of("Georgia"), > Address.of("Eiffel Tower"), > Address.of("Isle of Wight")); > > public void updateStreetAddress(String field1, String field2, Address > field3) { > > } > public List<Address> autoComplete2UpdateStreetAddress(@MinLength(1) > final String search) { > return > Lists.newArrayList( > FluentIterable.from(addresses).filter(x -> > x.getName().contains(search)).toList() > ); > } > > > nb: need to wrap the returned list in an ArrayList, else I get a "Loading > Failed" exception. But that's a side issue. > > > I wonder if there's a ticket for this missing feature... I probably > should've checked JIRA first. Anyway, if you can't find one, go ahead and > create a new one. > > Dan > > > > > > > On 5 May 2016 at 07:19, Dan Haywood <[email protected]> wrote: > > > I see the same behaviour (ie no drop-down) on 1.11.1; the validate > doesn't > > seem to be relevant: > > > > final ArrayList<String> addresses = Lists.newArrayList( > > "Strawberry fields", "Penny Lane","Abbey Road","Octopuses > > Garden","Blackburn, Lancashire","Georgia","Eiffel Tower","Isle of > Wight"); > > > > public void updateStreetAddress(String field1, String field2, String > > field3) { > > > > } > > public List<String> autoComplete2UpdateStreetAddress(@MinLength(3) > > final String search) { > > return > > FluentIterable.from(addresses).filter(x -> > > x.contains(search)).toList(); > > } > > > > > > Conversely, a choices field works fine for both 1.11.1 and 1.12.1: > > > > public List<String> choices2UpdateStreetAddress() { > > return addresses; > > } > > > > > > Perhaps this never worked. Have you seen this work in any earlier > > versions? > > > > > > > > > > > > > > On 5 May 2016 at 06:57, Dan Haywood <[email protected]> > wrote: > > > >> Hmm, I can't see a mistake here. Investigating... > >> > >> On 5 May 2016 at 03:41, Stephen Cameron <[email protected]> > >> wrote: > >> > >>> Hi, > >>> > >>> I am trying to use autoCompleteNXxxx() for the first time and not > having > >>> any success with 1.12.1, it just doesn't seem to fire my routine at > all. > >>> I > >>> have the following two methods an autoComplete and a validate, the > first > >>> doesn't get used but the second does. > >>> > >>> public List<String> autoComplete2UpdateStreetAddress(@MinLength(3) > >>> String search) { > >>> return suburbs.listSuburbNamesLike(search); > >>> } > >>> > >>> public String validate2UpdateStreetAddress(String name) { > >>> Suburb s = suburbs.suburbForName(name); > >>> if (s != null) { > >>> return null; > >>> } else > >>> return "Unknown suburb, please check spelling and use > proper > >>> case"; > >>> } > >>> > >>> If someone can confirm its working for them in 1.12.1 or else tell me I > >>> have made a mistake. > >>> > >>> Steve Cameron > >>> > >> > >> > > >
