Hi All,
My app is being built on AppFuse 2.0rc1 + Struts.
Among my POJOs, I have several that represent tables with concatenated keys.
The POJOs were
generated by appfuse:gen-model and have ID classes for their ID fields instead
of the usual Long
type. For example, one of these POJOs is Delivery.java and its ID field is of
type DeliveryId.
This is all fine, but unfortunately, appfuse:gen barfs on these when trying to
generate Action
classes for them. Has anyone else seen this?
The details of the error are as follows:
Method public java.lang.String
org.hibernate.tool.hbm2x.pojo.BasicPOJOClass.getGetterSignature(org.hibernate.mapping.Propert
y) threw an exception when invoked on
org.hibernate.tool.hbm2x.pojo.ComponentPOJOClass(au.com.tiwest.model.DeliveryId)
The problematic instruction:
----------
==> assignment:
getIdMethodName=pojo.getGetterSignature(pojo.identifierProperty) [on line 2,
column 1 in appfuse/web/struts/action-test.ftl]
----------
Java backtrace for programmers:
----------
freemarker.template.TemplateModelException: Method public java.lang.String
org.hibernate.tool.hbm2x.pojo.BasicPOJOClass.getGetterSignature(org.hibernate.mapping.Propert
y) threw an exception when invoked on
org.hibernate.tool.hbm2x.pojo.ComponentPOJOClass(au.com.tiwest.model.DeliveryId)
at
freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:136)
at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93)
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
at freemarker.core.Assignment.accept(Assignment.java:90)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.Environment.process(Environment.java:176)
at freemarker.template.Template.process(Template.java:231)
at
org.hibernate.tool.hbm2x.TemplateHelper.processTemplate(TemplateHelper.java:247)
at
org.hibernate.tool.hbm2x.TemplateProducer.produceToString(TemplateProducer.java:67)
at
org.hibernate.tool.hbm2x.TemplateProducer.produce(TemplateProducer.java:28)
at
org.hibernate.tool.hbm2x.TemplateProducer.produce(TemplateProducer.java:97)
at
org.hibernate.tool.hbm2x.GenericExporter.exportPOJO(GenericExporter.java:146)
at
org.appfuse.tool.AppFuseExporter$1.exportPOJO(AppFuseExporter.java:214)
at
org.hibernate.tool.hbm2x.GenericExporter.exportComponent(GenericExporter.java:131)
at
org.hibernate.tool.hbm2x.GenericExporter$3.process(GenericExporter.java:61)
at
org.hibernate.tool.hbm2x.GenericExporter.doStart(GenericExporter.java:126)
at
org.hibernate.tool.hbm2x.AbstractExporter.start(AbstractExporter.java:95)
at
org.appfuse.tool.AppFuseExporter.generateWeb(AppFuseExporter.java:151)
at org.appfuse.tool.AppFuseExporter.doStart(AppFuseExporter.java:50)
at
org.hibernate.tool.hbm2x.AbstractExporter.start(AbstractExporter.java:95)
at
org.appfuse.mojo.HibernateExporterMojo.doExecute(HibernateExporterMojo.java:228)
at
org.appfuse.mojo.exporter.AppFuseGeneratorMojo.doExecute(AppFuseGeneratorMojo.java:270)
at
org.appfuse.mojo.HibernateExporterMojo.execute(HibernateExporterMojo.java:138)
at
org.appfuse.mojo.exporter.AppFuseGeneratorMojo.execute(AppFuseGeneratorMojo.java:203)
at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:643)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecy
cleExecutor.java:359)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExec
utor.java:260)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:146)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:304)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:124)
at
org.apache.maven.embedder.MavenEmbedder.execute(MavenEmbedder.java:906)
at
org.maven.ide.eclipse.embedder.Maven2Executor.main(Maven2Executor.java:82)
Caused by: java.lang.NullPointerException
at
org.hibernate.tool.hbm2x.Cfg2JavaTool.getMetaAsString(Cfg2JavaTool.java:78)
at
org.hibernate.tool.hbm2x.Cfg2JavaTool.getJavaTypeName(Cfg2JavaTool.java:168)
at
org.hibernate.tool.hbm2x.Cfg2JavaTool.getJavaTypeName(Cfg2JavaTool.java:164)
at
org.hibernate.tool.hbm2x.pojo.BasicPOJOClass.getGetterSignature(BasicPOJOClass.java:549)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:583)
at
freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:113)
... 33 more
Cheers,
Rob Hills
Waikiki, Western Australia
Mobile +61 (412) 904-357
Fax: +61 (8) 9529-2137
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]