// License: GPL. For details, see LICENSE file.
package org.openstreetmap.josm.plugins.pbf.io;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import org.openstreetmap.josm.gui.layer.OsmDataLayer;
import org.openstreetmap.josm.io.OsmExporter;
import org.openstreetmap.josm.plugins.pbf.PbfConstants;
/**
* Exports data to a .pbf file.
* @author Don-vip
*/
public class PbfExporter extends OsmExporter {
/**
* Constructs a new {@code PbfExporter}.
*/
public PbfExporter() {
super(PbfConstants.FILE_FILTER);
}
@Override
protected void doSave(File file, OsmDataLayer layer) throws IOException {
try (
OutputStream out = new FileOutputStream(file);
PbfWriter w = new PbfWriter(out);
) {
layer.data.getReadLock().lock();
try {
w.writeLayer(layer);
} finally {
layer.data.getReadLock().unlock();
}
}
}
}