Mateusz Mazurek

Mateusz Mazurek Uczeń Technikum
Informatycznego.
Pasjonat technologii
web...

Temat: Data Binding w Spring 4

Cześć,
mam problem. Chciałbym zamieniać mapę wartość na obiekt.
Object newObject = getClazz().getConstructor().newInstance();
BeanWrapper db = new BeanWrapperImpl(newObject);
db.setPropertyValues(values);
newObject = db.getWrappedClass();
getSession().saveOrUpdate(newObject);
getSession().refresh(newObject);


ten kod wywala mi wyjątek:
Failed to convert property value of type 'java.util.ArrayList' to required type 'java.util.List' for property 'groups'; 
nested exception is java.lang.IllegalStateException: Cannot convert value of type
[java.lang.String] to required type [pl.flomedia.springtpl.models.Group]
for property 'groups[0]': no matching editors or conversion strategy found


Wiem że muszę napisać jakie konwertery ale jakie? Napisałem taki:

public class StringToGroupConverter implements Converter<String, Group> {

@Autowired
private GroupService service;

public Group convert(String source) {

return service.get(Long.valueOf(source));

}

}


i dodałem go na dwa sposoby ani jeden nic nie daje:


// public ConversionService conversionService(){
// DefaultConversionService dcs = new DefaultConversionService();
// dcs.addConverter(new StringToAbstractEntityConverter());
// dcs.addConverter(new ArrayListToListConverter());
// dcs.addConverter(new StringToGroupConverter());
// return dcs;
// }

@Override
protected void addFormatters(FormatterRegistry registry) {
registry.addConverter(new StringToGroupConverter());
registry.addConverter(new ArrayListToListConverter());
registry.addConverter(new StringToAbstractEntityConverter());
}



Co źle robię?