Modify

Opened 12 years ago

Closed 12 years ago

Last modified 12 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 12 years ago.

Download all attachments as: .zip

Change History (7)

comment:1 Changed 12 years ago by Nakor

Cc: nakor.wp@… added

Changed 12 years ago by mjulius

comment:2 Changed 12 years ago by mjulius

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 Changed 12 years ago by mjulius

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

comment:4 Changed 12 years ago by stoecker

Resolution: fixed
Status: newclosed

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

comment:5 Changed 12 years ago by stoecker

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 Changed 12 years ago by mjulius

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.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.