Skip to content
Snippets Groups Projects
Commit 3bf7ac0e authored by kraleva's avatar kraleva
Browse files

cannot remove object from arraylist

parent b7c70010
No related branches found
No related tags found
1 merge request!26Add LLC
...@@ -65,6 +65,7 @@ public class App { ...@@ -65,6 +65,7 @@ public class App {
// cleanup // cleanup
graph = null; graph = null;
OSMConnectedComponentParser.cleanUp(roadNetworkBuilder, component);
RoadNetwork roadNetwork = roadNetworkBuilder.build(); RoadNetwork roadNetwork = roadNetworkBuilder.build();
System.out.println("Turn restrictions count: " + roadNetwork.getTurnRestrictionsCount()); System.out.println("Turn restrictions count: " + roadNetwork.getTurnRestrictionsCount());
......
package map.builder.osm; package map.builder.osm;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Map;
import de.fuberlin.navigator.protos.map_builder.Node;
import de.fuberlin.navigator.protos.map_builder.RoadNetwork; import de.fuberlin.navigator.protos.map_builder.RoadNetwork;
import de.fuberlin.navigator.protos.map_builder.Segment; import de.fuberlin.navigator.protos.map_builder.Segment;
import map.builder.utilities.ConnectedComponentGraph; import map.builder.utilities.ConnectedComponentGraph;
...@@ -24,4 +29,26 @@ public class OSMConnectedComponentParser { ...@@ -24,4 +29,26 @@ public class OSMConnectedComponentParser {
} }
} }
public static void cleanUp(RoadNetwork.Builder roadNetworkBuilder, ArrayList<Long> component) {
Map<Long, Node> nodesMap = roadNetworkBuilder.getNodesMap();
for (Iterator<Long> iterator = nodesMap.keySet().iterator(); iterator.hasNext();) {
Long key = iterator.next();
System.out.println(component.contains(key));
if (!component.contains(key)) {
iterator.remove();
;
}
}
Map<Long, Segment> segmentsMap = roadNetworkBuilder.getSegmentsMap();
for (Iterator<Long> iterator = segmentsMap.keySet().iterator(); iterator.hasNext();) {
Long key = iterator.next();
Long startNodeID = segmentsMap.get(key).getStartNode();
Long endNodeID = segmentsMap.get(key).getEndNode();
if ((!component.contains(startNodeID)) && (!component.contains(endNodeID))) {
iterator.remove();
;
}
}
}
} }
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment