Práctica
Objetivo
Nuestro input consta de un par de planetas descritos empleando json. Podéis encontrarlos en practica\planetas.json.
Queremos leer el archivo y transformarlo en este: practica\planetas-resultado-demo2.txt
Como punto de partida, podemos emplear ejemplos\SpringBatch0003
Artefactos necesarios:
- En el pom.xml hay que añadir esta dependencia:
- <dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-mapper-asl</artifactId>
- <version>1.9.13</version>
- </dependency>
- Tenemos que crear una clase que implemente una interfaz específica:
- class PlanetaLineMapper implements LineMapper<Planeta>
- en la cual declararemos un atributo de tipo JsonLineMapper.
- En la clase, hay que redefinir el método mapLine:
- public Planeta mapLine(String line, int lineNumber) throws Exception
- Dentro de este método, hay que invocar al mapLine del JsonLineMapper y tratar lo que nos devuelva para insertar los datos leído en una instancia de la clase Planeta
- El resto es configuración.
- En el XML, hay que dar un valor a su propiedad jsonLineMapper (de la clase PlanetaLineMapper) inyectando un objeto de tipo JsonLineMapper
- Al declarar el lector de planetas, hay que dar como valor de su propiedad recordSeparatorPolicy un objeto de tipo JsonRecordSeparatorPolicy.
- Recordemos que el lector de planetas necesita nuestro line mapper