here is my code

                        AbstractAutoCompleteRenderer<InfUser> 
autoCompleteRenderer = new
AbstractAutoCompleteRenderer<InfUser>() {
                                protected final String getTextValue(final 
InfUser infUser) {
                                        return MessageFormat.format("{0} {1}", 
infUser.getFirstName(),
infUser.getLastName());
                                }
                                @Override
                                protected void renderChoice(InfUser infUser, 
Response response,
                                                String criteria) {
                                        response.write(getTextValue(infUser));
                                }
                        };
                        AbstractAutoCompleteTextField<InfUser>    
gfmsTextField=new
AbstractAutoCompleteTextField<InfUser>("gfms",(IModel)null,InfUser.class,autoCompleteRenderer,true)
{
                                @Override
                                protected List<InfUser> getChoiceList(String 
searchTextInput) {
                                        List<InfUser>  criteriaUsers=new 
ArrayList<InfUser>();
                                        for(InfUser  infUser :financeOfficers){
                                                
if(StringUtils.startsWithIgnoreCase(infUser.getFirstName(),
searchTextInput)){
                                                        
criteriaUsers.add(infUser);
                                                }
                                        }
                                        return criteriaUsers ;
                                }
                                @Override
                                protected String getChoiceValue(InfUser choice)
                                                throws Throwable {
                                        return 
String.valueOf(choice.getSysUserId());
                                }
                                @Override
                                public IConverter getConverter(Class<?> type) {
                                        return new IConverter() {
                                                
                                                @Override
                                                public String 
convertToString(Object value, Locale locale) {
                                                        InfUser  
infUser=(InfUser)value;
                                                        return infUser==null ? 
"":MessageFormat.format("{0} {1}",
infUser.getFirstName(),infUser.getLastName()); 
                                                }
                                                
                                                @Override
                                                public Object 
convertToObject(String value, Locale locale) {
                                                        throw  new 
ConversionException("Not a vlaid User");
                                                        //return null;
                                                }
                                        };
                                }
                        };



my form uses compoundproperty model.

I was expecting   id of Infuser in convertToObject  method but I am getting
display name of InfUser.
Please tell me if Iam doing anything wrong.
-- 
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/using-autocomplete-with-an-object-tp3021478p3021478.html
Sent from the Users forum mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to