Changeset 1928 in josm for trunk/src/org/openstreetmap/josm/io
- Timestamp:
- 2009-08-08T11:32:27+02:00 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/io/OsmReader.java
r1924 r1928 122 122 public String type; 123 123 public long id; 124 public RelationMember relationMember;124 public String role; 125 125 } 126 126 … … 204 204 throw new SAXException(tr("Found <member> element in non-relation.")); 205 205 RelationMemberData emd = new RelationMemberData(); 206 emd.relationMember = new RelationMember();207 206 String value = atts.getValue("ref"); 208 207 if (value == null) … … 220 219 emd.type= value; 221 220 value = atts.getValue("role"); 222 emd.r elationMember.role = value;221 emd.role = value; 223 222 224 223 if (emd.id == 0) … … 393 392 * and populate them later. 394 393 */ 395 private void createRelations() { 394 private void createRelations() throws SAXException { 396 395 397 396 // pass 1 - create all relations … … 414 413 415 414 for (RelationMemberData emd : e.getValue()) { 416 RelationMember em = emd.relationMember;415 OsmPrimitive member; 417 416 if (emd.type.equals("node")) { 418 em.member = findNode(emd.id);419 if ( em.member == null) {420 em.member = new Node(emd.id);421 ds.addPrimitive( em.member);417 member = findNode(emd.id); 418 if (member == null) { 419 member = new Node(emd.id); 420 ds.addPrimitive(member); 422 421 } 423 422 } else if (emd.type.equals("way")) { 424 em.member = hm.get(emd.id);425 if ( em.member == null) {426 em.member = findWay(emd.id);427 } 428 if ( em.member == null) {429 em.member = new Way(emd.id);430 ds.addPrimitive( em.member);423 member = hm.get(emd.id); 424 if (member == null) { 425 member = findWay(emd.id); 426 } 427 if (member == null) { 428 member = new Way(emd.id); 429 ds.addPrimitive(member); 431 430 } 432 431 } else if (emd.type.equals("relation")) { 433 em.member = findRelation(emd.id);434 if ( em.member == null) {435 em.member = new Relation(emd.id);436 ds.addPrimitive( em.member);432 member = findRelation(emd.id); 433 if (member == null) { 434 member = new Relation(emd.id); 435 ds.addPrimitive(member); 437 436 } 438 437 } else { 439 // this is an error.438 throw new SAXException(tr("Unknown relation member type {0}", emd.type)); 440 439 } 441 en.members.add( em);440 en.members.add(new RelationMember(emd.role, member)); 442 441 } 443 442 }
Note:
See TracChangeset
for help on using the changeset viewer.