You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by "Andrus Adamchik (Updated) (JIRA)" <ji...@apache.org> on 2012/02/27 18:34:49 UTC

[jira] [Updated] (CAY-1674) Error generating classes with invalid path in the query qualifier

     [ https://issues.apache.org/jira/browse/CAY-1674?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrus Adamchik updated CAY-1674:
---------------------------------

    Attachment: error.png
    
> Error generating classes with invalid path in the query qualifier
> -----------------------------------------------------------------
>
>                 Key: CAY-1674
>                 URL: https://issues.apache.org/jira/browse/CAY-1674
>             Project: Cayenne
>          Issue Type: Bug
>    Affects Versions: 3.1M3
>         Environment: affects 3.1M1 - 3.1M4-SNAPSHOT, and probably earlier versions as well
>            Reporter: Andrus Adamchik
>            Priority: Minor
>         Attachments: error.png
>
>
> When a model has a query with invalid path , and I am attempting to generate classes from the Modeler, the following error (is this when the queries methods are generated??). Class generation behavior is probably correct here (although it may be more descriptive, showing the root object - the query - that caused the error). However we need to add a validation to the list of project validations to detect this condition on project save/load.
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: SEVERE: Error generating classes
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: org.apache.velocity.exception.MethodInvocationException: Invocation of method 'getParameterNames' in  class org.apache.cayenne.gen.DataMapUtils threw exception org.apache.cayenne.exp.ExpressionException: [v.3.1M3 Sep 13 2011 18:52:59] Can't resolve path component: [Entity.badRelationship]. at templates/v1_2/datamap-superclass.vm[line 43, column 40]
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.velocity.runtime.parser.node.ASTMethod.handleInvocationException(ASTMethod.java:337)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:284)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:262)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java:507)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:282)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:175)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:366)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:175)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:87)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.velocity.Template.merge(Template.java:328)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.velocity.Template.merge(Template.java:235)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.cayenne.gen.ClassGenerationAction.execute(ClassGenerationAction.java:242)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.cayenne.gen.ClassGenerationAction.execute(ClassGenerationAction.java:214)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.cayenne.modeler.dialog.codegen.CodeGeneratorController.generateAction(CodeGeneratorController.java:146)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.lang.reflect.Method.invoke(Method.java:597)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:491)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:785)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:61)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:819)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at ognl.ASTMethod.getValueBody(ASTMethod.java:75)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at ognl.SimpleNode.getValue(SimpleNode.java:210)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at ognl.Ognl.getValue(Ognl.java:333)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at ognl.Ognl.getValue(Ognl.java:413)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at ognl.Ognl.getValue(Ognl.java:395)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.cayenne.swing.BindingBase.getValue(BindingBase.java:168)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.cayenne.swing.ActionBinding.fireAction(ActionBinding.java:80)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.cayenne.swing.ActionBinding$1.actionPerformed(ActionBinding.java:42)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.Component.processMouseEvent(Component.java:6373)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.Component.processEvent(Component.java:6138)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.Container.processEvent(Container.java:2085)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.Component.dispatchEventImpl(Component.java:4735)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.Container.dispatchEventImpl(Container.java:2143)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.Component.dispatchEvent(Component.java:4565)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4621)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4282)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4212)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.Container.dispatchEventImpl(Container.java:2129)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.Window.dispatchEventImpl(Window.java:2478)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.Component.dispatchEvent(Component.java:4565)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:679)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.EventQueue.access$000(EventQueue.java:85)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.EventQueue$1.run(EventQueue.java:638)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.EventQueue$1.run(EventQueue.java:636)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.security.AccessController.doPrivileged(Native Method)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.EventQueue$2.run(EventQueue.java:652)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.EventQueue$2.run(EventQueue.java:650)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.security.AccessController.doPrivileged(Native Method)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.EventQueue.dispatchEvent(EventQueue.java:649)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:205)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.Dialog$1.run(Dialog.java:1046)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.Dialog$3.run(Dialog.java:1098)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.security.AccessController.doPrivileged(Native Method)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.Dialog.show(Dialog.java:1096)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.Component.show(Component.java:1584)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.Component.setVisible(Component.java:1536)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.Window.setVisible(Window.java:842)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.Dialog.setVisible(Dialog.java:986)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.cayenne.modeler.dialog.codegen.CodeGeneratorController.startup(CodeGeneratorController.java:75)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.cayenne.modeler.action.GenerateCodeAction.performAction(GenerateCodeAction.java:46)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.cayenne.modeler.util.CayenneAction.actionPerformed(CayenneAction.java:162)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at javax.swing.AbstractButton.doClick(AbstractButton.java:389)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at com.apple.laf.ScreenMenuItem.actionPerformed(ScreenMenuItem.java:95)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.MenuItem.processActionEvent(MenuItem.java:627)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.MenuItem.processEvent(MenuItem.java:586)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.MenuComponent.dispatchEventImpl(MenuComponent.java:337)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.MenuComponent.dispatchEvent(MenuComponent.java:325)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:682)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.EventQueue.access$000(EventQueue.java:85)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.EventQueue$1.run(EventQueue.java:638)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.EventQueue$1.run(EventQueue.java:636)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.security.AccessController.doPrivileged(Native Method)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.EventQueue$2.run(EventQueue.java:652)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.EventQueue$2.run(EventQueue.java:650)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.security.AccessController.doPrivileged(Native Method)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.EventQueue.dispatchEvent(EventQueue.java:649)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: Caused by: org.apache.cayenne.exp.ExpressionException: [v.3.1M3 Sep 13 2011 18:52:59] Can't resolve path component: [Entity.badRelationship].
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.cayenne.map.PathComponentIterator.invalidPathException(PathComponentIterator.java:145)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.cayenne.map.PathComponentIterator.next(PathComponentIterator.java:133)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.cayenne.map.PathComponentIterator.next(PathComponentIterator.java:33)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.cayenne.map.Entity.lastPathComponent(Entity.java:296)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.cayenne.map.ObjEntity.lastPathComponent(ObjEntity.java:983)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.cayenne.gen.DataMapUtils.getParameterNames(DataMapUtils.java:142)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.cayenne.gen.DataMapUtils.getParameterNames(DataMapUtils.java:138)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.cayenne.gen.DataMapUtils.getParameterNames(DataMapUtils.java:81)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at sun.reflect.GeneratedMethodAccessor47.invoke(Unknown Source)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at java.lang.reflect.Method.invoke(Method.java:597)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270)
> Feb 27 20:18:27 garodnya [0x0-0x646646].CayenneModeler[18451]: 	... 104 more

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira