﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
8498	Conflate plugin crashes when conflating	huftis	joshdoe	"The conflate plugin seems to crash when conflating two objects. Here’s what I’m doing.

For testing, I’m trying to conflate ‘Sydnesparken lekeplass’ from the CSV file http://hotell.difi.no/api/csv/bergen/lekeplasser? but I think it should work (i.e., crash) when doing any type of conflation. I use the latest stable JOSM build (5759).

I do the following.

1. Start JOSM.
2. Download an area (the surroundings of ‘Sydnesparken lekeplass’).
3. Open the CSV file to be conflated.
4. Set the CSV file objects as reference and all leisure=playground objects as subject (possibly after editing the CSV objects, changing ‘navn’ to ‘name’ and adding leisure=playground, but that’s not important for testing).
5. Generate matches.
6. Click on the (first) match.
7. Click ‘Conflate’.
8. Click ‘Apply’.

JOSM then tells me that the conflation plugin crashed. On the console, I get the following error message:

{{{
java.lang.NullPointerException
        at org.openstreetmap.josm.plugins.conflation.ConflationToggleDialog.getSelectedReferencePrimitives(ConflationToggleDialog.java:211)
        at org.openstreetmap.josm.plugins.conflation.ConflationToggleDialog.getAllSelectedPrimitives(ConflationToggleDialog.java:236)
        at org.openstreetmap.josm.plugins.conflation.ConflationToggleDialog.access$200(ConflationToggleDialog.java:40)
        at org.openstreetmap.josm.plugins.conflation.ConflationToggleDialog$SelectListSelectionAction.updateEnabledState(ConflationToggleDialog.java:682)
        at org.openstreetmap.josm.plugins.conflation.ConflationToggleDialog$SelectListSelectionAction.valueChanged(ConflationToggleDialog.java:687)
        at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:184)
        at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:164)
        at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:211)
        at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:405)
        at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:415)
        at javax.swing.DefaultListSelectionModel.removeSelectionIntervalImpl(DefaultListSelectionModel.java:576)
        at javax.swing.DefaultListSelectionModel.clearSelection(DefaultListSelectionModel.java:420)
        at org.openstreetmap.josm.plugins.conflation.ConflationToggleDialog.simpleMatchSelectionChanged(ConflationToggleDialog.java:187)
        at org.openstreetmap.josm.plugins.conflation.SimpleMatchList.fireSelectionChanged(SimpleMatchList.java:160)
        at org.openstreetmap.josm.plugins.conflation.SimpleMatchList.removeAll(SimpleMatchList.java:139)
        at org.openstreetmap.josm.plugins.conflation.SimpleMatchList.remove(SimpleMatchList.java:96)
        at org.openstreetmap.josm.plugins.conflation.ConflationToggleDialog.primitivesRemoved(ConflationToggleDialog.java:747)
        at org.openstreetmap.josm.data.osm.event.PrimitivesRemovedEvent.fire(PrimitivesRemovedEvent.java:25)
        at org.openstreetmap.josm.data.osm.DataSet.fireEventToListeners(DataSet.java:1006)
        at org.openstreetmap.josm.data.osm.DataSet.endUpdate(DataSet.java:985)
        at org.openstreetmap.josm.data.osm.DataSet.removePrimitive(DataSet.java:399)
        at org.openstreetmap.josm.command.AddPrimitivesCommand.undoCommand(AddPrimitivesCommand.java:93)
        at org.openstreetmap.josm.plugins.conflation.ConflateMatchCommand.<init>(ConflateMatchCommand.java:53)
        at org.openstreetmap.josm.plugins.conflation.ConflationToggleDialog$ConflateAction.conflateMatchActionPerformed(ConflationToggleDialog.java:570)
        at org.openstreetmap.josm.plugins.conflation.ConflationToggleDialog$ConflateAction.actionPerformed(ConflationToggleDialog.java:547)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
        at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
        at java.awt.Component.processMouseEvent(Component.java:6505)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3312)
        at java.awt.Component.processEvent(Component.java:6270)
        at java.awt.Container.processEvent(Container.java:2229)
        at java.awt.Component.dispatchEventImpl(Component.java:4861)
        at java.awt.Container.dispatchEventImpl(Container.java:2287)
        at java.awt.Component.dispatchEvent(Component.java:4687)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
        at java.awt.Container.dispatchEventImpl(Container.java:2273)
        at java.awt.Window.dispatchEventImpl(Window.java:2719)
        at java.awt.Component.dispatchEvent(Component.java:4687)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
        at java.awt.EventQueue.access$200(EventQueue.java:103)
        at java.awt.EventQueue$3.run(EventQueue.java:688)
        at java.awt.EventQueue$3.run(EventQueue.java:686)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
        at java.awt.EventQueue$4.run(EventQueue.java:702)
        at java.awt.EventQueue$4.run(EventQueue.java:700)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
}}}"	defect	closed	critical		Plugin conflation		duplicate		
