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

Generate classes: Invalid template type: EMBEDDABLE_SINGLE_CLASS

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 4.0.RC1, 4.1.M2
    • Fix Version/s: 4.0.RC1, 4.1.M2
    • Component/s: Modeler
    • Labels:
      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

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

              Dates

              • Created:
                Updated:
                Resolved: