Changeset 11878 in josm for trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmChangeTask.java
- Timestamp:
- 2017-04-10T00:14:42+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmChangeTask.java
r11746 r11878 7 7 import java.util.HashMap; 8 8 import java.util.Iterator; 9 import java.util.List;10 9 import java.util.Map; 11 10 import java.util.Map.Entry; … … 25 24 import org.openstreetmap.josm.data.osm.PrimitiveId; 26 25 import org.openstreetmap.josm.data.osm.RelationData; 27 import org.openstreetmap.josm.data.osm.RelationMemberData;28 26 import org.openstreetmap.josm.data.osm.WayData; 29 27 import org.openstreetmap.josm.data.osm.history.History; … … 80 78 } 81 79 80 /** 81 * OsmChange download task. 82 */ 82 83 protected class DownloadTask extends DownloadOsmTask.DownloadTask { 83 84 84 public DownloadTask(boolean newLayer, OsmServerReader reader, 85 ProgressMonitor progressMonitor) { 85 /** 86 * Constructs a new {@code DownloadTask}. 87 * @param newLayer if {@code true}, force download to a new layer 88 * @param reader OSM data reader 89 * @param progressMonitor progress monitor 90 */ 91 public DownloadTask(boolean newLayer, OsmServerReader reader, ProgressMonitor progressMonitor) { 86 92 super(newLayer, reader, progressMonitor); 87 93 } … … 154 160 switch (p.getType()) { 155 161 case NODE: 156 data = new NodeData(); 157 ((NodeData) data).setCoor(((HistoryNode) hp).getCoords()); 162 data = ((HistoryNode) hp).fillPrimitiveData(new NodeData()); 158 163 break; 159 164 case WAY: 160 data = new WayData(); 161 List<Long> nodeIds = ((HistoryWay) hp).getNodes(); 162 ((WayData) data).setNodes(nodeIds); 165 data = ((HistoryWay) hp).fillPrimitiveData(new WayData()); 163 166 // Find incomplete nodes to load at next run 164 for (Long nodeId : nodeIds) {167 for (Long nodeId : ((HistoryWay) hp).getNodes()) { 165 168 if (p.getDataSet().getPrimitiveById(nodeId, OsmPrimitiveType.NODE) == null) { 166 169 Node n = new Node(nodeId); … … 171 174 break; 172 175 case RELATION: 173 data = new RelationData(); 174 List<RelationMemberData> members = ((HistoryRelation) hp).getMembers(); 175 ((RelationData) data).setMembers(members); 176 data = ((HistoryRelation) hp).fillPrimitiveData(new RelationData()); 176 177 break; 177 178 default: throw new AssertionError("Unknown primitive type"); 178 179 } 179 180 data.setUser(hp.getUser());181 try {182 data.setVisible(hp.isVisible());183 } catch (IllegalStateException e) {184 Main.error(e, "Cannot change visibility for "+p+':');185 }186 data.setTimestamp(hp.getTimestamp());187 data.setKeys(hp.getTags());188 data.setOsmId(hp.getId(), (int) hp.getVersion());189 180 190 181 // Load the history data
Note:
See TracChangeset
for help on using the changeset viewer.