Last change
on this file since 13228 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.
|
---|
2 | package org.openstreetmap.josm.io.session;
|
---|
3 |
|
---|
4 | import java.io.OutputStream;
|
---|
5 | import java.io.OutputStreamWriter;
|
---|
6 | import java.io.PrintWriter;
|
---|
7 | import java.io.Writer;
|
---|
8 | import java.nio.charset.StandardCharsets;
|
---|
9 |
|
---|
10 | import org.openstreetmap.josm.gui.layer.OsmDataLayer;
|
---|
11 | import org.openstreetmap.josm.io.OsmWriter;
|
---|
12 | import org.openstreetmap.josm.io.OsmWriterFactory;
|
---|
13 |
|
---|
14 | /**
|
---|
15 | * Session exporter for {@link OsmDataLayer}.
|
---|
16 | * @since 4685
|
---|
17 | */
|
---|
18 | public 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.