ola
tenho alguns atributo do tipo jodatime funciona certinho, na hora de gravar no hibernate, na hora do vraptor identificar os parametros no request.
porem ao gerar json o campo sai assim “dataAdmissao”: {“iLocalMillis”: 1363219200000}
@Column(name="ultimo_acesso")
@Type(type = "org.joda.time.contrib.hibernate.PersistentLocalDateTime")
private LocalDateTime dataAdmissao;
Cria um parser do XStream a anota ele com @Component…
O VRaptor já vai usar o seu parser…
bom dia
achei essa classe mas ela não tinha resolvido, coloquei uns sysout e tal e vi que tava passando por ela, ai só mudei para DateTime para LocalDate que é o que eu uso funcionou.
[code]
package br.com.agile.sistema.vraptor.utils;
import java.util.Collection;
import br.com.caelum.vraptor.interceptor.TypeNameExtractor;
import br.com.caelum.vraptor.ioc.Component;
import br.com.caelum.vraptor.serialization.xstream.VRaptorClassMapper;
import com.google.common.base.Suppliers;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.converters.collections.CollectionConverter;
@Component
public class PersistentBagConverter extends CollectionConverter {
public PersistentBagConverter(TypeNameExtractor extractor) {
super(new VRaptorClassMapper(new XStream().getMapper(), Suppliers.ofInstance(extractor)));
}
@Override
@SuppressWarnings("rawtypes")
public boolean canConvert(Class type) {
return Collection.class.isAssignableFrom(type);
}
}[/code]
Pode postar como que ficou a sua classe?
[code]package br.com.agile.sistema.vraptor.utils;
import org.joda.time.LocalDate;
import br.com.caelum.vraptor.ioc.Component;
import com.thoughtworks.xstream.converters.SingleValueConverter;
@Component
public class ConvertLocalDataJSON implements SingleValueConverter {
@Override
public String toString(Object value) {
LocalDate d = new LocalDate(value);
String data = d.toString("dd/MM/yyyy");
return data;
}
@SuppressWarnings("rawtypes")
public boolean canConvert(Class clazz) {
return LocalDate.class.isAssignableFrom(clazz);
}
@Override
public Object fromString(String arg0) {
// TODO Auto-generated method stub
return null;
}
} [/code]
[code]
package br.com.agile.sistema.vraptor.utils;
import org.joda.time.LocalDateTime;
import br.com.caelum.vraptor.ioc.Component;
import com.thoughtworks.xstream.converters.SingleValueConverter;
@Component
public class ConvertLocalDataTimeJSON implements SingleValueConverter {
@Override
public String toString(Object value) {
LocalDateTime d = new LocalDateTime(value);
String data = d.toString("dd/MM/yyyy hh:mm:ss");
return data;
}
@SuppressWarnings("rawtypes")
public boolean canConvert(Class clazz) {
return LocalDateTime.class.isAssignableFrom(clazz);
}
@Override
public Object fromString(String arg0) {
// TODO Auto-generated method stub
return null;
}
} [/code]