Ticket #9403: RelationMemberListMergeModel.java.patch

File RelationMemberListMergeModel.java.patch, 1.6 KB (added by josm@…, 12 years ago)

RelationMemberListMergeModel.java.patch

  • src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberListMergeModel.java

     
    33
    44import static org.openstreetmap.josm.tools.I18n.tr;
    55
     6import java.util.Collections;
     7import java.util.Comparator;
    68import java.util.List;
    79import java.util.Map;
    810
     
    6769    public void populate(Relation my, Relation their, Map<PrimitiveId, PrimitiveId> mergedMap) {
    6870        initPopulate(my, their, mergedMap);
    6971
     72        final Comparator<RelationMember> relationMemberComparator = new Comparator<RelationMember>() {
     73            @Override
     74            public int compare(RelationMember o1, RelationMember o2) {
     75                long x = o1.getUniqueId();
     76                long y = o2.getUniqueId();
     77                return (x < y ? -1 : ((x == y) ? 0 : 1));
     78            }
     79
     80        };
    7081        for (RelationMember n : my.getMembers()) {
    7182            getMyEntries().add(n);
    7283        }
     84        Collections.sort(getMyEntries(), relationMemberComparator);
     85
    7386        for (RelationMember n : their.getMembers()) {
    7487            getTheirEntries().add(n);
    7588        }
     89        Collections.sort(getTheirEntries(), relationMemberComparator);
     90
    7691        if (myAndTheirEntriesEqual()) {
    7792            for (RelationMember m : getMyEntries()) {
    7893                getMergedEntries().add(cloneEntryForMergedList(m));