Skip to content

Joined strategy inheritance doesn't work #25

Open
@alexeyrassokhin

Description

@alexeyrassokhin

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

<entityConfig tableName="ADMINISTRATIVE_ACCOUNT" entityName="AdminAccount">
	<inheritance parentEntityName="Account" />
	<columnConfigs>
		<!-- We do not mention all columns on purpose, we expect Celerio to add missing columns... -->
		<columnConfig columnName="fax" fieldName="faxNumber" />
	</columnConfigs>
</entityConfig>

<entityConfig tableName="ENTERPRISE_ACCOUNT">
	<inheritance parentEntityName="AdminAccount" />
	<columnConfigs>
		<!-- We do not mention all columns on purpose, we expect Celerio to add missing columns... -->
		<columnConfig columnName="revenue" fieldName="revenuePerYear" />
	</columnConfigs>
</entityConfig>
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]

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions