Changeset 16445 in josm for trunk/src/org/openstreetmap/josm/data/osm/RelationToChildReference.java
- Timestamp:
- 2020-05-17T17:02:28+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/data/osm/RelationToChildReference.java
r14654 r16445 3 3 4 4 import java.util.Collection; 5 import java.util.HashSet;6 5 import java.util.Objects; 7 6 import java.util.Set; 8 7 import java.util.stream.Collectors; 8 import java.util.stream.IntStream; 9 9 10 10 /** … … 21 21 public static Set<RelationToChildReference> getRelationToChildReferences(OsmPrimitive child) { 22 22 Set<Relation> parents = child.referrers(Relation.class).collect(Collectors.toSet()); 23 Set<RelationToChildReference> references = new HashSet<>(); 24 for (Relation parent: parents) { 25 for (int i = 0; i < parent.getMembersCount(); i++) { 26 if (parent.getMember(i).refersTo(child)) { 27 references.add(new RelationToChildReference(parent, i, parent.getMember(i))); 28 } 29 } 30 } 31 return references; 23 return parents.stream().flatMap(parent1 -> IntStream.range(0, parent1.getMembersCount()) 24 .filter(i -> parent1.getMember(i).refersTo(child)) 25 .mapToObj(i -> new RelationToChildReference(parent1, i, parent1.getMember(i)))) 26 .collect(Collectors.toSet()); 32 27 } 33 28 … … 40 35 */ 41 36 public static Set<RelationToChildReference> getRelationToChildReferences(Collection<? extends OsmPrimitive> children) { 42 Set<RelationToChildReference> references = new HashSet<>(); 43 for (OsmPrimitive child: children) { 44 references.addAll(getRelationToChildReferences(child)); 45 } 46 return references; 37 return children.stream() 38 .flatMap(child -> getRelationToChildReferences(child).stream()) 39 .collect(Collectors.toSet()); 47 40 } 48 41
Note:
See TracChangeset
for help on using the changeset viewer.