Solucionado (ver solução)
Solucionado
(ver solução)
7
respostas

Não está gerando o xml considerando o polimorfismo.

Curso: XStream: Trabalhando com XML Aula: 04 – Coleções implícitas e Polimorfismo Exercícios: 02 – Herança e Polimorfismo 03 – Tipo Base

Esperado:

<compra>
  <id>15</id>
  <produtos class="linked-list">
    <livro codigo="1589">
      <nome>O Pássaro Raro</nome>
      <preco>100.0</preco>
      <descrição>dez histórias</descrição>
    </livro>
    <musica codigo="1590">
      <nome>Meu Passeio</nome>
      <preco>100.0</preco>
      <descrição>música</descrição>
    </musica>
  </produtos>
</compra>

Gerado:

<compra>
  <id>15</id>
  <produtos class="linked-list">
    <livro/>
    <musica/>
  </produtos>
</compra>

Github do meu projeto: https://github.com/rogeriop/xtream.git

7 respostas

OI Antoino, qual é a classe de teste?

Ah, os 3 backsticks (```) ajudam na hora de formatar o código nesse forum :)

Obrigado!

abs, Nico

Complementando o problema

Esperado:
<compra>
  <id>15</id>
  <produtos class="linked-list">
    <livro codigo="1589">
      <nome>O Pássaro Raro</nome>
      <preco>100.0</preco>
      <descrição>dez histórias</descrição>
    </livro>
    <musica codigo="1590">
      <nome>Meu Passeio</nome>
      <preco>100.0</preco>
      <descrição>música</descrição>
    </musica>
  </produtos>
</compra>

Gerado

<compra>
  <id>15</id>
  <produtos class="linked-list">
    <livro/>
    <musica/>
  </produtos>
</compra>

Bom dia Nico,

Classe de Teste: CompraTest Método: deveSerializarLivroEMusica()

Oi Antonio, agora fiquei confuso :)

fiz um clone do seu projeto e todos os testes passaram, incluindo o deveSerializarLivroEMusica!

Já arrumou ou o teste está errado?

abs

Obs: Otimo vc usando git e testando os resultado pelo junit!

Não arrumei e o erro e continua a apresentar aqui na minha máquina. E na janela das diferenças do junit apresenta exatamente as diferenças supracitadas.

solução!

olha que interessante! eu estava testando com o JRE na versão 1.7 e funcionou ... por isso a confusão.

Botão o JRE 1.8 e recebi a mesma falha!

XStream é um exemplo de biblioteca que se amarra nas detalhes da implementação do JRE.

Tem como vc atualizar o XStream para a versão 1.4.8?

http://x-stream.github.io/download.html

Nao testei ainda, vc bota a versão mais nova?

abs

Olá Nico!

Tive o mesmo problema. Atualizei para a versão 1.4.8 do xStream e funcionou normalmente.

Obrigado pela dica!