Modify

Opened 14 years ago

Closed 14 years ago

Last modified 14 years ago

#4146 closed defect (fixed)

[Patch] Downloading incomplete relation members no longer downloads correct data

Reported by: stoecker Owned by: team
Priority: major Milestone:
Component: Core Version:
Keywords: Cc: nakor.wp@…

Description

The download of incomplete relation members now only downloads the members itself. This is pretty much useless and also introduces incomplete ways, which we never had.

When downloading data, only relations should contain incomplete elements, nothing else.

Attachments (1)

FixDownloadIncompleteWays.patch (3.6 KB ) - added by mjulius 14 years ago.

Download all attachments as: .zip

Change History (7)

comment:1 by Nakor, 14 years ago

Cc: nakor.wp@… added

by mjulius, 14 years ago

comment:2 by mjulius, 14 years ago

Summary: Downloading incomplete relation members no longer downloads correct data[Patch] Downloading incomplete relation members no longer downloads correct data

This is caused because the object reader was checking for Way.isIncomplete() instead of Way.hasIncompleteNodes()

See the attached patch.

I also moved the code from setHasIncompleteNodes() to hasIncompleteNodes() because it is almost guaranteed that someone will forget to call setHasIncompleteNodes() when some node changes its status.

comment:3 by mjulius, 14 years ago

Ticket #4143 has been marked as a duplicate of this ticket.

comment:4 by stoecker, 14 years ago

Resolution: fixed
Status: newclosed

(In [2609]) applied #4146 - patch by mjulius - fix downloading incomplete relation

comment:5 by stoecker, 14 years ago

I'm not so sure, that inlining the hasIncompleteNodes() is really perfect (as isincomplete() is really called very often, but probably it is better than previous solution.

After we fixed the remaining design issues we need to do some profiling to get back some of the speed lost during last changes.

comment:6 by mjulius, 14 years ago

Yes, I know that this has probably an impact on performance. But, relying on setHasIncompleteNodes() to be called every time is not very reliable.

Maybe this should be moved to OsmPrimitive. This could get a flag "hasIncompleteMembers" and a method checkForIncompleteMembers(). OsmPrimitive.setIncomplete() could then call this when the incomplete status changes. It would also need to be called when members are added or removed.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.