// License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.io; import static org.openstreetmap.josm.tools.I18n.tr; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import org.openstreetmap.josm.Main; import org.openstreetmap.josm.actions.ExtensionFileFilter; import org.openstreetmap.josm.gui.layer.Layer; import org.openstreetmap.josm.gui.layer.NoteLayer; /** * Exporter to write note data to an XML file */ public class NoteExporter extends FileExporter { /** File extension filter for .osn files */ public static final ExtensionFileFilter FILE_FILTER = new ExtensionFileFilter( "osn", "osn", tr("Note Files") + " (*.osn)"); /** Create a new note exporter with the default .osn file filter */ public NoteExporter() { super(FILE_FILTER); } @Override public boolean acceptFile(File pathname, Layer layer) { if (!(layer instanceof NoteLayer)) return false; return super.acceptFile(pathname, layer); } @Override public void exportData(File file, Layer layer) throws IOException { Main.info("exporting notes to file: " + file); if (layer instanceof NoteLayer) { try (OutputStream os = new FileOutputStream(file); NoteWriter writer = new NoteWriter(os)) { writer.write(((NoteLayer) layer).getNoteData()); } } } }