source: josm/trunk/src/org/openstreetmap/josm/io/OsmImporter.java@ 2025

Last change on this file since 2025 was 2025, checked in by Gubaer, 15 years ago

new: improved dialog for uploading/saving modified layers on exit
new: improved dialog for uploading/saving modified layers if layers are deleted
new: new progress monitor which can delegate rendering to any Swing component
more setters/getters for properties in OSM data classes (fields are @deprecated); started to update references in the code base

File size: 1.9 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.io;
3
4import static org.openstreetmap.josm.tools.I18n.tr;
5
6import java.awt.HeadlessException;
7import java.io.File;
8import java.io.FileInputStream;
9import java.io.FileNotFoundException;
10import java.io.IOException;
11import java.io.InputStream;
12
13import org.openstreetmap.josm.Main;
14import org.openstreetmap.josm.actions.ExtensionFileFilter;
15import org.openstreetmap.josm.data.osm.DataSet;
16import org.openstreetmap.josm.gui.layer.OsmDataLayer;
17import org.openstreetmap.josm.gui.progress.NullProgressMonitor;
18import org.xml.sax.SAXException;
19
20public class OsmImporter extends FileImporter {
21
22 public OsmImporter() {
23 super(new ExtensionFileFilter("osm,xml", "osm", tr("OSM Server Files") + " (*.osm *.xml)"));
24 }
25
26 public OsmImporter(ExtensionFileFilter filter) {
27 super(filter);
28 }
29
30 @Override public void importData(File file) throws IOException {
31 try {
32 FileInputStream in = new FileInputStream(file);
33 importData(in, file);
34 } catch (HeadlessException e) {
35 e.printStackTrace();
36 throw new IOException(tr("Could not read \"{0}\"", file.getName()));
37 } catch (FileNotFoundException e) {
38 e.printStackTrace();
39 throw new IOException(tr("File \"{0}\" does not exist", file.getName()));
40 } catch (SAXException e) {
41 e.printStackTrace();
42 throw new IOException(tr("Parsing file \"{0}\" failed", file.getName()));
43 }
44 }
45
46 protected void importData(InputStream in, File associatedFile) throws SAXException, IOException {
47 OsmReader osm = OsmReader.parseDataSetOsm(in, NullProgressMonitor.INSTANCE);
48 DataSet dataSet = osm.getDs();
49 OsmDataLayer layer = new OsmDataLayer(dataSet, associatedFile.getName(), associatedFile);
50 Main.main.addLayer(layer);
51 layer.fireDataChange();
52 layer.onPostLoadFromFile();
53 }
54}
Note: See TracBrowser for help on using the repository browser.