[ https://issues.apache.org/jira/browse/CAY-2153?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15693023#comment-15693023 ]
ASF GitHub Bot commented on CAY-2153: ------------------------------------- GitHub user stariy95 opened a pull request: https://github.com/apache/cayenne/pull/141 CAY-2153 Modeler. Exception in save action after reverse engineering some complex DB schema After reverse engineering is done all data map is checked for invalid references from Obj to Db attributes Additionally some defensive code added to bypass invalid db path state in ObjAttribute: - correct check for this state in ObjAttribute validator - returning null in ObjAttributeWrapper in modeler - unconditional saving of db attribute path to XML (this one is questionable though) You can merge this pull request into a Git repository by running: $ git pull https://github.com/stariy95/cayenne CAY-2153 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/cayenne/pull/141.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 #141 ---- commit bd522367354b0943178a9fc3a77be9ad0381f3e5 Author: Nikita Timofeev <stari...@gmail.com> Date: 2016-11-24T11:24:57Z CAY-2153 After reverse engineering is done all data map is checked for invalid references from Obj to Db attributes Additionally some defensive code added to bypass invalid db path state in ObjAttribute: - correct check for this state in ObjAttribute validator - returning null in ObjAttributeWrapper in modeler - unconditional saving of db attribute path to XML (this one is questionable though) ---- > Modeler. Exception in save action after reverse engineering some complex DB > schema > ---------------------------------------------------------------------------------- > > Key: CAY-2153 > URL: https://issues.apache.org/jira/browse/CAY-2153 > Project: Cayenne > Issue Type: Bug > Components: Modeler > Affects Versions: 4.0.M4 > Reporter: Nikita Timofeev > Assignee: Nikita Timofeev > > No test schema available for this exception only stack trace was reported. > CayenneModeler Info > Version: 4.0.M4-SNAPSHOT > Build Date: Nov 14 2016 06:17:32 > Exception: > ================================= > org.apache.cayenne.exp.ExpressionException: [v.4.0.M4-SNAPSHOT Nov 14 2016 > 06:17:32] Can't resolve path component: [test_item.testDbPath]. > at org.apache.cayenne.map.Entity$PathIterator.next(Entity.java:428) > at org.apache.cayenne.map.Entity$PathIterator.next(Entity.java:375) > at > org.apache.cayenne.map.ObjAttribute.getDbAttribute(ObjAttribute.java:180) > at > org.apache.cayenne.project.validation.ObjAttributeValidator.validate(ObjAttributeValidator.java:131) > at > org.apache.cayenne.project.validation.DefaultProjectValidator$ValidationVisitor.visitObjAttribute(DefaultProjectValidator.java:199) > at > org.apache.cayenne.project.validation.DefaultProjectValidator$ValidationVisitor.visitObjEntity(DefaultProjectValidator.java:209) > at > org.apache.cayenne.project.validation.DefaultProjectValidator$ValidationVisitor.visitDataMap(DefaultProjectValidator.java:127) > at > org.apache.cayenne.project.validation.DefaultProjectValidator$ValidationVisitor.visitDataChannelDescriptor(DefaultProjectValidator.java:110) > at > org.apache.cayenne.project.validation.DefaultProjectValidator$ValidationVisitor.visitDataChannelDescriptor(DefaultProjectValidator.java:92) > at > org.apache.cayenne.configuration.DataChannelDescriptor.acceptVisitor(DataChannelDescriptor.java:111) > at > org.apache.cayenne.project.validation.DefaultProjectValidator.validate(DefaultProjectValidator.java:89) > at > org.apache.cayenne.modeler.action.SaveAsAction.performAction(SaveAsAction.java:164) > at > org.apache.cayenne.modeler.action.SaveAsAction.performAction(SaveAsAction.java:158) > at > org.apache.cayenne.modeler.util.CayenneAction.actionPerformed(CayenneAction.java:162) > 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 com.apple.laf.ScreenMenuItem.actionPerformed(ScreenMenuItem.java:125) > at java.awt.MenuItem.processActionEvent(MenuItem.java:669) > at java.awt.MenuItem.processEvent(MenuItem.java:628) > at java.awt.MenuComponent.dispatchEventImpl(MenuComponent.java:351) > at java.awt.MenuComponent.dispatchEvent(MenuComponent.java:339) > at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:761) > 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:76) > at > java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) > 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:76) > 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 (v6.3.4#6332)