[ https://issues.apache.org/jira/browse/CAY-2430?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ana benko updated CAY-2430: --------------------------- Description: Redo throws NPE Exception occurs in different cases, below is the simplest way to reproduce # Add stored procedure # Remove stored procedure # Select Undo # Select Redo -> Cayenne Modeler error appears Log: Apr 14, 2018 7:47:52 AM ERROR: CayenneModeler Error java.lang.NullPointerException at org.apache.cayenne.modeler.action.RemoveAction.removeDataMapFromDataNode(RemoveAction.java:463) at org.apache.cayenne.modeler.undo.RemoveUndoableEdit.redo(RemoveUndoableEdit.java:215) at javax.swing.undo.UndoManager.redoTo(UndoManager.java:351) at javax.swing.undo.UndoManager.redo(UndoManager.java:458) at org.apache.cayenne.modeler.undo.CayenneUndoManager.redo(CayenneUndoManager.java:65) at org.apache.cayenne.modeler.action.RedoAction.performAction(RedoAction.java:65) at org.apache.cayenne.modeler.util.CayenneAction.actionPerformed(CayenneAction.java:171) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) 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:6533) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6298) at java.awt.Container.processEvent(Container.java:2236) at java.awt.Component.dispatchEventImpl(Component.java:4889) at java.awt.Container.dispatchEventImpl(Container.java:2294) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466) at java.awt.Container.dispatchEventImpl(Container.java:2280) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.awt.EventQueue$4.run(EventQueue.java:729) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) was: Redo throws NPE Exception occurs in different cases, below is the simplest way to reproduce # Add stored procedure # Remove stored procedure # Select Undo # Select Redo -> Cayenne Modeler error appears Log: Apr 14, 2018 7:47:52 AM ERROR: CayenneModeler Error java.lang.NullPointerException at org.apache.cayenne.modeler.action.RemoveAction.removeDataMapFromDataNode(RemoveAction.java:463) at org.apache.cayenne.modeler.undo.RemoveUndoableEdit.redo(RemoveUndoableEdit.java:215) at javax.swing.undo.UndoManager.redoTo(UndoManager.java:351) at javax.swing.undo.UndoManager.redo(UndoManager.java:458) at org.apache.cayenne.modeler.undo.CayenneUndoManager.redo(CayenneUndoManager.java:65) at org.apache.cayenne.modeler.action.RedoAction.performAction(RedoAction.java:65) at org.apache.cayenne.modeler.util.CayenneAction.actionPerformed(CayenneAction.java:171) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) 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:6533) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6298) at java.awt.Container.processEvent(Container.java:2236) at java.awt.Component.dispatchEventImpl(Component.java:4889) at java.awt.Container.dispatchEventImpl(Container.java:2294) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466) at java.awt.Container.dispatchEventImpl(Container.java:2280) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.awt.EventQueue$4.run(EventQueue.java:729) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) > Redo throws NPE > --------------- > > Key: CAY-2430 > URL: https://issues.apache.org/jira/browse/CAY-2430 > Project: Cayenne > Issue Type: Bug > Components: Modeler > Affects Versions: 4.0.B3, 4.1.M2 > Reporter: ana benko > Priority: Major > > Redo throws NPE > Exception occurs in different cases, below is the simplest way to reproduce > # Add stored procedure > # Remove stored procedure > # Select Undo > # Select Redo > -> Cayenne Modeler error appears > > Log: > Apr 14, 2018 7:47:52 AM ERROR: CayenneModeler Error > java.lang.NullPointerException > at > org.apache.cayenne.modeler.action.RemoveAction.removeDataMapFromDataNode(RemoveAction.java:463) > at > org.apache.cayenne.modeler.undo.RemoveUndoableEdit.redo(RemoveUndoableEdit.java:215) > at javax.swing.undo.UndoManager.redoTo(UndoManager.java:351) > at javax.swing.undo.UndoManager.redo(UndoManager.java:458) > at > org.apache.cayenne.modeler.undo.CayenneUndoManager.redo(CayenneUndoManager.java:65) > at > org.apache.cayenne.modeler.action.RedoAction.performAction(RedoAction.java:65) > at > org.apache.cayenne.modeler.util.CayenneAction.actionPerformed(CayenneAction.java:171) > at > javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) > at > javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) > 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:6533) > at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) > at java.awt.Component.processEvent(Component.java:6298) > at java.awt.Container.processEvent(Container.java:2236) > at java.awt.Component.dispatchEventImpl(Component.java:4889) > at java.awt.Container.dispatchEventImpl(Container.java:2294) > at java.awt.Component.dispatchEvent(Component.java:4711) > at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888) > at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525) > at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466) > at java.awt.Container.dispatchEventImpl(Container.java:2280) > at java.awt.Window.dispatchEventImpl(Window.java:2746) > at java.awt.Component.dispatchEvent(Component.java:4711) > at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) > at java.awt.EventQueue.access$500(EventQueue.java:97) > at java.awt.EventQueue$3.run(EventQueue.java:709) > at java.awt.EventQueue$3.run(EventQueue.java:703) > at java.security.AccessController.doPrivileged(Native Method) > at > java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) > at > java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90) > at java.awt.EventQueue$4.run(EventQueue.java:731) > at java.awt.EventQueue$4.run(EventQueue.java:729) > at java.security.AccessController.doPrivileged(Native Method) > at > java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) > at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) > at > java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) > at > java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) > at > java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) > at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) > at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) > at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) -- This message was sent by Atlassian JIRA (v7.6.3#76005)