Actually, let me have a second go at answering this... I think you probably just want a dependent choices...
public CustomerOrder addCustomerOrderPayment( CustomerOrder customerOrder, CustomerSubscription customerSubscription ) { ... } public List autoComplete0AddCustomerOrderPayment(String search) { // return list of customers } public List choices1AddCustomerOrderPayment(CustomerOrder customerOrder) { // return list of subscriptions for the customer (customerOrder.getCustomer(), presumably). } I can't remember whether its autocomplete or choices that doesn't support dependencies like this; one does, one doesn't. Try it out and see. Thx Dan On 26 November 2015 at 16:47, Dan Haywood <d...@haywood-associates.co.uk> wrote: > Hmm, it's a good question. > > Ultimately what goes in the autoComplete is up to you... it takes a string > but that doesn't have to map to any particular property. > > As a little experiment, I just tweaked the todoapp's ToDoItem#autoComplete > for adding dependencies. Normally this searches on the description, but I > could change it to also allow the string to match all item in a given > category: > > @Programmatic // not part of metamodel > public List<ToDoItem> autoComplete(final String description) { > > final SortedSet<ToDoItem> items = Sets.newTreeSet(); > items.addAll(toDoItemRepository > .findByAtPathAndDescriptionContains(currentUsersAtPath(), > description)); > > // this is the new bit > try { > final Category category = > Category.valueOf(description.toUpperCase()); > items.addAll(toDoItemRepository > .findByAtPathAndCategory(currentUsersAtPath(), > category)); > } catch(Exception ex) { > } > // end of the new bit > > return Lists.newArrayList(items); > } > > which gives the result as shown in this screenshot [1] > > Hopefully that might give some ideas for your use case. > > Thx > Dan > > > > [1] http://imgur.com/6bD7cHv > > > > On 19 November 2015 at 00:05, Cesar Lugo <cesar.l...@sisorg.com.mx> wrote: > >> Hello, >> >> >> >> So far, when I have created action methods that prompts for some domain >> object(s) as parameters, I have used the autoCompleteRepository definition >> within the @DomainObject annotation, which works great in the Wicket >> Viewer >> for finding entities using a string property. I have some cases where the >> domain object used as a parameter within the action method does not >> contain >> string properties, but I need to ask it as a parameter. The user could >> select it in the Wicket Viewer parameters dialog using a combination of a >> numeric (Long) customerSubscriptionId field plus a string obtained from >> another related parent entity (Customer's name), or just by picking it >> from >> a list of customerSubscriptionId's .Is there a suggested alternative >> approach for that? >> >> >> >> Class: CustomerSubscription, properties: >> >> private Long customerSubscriptionId; >> >> private Customer customer; >> >> >> >> Class: Customer, properties: >> >> private string customerId; >> >> private string name; >> >> >> >> Action method: >> >> public CustomerOrder addCustomerOrderPayment( >> >> final @ParameterLayout(named="Customer Order") CustomerOrder >> customerOrder, >> >> final @Parameter(optionality = Optionality.OPTIONAL) >> @ParameterLayout(named="Customer Subscription") >> >> CustomerSubscription customerSubscription >> >> ) >> >> { >> >> ... >> >> container.persistIfNotAlready(obj); >> >> return obj.getCustomerOrder(); >> >> } >> >> >> >> I thought of defining a JDO query within customerSubscription that queries >> customerSubscriptionId and customer.getName and then use the auto complete >> repository with the combination of both. Any suggestions will be >> appreciated. >> >> >> >> Cesar. >> >> >> >> >> >> >> >> --- >> This email has been checked for viruses by Avast antivirus software. >> https://www.avast.com/antivirus >> > >