[ https://issues.apache.org/jira/browse/CAY-2533?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Nikita Timofeev closed CAY-2533. -------------------------------- Resolution: Fixed https://github.com/apache/cayenne/commit/4d2f8c0450115baeee0fef208e61ca057dfc1696 > Modeler: Exception on validating ObjRelationship without db path > ---------------------------------------------------------------- > > Key: CAY-2533 > URL: https://issues.apache.org/jira/browse/CAY-2533 > Project: Cayenne > Issue Type: Bug > Components: Modeler > Affects Versions: 4.1.M3 > Reporter: ana benko > Assignee: Nikita Timofeev > Priority: Major > Fix For: 4.1.M3 > > > note: Exception never reproduces with ObjEntities on freshly imported db. > It appears after some time, but with same scenario > # Datamap java package is configured, db is imported. Saved > # Update any ObjEntity name field, click Cancel on Update popup window > # Hit Save > -> Feb 8, 2019 4:17:18 PM ERROR: CayenneModeler Error > java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 > at java.util.ArrayList.rangeCheck(ArrayList.java:657) > at java.util.ArrayList.get(ArrayList.java:433) > at java.util.Collections$UnmodifiableList.get(Collections.java:1309) > at org.apache.cayenne.map.ObjRelationship.isToPK(ObjRelationship.java:396) > at > org.apache.cayenne.project.validation.ObjRelationshipValidator.validate(ObjRelationshipValidator.java:129) > at > org.apache.cayenne.project.validation.DefaultProjectValidator$ValidationVisitor.visitObjRelationship(DefaultProjectValidator.java:197) > at > org.apache.cayenne.project.validation.DefaultProjectValidator$ValidationVisitor.visitObjEntity(DefaultProjectValidator.java:191) > at > org.apache.cayenne.project.validation.DefaultProjectValidator$ValidationVisitor.visitDataMap(DefaultProjectValidator.java:119) > at > org.apache.cayenne.project.validation.DefaultProjectValidator$ValidationVisitor.visitDataChannelDescriptor(DefaultProjectValidator.java:106) > at > org.apache.cayenne.project.validation.DefaultProjectValidator$ValidationVisitor.visitDataChannelDescriptor(DefaultProjectValidator.java:90) > at > org.apache.cayenne.configuration.DataChannelDescriptor.acceptVisitor(DataChannelDescriptor.java:100) > at > org.apache.cayenne.project.validation.DefaultProjectValidator.validate(DefaultProjectValidator.java:87) > at > org.apache.cayenne.modeler.action.SaveAsAction.performAction(SaveAsAction.java:160) > at > org.apache.cayenne.modeler.action.SaveAsAction.performAction(SaveAsAction.java:154) > 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.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) > 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:2238) > at java.awt.Component.dispatchEventImpl(Component.java:4889) > at java.awt.Container.dispatchEventImpl(Container.java:2296) > at java.awt.Component.dispatchEvent(Component.java:4711) > at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4897) > at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4534) > at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4475) > at java.awt.Container.dispatchEventImpl(Container.java:2282) > at java.awt.Window.dispatchEventImpl(Window.java:2746) > at java.awt.Component.dispatchEvent(Component.java:4711) > at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760) > 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:733) > at java.awt.EventQueue$4.run(EventQueue.java:731) > at java.security.AccessController.doPrivileged(Native Method) > at > java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) > at java.awt.EventQueue.dispatchEvent(EventQueue.java:730) > at > java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) > 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)