Opened 5 years ago
Last modified 5 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?
- load attached file
- select the two address nodes and the building, note that each has a different shop=* tag
- press Shift+T for terrace plugin
- make sure the dialog shows checkbox "add to existing associatedStreet relation" enabled
- 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)
Change History (5)
by , 5 years ago
Attachment: | data_19859.osm added |
---|
by , 5 years ago
Attachment: | conflict.PNG added |
---|
comment:1 by , 5 years ago
comment:2 by , 5 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 , 5 years ago
Attachment: | 19859.patch added |
---|
show more than one conflict dialog if needed, don't mess up associatedStreet relation
There are several problems here.
tagsInConflict
might contain an empty colllection, but code only checks if it is null.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.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 correspondingaddr: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.