Changeset 6478 in josm for trunk


Ignore:
Timestamp:
2013-12-16T01:51:52+01:00 (10 years ago)
Author:
Don-vip
Message:

fix #9420 - Robustness on suggested roles in relation editor for relations matching several presets (rare regression from r6464)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableModel.java

    r6336 r6478  
    1111import java.util.List;
    1212import java.util.Set;
     13import java.util.TreeSet;
    1314import java.util.concurrent.CopyOnWriteArrayList;
    1415
     
    402403        int idx = index;
    403404        for (OsmPrimitive primitive : primitives) {
    404             final String role = presets.isEmpty() ? null : presets.iterator().next().suggestRoleForOsmPrimitive(primitive);
     405            Set<String> potentialRoles = new TreeSet<String>();
     406            for (TaggingPreset tp : presets) {
     407                String suggestedRole = tp.suggestRoleForOsmPrimitive(primitive);
     408                if (suggestedRole != null) {
     409                    potentialRoles.add(suggestedRole);
     410                }
     411            }
     412            // TODO: propose user to choose role among potential ones instead of picking first one
     413            final String role = potentialRoles.isEmpty() ? null : potentialRoles.iterator().next();
    405414            RelationMember member = new RelationMember(role == null ? "" : role, primitive);
    406415            members.add(idx++, member);
Note: See TracChangeset for help on using the changeset viewer.