Error with.fasterxml.jackson.databind.JsonMappingException

0

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();
    }
}

}
    
asked by anonymous 25.04.2018 / 19:23

1 answer

0

My problem was not with the code but with the server, in the table file in the server's .php file I set the lazy load to true and solved the problem because it did not bring the EloUsuarios object and only the ID

    
03.05.2018 / 19:45