jaxio / celerio-angular-quickstart

Generate an Angular 5 CRUD application from an existing database schema (we provide a sample one)
Apache License 2.0
479 stars 138 forks source link

Joined strategy inheritance doesn't work #25

Open alexeyrassokhin opened 7 years ago

alexeyrassokhin commented 7 years ago

Hi! I try to generate project with joined strategy inheritance I just add sql code and config from documentation (http://www.jaxio.com/documentation/celerio/configuration.html)

sql: \celerio-angular-quickstart\quickstart-conf\01-create.sql

CREATE TABLE ACCOUNT ( account_id char(32) not null, login varchar(255) not null, password varchar(255) not null, email varchar(255) not null, is_enabled bool, civility char(2), first_name varchar(255), last_name varchar(255), version smallint default 0,

constraint account_unique_1 unique (login),
constraint account_unique_2 unique (email),
primary key (account_id)

);

CREATE TABLE ADMINISTRATIVE_ACCOUNT ( account_id char(32) not null, fax varchar(255) not null,
country varchar(255) not null,
city varchar(255), primary key (account_id) );

CREATE TABLE ENTERPRISE_ACCOUNT ( account_id char(32) not null, company_name varchar(255) not null, inception_date timestamp not null,
revenue integer not null,
dummy integer, is_ethical bool not null,
primary key (account_id) );

and config

to

If I run mvn -Pdb,metadata,gen generate-sources. I get error - [INFO] Date Mapping match for USE_CASE_1.ID1 jdbcType=TIMESTAMP => DateMapping: mappedType=M_LOCALDATETIME columnJdbcType=TIMESTAMP columnNameRegExp=null [ERROR] In pack-angular:src\main\java\rest\EntityResource.java.e.vm method [getType] has not been set java.lang.IllegalStateException: [AdminAccount] You probably have entity.primaryKey.var in your code, you should use entity.root.primaryKey.var at com.jaxio.celerio.model.primarykey.NoPrimaryKey.throwException(NoPrimaryKey.java:191) at com.jaxio.celerio.model.primarykey.NoPrimaryKey.getType(NoPrimaryKey.java:87) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.apache.velocity.runtime.parser.node.PropertyExecutor.execute(PropertyExecutor.java:142) at org.apache.velocity.util.introspection.UberspectImpl$VelGetterImpl.invoke(UberspectImpl.java:533) at org.apache.velocity.runtime.parser.node.ASTIdentifier.execute(ASTIdentifier.java:198) at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:252) at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:332) at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336) at org.apache.velocity.runtime.RuntimeInstance.render(RuntimeInstance.java:1277) at org.apache.velocity.runtime.RuntimeInstance.evaluate(RuntimeInstance.java:1216) at org.apache.velocity.runtime.RuntimeInstance.evaluate(RuntimeInstance.java:1165) at org.apache.velocity.app.VelocityEngine.evaluate(VelocityEngine.java:219) at com.jaxio.celerio.template.VelocityGenerator.evaluate(VelocityGenerator.java:53) at com.jaxio.celerio.template.PreviousEngine.processDynamicFile(PreviousEngine.java:352) at com.jaxio.celerio.template.TemplateExecution.write(TemplateExecution.java:597) at com.jaxio.celerio.template.TemplateEngine.produce(TemplateEngine.java:273) at com.jaxio.celerio.template.TemplateEngine.produceEntities(TemplateEngine.java:227) at com.jaxio.celerio.template.TemplateEngine.produce(TemplateEngine.java:164) at com.jaxio.celerio.main.CelerioProducer.produce(CelerioProducer.java:67) at com.jaxio.celerio.main.CelerioProducer.produce(CelerioProducer.java:60) at com.jaxio.celerio.maven.plugin.celerio.GenerateMojo.process(GenerateMojo.java:220) at com.jaxio.celerio.maven.plugin.celerio.GenerateMojo.execute(GenerateMojo.java:201) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288) at org.apache.maven.cli.MavenCli.main(MavenCli.java:199) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) [ERROR] Invocation of method 'getType' in class com.jaxio.celerio.model.primarykey.NoPrimaryKey threw exception java.lang.IllegalStateException: [AdminAccount] You probably have entity.primaryKey.var in your code, you should use entity.root.primaryKey.var at src\main\java\rest\EntityResource.java.e.vm[line 112, column 87]

nromanetti commented 7 years ago

Celerio supports inheritance but currently the angular templates do not. I flag it as enhancement.