Error shown:
04-25 14:01:32.589: I/Recebendo pela rede(31129): [{"id":"ab788cdc439","codcnesEquipe":"0","codcnesUnidade":"2161303","microarea":"00","nrcartaosus":"207283333540000","area":"0000","cbo":"322415","ativo":"1","datareg":"2016-09-22 11:25:31","codigoUsuario":"1039","status":"0","codigoUltimoUsuario":"1"}]
04-25 14:01:32.653: W/System.err(31129): com.fasterxml.jackson.databind.JsonMappingException: Can not construct instance of com.elo.saude.familia.modelo.EloUsuarios: no String-argument constructor/factory method to deserialize from String value ('1039')
04-25 14:01:32.654: W/System.err(31129): at [Source: {"id":"ab788cdc439","codcnesEquipe":"0","codcnesUnidade":"2161303","microarea":"00","nrcartaosus":"207283333540000","area":"0000","cbo":"322415","ativo":"1","datareg":"2016-09-22 11:25:31","codigoUsuario":"1039","status":"0","codigoUltimoUsuario":"1"}; line: 1, column: 206] (through reference chain: com.elo.saude.familia.modelo.SfCadastrador["codigoUsuario"])
04-25 14:01:32.654: W/System.err(31129): at com.fasterxml.jackson.databind.DeserializationContext.instantiationException(DeserializationContext.java:1456)
04-25 14:01:32.654: W/System.err(31129): at com.fasterxml.jackson.databind.DeserializationContext.handleMissingInstantiator(DeserializationContext.java:1012)
04-25 14:01:32.654: W/System.err(31129): at com.fasterxml.jackson.databind.deser.ValueInstantiator._createFromStringFallbacks(ValueInstantiator.java:370)
04-25 14:01:32.654: W/System.err(31129): at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.createFromString(StdValueInstantiator.java:315)
04-25 14:01:32.654: W/System.err(31129): at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromString(BeanDeserializerBase.java:1282)
04-25 14:01:32.654: W/System.err(31129): at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeOther(BeanDeserializer.java:159)
04-25 14:01:32.654: W/System.err(31129): at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:150)
04-25 14:01:32.654: W/System.err(31129): at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:499)
04-25 14:01:32.654: W/System.err(31129): at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:108)
04-25 14:01:32.654: W/System.err(31129): at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:276)
04-25 14:01:32.654: W/System.err(31129): at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:140)
04-25 14:01:32.655: W/System.err(31129): at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3798)
04-25 14:01:32.655: W/System.err(31129): at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2842)
04-25 14:01:32.655: W/System.err(31129): at com.elo.saude.familia.Utils.JSONtoObjeto(Utils.java:93)
04-25 14:01:32.655: W/System.err(31129): at com.elo.saude.familia.Utils.JSONtoListaObjetos(Utils.java:154)
04-25 14:01:32.658: W/System.err(31129): at com.elo.saude.familia.sincronia.ProdutorRede.obterObjetoRemoto(ProdutorRede.java:63)
04-25 14:01:32.658: W/System.err(31129): at com.elo.saude.familia.sincronia.ProdutorRede.produzir(ProdutorRede.java:43)
04-25 14:01:32.659: W/System.err(31129): at com.elo.saude.familia.sincronia.Produtor.call(Produtor.java:27)
04-25 14:01:32.659: W/System.err(31129): at com.elo.saude.familia.sincronia.Produtor.call(Produtor.java:12)
04-25 14:01:32.659: W/System.err(31129): at java.util.concurrent.FutureTask.run(FutureTask.java:237)
04-25 14:01:32.660: W/System.err(31129): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
04-25 14:01:32.660: W/System.err(31129): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
04-25 14:01:32.661: W/System.err(31129): at java.lang.Thread.run(Thread.java:818)
EloUsuarios class:
package com.elo.saude.familia.modelo;
import com.elo.saude.familia.sincronia.Rede;
import com.elo.saude.familia.sincronia.Sincronizavel;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.table.DatabaseTable;
import com.elo.saude.familia.sincronia.SyncField;
@Sincronizavel(fluxo = Rede.DESCER)
@DatabaseTable(tableName = "elo_usuarios")
public class EloUsuarios extends ObjetoVersionado
{
@JsonProperty("codigoUsuario")
@DatabaseField(id = true)
private Integer codigo_usuario;
@DatabaseField(canBeNull=false)
private String nome;
@DatabaseField
private String sobrenome;
@DatabaseField
private String cpf;
@DatabaseField(uniqueIndex=true,canBeNull=false)
private String login;
@DatabaseField(canBeNull=false)
private String senha;
@DatabaseField(canBeNull=false,defaultValue="3")
private Integer nivel;
@JsonProperty("codigoUltimoUsuario")
@DatabaseField
private Integer CODIGO_ULTIMO_USUARIO;
public String getId() {
return String.valueOf(codigo_usuario);
}
public void setId(Integer parId) {
codigo_usuario = parId;
}
/**
* Construtor padrao - necessario ao ORMLITE
*/
public EloUsuarios() {
super();
classType = "EloUsuarios";
}
/**
* Construtor parametrizado
*/
public EloUsuarios(String parNome, String parSobrenome, String parCpf, String parLogin, String parSenha) {
this();
this.nome = parNome;
this.sobrenome = parSobrenome;
this.cpf = parCpf;
this.login = parLogin;
this.senha = parSenha;
}
}
Object classVersion:
package com.elo.saude.familia.modelo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.j256.ormlite.field.DataType;
import com.j256.ormlite.field.DatabaseField;
/**
* Classe abstrata que descreve objetos que são versionados.
*/
public abstract class ObjetoVersionado extends Objeto {
/**
* Informa se o objeto está ativo ou não (apagado)
*/
@DatabaseField
private Integer ativo;
/**
* Status de sincronizacao do objeto
*/
@DatabaseField(dataType = DataType.ENUM_INTEGER)
@JsonProperty("status")
private StatusSync STATUS;
/**
* Data de última atualização do objeto no sistema
*/
@JsonProperty("datareg")
@DatabaseField(canBeNull=false, dataType = DataType.DATE_STRING, format="yyyy-MM-dd HH:mm:ss", version=true)
private Date DATAREG;
/**
* Construtor padrao
*/
public ObjetoVersionado() {
DATAREG = new Date();
ativo = 1;
}
public ObjetoVersionado(Integer ativo, StatusSync STATUS, Date DATAREG) {
}
public ObjetoVersionado(ObjetoVersionado copia) {
this( );
}
/**
* Obtem a data da ulitma atualizacao do objeto
* @return Data da última atualização
*/
public Date getVersao() {
return DATAREG;
};
public Integer getAtivo() {
return ativo;
};
public StatusSync getStatus() {
return STATUS;
};
public void hydrate(Objeto parObj) {
ObjetoVersionado obj = (ObjetoVersionado) parObj;
if (obj != null) {
this.ativo = obj.getAtivo();
this.STATUS = obj.getStatus();
this.DATAREG = obj.getVersao();
}
}
}