Modify

Opened 7 years ago

Closed 7 years ago

Last modified 6 years ago

#16674 closed defect (fixed)

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

Reported by: streckenkundler 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 by Don-vip, 7 years ago

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 by GerdP, 7 years ago

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 by GerdP, 7 years ago

Resolution: fixed
Status: newclosed

In 14429/josm:

fix #16674 CCE: Relation cannot be cast to Way

comment:4 by Don-vip, 6 years ago

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. 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.