// License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.plugins.trustosm.io; import static org.openstreetmap.josm.tools.I18n.tr; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import javax.swing.JOptionPane; import org.openstreetmap.josm.Main; import org.openstreetmap.josm.actions.ExtensionFileFilter; import org.openstreetmap.josm.gui.layer.Layer; import org.openstreetmap.josm.io.FileExporter; import org.openstreetmap.josm.plugins.trustosm.TrustOSMplugin; import org.openstreetmap.josm.tools.CheckParameterUtil; public class SigExporter extends FileExporter { public SigExporter(ExtensionFileFilter filter) { super(filter); // TODO Auto-generated constructor stub } public SigExporter() { super(new ExtensionFileFilter("txml,xml", "txml", tr("Signature Files") + " (*.txml *.xml)")); } @Override public void exportData(File file, Layer layer) throws IOException { CheckParameterUtil.ensureParameterNotNull(file, "file"); String fn = file.getPath(); if (fn.indexOf('.') == -1) { fn += ".tosm"; file = new File(fn); } try (FileOutputStream fo = new FileOutputStream(file)) { new SigWriter(fo).write(TrustOSMplugin.signedItems.values()); fo.flush(); } catch (IOException x) { x.printStackTrace(); JOptionPane.showMessageDialog(Main.parent, tr("Error while exporting {0}:\n{1}", fn, x.getMessage()), tr("Error"), JOptionPane.ERROR_MESSAGE); } } }