ribclauport 4 de jun. de 2012
Exception in thread “main” java.lang.ClassCastException: br.com.businessflex.model.PrestadorParaOperadora cannot be cast to br.com.businessflex.model.Cabecalho
Bom, você não postou seu fonte, desta forma fica um pouco complicado saber onde você está errando, antes de tudo, veja o que o log está dizendo, ele diz que voce está tentando em algum momento colocar uma classe PrestadorParaOperadora dentro de uma Cabecalho, “cannot be casto to”, bom o seu “mapeamento” que Deus sabe como está, ja que você não postou nada, esta em algum momento não em conformidade com a hierarquia de classes…, de uma olhada nos pontos em que voce trabalha com Cabecalho e PrestadorParaOperadora,
Pergunta básica:
Você debugou o método
imprimirDadosXML(DadosXML.java:90)
Pois a exception está nesse metodo ao tentar fazer um casting, certo?
Espero ter ajudado.
Viniciustelles 5 de jun. de 2012
Minha classe de ler o xml esta assim preciso de ajuda para ler
public void imprimirDadosXML () {
try {
XStream xStream = new XStream ( new Dom4JDriver ());
xStream . alias ( "mensagemTISS" , ArrayList . class );
xStream . alias ( "cabecalho" , ArrayList . class );
xStream . processAnnotations ( Cabecalho . class );
xStream . alias ( "identificacaoTransacao" , ArrayList . class );
xStream . processAnnotations ( IdentificacaoTransacao . class );
xStream . alias ( "origem" , ArrayList . class );
xStream . processAnnotations ( Origem . class );
xStream . alias ( "codigoPrestadorNaOperadora" , ArrayList . class );
xStream . processAnnotations ( CodigoPrestadorNaOperadora . class );
xStream . alias ( "destino" , ArrayList . class );
xStream . processAnnotations ( Destino . class );
xStream . alias ( "prestadorParaOperadora" , ArrayList . class );
xStream . processAnnotations ( PrestadorParaOperadora . class );
xStream . alias ( "loteGuias" , ArrayList . class );
xStream . processAnnotations ( LoteGuias . class );
xStream . alias ( "guias" , ArrayList . class );
xStream . processAnnotations ( Guias . class );
xStream . alias ( "guiaFaturamento" , ArrayList . class );
xStream . processAnnotations ( GuiaFaturamento . class );
xStream . alias ( "guiaSP_SADT" , ArrayList . class );
xStream . processAnnotations ( GuiaSP_SADT . class );
xStream . alias ( "identificacaoGuiaSADTSP" , ArrayList . class );
xStream . processAnnotations ( IdentificacaoGuiaSADTSP . class );
xStream . alias ( "identificacaoFontePagadora" , ArrayList . class );
xStream . processAnnotations ( IdentificacaoFontePagadora . class );
xStream . alias ( "dadosBeneficiario" , ArrayList . class );
xStream . processAnnotations ( DadosBeneficiario . class );
xStream . alias ( "dadosSolicitante" , ArrayList . class );
xStream . processAnnotations ( DadosSolicitante . class );
xStream . alias ( "contratado" , ArrayList . class );
xStream . processAnnotations ( Contratado . class );
xStream . alias ( "identificacao" , ArrayList . class );
xStream . processAnnotations ( Identificacao . class );
xStream . alias ( "profissional" , ArrayList . class );
xStream . processAnnotations ( Profissional . class );
xStream . alias ( "conselhoProfissional" , ArrayList . class );
xStream . processAnnotations ( ConselhoProfissional . class );
xStream . alias ( "prestadorExecutante" , ArrayList . class );
xStream . processAnnotations ( PrestadorExecutante . class );
xStream . alias ( "profissionalExecutanteCompl" , ArrayList . class );
xStream . processAnnotations ( ProfissionalExecutanteCompl . class );
xStream . alias ( "diagnosticoAtendimento" , ArrayList . class );
xStream . processAnnotations ( DiagnosticoAtendimento . class );
xStream . alias ( "CID" , ArrayList . class );
xStream . processAnnotations ( CID . class );
xStream . alias ( "procedimentosRealizados" , ArrayList . class );
xStream . processAnnotations ( ProcedimentosRealizados . class );
xStream . alias ( "procedimentos" , ArrayList . class );
xStream . processAnnotations ( Procedimentos . class );
xStream . alias ( "procedimento" , ArrayList . class );
xStream . processAnnotations ( Procedimento . class );
xStream . alias ( "valorTotal" , ArrayList . class );
xStream . processAnnotations ( ValorTotal . class );
xStream . alias ( "epilogo" , ArrayList . class );
xStream . processAnnotations ( Epilogo . class );
BufferedReader input = new BufferedReader ( new FileReader ( "c:\\file.xml" ));
ArrayList < Cabecalho > dadosCabecalho = ( ArrayList ) xStream . fromXML ( input );
input . close ();
for ( Cabecalho registro : dadosCabecalho ) {
System . out . println ( "Versao Padrao: " + registro . getVersaoPadrao ()
+ "Identificacao: " + registro . getIdentificacaoTransacao ()
+ "sequencialTransacao: " + registro . getSequencialTransacao ()
+ "tipoTransacao: " + registro . getTipoTransacao ()
+ "dataRegistroTransacao: " + registro . getDataRegistroTransacao ()
+ "horaRegistroTransacao: " + registro . getHoraRegistroTransacao ()
+ "CNPJ: " + registro . getCNPJ ()
+ "cnpjPagador: " + registro . getCnpjPagador ()
+ "" + registro . getCodigoPrestadorNaOperadora ());
}
ArrayList < IdentificacaoTransacao > dadosIdentificacaoTransacao = ( ArrayList ) xStream . fromXML ( input );
input . close ();
for ( IdentificacaoTransacao registro : dadosIdentificacaoTransacao ) {
System . out . println ( "tipoTransacao: " + registro . getTipoTransacao ()
+ "sequencialTransacao: " + registro . getSequencialTransacao ()
+ "dataRegistroTransacao: " + registro . getDataRegistroTransacao ()
+ "horaRegistroTransacao: " + registro . getHoraRegistroTransacao ());
}
ArrayList < Origem > dadosOrigem = ( ArrayList ) xStream . fromXML ( input );
input . close ();
for ( Origem registro : dadosOrigem ) {
System . out . println ( "CNPJ: " + registro . getCNPJ ()
+ "Codigo prestador na operadora: " + registro . getCodigoPrestadorNaOperadora ());
}
ArrayList < CodigoPrestadorNaOperadora > dadosPrestadorNaOperadora = ( ArrayList ) xStream . fromXML ( input );
input . close ();
for ( CodigoPrestadorNaOperadora registro : dadosPrestadorNaOperadora ) {
System . out . println ( "CNPJ: " + registro . getCNPJ ());
}
ArrayList < Destino > dadosDestino = ( ArrayList ) xStream . fromXML ( input );
input . close ();
for ( Destino registro : dadosDestino ) {
System . out . println ( "CNPJ Pagador" + registro . getCnpjPagador ());
}
ArrayList < PrestadorParaOperadora > dadosPresParaOperadora = ( ArrayList ) xStream . fromXML ( input );
input . close ();
for ( PrestadorParaOperadora registro : dadosPresParaOperadora ) {
System . out . println ( "Numero do lote: " + registro . getNumeroLote ());
}
ArrayList < LoteGuias > dadosLoteGuias = ( ArrayList ) xStream . fromXML ( input );
input . close ();
for ( LoteGuias registro : dadosLoteGuias ) {
System . out . println ( "Numero do Lote: " + registro . getNumeroLote ());
}
ArrayList < Guias > dadosGuias = ( ArrayList ) xStream . fromXML ( input );
input . close ();
for ( Guias registro : dadosGuias ) {
System . out . println ( "Caracter do atendimento: " + registro . getCaraterAtendimento ()
+ "Data hora atendimento: " + registro . getDataHoraAtendimento ()
+ "Tipo atendimento" + registro . getTipoAtendimento ()
+ "Tipo saida: " + registro . getTipoSaida ()
+ "Observacao: " + registro . getObservacao ());
}
ArrayList < GuiaFaturamento > dadosGuiaFaturamento = ( ArrayList ) xStream . fromXML ( input );
input . close ();
for ( GuiaFaturamento registro : dadosGuiaFaturamento ) {
System . out . println (
"Caracter do atendimento: " + registro . getCaraterAtendimento ()
+ "Data hora atendimento: " + registro . getDataHoraAtendimento ()
+ "Tipo atendimento" + registro . getTipoAtendimento ()
+ "Tipo saida: " + registro . getTipoSaida ()
+ "Observacao: " + registro . getObservacao ());
}
ArrayList < GuiaSP_SADT > dadosGuiaSP_SADT = ( ArrayList ) xStream . fromXML ( input );
input . close ();
for ( GuiaSP_SADT registro : dadosGuiaSP_SADT ) {
System . out . println (
"Caracter do atendimento: " + registro . getCaraterAtendimento ()
+ "Data hora atendimento: " + registro . getDataHoraAtendimento ()
+ "Tipo atendimento" + registro . getTipoAtendimento ()
+ "Tipo saida: " + registro . getTipoSaida ()
+ "Observacao: " + registro . getObservacao ());
}
ArrayList < IdentificacaoGuiaSADTSP > dadosidGuiaSADTSP = ( ArrayList ) xStream . fromXML ( input );
input . close ();
for ( IdentificacaoGuiaSADTSP registro : dadosidGuiaSADTSP ) {
System . out . println (
"dataEmissaoGuia: " + registro . getDataEmissaoGuia ()
+ "numeroGuiaPrestador: " + registro . getNumeroGuiaPrestador ()
+ "numeroGuiaOperadora: " + registro . getNumeroGuiaOperadora ());
}
ArrayList < IdentificacaoFontePagadora > dadosidFontePagadora = ( ArrayList ) xStream . fromXML ( input );
input . close ();
for ( IdentificacaoFontePagadora registro : dadosidFontePagadora ) {
System . out . println ( "cnpjFontePagadora" + registro . getCnpjFontePagadora ());
}
ArrayList < DadosBeneficiario > dadosBeneficiario = ( ArrayList ) xStream . fromXML ( input );
input . close ();
for ( DadosBeneficiario registro : dadosBeneficiario ) {
System . out . println (
"Numero Carteira: " + registro . getNumeroCarteira ()
+ "Nome Beneficiario: " + registro . getNomeBeneficiario ()
+ "Nome Plano: " + registro . getNomePlano ()
+ "Validade Carteira: " + registro . getNumeroCarteira ());
}
ArrayList < DadosSolicitante > dadosSolicitante = ( ArrayList ) xStream . fromXML ( input );
input . close ();
for ( DadosSolicitante registro : dadosSolicitante ) {
System . out . println (
"Nome Contratante: " + registro . getNomeContratante ()
+ "Sigla Conselho: " + registro . getSiglaConselho ()
+ "Numero Conselho" + registro . getNumeroConselho ()
+ "uf Conselho: " + registro . getUfConselho ());
}
ArrayList < Contratado > dadosContratado = ( ArrayList ) xStream . fromXML ( input );
input . close ();
for ( Contratado registro : dadosContratado ) {
System . out . println ( "Nome Contratado: " + registro . getNomeContratado ());
}
ArrayList < Identificacao > dadosIdentificacao = ( ArrayList ) xStream . fromXML ( input );
input . close ();
for ( Identificacao registro : dadosIdentificacao ) {
System . out . println (
"CPF: " + registro . getCpf ()
+ "CNPJ: " + registro . getCNPJ ());
}
ArrayList < Profissional > dadosProfissional = ( ArrayList ) xStream . fromXML ( input );
input . close ();
for ( Profissional registro : dadosProfissional ) {
System . out . println (
"sigla Conselho: " + registro . getSiglaConselho ()
+ "Numero Conselho" + registro . getNumeroConselho ()
+ "ufConselho" + registro . getUfConselho ());
}
ArrayList < ConselhoProfissional > dadosConselhoProfissional = ( ArrayList ) xStream . fromXML ( input );
input . close ();
for ( ConselhoProfissional registro : dadosConselhoProfissional ) {
System . out . println ( "sigla Conselho: " + registro . getSiglaConselho ()
+ "numero Conselho: " + registro . getNumeroConselho ()
+ "ufConselho: " + registro . getUfConselho ());
}
ArrayList < PrestadorExecutante > dadosPrestExecutantes = ( ArrayList ) xStream . fromXML ( input );
input . close ();
for ( PrestadorExecutante registro : dadosPrestExecutantes ) {
System . out . println ( "nomeContratado: " + registro . getNomeContratado ());
}
ArrayList < ProfissionalExecutanteCompl > dadosProfissionalExeCompl = ( ArrayList ) xStream . fromXML ( input );
input . close ();
for ( ProfissionalExecutanteCompl registro : dadosProfissionalExeCompl ) {
System . out . println ( "nomeExecutante: " + registro . getNomeExecutante ());
}
ArrayList < DiagnosticoAtendimento > dadosDiagnosticoAtendimento = ( ArrayList ) xStream . fromXML ( input );
input . close ();
for ( DiagnosticoAtendimento registro : dadosDiagnosticoAtendimento ) {
System . out . println ( "Nome Tabela: " + registro . getNomeTabela ()
+ "Codigo Diagnostico: " + registro . getCodigoDiagnostico ());
}
ArrayList < CID > dadosCID = ( ArrayList ) xStream . fromXML ( input );
input . close ();
for ( CID registro : dadosCID ) {
System . out . println ( "Nome Tabela: " + registro . getNomeTabela ()
+ "Codigo diagnostico: " + registro . getCodigoDiagnostico ());
}
ArrayList < ProcedimentosRealizados > dadosProcRealizados = ( ArrayList ) xStream . fromXML ( input );
input . close ();
for ( ProcedimentosRealizados registro : dadosProcRealizados ) {
System . out . println ( "Data: " + registro . getData ()
+ "Quantidade Realizada: " + registro . getQuantidadeRealizada ()
+ "valor: " + registro . getValor ()
+ "Valor total: " + registro . getValorTotal ());
}
ArrayList < Procedimentos > dadosProcedimentos = ( ArrayList ) xStream . fromXML ( input );
input . close ();
for ( Procedimentos registro : dadosProcedimentos ) {
System . out . println ( "Data: " + registro . getData ()
+ "Quantidade Realizada: " + registro . getQuantidadeRealizada ()
+ "Valor: " + registro . getValor ()
+ "Valor Total: " + registro . getValorTotal ());
}
ArrayList < Procedimento > dadosProcedimento = ( ArrayList ) xStream . fromXML ( input );
input . close ();
for ( Procedimento registro : dadosProcedimento ) {
System . out . println ( "codigo: " + registro . getCodigo ()
+ "Tipo Tabela: " + registro . getTipoTabela ()
+ "Descricao: " + registro . getDescricao ());
}
ArrayList < ValorTotal > dadosValorTotal = ( ArrayList ) xStream . fromXML ( input );
input . close ();
for ( ValorTotal registro : dadosValorTotal ) {
System . out . println ( "servicos Executados: " + registro . getServicosExecutados ()
+ "taxas: " + registro . getTaxas ()
+ "materiais: " + registro . getMateriais ()
+ "medicamentos: " + registro . getMedicamentos ()
+ "Total Geral: " + registro . getTotalGeral ());
}
ArrayList < Epilogo > dadosEpilogo = ( ArrayList ) xStream . fromXML ( input );
input . close ();
for ( Epilogo registro : dadosEpilogo ) {
System . out . println ( "Hash: " + registro . getHash ());
}
} catch ( IOException e ) {
e . printStackTrace ();
}
}
Debugui a classe o erro acontece quando saio do primeiro for do cabeçalho.. :S
pode me ajudar???
ribclauport 5 de jun. de 2012
E ae?, conseguiu resolver?
Se não conseguiu, mande o xml por mp, e a fonte da classe cabecalho, bom, visto que seu codigo já esta bem extenso, eu faria da seguinte forma, pegaria somente a lista de cabecalhos, sem os outros detalhes, e faria uma interação, e irira decrementando depois a lógica… pois da forma que está tm muitos objetos envolvidos…
ribclauport 7 de jun. de 2012
Por, favor, edite seu post e coloque resolvido!, já que resolvemos seu problema por mp.
ribclauport 7 de jun. de 2012
Por, favor, edite seu post e coloque resolvido!, já que resolvemos seu problema por mp.