package io.lumify.palantir.service;
import io.lumify.palantir.DataToSequenceFile;
import io.lumify.palantir.model.PtLinkRelation;
import org.apache.hadoop.io.SequenceFile;
import java.io.IOException;
public class PtLinkRelationExporter extends ExporterBase<PtLinkRelation> {
private StringBuilder xml;
public PtLinkRelationExporter() {
super(PtLinkRelation.class);
}
@Override
protected void beforeProcessRows(Exporter.ExporterSource exporterSource) {
super.beforeProcessRows(exporterSource);
xml = new StringBuilder();
xml.append("<?xml version=\"1.0\" ?>\n");
xml.append("<link_relations>\n");
}
@Override
protected void processRow(Exporter.ExporterSource exporterSource, PtLinkRelation row, SequenceFile.Writer outputFile) throws IOException {
super.processRow(exporterSource, row, outputFile);
xml.append(" <link_relation_config>\n");
xml.append(" <tableType1>").append(row.getTableTypeId1()).append("</tableType1>\n");
xml.append(" <uri1>").append(row.getUri1()).append("</uri1>\n");
xml.append(" <tableType2>").append(row.getTableTypeId2()).append("</tableType2>\n");
xml.append(" <uri2>").append(row.getUri2()).append("</uri2>\n");
xml.append(" <linkUri>").append(row.getLinkUri()).append("</linkUri>\n");
xml.append(" <linkStatus>").append(row.getLinkStatus()).append("</linkStatus>\n");
xml.append(" <hidden>").append(row.isHidden()).append("</hidden>\n");
xml.append(" </link_relation_config>\n");
}
@Override
protected void afterProcessRows(Exporter.ExporterSource exporterSource) {
super.afterProcessRows(exporterSource);
xml.append("</link_relations>\n");
writeOntologyXmlFile(exporterSource, "pt_link_relation", xml.toString());
}
@Override
protected String getSql() {
return "SELECT * FROM {namespace}.PT_LINK_RELATION ORDER BY id";
}
}