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

Generate classes: Invalid template type: EMBEDDABLE_SINGLE_CLASS

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 4.0.RC1, 4.1.M2
    • 4.0.RC1, 4.1.M2
    • Modeler
    • None

    Description

      Precondition: add Embeddable objects to datamap

      1. Open Generate Classes -> Advanced (both entities and embeddables are selected in Classes tab)
      2. Uncheck 'Make Pairs'
      3. Generate

      -> Error generating classes - Invalid template type: EMBEDDABLE_SINGLE_CLASS error appears

      Log:

      Apr 13, 2018 3:53:38 PM ERROR: Error generating classes
      java.lang.IllegalArgumentException: Invalid template type: EMBEDDABLE_SINGLE_CLASS
          at org.apache.cayenne.gen.ClassGenerationAction.customTemplateName(ClassGenerationAction.java:146)
          at org.apache.cayenne.gen.ClassGenerationAction.getTemplate(ClassGenerationAction.java:247)
          at org.apache.cayenne.gen.ClassGenerationAction.execute(ClassGenerationAction.java:239)
          at org.apache.cayenne.gen.ClassGenerationAction.execute(ClassGenerationAction.java:212)
          at org.apache.cayenne.modeler.dialog.codegen.CodeGeneratorController.generateAction(CodeGeneratorController.java:143)
          at sun.reflect.GeneratedMethodAccessor143.invoke(Unknown Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:498)
          at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:491)
          at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:785)
          at ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:61)
          at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:819)
          at ognl.ASTMethod.getValueBody(ASTMethod.java:75)
          at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
          at ognl.SimpleNode.getValue(SimpleNode.java:210)
          at ognl.Ognl.getValue(Ognl.java:333)
          at ognl.Ognl.getValue(Ognl.java:413)
          at ognl.Ognl.getValue(Ognl.java:395)
          at org.apache.cayenne.swing.BindingBase.getValue(BindingBase.java:168)
          at org.apache.cayenne.swing.ActionBinding.fireAction(ActionBinding.java:80)
          at org.apache.cayenne.swing.ActionBinding$1.actionPerformed(ActionBinding.java:42)
          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.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.pumpEventsForFilter(EventDispatchThread.java:109)
          at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:184)
          at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:229)
          at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:227)
          at java.security.AccessController.doPrivileged(Native Method)
          at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:227)
          at java.awt.Dialog.show(Dialog.java:1084)
          at java.awt.Component.show(Component.java:1671)
          at java.awt.Component.setVisible(Component.java:1623)
          at java.awt.Window.setVisible(Window.java:1014)
          at java.awt.Dialog.setVisible(Dialog.java:1005)
          at org.apache.cayenne.modeler.dialog.codegen.CodeGeneratorController.startup(CodeGeneratorController.java:73)
          at org.apache.cayenne.modeler.action.GenerateCodeAction.performAction(GenerateCodeAction.java:55)
          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)

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: