package folioxml.export.plugins;
import folioxml.config.*;
import folioxml.core.FolioToSlxDiagnosticTool;
import folioxml.core.InvalidMarkupException;
import folioxml.export.FileNode;
import folioxml.export.InfobaseSetPlugin;
import folioxml.export.LogStreamProvider;
import folioxml.slx.ISlxTokenReader;
import folioxml.slx.SlxRecord;
import folioxml.xml.XmlRecord;
import java.io.IOException;
public class ExportMappingsFiles implements InfobaseSetPlugin {
public ExportMappingsFiles() {
}
ExportLocations export;
@Override
public void beginInfobaseSet(InfobaseSet set, ExportLocations export, LogStreamProvider logs) throws IOException, InvalidMarkupException {
this.export = export;
}
@Override
public void beginInfobase(InfobaseConfig infobase) throws IOException {
}
FolioToSlxDiagnosticTool tool = null;
@Override
public ISlxTokenReader wrapSlxReader(ISlxTokenReader reader) {
tool = new FolioToSlxDiagnosticTool(reader);
return tool;
}
@Override
public void onSlxRecordParsed(SlxRecord clean_slx) throws InvalidMarkupException, IOException {
}
@Override
public void onRecordTransformed(XmlRecord xr, SlxRecord dirty_slx) throws InvalidMarkupException, IOException {
}
@Override
public FileNode assignFileNode(XmlRecord xr, SlxRecord dirty_slx) throws InvalidMarkupException, IOException {
return null;
}
@Override
public void onRecordComplete(XmlRecord xr, FileNode file) throws InvalidMarkupException, IOException {
}
@Override
public void endInfobase(InfobaseConfig infobase) throws IOException, InvalidMarkupException {
if (tool != null)
tool.outputDataFiles(export.getLocalPath(infobase.getId() + ".mappings.txt", AssetType.Text, FolderCreation.CreateParents).toString());
tool = null;
}
@Override
public void endInfobaseSet(InfobaseSet set) throws IOException {
}
}