package io.lumify.palantir.service; import io.lumify.palantir.DataToSequenceFile; import io.lumify.palantir.model.PtImageInfo; import org.apache.hadoop.io.SequenceFile; import java.io.IOException; public class PtImageInfoExporter extends ExporterBase<PtImageInfo> { private StringBuilder xml; public PtImageInfoExporter() { super(PtImageInfo.class); } @Override protected void beforeProcessRows(Exporter.ExporterSource exporterSource) { super.beforeProcessRows(exporterSource); xml = new StringBuilder(); xml.append("<?xml version=\"1.0\" ?>\n"); xml.append("<image_infos>\n"); } @Override protected void processRow(Exporter.ExporterSource exporterSource, PtImageInfo row, SequenceFile.Writer outputFile) throws IOException { super.processRow(exporterSource, row, outputFile); xml.append(" <image_info_config>\n"); xml.append(" <name>").append(row.getName()).append("</name>\n"); xml.append(" <uri>").append(row.getUri()).append("</uri>\n"); xml.append(" <description>").append(row.getDescription()).append("</description>\n"); xml.append(" <path>").append(row.getPath()).append("</path>\n"); xml.append(" </image_info_config>\n"); } @Override protected void afterProcessRows(Exporter.ExporterSource exporterSource) { super.afterProcessRows(exporterSource); xml.append("</image_infos>\n"); writeOntologyXmlFile(exporterSource, "pt_image_info", xml.toString()); } @Override protected String getSql() { return "SELECT * FROM {namespace}.PT_IMAGE_INFO ORDER BY id"; } }