/** Performs a deep copy on <i>other</i>. */ public DadoTransporteThrift(DadoTransporteThrift other) { __isset_bitfield = other.__isset_bitfield; if (other.isSetUuidDadoSerializado()) { this.uuidDadoSerializado = other.uuidDadoSerializado; } this.tipoDadoSerializado = other.tipoDadoSerializado; if (other.isSetCnesDadoSerializado()) { this.cnesDadoSerializado = other.cnesDadoSerializado; } if (other.isSetCodIbge()) { this.codIbge = other.codIbge; } if (other.isSetIneDadoSerializado()) { this.ineDadoSerializado = other.ineDadoSerializado; } this.numLote = other.numLote; if (other.isSetDadoSerializado()) { this.dadoSerializado = org.apache.thrift.TBaseHelper.copyBinary(other.dadoSerializado); } if (other.isSetRemetente()) { this.remetente = new DadoInstalacaoThrift(other.remetente); } if (other.isSetOriginadora()) { this.originadora = new DadoInstalacaoThrift(other.originadora); } if (other.isSetVersao()) { this.versao = new br.gov.saude.esus.transport.common.api.configuracaodestino.VersaoThrift(other.versao); } }
/** * Retorna um DadoTransporteThrift preenchido com valores válidos fictícios. * * @return DadoTransporteThrift */ public static DadoTransporteThrift getDadoTransporte(FichaProcedimentoMasterThrift ficha) { DadoTransporteThrift dadoTransporteThrift = new DadoTransporteThrift(); dadoTransporteThrift.setUuidDadoSerializado(ficha.getUuidFicha()); dadoTransporteThrift.setIneDadoSerializado(ficha.getHeaderTransport().getIne()); dadoTransporteThrift.setCodIbge(ficha.getHeaderTransport().getCodigoIbgeMunicipio()); dadoTransporteThrift.setCnesDadoSerializado(ficha.getHeaderTransport().getCnes()); DadoInstalacaoThrift originadora = new DadoInstalacaoThrift(); originadora.setContraChave("123456"); originadora.setCpfOuCnpj("11111111111"); originadora.setEmail("*****@*****.**"); originadora.setFone("999999999"); originadora.setNomeOuRazaoSocial("Nome ou Razao Social Originadora"); originadora.setUuidInstalacao("UUIDUNICO111"); dadoTransporteThrift.setOriginadora(originadora); DadoInstalacaoThrift remetente = new DadoInstalacaoThrift(); remetente.setContraChave("789010"); remetente.setCpfOuCnpj("11111111111"); remetente.setEmail("*****@*****.**"); remetente.setFone("98888888"); remetente.setNomeOuRazaoSocial("Nome ou Razao Social Remetente"); remetente.setUuidInstalacao("UUIDUNICO222"); dadoTransporteThrift.setRemetente(remetente); dadoTransporteThrift.setNumLote(0l); return dadoTransporteThrift; }
public static void main(String[] args) { // Passo 1: Popular a ficha FichaProcedimentoMasterThrift thriftFichaProcedimento = getFicha(); // Passo 2: Popular o DadoTransporte usando os dados da ficha e do software que está enviando. DadoTransporteThrift dadoTransporteThrift = getDadoTransporte(thriftFichaProcedimento); // Passo 3: Serializar a ficha utilizando o TBinaryProtocol da biblioteca thrift. byte[] fichaSerializada = SerializadorThrift.serializar(thriftFichaProcedimento); // Passo 4: Adicionar a ficha serializada e seu tipo no DadoTransporte. dadoTransporteThrift.setTipoDadoSerializado(TIPO_DADO_SERIALIZADO_FICHA_PROCEDIMENTO); dadoTransporteThrift.setDadoSerializado(fichaSerializada); // Não esquecer de informar a versão da ficha a ser exportada (não é a versão do e-SUS AB) VersaoThrift versaoThrift = new VersaoThrift(2, 0, 0); dadoTransporteThrift.setVersao(versaoThrift); try { // Passo 5: Criar um arquivo zip para conter as fichas File zipFile = new File(System.getProperty("user.home") + "/exemploConversaoThrift.zip"); ZipOutputStream outputStream = new ZipOutputStream(new FileOutputStream(zipFile)); // Passo 6: Dar um nome para o arquivo (nesse caso usamos o UUID da ficha) sempre // acrescentando a extensão ".esus" ao final String entryName = dadoTransporteThrift.getUuidDadoSerializado() + EXTENSAO_EXPORT; // Passo 7: Adicionar uma nova entrada (novo arquivo) dentro do zip com o nome definido outputStream.putNextEntry(new ZipEntry(entryName)); // Passo 8: serializar o DadoTransporte utilizando o TBinaryProtocol da biblioteca thrift byte[] dadoTransporteSerializado = SerializadorThrift.serializar(dadoTransporteThrift); // Passo 9: escrever o dadoTransporteSerializado no arquivo zip outputStream.write(dadoTransporteSerializado); // Para adicionar mais fichas no mesmo zip, repetir os passos 6, 7, 8 e 9 com as demais fichas // Passo 10: Finalizar o arquivo zip outputStream.close(); } catch (IOException e) { e.printStackTrace(); } }
@Override public void write(org.apache.thrift.protocol.TProtocol prot, DadoTransporteThrift struct) throws org.apache.thrift.TException { TTupleProtocol oprot = (TTupleProtocol) prot; oprot.writeString(struct.uuidDadoSerializado); oprot.writeI64(struct.tipoDadoSerializado); oprot.writeString(struct.cnesDadoSerializado); oprot.writeBinary(struct.dadoSerializado); struct.remetente.write(oprot); struct.originadora.write(oprot); BitSet optionals = new BitSet(); if (struct.isSetCodIbge()) { optionals.set(0); } if (struct.isSetIneDadoSerializado()) { optionals.set(1); } if (struct.isSetNumLote()) { optionals.set(2); } if (struct.isSetVersao()) { optionals.set(3); } oprot.writeBitSet(optionals, 4); if (struct.isSetCodIbge()) { oprot.writeString(struct.codIbge); } if (struct.isSetIneDadoSerializado()) { oprot.writeString(struct.ineDadoSerializado); } if (struct.isSetNumLote()) { oprot.writeI64(struct.numLote); } if (struct.isSetVersao()) { struct.versao.write(oprot); } }
@Override public int compareTo(DadoTransporteThrift other) { if (!getClass().equals(other.getClass())) { return getClass().getName().compareTo(other.getClass().getName()); } int lastComparison = 0; lastComparison = Boolean.valueOf(isSetUuidDadoSerializado()).compareTo(other.isSetUuidDadoSerializado()); if (lastComparison != 0) { return lastComparison; } if (isSetUuidDadoSerializado()) { lastComparison = org.apache.thrift.TBaseHelper.compareTo( this.uuidDadoSerializado, other.uuidDadoSerializado); if (lastComparison != 0) { return lastComparison; } } lastComparison = Boolean.valueOf(isSetTipoDadoSerializado()).compareTo(other.isSetTipoDadoSerializado()); if (lastComparison != 0) { return lastComparison; } if (isSetTipoDadoSerializado()) { lastComparison = org.apache.thrift.TBaseHelper.compareTo( this.tipoDadoSerializado, other.tipoDadoSerializado); if (lastComparison != 0) { return lastComparison; } } lastComparison = Boolean.valueOf(isSetCnesDadoSerializado()).compareTo(other.isSetCnesDadoSerializado()); if (lastComparison != 0) { return lastComparison; } if (isSetCnesDadoSerializado()) { lastComparison = org.apache.thrift.TBaseHelper.compareTo( this.cnesDadoSerializado, other.cnesDadoSerializado); if (lastComparison != 0) { return lastComparison; } } lastComparison = Boolean.valueOf(isSetCodIbge()).compareTo(other.isSetCodIbge()); if (lastComparison != 0) { return lastComparison; } if (isSetCodIbge()) { lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.codIbge, other.codIbge); if (lastComparison != 0) { return lastComparison; } } lastComparison = Boolean.valueOf(isSetIneDadoSerializado()).compareTo(other.isSetIneDadoSerializado()); if (lastComparison != 0) { return lastComparison; } if (isSetIneDadoSerializado()) { lastComparison = org.apache.thrift.TBaseHelper.compareTo( this.ineDadoSerializado, other.ineDadoSerializado); if (lastComparison != 0) { return lastComparison; } } lastComparison = Boolean.valueOf(isSetNumLote()).compareTo(other.isSetNumLote()); if (lastComparison != 0) { return lastComparison; } if (isSetNumLote()) { lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.numLote, other.numLote); if (lastComparison != 0) { return lastComparison; } } lastComparison = Boolean.valueOf(isSetDadoSerializado()).compareTo(other.isSetDadoSerializado()); if (lastComparison != 0) { return lastComparison; } if (isSetDadoSerializado()) { lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dadoSerializado, other.dadoSerializado); if (lastComparison != 0) { return lastComparison; } } lastComparison = Boolean.valueOf(isSetRemetente()).compareTo(other.isSetRemetente()); if (lastComparison != 0) { return lastComparison; } if (isSetRemetente()) { lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.remetente, other.remetente); if (lastComparison != 0) { return lastComparison; } } lastComparison = Boolean.valueOf(isSetOriginadora()).compareTo(other.isSetOriginadora()); if (lastComparison != 0) { return lastComparison; } if (isSetOriginadora()) { lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.originadora, other.originadora); if (lastComparison != 0) { return lastComparison; } } lastComparison = Boolean.valueOf(isSetVersao()).compareTo(other.isSetVersao()); if (lastComparison != 0) { return lastComparison; } if (isSetVersao()) { lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.versao, other.versao); if (lastComparison != 0) { return lastComparison; } } return 0; }
public boolean equals(DadoTransporteThrift that) { if (that == null) return false; boolean this_present_uuidDadoSerializado = true && this.isSetUuidDadoSerializado(); boolean that_present_uuidDadoSerializado = true && that.isSetUuidDadoSerializado(); if (this_present_uuidDadoSerializado || that_present_uuidDadoSerializado) { if (!(this_present_uuidDadoSerializado && that_present_uuidDadoSerializado)) return false; if (!this.uuidDadoSerializado.equals(that.uuidDadoSerializado)) return false; } boolean this_present_tipoDadoSerializado = true; boolean that_present_tipoDadoSerializado = true; if (this_present_tipoDadoSerializado || that_present_tipoDadoSerializado) { if (!(this_present_tipoDadoSerializado && that_present_tipoDadoSerializado)) return false; if (this.tipoDadoSerializado != that.tipoDadoSerializado) return false; } boolean this_present_cnesDadoSerializado = true && this.isSetCnesDadoSerializado(); boolean that_present_cnesDadoSerializado = true && that.isSetCnesDadoSerializado(); if (this_present_cnesDadoSerializado || that_present_cnesDadoSerializado) { if (!(this_present_cnesDadoSerializado && that_present_cnesDadoSerializado)) return false; if (!this.cnesDadoSerializado.equals(that.cnesDadoSerializado)) return false; } boolean this_present_codIbge = true && this.isSetCodIbge(); boolean that_present_codIbge = true && that.isSetCodIbge(); if (this_present_codIbge || that_present_codIbge) { if (!(this_present_codIbge && that_present_codIbge)) return false; if (!this.codIbge.equals(that.codIbge)) return false; } boolean this_present_ineDadoSerializado = true && this.isSetIneDadoSerializado(); boolean that_present_ineDadoSerializado = true && that.isSetIneDadoSerializado(); if (this_present_ineDadoSerializado || that_present_ineDadoSerializado) { if (!(this_present_ineDadoSerializado && that_present_ineDadoSerializado)) return false; if (!this.ineDadoSerializado.equals(that.ineDadoSerializado)) return false; } boolean this_present_numLote = true && this.isSetNumLote(); boolean that_present_numLote = true && that.isSetNumLote(); if (this_present_numLote || that_present_numLote) { if (!(this_present_numLote && that_present_numLote)) return false; if (this.numLote != that.numLote) return false; } boolean this_present_dadoSerializado = true && this.isSetDadoSerializado(); boolean that_present_dadoSerializado = true && that.isSetDadoSerializado(); if (this_present_dadoSerializado || that_present_dadoSerializado) { if (!(this_present_dadoSerializado && that_present_dadoSerializado)) return false; if (!this.dadoSerializado.equals(that.dadoSerializado)) return false; } boolean this_present_remetente = true && this.isSetRemetente(); boolean that_present_remetente = true && that.isSetRemetente(); if (this_present_remetente || that_present_remetente) { if (!(this_present_remetente && that_present_remetente)) return false; if (!this.remetente.equals(that.remetente)) return false; } boolean this_present_originadora = true && this.isSetOriginadora(); boolean that_present_originadora = true && that.isSetOriginadora(); if (this_present_originadora || that_present_originadora) { if (!(this_present_originadora && that_present_originadora)) return false; if (!this.originadora.equals(that.originadora)) return false; } boolean this_present_versao = true && this.isSetVersao(); boolean that_present_versao = true && that.isSetVersao(); if (this_present_versao || that_present_versao) { if (!(this_present_versao && that_present_versao)) return false; if (!this.versao.equals(that.versao)) return false; } return true; }
@Override public void read(org.apache.thrift.protocol.TProtocol prot, DadoTransporteThrift struct) throws org.apache.thrift.TException { TTupleProtocol iprot = (TTupleProtocol) prot; struct.uuidDadoSerializado = iprot.readString(); struct.setUuidDadoSerializadoIsSet(true); struct.tipoDadoSerializado = iprot.readI64(); struct.setTipoDadoSerializadoIsSet(true); struct.cnesDadoSerializado = iprot.readString(); struct.setCnesDadoSerializadoIsSet(true); struct.dadoSerializado = iprot.readBinary(); struct.setDadoSerializadoIsSet(true); struct.remetente = new DadoInstalacaoThrift(); struct.remetente.read(iprot); struct.setRemetenteIsSet(true); struct.originadora = new DadoInstalacaoThrift(); struct.originadora.read(iprot); struct.setOriginadoraIsSet(true); BitSet incoming = iprot.readBitSet(4); if (incoming.get(0)) { struct.codIbge = iprot.readString(); struct.setCodIbgeIsSet(true); } if (incoming.get(1)) { struct.ineDadoSerializado = iprot.readString(); struct.setIneDadoSerializadoIsSet(true); } if (incoming.get(2)) { struct.numLote = iprot.readI64(); struct.setNumLoteIsSet(true); } if (incoming.get(3)) { struct.versao = new br.gov.saude.esus.transport.common.api.configuracaodestino.VersaoThrift(); struct.versao.read(iprot); struct.setVersaoIsSet(true); } }
public void write(org.apache.thrift.protocol.TProtocol oprot, DadoTransporteThrift struct) throws org.apache.thrift.TException { struct.validate(); oprot.writeStructBegin(STRUCT_DESC); if (struct.uuidDadoSerializado != null) { oprot.writeFieldBegin(UUID_DADO_SERIALIZADO_FIELD_DESC); oprot.writeString(struct.uuidDadoSerializado); oprot.writeFieldEnd(); } oprot.writeFieldBegin(TIPO_DADO_SERIALIZADO_FIELD_DESC); oprot.writeI64(struct.tipoDadoSerializado); oprot.writeFieldEnd(); if (struct.cnesDadoSerializado != null) { oprot.writeFieldBegin(CNES_DADO_SERIALIZADO_FIELD_DESC); oprot.writeString(struct.cnesDadoSerializado); oprot.writeFieldEnd(); } if (struct.codIbge != null) { if (struct.isSetCodIbge()) { oprot.writeFieldBegin(COD_IBGE_FIELD_DESC); oprot.writeString(struct.codIbge); oprot.writeFieldEnd(); } } if (struct.ineDadoSerializado != null) { if (struct.isSetIneDadoSerializado()) { oprot.writeFieldBegin(INE_DADO_SERIALIZADO_FIELD_DESC); oprot.writeString(struct.ineDadoSerializado); oprot.writeFieldEnd(); } } if (struct.isSetNumLote()) { oprot.writeFieldBegin(NUM_LOTE_FIELD_DESC); oprot.writeI64(struct.numLote); oprot.writeFieldEnd(); } if (struct.dadoSerializado != null) { oprot.writeFieldBegin(DADO_SERIALIZADO_FIELD_DESC); oprot.writeBinary(struct.dadoSerializado); oprot.writeFieldEnd(); } if (struct.remetente != null) { oprot.writeFieldBegin(REMETENTE_FIELD_DESC); struct.remetente.write(oprot); oprot.writeFieldEnd(); } if (struct.originadora != null) { oprot.writeFieldBegin(ORIGINADORA_FIELD_DESC); struct.originadora.write(oprot); oprot.writeFieldEnd(); } if (struct.versao != null) { if (struct.isSetVersao()) { oprot.writeFieldBegin(VERSAO_FIELD_DESC); struct.versao.write(oprot); oprot.writeFieldEnd(); } } oprot.writeFieldStop(); oprot.writeStructEnd(); }
public void read(org.apache.thrift.protocol.TProtocol iprot, DadoTransporteThrift struct) throws org.apache.thrift.TException { org.apache.thrift.protocol.TField schemeField; iprot.readStructBegin(); while (true) { schemeField = iprot.readFieldBegin(); if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { break; } switch (schemeField.id) { case 1: // UUID_DADO_SERIALIZADO if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { struct.uuidDadoSerializado = iprot.readString(); struct.setUuidDadoSerializadoIsSet(true); } else { org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } break; case 2: // TIPO_DADO_SERIALIZADO if (schemeField.type == org.apache.thrift.protocol.TType.I64) { struct.tipoDadoSerializado = iprot.readI64(); struct.setTipoDadoSerializadoIsSet(true); } else { org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } break; case 3: // CNES_DADO_SERIALIZADO if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { struct.cnesDadoSerializado = iprot.readString(); struct.setCnesDadoSerializadoIsSet(true); } else { org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } break; case 4: // COD_IBGE if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { struct.codIbge = iprot.readString(); struct.setCodIbgeIsSet(true); } else { org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } break; case 5: // INE_DADO_SERIALIZADO if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { struct.ineDadoSerializado = iprot.readString(); struct.setIneDadoSerializadoIsSet(true); } else { org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } break; case 6: // NUM_LOTE if (schemeField.type == org.apache.thrift.protocol.TType.I64) { struct.numLote = iprot.readI64(); struct.setNumLoteIsSet(true); } else { org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } break; case 7: // DADO_SERIALIZADO if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { struct.dadoSerializado = iprot.readBinary(); struct.setDadoSerializadoIsSet(true); } else { org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } break; case 8: // REMETENTE if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { struct.remetente = new DadoInstalacaoThrift(); struct.remetente.read(iprot); struct.setRemetenteIsSet(true); } else { org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } break; case 9: // ORIGINADORA if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { struct.originadora = new DadoInstalacaoThrift(); struct.originadora.read(iprot); struct.setOriginadoraIsSet(true); } else { org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } break; case 10: // VERSAO if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { struct.versao = new br.gov.saude.esus.transport.common.api.configuracaodestino.VersaoThrift(); struct.versao.read(iprot); struct.setVersaoIsSet(true); } else { org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } break; default: org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } iprot.readFieldEnd(); } iprot.readStructEnd(); struct.validate(); }