The following steps will cause a NullPointerException in Rachota 2.4
1. Click on History
2. Click Generate report ... to open the wizard window
3. Enter some non-existing filename
4. Back to the main window. This will enable the Next button
5. Click on Next
6. Click "Generate report ..." to open another Generate report wizard window
7. Come back to the first wizard window and click Finish
Those step will produce a java.lang.NullPointerException:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at java.io.FileOutputStream.<init>(FileOutputStream.java:172)
at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
at org.cesilko.rachota.gui.ReportGenerator.generateReport(ReportGenerator.java:104)
at org.cesilko.rachota.gui.ReportWizard.finishWizard(ReportWizard.java:132)
at org.cesilko.rachota.gui.GenericWizard.btFinishActionPerformed(GenericWizard.java:244)
at org.cesilko.rachota.gui.GenericWizard.access$2(GenericWizard.java:242)
at org.cesilko.rachota.gui.GenericWizard$3.actionPerformed(GenericWizard.java:201)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
at java.awt.Component.processMouseEvent(Component.java:6267)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6032)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
I have tied to reproduce the issue and I couldn't. Step 6 is not possible, main window is disabled meanwhile I have Generate report wizard window opened.
Environment:
Openjdk 13
Linux
Rachota SNAPSHOT 04/22/2021