Changeset 2599 in josm for trunk/src/org/openstreetmap/josm/io/MultiFetchServerObjectReader.java
- Timestamp:
- 2009-12-09T21:25:40+01:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/io/MultiFetchServerObjectReader.java
r2578 r2599 19 19 import org.openstreetmap.josm.data.osm.OsmPrimitive; 20 20 import org.openstreetmap.josm.data.osm.OsmPrimitiveType; 21 import org.openstreetmap.josm.data.osm.PrimitiveId; 21 22 import org.openstreetmap.josm.data.osm.Relation; 22 23 import org.openstreetmap.josm.data.osm.RelationMember; … … 76 77 77 78 /** 78 * remembers an {@see OsmPrimitive}'s id and its type. The id will79 * Remembers an {@see OsmPrimitive}'s id. The id will 79 80 * later be fetched as part of a Multi Get request. 80 81 * 81 * Ignore the id if it id <= 0.82 * Ignore the id if it represents a new primitives. 82 83 * 83 84 * @param id the id 84 * @param type the type 85 */ 86 protected void remember(long id, OsmPrimitiveType type) { 87 if (id <= 0) return; 88 if (type.equals(OsmPrimitiveType.NODE)) { 89 nodes.add(id); 90 } else if (type.equals(OsmPrimitiveType.WAY)) { 91 ways.add(id); 92 } if (type.equals(OsmPrimitiveType.RELATION)) { 93 relations.add(id); 85 */ 86 protected void remember(PrimitiveId id) { 87 if (id.isNew()) return; 88 switch(id.getType()) { 89 case NODE: nodes.add(id.getUniqueId()); break; 90 case WAY: ways.add(id.getUniqueId()); break; 91 case RELATION: relations.add(id.getUniqueId()); break; 94 92 } 95 93 } … … 115 113 if (primitive == null) 116 114 throw new NoSuchElementException(tr("No primitive with id {0} in local dataset. Can't infer primitive type.", id)); 117 remember( id, OsmPrimitiveType.from(primitive));115 remember(primitive.getPrimitiveId()); 118 116 return; 119 117 } … … 153 151 public MultiFetchServerObjectReader append(Node node) { 154 152 if (node == null) return this; 155 if (node.isNew()) return this; 156 remember(node.getId(), OsmPrimitiveType.NODE); 153 remember(node.getPrimitiveId()); 157 154 return this; 158 155 } … … 170 167 for (Node node: way.getNodes()) { 171 168 if (!node.isNew()) { 172 remember(node.get Id(), OsmPrimitiveType.NODE);173 } 174 } 175 remember(way.get Id(), OsmPrimitiveType.WAY);169 remember(node.getPrimitiveId()); 170 } 171 } 172 remember(way.getPrimitiveId()); 176 173 return this; 177 174 } … … 187 184 if (relation == null) return this; 188 185 if (relation.isNew()) return this; 189 remember(relation.get Id(), OsmPrimitiveType.RELATION);186 remember(relation.getPrimitiveId()); 190 187 for (RelationMember member : relation.getMembers()) { 191 188 if (OsmPrimitiveType.from(member.getMember()).equals(OsmPrimitiveType.RELATION)) {
Note:
See TracChangeset
for help on using the changeset viewer.