Ticket #6109: APIDataSet_sorting.patch

File APIDataSet_sorting.patch, 1.6 KB (added by brycenesbitt, 10 years ago)

Patch to sort Update items, just like Add and Delete items.

  • org/openstreetmap/josm/data/APIDataSet.java

     
    7070        }
    7171        sortDeleted();
    7272        sortNew();
     73        sortUpdated();
    7374    }
    7475
    7576    /**
     
    131132                }
    132133        );
    133134    }
     135    /*
     136     * Sort list of updated elements, so it looks neat in the confirmation dialog.
     137     */
     138    protected void sortUpdated() {
     139        Collections.sort(
     140                toUpdate,
     141                new Comparator<OsmPrimitive>() {
     142                    public int compare(OsmPrimitive o1, OsmPrimitive o2) {
     143                        if (o1 instanceof Node && o2 instanceof Node)
     144                            return 0;
     145                        else if (o1 instanceof Node)
     146                            return -1;
     147                        else if (o2 instanceof Node)
     148                            return 1;
     149
     150                        if (o1 instanceof Way && o2 instanceof Way)
     151                            return 0;
     152                        else if (o1 instanceof Way && o2 instanceof Relation)
     153                            return -1;
     154                        else if (o2 instanceof Way && o1 instanceof Relation)
     155                            return 1;
     156
     157                        return 0;
     158                    }
     159                }
     160        );
     161    }
     162   
    134163    /**
    135164     * initializes the API data set with the modified primitives in <code>ds</code>
    136165     *