Changeset 16438 in josm for trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictResolverModel.java
- Timestamp:
- 2020-05-17T14:18:22+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictResolverModel.java
r15729 r16438 13 13 import java.util.List; 14 14 import java.util.Map; 15 import java.util.Objects; 15 16 import java.util.Set; 16 17 import java.util.TreeSet; 18 import java.util.stream.Collectors; 17 19 18 20 import javax.swing.table.DefaultTableModel; … … 70 72 */ 71 73 protected void updateNumConflicts() { 72 int count = 0;73 for (RelationMemberConflictDecision decision: decisions) {74 if (!decision.isDecided()) {75 count++;76 }77 }78 74 int oldValue = numConflicts; 79 numConflicts = count;75 numConflicts = (int) decisions.stream().filter(decision -> !decision.isDecided()).count(); 80 76 if (numConflicts != oldValue) { 81 77 support.firePropertyChange(getProperty(), oldValue, numConflicts); … … 235 231 void prepareDefaultRelationDecisions(boolean fireEvent) { 236 232 if (primitives.stream().allMatch(Node.class::isInstance)) { 237 final Collection<OsmPrimitive> primitivesInDecisions = new HashSet<>(); 238 for (final RelationMemberConflictDecision i : decisions) { 239 primitivesInDecisions.add(i.getOriginalPrimitive()); 240 } 233 final Collection<OsmPrimitive> primitivesInDecisions = decisions.stream() 234 .map(RelationMemberConflictDecision::getOriginalPrimitive) 235 .collect(Collectors.toSet()); 241 236 if (primitivesInDecisions.size() == 1) { 242 237 for (final RelationMemberConflictDecision i : decisions) { … … 264 259 // some primitives are not part of the relation, leave undecided 265 260 } else { 266 final Collection<Iterator<RelationMemberConflictDecision>> iterators = new ArrayList<>(primitives.size()); 267 for (final Collection<RelationMemberConflictDecision> i : decisionsByPrimitive.values()) { 268 iterators.add(i.iterator()); 269 } 261 final Collection<Iterator<RelationMemberConflictDecision>> iterators = decisionsByPrimitive.values().stream() 262 .map(List::iterator) 263 .collect(Collectors.toList()); 270 264 while (iterators.stream().allMatch(Iterator::hasNext)) { 271 265 final List<RelationMemberConflictDecision> decisions = new ArrayList<>(); … … 364 358 365 359 protected RelationMemberConflictDecision getDecision(Relation relation, int pos) { 366 for (RelationMemberConflictDecision decision: decisions) { 367 if (decision.matches(relation, pos)) return decision; 368 } 369 return null; 360 return decisions.stream() 361 .filter(decision -> decision.matches(relation, pos)) 362 .findFirst().orElse(null); 370 363 } 371 364 … … 408 401 */ 409 402 public List<Command> buildResolutionCommands(OsmPrimitive newPrimitive) { 410 List<Command> command = new LinkedList<>(); 411 for (Relation relation : relations) { 412 Command cmd = buildResolveCommand(relation, newPrimitive); 413 if (cmd != null) { 414 command.add(cmd); 415 } 416 } 417 return command; 403 return relations.stream() 404 .map(relation -> buildResolveCommand(relation, newPrimitive)) 405 .filter(Objects::nonNull) 406 .collect(Collectors.toList()); 418 407 } 419 408 … … 449 438 */ 450 439 public Set<Relation> getModifiedRelations(OsmPrimitive newPrimitive) { 451 Set<Relation> ret = new HashSet<>(); 452 for (Relation relation: relations) { 453 if (isChanged(relation, newPrimitive)) { 454 ret.add(relation); 455 } 456 } 457 return ret; 440 return relations.stream() 441 .filter(relation -> isChanged(relation, newPrimitive)) 442 .collect(Collectors.toSet()); 458 443 } 459 444 }
Note:
See TracChangeset
for help on using the changeset viewer.