A few improvements to my earlier missing nodes patch: o Add a missing call to parseDataSetOsm o Don't report *every* error, just the first five.
Index: src/org/openstreetmap/josm/io/OsmServerObjectReader.java =================================================================== --- src/org/openstreetmap/josm/io/OsmServerObjectReader.java (revision 1442) +++ src/org/openstreetmap/josm/io/OsmServerObjectReader.java (working copy) @@ -10,6 +10,8 @@ import org.openstreetmap.josm.data.osm.DataSet; import org.xml.sax.SAXException; +import javax.swing.JOptionPane; + public class OsmServerObjectReader extends OsmServerReader { public final static String TYPE_WAY = "way"; @@ -46,11 +48,16 @@ if (in == null) return null; Main.pleaseWaitDlg.currentAction.setText(tr("Downloading OSM data...")); - final DataSet data = OsmReader.parseDataSet(in, null, Main.pleaseWaitDlg); + final OsmReader osm = OsmReader.parseDataSetOsm(in, null, Main.pleaseWaitDlg); + final DataSet data = osm.getDs(); + // String origin = Main.pref.get("osm-server.url")+"/"+Main.pref.get("osm-server.version", "0.5"); // Bounds bounds = new Bounds(new LatLon(lat1, lon1), new LatLon(lat2, lon2)); // DataSource src = new DataSource(bounds, origin); // data.dataSources.add(src); + if (osm.getParseNotes().length() != 0) { + JOptionPane.showMessageDialog(Main.parent, osm.getParseNotes()); + } in.close(); activeConnection = null; return data; Index: src/org/openstreetmap/josm/io/OsmReader.java =================================================================== --- src/org/openstreetmap/josm/io/OsmReader.java (revision 1442) +++ src/org/openstreetmap/josm/io/OsmReader.java (working copy) @@ -74,6 +74,7 @@ * a newline-terminated string. */ private String parseNotes = new String(); + private int parseNotesCount = 0; public String getParseNotes() { return parseNotes; } @@ -372,7 +373,12 @@ for (long id : e.getValue()) { Node n = findNode(id); if (n == null) { - parseNotes += tr("Skipping a way because it includes a node that doesn''t exist: {0}\n", id); + /* don't report ALL of them, just a few */ + if (parseNotesCount++ < 6) { + parseNotes += tr("Skipping a way because it includes a node that doesn''t exist: {0}\n", id); + } else if (parseNotesCount == 6) { + parseNotes += "...\n"; + } failed = true; break; } _______________________________________________ josm-dev mailing list josm-dev@openstreetmap.org http://lists.openstreetmap.org/listinfo/josm-dev