source: josm/trunk/src/org/openstreetmap/josm/gui/io/importexport/NoteExporter.java@ 13952

Last change on this file since 13952 was 13204, checked in by Don-vip, 6 years ago

enable new PMD rule AvoidFileStream - see https://pmd.github.io/pmd-6.0.0/pmd_rules_java_performance.html#avoidfilestream / https://bugs.openjdk.java.net/browse/JDK-8080225 for details

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