[ https://issues.apache.org/jira/browse/CAY-2427?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16438264#comment-16438264 ]
ASF GitHub Bot commented on CAY-2427: ------------------------------------- GitHub user const1993 opened a pull request: https://github.com/apache/cayenne/pull/288 CAY-2427 Skip adding DbEntitySyncUndoableEdit if no changes on DbEntitySyncAction. You can merge this pull request into a Git repository by running: $ git pull https://github.com/const1993/cayenne bugfix/CAY-2427 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/cayenne/pull/288.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #288 ---- commit 115bc003740c6bfa63f9cc5bd2c91c4a42059d13 Author: kkomyak <const1993@...> Date: 2018-04-12T06:20:03Z CAY-2427 Skip adding DbEntitySyncUndoableEdit if no changes on DbEntitySyncAction. ---- > Undo: undo throws exeption > -------------------------- > > Key: CAY-2427 > URL: https://issues.apache.org/jira/browse/CAY-2427 > Project: Cayenne > Issue Type: Bug > Components: Modeler > Affects Versions: 4.0.B3, 4.1.M2 > Reporter: ana benko > Priority: Major > Labels: pull-request-available > > Undo throws errors from time to time, below is one of the ways to reproduce: > > # Create DbEntity > # Create attributes (don't set max length) > # Create ObjEntity from DbEntity. Save > -> max length missing warning appears > # Open DbEntity, set max length > # Click Sysn DbEntity with ObjEntity > # Open ObjEntity. Save > # Click Edit -> Undo > -> Cayenne Modeler Error appears > CayenneModeler Info > Version: 4.0.B3-SNAPSHOT > Build Date: Ð°Ð¿Ñ 02 2018 17:59:09 > Exception: > ================================= > javax.swing.undo.CannotUndoException > at > javax.swing.undo.AbstractUndoableEdit.undo(AbstractUndoableEdit.java:110) > at javax.swing.undo.CompoundEdit.undo(CompoundEdit.java:59) > at javax.swing.undo.CompoundEdit.undo(CompoundEdit.java:63) > at javax.swing.undo.UndoManager.undoTo(UndoManager.java:335) > at javax.swing.undo.UndoManager.undo(UndoManager.java:413) > at > org.apache.cayenne.modeler.undo.CayenneUndoManager.undo(CayenneUndoManager.java:84) > at > org.apache.cayenne.modeler.action.UndoAction.performAction(UndoAction.java:57) > 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)