Modify

Opened 8 months ago

Closed 5 months ago

Last modified 3 months ago

#16674 closed defect (fixed)

CCE: Relation cannot be cast to Way (JoinAreasAction.collectMultipolygons)

Reported by: osm@… Owned by: team
Priority: normal Milestone: 18.11
Component: Core Version: tested
Keywords: template_report merge multipolygon relation Cc:

Description (last modified by Don-vip)

What steps will reproduce the problem?

  1. merge two polygons without role in a multipolygon-relation

What is the expected result?

What happens instead?

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

URL:https://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2018-07-29 00:41:59 +0200 (Sun, 29 Jul 2018)
Build-Date:2018-07-29 01:32:17
Revision:14066
Relative:URL: ^/trunk

Identification: JOSM/1.5 (14066 de) Windows 7 64-Bit
OS Build number: Windows 7 Professional (7601)
Memory Usage: 805 MB / 3641 MB (45 MB allocated, but free)
Java version: 1.8.0_181-b13, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
Screen: \Display0 1920x1080, \Display1 1920x1080
Maximum Screen Size: 1920x1080
Dataset consistency test: No problems found

Plugins:
+ FixAddresses (34389)
+ HouseNumberTaggingTool (34389)
+ Mapillary (v1.5.15)
+ OpeningHoursEditor (34389)
+ PicLayer (34389)
+ apache-commons (34389)
+ apache-http (34389)
+ continuosDownload (1530471163)
+ ejml (34389)
+ geotools (34125)
+ jts (34206)
+ log4j (34038)
+ measurement (34206)
+ opendata (34389)
+ public_transport (34265)
+ rasterfilters (34109)
+ reverter (34271)
+ tageditor (34109)
+ turnlanes-tagging (263)
+ turnrestrictions (34129)
+ undelete (34274)
+ utilsplugin2 (34389)
+ wikipedia (v1.0.2)

Tagging presets:
+ https://josm.openstreetmap.de/josmfile?page=Presets/Playground_Equipment&preset&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Historical_Objects&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/NewTags&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/PublicTransportOneClick&zip=1
+ http://osm.michis-pla.net/presets/observatory.xml
+ https://josm.openstreetmap.de/josmfile?page=Presets/ParkingLanes&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/LaneAttributes&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Crafts&zip=1
+ https://raw.githubusercontent.com/species/josm-preset-wheelchair/master/sidewalks_kerbs.xml
+ http://www.freietonne.de/ft_icons/josm/FreieTonne_rules_presets_zip.php
+ http://www.openrailwaymap.org/josm-presets/de.zip
+ https://raw.githubusercontent.com/yopaseopor/traffic_signs_preset_JOSM/master/DE.zip
+ https://josm.openstreetmap.de/josmfile?page=Presets/Healthcare&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/hiking_routes_with_trail_marking&zip=1

Map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/Surface-DataEntry&style&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Coloured_buildings&style&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/ParkingLanes&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Cycleways&style&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Osmc&style&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Surface&style&zip=1
- https://github.com/bastik/mapcss-tools/raw/osm/mapnik2mapcss/osm-results/mapnik.zip
- C:\Daten\gis\OSM_Erfassung\SK_Test.mapcss
- https://josm.openstreetmap.de/josmfile?page=Styles/Maxspeed&zip=1

Validator rules:
+ https://josm.openstreetmap.de/josmfile?page=Rules/GermanySpecific&zip=1

Last errors/warnings:
- W: Already here java.net.UnknownHostException: api.openstreetmap.org
- E: java.net.UnknownHostException: api.openstreetmap.org
- W: org.openstreetmap.josm.io.OsmTransferException: Verbindung zum OSM-Server fehlgeschlagen. Bitte überprüfen Sie Ihre Internetverbindung.. Ursache: java.net.UnknownHostException: api.openstreetmap.org
- W: java.net.UnknownHostException: api.openstreetmap.org
- W: Already here java.net.UnknownHostException: api.openstreetmap.org
- E: java.net.UnknownHostException: api.openstreetmap.org
- W: org.openstreetmap.josm.io.OsmTransferException: Verbindung zum OSM-Server fehlgeschlagen. Bitte überprüfen Sie Ihre Internetverbindung.. Ursache: java.net.UnknownHostException: api.openstreetmap.org
- W: Ungespeicherte Änderungen - <html>Die Relation wurde geändert.<br><br>Wollen Sie die Änderungen speichern?</html>
- W: Ungespeicherte Änderungen - <html>Die Relation wurde geändert.<br><br>Wollen Sie die Änderungen speichern?</html>
- E: Handled by bug report queue: java.lang.ClassCastException: org.openstreetmap.josm.data.osm.Relation cannot be cast to org.openstreetmap.josm.data.osm.Way


=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (19) of main
java.lang.ClassCastException: org.openstreetmap.josm.data.osm.Relation cannot be cast to org.openstreetmap.josm.data.osm.Way
	at org.openstreetmap.josm.data.osm.RelationMember.getWay(RelationMember.java:61)
	at org.openstreetmap.josm.actions.JoinAreasAction.collectMultipolygons(JoinAreasAction.java:1384)
	at org.openstreetmap.josm.actions.JoinAreasAction.join(JoinAreasAction.java:522)
	at org.openstreetmap.josm.actions.JoinAreasAction.actionPerformed(JoinAreasAction.java:477)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$500(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

Attachments (0)

Change History (4)

comment:1 Changed 8 months ago by Don-vip

Description: modified (diff)
Keywords: merge multipolygon relation added
Summary: merge two polygons without role in a multipolygon-relationCCE: Relation cannot be cast to Way (JoinAreasAction.collectMultipolygons)

comment:2 Changed 8 months ago by GerdP

The code in org.openstreetmap.josm.actions.JoinAreasAction.collectMultipolygons() seems to assume that a MP-rel can only contain way members with role inner or outer. This is true for correct MP-rels but should still be verified, e.g. with

if (!rm.isWay())

continue;

I also wonder why it doesn't handle the case that a way member of a MP rel has an empty role. I see this quite often.

comment:3 Changed 5 months ago by GerdP

Resolution: fixed
Status: newclosed

In 14429/josm:

fix #16674 CCE: Relation cannot be cast to Way

comment:4 Changed 3 months ago by Don-vip

Milestone: 18.11

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.