Changeset 1814 in josm for trunk/src/org/openstreetmap/josm/io
- Timestamp:
- 2009-07-19T19:04:49+02:00 (16 years ago)
- Location:
- trunk/src/org/openstreetmap/josm/io
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/io/GpxImporter.java
r1696 r1814 29 29 GpxReader r = null; 30 30 InputStream is; 31 if (file.getName().endsWith(".gpx.gz")) 31 if (file.getName().endsWith(".gpx.gz")) { 32 32 is = new GZIPInputStream(new FileInputStream(file)); 33 else33 } else { 34 34 is = new FileInputStream(file); 35 } 35 36 // Workaround for SAX BOM bug 36 37 // http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6206835 37 38 if (!((is.read() == 0xef) && (is.read() == 0xbb) && (is.read() == 0xbf))) { 38 39 is.close(); 39 if (file.getName().endsWith(".gpx.gz")) 40 if (file.getName().endsWith(".gpx.gz")) { 40 41 is = new GZIPInputStream(new FileInputStream(file)); 41 else42 } else { 42 43 is = new FileInputStream(file); 44 } 43 45 } 44 46 r = new GpxReader(is, file.getAbsoluteFile().getParentFile()); … … 48 50 if (Main.pref.getBoolean("marker.makeautomarkers", true)) { 49 51 MarkerLayer ml = new MarkerLayer(r.data, tr("Markers from {0}", fn), file, gpxLayer); 50 if (ml.data.size() > 0) 52 if (ml.data.size() > 0) { 51 53 Main.main.addLayer(ml); 54 } 52 55 } 53 56 } catch (FileNotFoundException e) { -
trunk/src/org/openstreetmap/josm/io/OsmReader.java
r1811 r1814 29 29 import org.openstreetmap.josm.data.osm.User; 30 30 import org.openstreetmap.josm.data.osm.Way; 31 import org.openstreetmap.josm.data.osm.visitor.AddVisitor;32 31 import org.openstreetmap.josm.gui.progress.ProgressMonitor; 33 32 import org.openstreetmap.josm.tools.DateUtils; … … 55 54 private DataSet ds = new DataSet(); 56 55 public DataSet getDs() { return ds; } 57 58 /**59 * The visitor to use to add the data to the set.60 */61 private AddVisitor adder = new AddVisitor(ds);62 56 63 57 /** … … 349 343 w.incomplete = true; 350 344 w.nodes.clear(); 351 adder.visit(w);345 ds.addPrimitive(w); 352 346 } else { 353 347 e.getKey().copyTo(w); 354 348 w.incomplete = false; 355 adder.visit(w);349 ds.addPrimitive(w); 356 350 } 357 351 } … … 401 395 Relation en = new Relation(); 402 396 e.getKey().copyTo(en); 403 adder.visit(en);397 ds.addPrimitive(en); 404 398 } 405 399 … … 421 415 if (em.member == null) { 422 416 em.member = new Node(emd.id); 423 adder.visit((Node)em.member);417 ds.addPrimitive(em.member); 424 418 } 425 419 } else if (emd.type.equals("way")) { … … 430 424 if (em.member == null) { 431 425 em.member = new Way(emd.id); 432 adder.visit((Way)em.member);426 ds.addPrimitive(em.member); 433 427 } 434 428 } else if (emd.type.equals("relation")) { … … 436 430 if (em.member == null) { 437 431 em.member = new Relation(emd.id); 438 adder.visit((Relation)em.member);432 ds.addPrimitive(em.member); 439 433 } 440 434 } else { … … 458 452 459 453 public static OsmReader parseDataSetOsm(InputStream source, ProgressMonitor progressMonitor) throws SAXException, IOException { 460 OsmReader osm= new OsmReader();454 OsmReader reader = new OsmReader(); 461 455 462 456 // phase 1: Parse nodes and read in raw ways 463 457 InputSource inputSource = new InputSource(new InputStreamReader(source, "UTF-8")); 464 458 try { 465 SAXParserFactory.newInstance().newSAXParser().parse(inputSource, osm.new Parser());459 SAXParserFactory.newInstance().newSAXParser().parse(inputSource, reader.new Parser()); 466 460 } catch (ParserConfigurationException e1) { 467 461 e1.printStackTrace(); // broken SAXException chaining … … 471 465 progressMonitor.beginTask(tr("Prepare OSM data...", 2)); 472 466 try { 473 for (Node n : osm.nodes.values()) {474 osm.adder.visit(n);467 for (Node n : reader.nodes.values()) { 468 reader.ds.addPrimitive(n); 475 469 } 476 470 … … 478 472 479 473 try { 480 osm.createWays();481 osm.createRelations();474 reader.createWays(); 475 reader.createRelations(); 482 476 } catch (NumberFormatException e) { 483 477 e.printStackTrace(); … … 486 480 487 481 // clear all negative ids (new to this file) 488 for (OsmPrimitive o : osm.ds.allPrimitives())482 for (OsmPrimitive o : reader.ds.allPrimitives()) 489 483 if (o.id < 0) { 490 484 o.id = 0; 491 485 } 492 486 493 return osm;487 return reader; 494 488 } finally { 495 489 progressMonitor.finishTask(); -
trunk/src/org/openstreetmap/josm/io/OsmServerHistoryReader.java
r1811 r1814 4 4 import static org.openstreetmap.josm.tools.I18n.tr; 5 5 6 import java.io.IOException;7 6 import java.io.InputStream; 8 7 … … 11 10 import org.openstreetmap.josm.data.osm.history.HistoryDataSet; 12 11 import org.openstreetmap.josm.gui.progress.ProgressMonitor; 13 import org.xml.sax.SAXException;14 12 15 13 import sun.reflect.generics.reflectiveObjects.NotImplementedException; -
trunk/src/org/openstreetmap/josm/io/OsmServerWriter.java
r1811 r1814 12 12 import org.openstreetmap.josm.actions.UploadAction; 13 13 import org.openstreetmap.josm.data.osm.OsmPrimitive; 14 import org.openstreetmap.josm.data.osm.visitor.NameVisitor; 14 import org.openstreetmap.josm.data.osm.OsmPrimitiveType; 15 import org.openstreetmap.josm.gui.PrimitiveNameFormatter; 15 16 import org.openstreetmap.josm.gui.progress.ProgressMonitor; 16 17 … … 23 24 */ 24 25 public class OsmServerWriter { 26 static private final PrimitiveNameFormatter NAME_FORMATTER = new PrimitiveNameFormatter(); 25 27 static private final Logger logger = Logger.getLogger(OsmServerWriter.class.getName()); 26 28 … … 123 125 progressMonitor.setTicksCount(primitives.size()); 124 126 api.createChangeset(getChangesetComment(), progressMonitor.createSubTaskMonitor(0, false)); 125 NameVisitor v = new NameVisitor();126 127 uploadStartTime = System.currentTimeMillis(); 127 128 for (OsmPrimitive osm : primitives) { 128 osm.visit(v);129 129 int progress = progressMonitor.getTicks(); 130 130 String time_left_str = timeLeft(progress, primitives.size()); … … 132 132 tr("{0}% ({1}/{2}), {3} left. Uploading {4}: {5} (id: {6})", 133 133 Math.round(100.0*progress/primitives.size()), progress, 134 primitives.size(), time_left_str, tr(v.className), v.name, osm.id)); 134 primitives.size(), time_left_str, 135 OsmPrimitiveType.from(osm).getLocalizedDisplayNameSingular(), 136 NAME_FORMATTER.getName(osm), 137 osm.id)); 135 138 makeApiRequest(osm); 136 139 processed.add(osm); … … 139 142 api.stopChangeset(progressMonitor.createSubTaskMonitor(0, false)); 140 143 } 144 141 145 } finally { 142 146 progressMonitor.finishTask();
Note:
See TracChangeset
for help on using the changeset viewer.