source: josm/trunk/src/org/openstreetmap/josm/io/NoteExporter.java@ 12225

Last change on this file since 12225 was 11456, checked in by Don-vip, 7 years ago

sonar - squid:S2095 - Resources should be closed

  • Property svn:eol-style set to native
File size: 1.4 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.io;
3
4import static org.openstreetmap.josm.tools.I18n.tr;
5
6import java.io.File;
7import java.io.FileOutputStream;
8import java.io.IOException;
9import java.io.OutputStream;
10
11import org.openstreetmap.josm.Main;
12import org.openstreetmap.josm.actions.ExtensionFileFilter;
13import org.openstreetmap.josm.gui.layer.Layer;
14import org.openstreetmap.josm.gui.layer.NoteLayer;
15
16/**
17 * Exporter to write note data to an XML file
18 */
19public class NoteExporter extends FileExporter {
20
21 /** File extension filter for .osn files */
22 public static final ExtensionFileFilter FILE_FILTER = new ExtensionFileFilter(
23 "osn", "osn", tr("Note Files") + " (*.osn)");
24
25 /** Create a new note exporter with the default .osn file filter */
26 public NoteExporter() {
27 super(FILE_FILTER);
28 }
29
30 @Override
31 public boolean acceptFile(File pathname, Layer layer) {
32 if (!(layer instanceof NoteLayer))
33 return false;
34 return super.acceptFile(pathname, layer);
35 }
36
37 @Override
38 public void exportData(File file, Layer layer) throws IOException {
39 Main.info("exporting notes to file: " + file);
40 if (layer instanceof NoteLayer) {
41 try (OutputStream os = new FileOutputStream(file);
42 NoteWriter writer = new NoteWriter(os)) {
43 writer.write(((NoteLayer) layer).getNoteData());
44 }
45 }
46 }
47}
Note: See TracBrowser for help on using the repository browser.