Modify

Opened 4 years ago

Last modified 4 years ago

#19859 new defect

Confusing result from conflict dialog

Reported by: GerdP Owned by: team
Priority: normal Milestone:
Component: Plugin terracer Version:
Keywords: template_report Cc:

Description

What steps will reproduce the problem?

  1. load attached file
  2. select the two address nodes and the building, note that each has a different shop=* tag
  3. press Shift+T for terrace plugin
  4. make sure the dialog shows checkbox "add to existing associatedStreet relation" enabled
  5. press OK

What is the expected result?

Not sure. A conflict dialog of some sort.

What happens instead?

The conflict dialog for combine ways is displayed which shows confusing hints. It seems impossible to get a resonable result, typically the associatedStreet relation will contain only one of the two buildings, but that one twice.
When I leave the dialog with Escape the relation looks fine but both buildings are tagged as shop=mall.

Please provide any additional information below. Attach a screenshot if possible.

Build-Date:2020-09-28 07:29:31
Revision:17063
Is-Local-Build:true

Identification: JOSM/1.5 (17063 SVN en) Windows 10 64-Bit
OS Build number: Windows 10 Home 2004 (19041)
Memory Usage: 1050 MB / 3641 MB (251 MB allocated, but free)
Java version: 1.8.0_191-b12, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Screen: \Display0 1920x1080 (scaling 1.0x1.0)
Maximum Screen Size: 1920x1080
Best cursor sizes: 16x16 -> 32x32, 32x32 -> 32x32
VM arguments: [-agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:49457, -ea, -Dfile.encoding=UTF-8]
Program arguments: [--debug]
Dataset consistency test: No problems found

Plugins:
+ OpeningHoursEditor (35414)
+ PolygonCutOut (v0.7)
+ apache-commons (35524)
+ buildings_tools (35500)
+ continuosDownload (91)
+ ejml (35313)
+ geotools (35169)
+ jaxb (35092)
+ jts (35122)
+ merge-overlap (35248)
+ o5m (35248)
+ opendata (35513)
+ pbf (35446)
+ poly (35248)
+ reverter (35556)
+ terracer (35560)
+ undelete (35521)
+ utilsplugin2 (35487)

Attachments (3)

data_19859.osm (1.8 KB ) - added by GerdP 4 years ago.
conflict.PNG (31.6 KB ) - added by GerdP 4 years ago.
19859.patch (9.1 KB ) - added by GerdP 4 years ago.
show more than one conflict dialog if needed, don't mess up associatedStreet relation

Download all attachments as: .zip

Change History (5)

by GerdP, 4 years ago

Attachment: data_19859.osm added

by GerdP, 4 years ago

Attachment: conflict.PNG added

comment:1 by GerdP, 4 years ago

There are several problems here.

  1. global field tagsInConflict might contain an empty colllection, but code only checks if it is null.
  2. I think conflict resolution only works when a single node is selected. The current code iterates over the selected addr:housenumber nodes and stores conflicting elements in global fields. These global fields are evaluated only once when all changes are calculated. So, only if the last processed node creates a conflict this is presented, other conflicts are silently ignored.
  3. The CombinePrimitiveResolverDialog is about combining elements, but terracer is typically splitting a single closed way into multiple closed ways and each one might produce a "combine" with a corresponding addr:housenumber node.

Each of these "combine" actions may produce different conflicts concerning different tags.

I think we either need a lot more code here or we can remove a lot of code and simply refuse to continue where any conflicts are found.

comment:2 by GerdP, 4 years ago

One way to solve this would be to show one conflict dialog for each node that produces a conflict. Might get annoying when you have several nodes.

by GerdP, 4 years ago

Attachment: 19859.patch added

show more than one conflict dialog if needed, don't mess up associatedStreet relation

Modify Ticket

Change Properties
Set your email in Preferences
Action
as new The owner will remain team.
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from team to the specified user.
Next status will be 'needinfo'. The owner will be changed from team to GerdP.
as duplicate The resolution will be set to duplicate. Next status will be 'closed'. The specified ticket will be cross-referenced with this ticket.
The owner will be changed from team to anonymous. Next status will be 'assigned'.

Add Comment


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