// License: GPL. For details, see LICENSE file.
package org.openstreetmap.josm.plugins.pbf.io;
import java.io.IOException;
import java.io.InputStream;
import org.openstreetmap.josm.data.osm.DataSet;
import org.openstreetmap.josm.gui.progress.NullProgressMonitor;
import org.openstreetmap.josm.gui.progress.ProgressMonitor;
import org.openstreetmap.josm.io.CachedFile;
import org.openstreetmap.josm.io.IllegalDataException;
import org.openstreetmap.josm.io.OsmImporter;
import org.openstreetmap.josm.plugins.pbf.PbfConstants;
/**
* Imports data from a .pbf file.
* @author Don-vip
*/
public class PbfImporter extends OsmImporter {
/**
* Constructs a new {@code PbfImporter}.
*/
public PbfImporter() {
super(PbfConstants.FILE_FILTER);
}
@Override
protected DataSet parseDataSet(InputStream in, ProgressMonitor progressMonitor) throws IllegalDataException {
return PbfReader.parseDataSet(in, progressMonitor);
}
protected DataSet parseDataSet(final String source) throws IOException, IllegalDataException {
try (CachedFile cf = new CachedFile(source)) {
return parseDataSet(cf.getInputStream(), NullProgressMonitor.INSTANCE);
}
}
}