Uploaded image for project: 'Cayenne'
  1. Cayenne
  2. CAY-2533

Modeler: Exception on validating ObjRelationship without db path

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 4.1.B1
    • 4.1.B1
    • Modeler
    • None

    Description

      note: Exception never reproduces with ObjEntities on freshly imported db.   It appears after some time, but with same scenario

      1. Datamap java package is configured, db is imported. Saved
      2. Update any ObjEntity name field, click Cancel on Update popup window
      3. 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)

      Attachments

        Activity

          People

            ntimofeev Nikita Timofeev
            abenko ana benko
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: