#797 closed defect (duplicate)
lakewalker exceptions and wrong preference value format
Reported by: | bomm | Owned by: | framm |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | Plugin | Version: | latest |
Keywords: | lakewalker | Cc: |
Description
After updating the lakewalker plugin today I get exceptions on opening the preferences window or when I try to use lakewalker. (Yesterday I successfully used it.)
Besides updating lakewalker I deactivated the lang-de plugin and activated the usertools plugin.
The exception on opening the preferences window seems to be similar to ticket #604 (Lakewalker vs JOSM settings).
Path: josm
URL: http://www.openstreetmap.de/svn/josm
Repository Root: http://www.openstreetmap.de/svn/josm
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Revision: 645
Node Kind: directory
Last Changed Author: david
Last Changed Rev: 645
Last Changed Date: 2008-05-21 10:28:56 +0200 (Wed, 21 May 2008)
java.lang.IllegalArgumentException: Cannot format given Object as a Number
at java.text.DecimalFormat.format(Unknown Source)
at java.text.Format.format(Unknown Source)
at org.openstreetmap.josm.plugins.lakewalker.DoubleConfigurer.setValue(DoubleConfigurer.java:54)
at org.openstreetmap.josm.plugins.lakewalker.LakewalkerPreferences.addGui(LakewalkerPreferences.java:84)
at org.openstreetmap.josm.gui.preferences.PreferenceDialog.<init>(PreferenceDialog.java:92)
at org.openstreetmap.josm.actions.PreferencesAction.actionPerformed(PreferencesAction.java:36)
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.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.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.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)
The preferences window shows:
lakewalker Version: 6924
I have the following plugins activated:
namefinder 1.1
slippy_map_chooser 1.1
usertools 1.1
validator 7804
wmsplugin 3.0
java version 1.6.0_03
When I use lakewalker I get this exception in the command prompt window:
java.lang.NumberFormatException: For input string: "0,0003"
at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
at java.lang.Double.parseDouble(Unknown Source)
at org.openstreetmap.josm.plugins.lakewalker.LakewalkerAction.lakewalk(LakewalkerAction.java:109)
at org.openstreetmap.josm.plugins.lakewalker.LakewalkerAction.mouseClicked(LakewalkerAction.java:274)
at java.awt.AWTEventMulticaster.mouseClicked(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.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)
I looked in the preferences values and found some lakewalker settings with numbers in European format:
lakewalker.east_offset=0,0
lakewalker.epsilon=0,0003
lakewalker.north_offset=0,0
When I change these values to 0.0 and 0.0003 and activate lakewalker, I can open the preferences window after restarting JOSM. When closing it with OK, I get a message that I have to restart JOSM and after this an exception message with the option to deactivate the lakewalker plugin. (same exception as above)
When I choose to deactivate lakewalker and restart JOSM, it has changed the three preferences to their wrong values as before.
After activating lakewalker again and restarting JOSM I get the same exception when opening the preferences window and the other exception as shown above when I try to use the lakewalker tool.
So I assume it is related to the wrong formatting of double numbers in the preferences values.
Bodo
Attachments (0)
Change History (3)
comment:1 by , 17 years ago
comment:3 by , 17 years ago
Resolution: | → duplicate |
---|---|
Status: | new → closed |
I looked a bit at the source code.
In DoubleConfigurer DecimalFormat.format() is used to convert from double to String but Double.valueOf() to convert from String to Double or in LakewalkerAction Double.parseDouble() to convert from String to double.
If I understand the documentation correct, DecimalFormat.format() creates a localized version of the formatted number but Double.valueOf() and Double.parseDouble() cannot parse this.
I think replacing the number formatting in DoubleConfigurer with a simple Double.toString(d) should fix thix problem.
Bodo