[josm-dev] Jumbo Patch
Dave Hansen
dave at sr71.net
Sat Dec 15 00:45:56 GMT 2007
OK, this is in the open source spirit of "release early release often".
I've been hacking on JOSM for the purpose of making the TIGER merging
easier. Frederik, this implements some of the "reverse lookup" stuff
that we were talking about a few weeks ago. It seems to work OK,
although it's not heavily tested.
I'd be happy to break these into small patches if anyone is interested
in some of the functionality. I'd really like to get my new tests into
the validator as well.
Changes:
Duplicate Nodes: It only matters when nodes are duplicate if they are
of the same type. It is OK to have a motorway node and a highway node
in the same place.
Command: it is OK for executeCommand() to fail. SequenceCommand is
modified to back out (undoCommand()) all of the previously
executedCommands() if one fails.
ReplaceSubObjectCommand: instead of ReplaceCommand(), we teach the
command to replace sub-parts of OSM objects. Basically, we use this to
just replace single nodes in ways instead of duplicating the way and
working with copies of ways.
Add a ConditionalDelete command. This cleans up ways after they may
have had all their nodes removed. This is in place of the old:
if (way.nodes.size < 2)
way.delete();
Add a validator test for empty ways, and Motorway intersections.
UntaggedNode: Don't let TIGER tags count as good tags
Privatize Way.nodes. We need to do this to keep the cache consistent.
We also need a ton of new accessor functions. These need some more
work. This is the bulk of the "core" patch.
MergeNodes: be smart about TIGER tags, and don't prompt to help combine
them.
Put a bunch of progress text crap in the upload progress meter.
Wow, that's a lot of code:
65 files changed, 889 insertions(+), 245 deletions(-)
The patch is broken up into plugins and core for now:
http://sr71.net/~dave/osm/josm/
I'll gladly post here inline if anyone wants to comment on bits.
-- Dave
More information about the josm-dev
mailing list