// License: GPL. For details, see LICENSE file.
package org.openstreetmap.josm.plugins.opendata.core.io.geographic;
import static org.openstreetmap.josm.tools.I18n.tr;
import java.io.InputStream;
import org.openstreetmap.josm.actions.ExtensionFileFilter;
import org.openstreetmap.josm.data.osm.DataSet;
import org.openstreetmap.josm.gui.progress.ProgressMonitor;
import org.openstreetmap.josm.io.IllegalDataException;
import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
import org.openstreetmap.josm.plugins.opendata.core.io.AbstractImporter;
public class KmlKmzImporter extends AbstractImporter {
public static final ExtensionFileFilter KML_KMZ_FILE_FILTER = new ExtensionFileFilter(
OdConstants.KML_EXT+","+OdConstants.KMZ_EXT, OdConstants.KMZ_EXT, tr("KML/KMZ files") +
" (*."+OdConstants.KML_EXT+",*."+OdConstants.KMZ_EXT+")");
public KmlKmzImporter() {
super(KML_KMZ_FILE_FILTER);
}
@Override
protected DataSet parseDataSet(InputStream in, ProgressMonitor instance)
throws IllegalDataException {
try {
if (file.getName().toLowerCase().endsWith(OdConstants.KML_EXT)) {
return KmlReader.parseDataSet(in, instance);
} else {
return KmzReader.parseDataSet(in, instance);
}
} catch (Exception e) {
throw new IllegalDataException(e);
}
}
}