#44 Error parsing Timex PWX file

closed-fixed
jede28
5
2013-01-06
2013-01-01
munga
No

I get this error when parsing the PWX file created from a Timex Ironman Run Trainer GPS HRM. I have attached the file being parsed.

Exception in thread "AWT-EventQueue-0" java.lang.Error: java.lang.reflect.InvocationTargetException
at org.jdesktop.application.ApplicationAction.actionFailed(ApplicationAction.java:846)
at org.jdesktop.application.ApplicationAction.noProxyActionPerformed(ApplicationAction.java:649)
at org.jdesktop.application.ApplicationAction.actionPerformed(ApplicationAction.java:687)
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.AbstractButton.doClick(AbstractButton.java:376)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
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:723)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:682)
at java.awt.EventQueue$3.run(EventQueue.java:680)
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:696)
at java.awt.EventQueue$4.run(EventQueue.java:694)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:693)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.jdesktop.application.ApplicationAction.noProxyActionPerformed(ApplicationAction.java:647)
... 40 more
Caused by: java.lang.NullPointerException
at de.saring.exerciseviewer.parser.impl.TimexPwxParser.parseWorkoutNode(TimexPwxParser.java:197)
at de.saring.exerciseviewer.parser.impl.TimexPwxParser.parseExercise(TimexPwxParser.java:703)
at de.saring.exerciseviewer.gui.EVDocument.openExerciseFile(EVDocument.java:36)
at de.saring.exerciseviewer.gui.EVMain.showExercise(EVMain.java:50)
at de.saring.sportstracker.gui.STControllerImpl.openExerciseViewer(STControllerImpl.java:221)
... 45 more

Discussion

  • munga
    munga
    2013-01-01

    I was using sportstracker-5.6.0.jar on Ubuntu 12.10
    OpenJDK Runtime Environment (IcedTea7 2.3.3) (7u9-2.3.3-0ubuntu1~12.10.1)
    OpenJDK 64-Bit Server VM (build 23.2-b09, mixed mode)

     
  • jede28
    jede28
    2013-01-01

    The Timex Ironman Run Trainer is currently not listed in the compatibility list. So it's no surprise when other models not work.

    The supported Timex devices are:
    - Timex Ironmen Race Trainer (tested)
    - Timex Ironmen Global Trainer

    I'll take a look to the attached file.

     
  • jede28
    jede28
    2013-01-01

    • labels: 721199 --> PolarViewer
    • assigned_to: nobody --> jede28
    • status: open --> open-accepted
     
  • jede28
    jede28
    2013-01-03

    Could you please send me the expected parsed data for the exercise file you have attached here? This is needed for implementation of unit tests.
    Maybe you can send the data output from the official Timex application.

     
  • jede28
    jede28
    2013-01-05

    There are so many differences for the Timex Ironman Run Trainer. But the implementation is almost done.

    The parsed energy consumption for the attached exercise is 2.324 kCal, this is not realistic. Can you tell me which energy value your watch or the Windows software display for this exercise?

     
  • jede28
    jede28
    2013-01-06

    The support for Timex Ironman Run Trainer PWX exercise files is now completed.
    If you can't wait for the final release, get the current development version from the Mercurial repository.

     
  • jede28
    jede28
    2013-01-06

    • status: open-accepted --> open-fixed
     
  • jede28
    jede28
    2013-01-06

    The parsed energy consumption is probably still invalid. I can try to fix it when you send me the expected energy value.

     
  • jede28
    jede28
    2013-01-06

    • status: open-fixed --> closed-fixed