Changeset 17822 in josm for trunk/src/org
- Timestamp:
- 2021-04-26T19:31:01+02:00 (4 years ago)
- Location:
- trunk/src/org/openstreetmap/josm
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/data/osm/OsmPrimitive.java
r17749 r17822 570 570 // 'area' is not really uninteresting (putting it in that list may have unpredictable side effects) 571 571 // but it's clearly not enough to consider an object as tagged (see #9261) 572 updateFlagsNoLock(FLAG_TAGGED, keys() 572 updateFlagsNoLock(FLAG_TAGGED, hasKeys() && keys() 573 573 .anyMatch(key -> !isUninterestingKey(key) && !"area".equals(key))); 574 574 } -
trunk/src/org/openstreetmap/josm/io/AbstractReader.java
r17754 r17822 595 595 * @throws IllegalDataException in case of invalid data 596 596 */ 597 void accept(Node n) throws IllegalDataException; 597 void accept(NodeData n) throws IllegalDataException; 598 598 } 599 599 … … 606 606 * @throws IllegalDataException in case of invalid data 607 607 */ 608 void accept(Way w, Collection<Long> nodeIds) throws IllegalDataException; 608 void accept(WayData w, Collection<Long> nodeIds) throws IllegalDataException; 609 609 } 610 610 … … 617 617 * @throws IllegalDataException in case of invalid data 618 618 */ 619 void accept(Relation r, Collection<RelationMemberData> members) throws IllegalDataException; 619 void accept(RelationData r, Collection<RelationMemberData> members) throws IllegalDataException; 620 620 } 621 621 … … 643 643 644 644 private Node addNode(NodeData nd, NodeReader nodeReader) throws IllegalDataException { 645 Node n = (Node) buildPrimitive(nd); 646 nodeReader.accept(n); 647 return n; 645 nodeReader.accept(nd); 646 return (Node) buildPrimitive(nd); 648 647 } 649 648 … … 691 690 WayData wd = new WayData(0); 692 691 commonReader.accept(wd); 693 Way w = (Way) buildPrimitive(wd);694 692 695 693 Collection<Long> nodeIds = new ArrayList<>(); 696 wayReader.accept(w, nodeIds); 697 if (w.isDeleted() && !nodeIds.isEmpty()) { 698 Logging.info(tr("Deleted way {0} contains nodes", Long.toString(w.getUniqueId()))); 694 wayReader.accept(wd, nodeIds); 695 if (wd.isDeleted() && !nodeIds.isEmpty()) { 696 Logging.info(tr("Deleted way {0} contains nodes", Long.toString(wd.getUniqueId()))); 699 697 nodeIds = new ArrayList<>(); 700 698 } 701 699 ways.put(wd.getUniqueId(), nodeIds); 702 return w;700 return (Way) buildPrimitive(wd); 703 701 } 704 702 … … 706 704 RelationData rd = new RelationData(0); 707 705 commonReader.accept(rd); 708 Relation r = (Relation) buildPrimitive(rd);709 706 710 707 Collection<RelationMemberData> members = new ArrayList<>(); 711 relationReader.accept(r, members); 712 if (r.isDeleted() && !members.isEmpty()) { 713 Logging.info(tr("Deleted relation {0} contains members", Long.toString(r.getUniqueId()))); 708 relationReader.accept(rd, members); 709 if (rd.isDeleted() && !members.isEmpty()) { 710 Logging.info(tr("Deleted relation {0} contains members", Long.toString(rd.getUniqueId()))); 714 711 members = new ArrayList<>(); 715 712 } 716 713 relations.put(rd.getUniqueId(), members); 717 return r;718 } 719 720 protected final RelationMemberData parseRelationMember(Relation r, String ref, String type, String role) throws IllegalDataException { 714 return (Relation) buildPrimitive(rd); 715 } 716 717 protected final RelationMemberData parseRelationMember(RelationData r, String ref, String type, String role) throws IllegalDataException { 721 718 if (ref == null) { 722 719 throw new IllegalDataException(tr("Missing attribute ''ref'' on member in relation {0}.", … … 731 728 } 732 729 733 protected final RelationMemberData parseRelationMember(Relation r, long id, String type, String role) throws IllegalDataException { 730 protected final RelationMemberData parseRelationMember(RelationData r, long id, String type, String role) throws IllegalDataException { 734 731 if (id == 0) { 735 732 throw new IllegalDataException(tr("Incomplete <member> specification with ref=0")); -
trunk/src/org/openstreetmap/josm/io/OsmJsonReader.java
r17232 r17822 19 19 import org.openstreetmap.josm.data.osm.DataSet; 20 20 import org.openstreetmap.josm.data.osm.PrimitiveData; 21 import org.openstreetmap.josm.data.osm.Relation; 21 import org.openstreetmap.josm.data.osm.RelationData; 22 22 import org.openstreetmap.josm.data.osm.RelationMemberData; 23 23 import org.openstreetmap.josm.data.osm.Tagged; 24 import org.openstreetmap.josm.data.osm.Way; 24 import org.openstreetmap.josm.data.osm.WayData; 25 25 import org.openstreetmap.josm.gui.progress.NullProgressMonitor; 26 26 import org.openstreetmap.josm.gui.progress.ProgressMonitor; … … 144 144 } 145 145 146 private static void readWayNodesAndTags(JsonObject item, Way w, Collection<Long> nodeIds) { 146 private static void readWayNodesAndTags(JsonObject item, WayData w, Collection<Long> nodeIds) { 147 147 for (JsonValue v : item.getJsonArray("nodes")) { 148 148 nodeIds.add(((JsonNumber) v).longValue()); … … 155 155 } 156 156 157 private void readRelationMembersAndTags(JsonObject item, Relation r, Collection<RelationMemberData> members) 157 private void readRelationMembersAndTags(JsonObject item, RelationData r, Collection<RelationMemberData> members) 158 158 throws IllegalDataException { 159 159 JsonArray jsonArray = item.getJsonArray("members"); -
trunk/src/org/openstreetmap/josm/io/OsmReader.java
r16641 r17822 22 22 import org.openstreetmap.josm.data.osm.DataSet; 23 23 import org.openstreetmap.josm.data.osm.Node; 24 import org.openstreetmap.josm.data.osm.NodeData; 24 25 import org.openstreetmap.josm.data.osm.PrimitiveData; 25 26 import org.openstreetmap.josm.data.osm.Relation; 27 import org.openstreetmap.josm.data.osm.RelationData; 26 28 import org.openstreetmap.josm.data.osm.RelationMemberData; 27 29 import org.openstreetmap.josm.data.osm.Tagged; 28 30 import org.openstreetmap.josm.data.osm.Way; 31 import org.openstreetmap.josm.data.osm.WayData; 29 32 import org.openstreetmap.josm.gui.progress.NullProgressMonitor; 30 33 import org.openstreetmap.josm.gui.progress.ProgressMonitor; … … 235 238 } 236 239 237 private void parseNodeTags(Node n) throws IllegalDataException { 240 private void parseNodeTags(NodeData n) throws IllegalDataException { 238 241 try { 239 242 while (parser.hasNext()) { … … 263 266 } 264 267 265 private void parseWayNodesAndTags(Way w, Collection<Long> nodeIds) throws IllegalDataException { 268 private void parseWayNodesAndTags(WayData w, Collection<Long> nodeIds) throws IllegalDataException { 266 269 try { 267 270 while (parser.hasNext()) { … … 287 290 } 288 291 289 private long parseWayNode(Way w) throws XMLStreamException { 292 private long parseWayNode(WayData w) throws XMLStreamException { 290 293 if (parser.getAttributeValue(null, "ref") == null) { 291 294 throwException( … … 312 315 } 313 316 314 private void parseRelationMembersAndTags(Relation r, Collection<RelationMemberData> members) throws IllegalDataException { 317 private void parseRelationMembersAndTags(RelationData r, Collection<RelationMemberData> members) throws IllegalDataException { 315 318 try { 316 319 while (parser.hasNext()) { … … 336 339 } 337 340 338 private RelationMemberData parseRelationMember(Relation r) throws XMLStreamException { 341 private RelationMemberData parseRelationMember(RelationData r) throws XMLStreamException { 339 342 RelationMemberData result = null; 340 343 try {
Note:
See TracChangeset
for help on using the changeset viewer.