source: josm/trunk/src/org/openstreetmap/josm/io/session/OsmDataSessionExporter.java@ 12800

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

see #15229 - see #15182 - deprecate OsmWriter.writeLayer(OsmDataLayer) - replacement: OsmWriter.write(DataSet)

  • Property svn:eol-style set to native
File size: 1.2 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.io.session;
3
4import java.io.OutputStream;
5import java.io.OutputStreamWriter;
6import java.io.PrintWriter;
7import java.io.Writer;
8import java.nio.charset.StandardCharsets;
9
10import org.openstreetmap.josm.gui.layer.OsmDataLayer;
11import org.openstreetmap.josm.io.OsmWriter;
12import org.openstreetmap.josm.io.OsmWriterFactory;
13
14/**
15 * Session exporter for {@link OsmDataLayer}.
16 * @since 4685
17 */
18public class OsmDataSessionExporter extends GenericSessionExporter<OsmDataLayer> {
19
20 /**
21 * Constructs a new {@code OsmDataSessionExporter}.
22 * @param layer Data layer to export
23 */
24 public OsmDataSessionExporter(OsmDataLayer layer) { // NO_UCD (test only)
25 super(layer, "osm-data", "0.1", "osm");
26 }
27
28 @Override
29 protected void addDataFile(OutputStream out) {
30 Writer writer = new OutputStreamWriter(out, StandardCharsets.UTF_8);
31 OsmWriter w = OsmWriterFactory.createOsmWriter(new PrintWriter(writer), false, layer.data.getVersion());
32 layer.data.getReadLock().lock();
33 try {
34 w.write(layer.data);
35 w.flush();
36 } finally {
37 layer.data.getReadLock().unlock();
38 }
39 }
40}
Note: See TracBrowser for help on using the repository browser.