Create a JsonPipelineInput Programmatically

  1. package com.northconcepts.datapipeline.foundations.examples.pipeline;
  2.  
  3. import com.northconcepts.datapipeline.foundations.file.FileSource;
  4. import com.northconcepts.datapipeline.foundations.file.LocalFileSink;
  5. import com.northconcepts.datapipeline.foundations.file.LocalFileSource;
  6. import com.northconcepts.datapipeline.foundations.pipeline.Pipeline;
  7. import com.northconcepts.datapipeline.foundations.pipeline.input.JsonPipelineInput;
  8. import com.northconcepts.datapipeline.foundations.pipeline.output.ExcelPipelineOutput;
  9. import com.northconcepts.datapipeline.xml.XmlReader;
  10.  
  11. public class CreateAJsonPipelineInput {
  12.  
  13. public static void main(String... args) {
  14. Pipeline pipeline = new Pipeline();
  15.  
  16. FileSource source = new LocalFileSource()
  17. .setName("input-json")
  18. .setPath("example/data/input/pipeline/json-input.json")
  19. .detectFileType();
  20. JsonPipelineInput input = new JsonPipelineInput()
  21. .setFileSource(source)
  22. .addRecordBreak("//array/object")
  23. .addField("UID", "/object/UID", true)
  24. .addField("type", "//favorites/*/node()")
  25. .addField("favorite-name", "//favorites//name")
  26. .addField("favorite-id", "//favorites//id", "//favorites/books")
  27. .addField("favorite-category", "//favorites//category")
  28. .setDuplicateFieldPolicy(XmlReader.DuplicateFieldPolicy.USE_LAST_VALUE);
  29. pipeline.setInput(input);
  30.  
  31. LocalFileSink sink = new LocalFileSink().setPath("data/output/test.xlsx");
  32. pipeline.setOutput(new ExcelPipelineOutput().setFileSink(sink).setFieldNamesInFirstRow(true));
  33.  
  34. pipeline.run();
  35. }
  36. }
  37.  
Mobile Analytics