Yes, you are correct, i do have those one-to-many & many-to-many relationships. thanks.
On Wed, Apr 29, 2009 at 10:16 AM, Matt Raible <m...@raibledesigns.com>wrote: > Here's lines 47 - 59, there's nothing in here that seems like it could > cause a problem. The only thing I can think of is you have one-to-many or > many-to-many relationships in your POJO, which AppFuse doesn't support. > > [#foreach field in pojo.getAllPropertiesIterator()] > [#if !field.equals(pojo.identifierProperty)] > [#foreach column in field.getColumnIterator()] > [#if !field.equals(pojo.identifierProperty) && !column.nullable > && !c2h.isCollection(field) && !c2h.isManyToOne(field)] > [#if field.value.typeName == "boolean" || > field.value.typeName = "java.lang.Boolean"] > <setCheckbox description="set ${field.name}" > name="${pojoNameLower}.${field.name}" > value="${data.getValueForWebTest(column)}"/> > [#else] > <setInputField description="set ${field.name}" > name="${pojoNameLower}.${field.name}" > value="${data.getValueForWebTest(column)}"/> > [/#if] > [/#if] > [/#foreach] > [/#if] > [/#foreach] > > > On Tue, Apr 28, 2009 at 7:11 PM, Jim Qiu <bluefishe...@gmail.com> wrote: > >> While i think this is a appfuse/web/tapestry/web-tests.ftl problem. >> possible ? >> >> >> >> On Tue, Apr 28, 2009 at 4:04 PM, Jim Qiu <bluefishe...@gmail.com> wrote: >> >>> Hi everyone: >>> >>> >>> I made a copy of User and and try >>> >>> appfuse:gen -Dentity=UserCopy >>> >>> and it show me the following messages. >>> >>> >>> Jim >>> >>> >>> [INFO] Scanning for projects... >>> [INFO] Searching repository for plugin with prefix: 'appfuse'. >>> [INFO] >>> ------------------------------------------------------------------------ >>> [INFO] Building AppFuse Tapestry Application >>> [INFO] task-segment: [appfuse:gen] >>> [INFO] >>> ------------------------------------------------------------------------ >>> [INFO] Preparing appfuse:gen >>> [INFO] [aspectj:compile {execution: default}] >>> [INFO] [native2ascii:native2ascii {execution: native2ascii-utf8}] >>> [INFO] [native2ascii:native2ascii {execution: native2ascii-8859_1}] >>> [INFO] [resources:resources] >>> [INFO] Using default encoding to copy filtered resources. >>> [INFO] [compiler:compile] >>> [INFO] Nothing to compile - all classes are up to date >>> [WARNING] POM for 'org.hibernate:jtidy:pom:r8-20060801:runtime' is >>> invalid. It will be ignored for artifact resolution. Reason: Parse error >>> reading POM. Reason: TEXT must be immediately followed by END_TAG and not >>> START_TAG (position: START_TAG seen ...<licenses>\n\t\t\t<license>... >>> @12:13) for project org.hibernate:jtidy at >>> c:\docume~1\dell\.m2\repository\org\hibernate\jtidy\r8-20060801\jtidy-r8-20060801.pom >>> [INFO] [appfuse:gen] >>> [INFO] Configuration XML file loaded: >>> file:/C:/Documents%20and%20Settings/dell/workspace/appfuse-T-demo/src/main/resources/hibernate.cfg.xml >>> [INFO] Configuration XML file loaded: >>> file:/C:/Documents%20and%20Settings/dell/workspace/appfuse-T-demo/src/main/resources/hibernate.cfg.xml >>> [INFO] src/main/resources/database.properties not found within the >>> project. Trying absolute path. >>> [INFO] No hibernate properties file loaded. >>> WARN [main] POJOExporter.addComponent(111) | Component >>> com.drl.model.Address found more than once! Will only generate the last >>> found. >>> WARN [main] POJOExporter.addComponent(111) | Component >>> com.drl.model.Address found more than once! Will only generate the last >>> found. >>> WARN [main] POJOExporter.addComponent(111) | Component >>> com.drl.model.Address found more than once! Will only generate the last >>> found. >>> WARN [main] POJOExporter.addComponent(111) | Component >>> com.drl.model.Address found more than once! Will only generate the last >>> found. >>> WARN [main] POJOExporter.addComponent(111) | Component >>> com.drl.model.Address found more than once! Will only generate the last >>> found. >>> WARN [main] POJOExporter.addComponent(111) | Component >>> com.drl.model.Address found more than once! Will only generate the last >>> found. >>> WARN [main] POJOExporter.addComponent(111) | Component >>> com.drl.model.Address found more than once! Will only generate the last >>> found. >>> WARN [main] POJOExporter.addComponent(111) | Component >>> com.drl.model.Address found more than once! Will only generate the last >>> found. >>> WARN [main] POJOExporter.addComponent(111) | Component >>> com.drl.model.Address found more than once! Will only generate the last >>> found. >>> WARN [main] POJOExporter.addComponent(111) | Component >>> com.drl.model.Address found more than once! Will only generate the last >>> found. >>> WARN [main] POJOExporter.addComponent(111) | Component >>> com.drl.model.Address found more than once! Will only generate the last >>> found. >>> WARN [main] POJOExporter.addComponent(111) | Component >>> com.drl.model.Address found more than once! Will only generate the last >>> found. >>> WARN [main] POJOExporter.addComponent(111) | Component >>> com.drl.model.Address found more than once! Will only generate the last >>> found. >>> WARN [main] POJOExporter.addComponent(111) | Component >>> com.drl.model.Address found more than once! Will only generate the last >>> found. >>> ERROR [main] runtime.error(96) | >>> Expression field.value.typeName is undefined on line 53, column 22 in >>> appfuse/web/tapestry/web-tests.ftl. >>> The problematic instruction: >>> ---------- >>> ==> if-else [on line 53, column 17 in >>> appfuse/web/tapestry/web-tests.ftl] >>> ---------- >>> >>> Java backtrace for programmers: >>> ---------- >>> freemarker.core.InvalidReferenceException: Expression >>> field.value.typeName is undefined on line 53, column 22 in >>> appfuse/web/tapestry/web-tests.ftl. >>> at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124) >>> at >>> freemarker.core.ComparisonExpression.isTrue(ComparisonExpression.java:121) >>> at freemarker.core.OrExpression.isTrue(OrExpression.java:68) >>> at freemarker.core.IfBlock.accept(IfBlock.java:80) >>> at freemarker.core.Environment.visit(Environment.java:196) >>> at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79) >>> at freemarker.core.Environment.visit(Environment.java:196) >>> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160) >>> at freemarker.core.Environment.visit(Environment.java:351) >>> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95) >>> at freemarker.core.Environment.visit(Environment.java:196) >>> at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79) >>> at freemarker.core.Environment.visit(Environment.java:196) >>> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160) >>> at freemarker.core.Environment.visit(Environment.java:351) >>> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95) >>> 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:232) >>> at >>> org.hibernate.tool.hbm2x.TemplateHelper.processTemplate(TemplateHelper.java:251) >>> 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:228) >>> at >>> org.hibernate.tool.hbm2x.GenericExporter.exportPersistentClass(GenericExporter.java:135) >>> at >>> org.hibernate.tool.hbm2x.GenericExporter$2.process(GenericExporter.java:41) >>> 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:195) >>> 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:261) >>> at >>> org.appfuse.mojo.HibernateExporterMojo.execute(HibernateExporterMojo.java:138) >>> at >>> org.appfuse.mojo.exporter.AppFuseGeneratorMojo.execute(AppFuseGeneratorMojo.java:210) >>> at >>> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:451) >>> at >>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:558) >>> at >>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:512) >>> at >>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:482) >>> at >>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:330) >>> at >>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:291) >>> at >>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142) >>> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336) >>> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129) >>> at org.apache.maven.cli.MavenCli.main(MavenCli.java:287) >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>> at >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >>> at >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>> at java.lang.reflect.Method.invoke(Method.java:585) >>> at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) >>> at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) >>> at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) >>> at org.codehaus.classworlds.Launcher.main(Launcher.java:375) >>> [INFO] >>> ------------------------------------------------------------------------ >>> [ERROR] FATAL ERROR >>> [INFO] >>> ------------------------------------------------------------------------ >>> [INFO] Error while processing template appfuse/web/tapestry/web-tests.ftl >>> Expression field.value.typeName is undefined on line 53, column 22 in >>> appfuse/web/tapestry/web-tests.ftl. >>> [INFO] >>> ------------------------------------------------------------------------ >>> [INFO] Trace >>> org.hibernate.tool.hbm2x.ExporterException: Error while processing >>> template appfuse/web/tapestry/web-tests.ftl >>> at >>> org.hibernate.tool.hbm2x.TemplateHelper.processTemplate(TemplateHelper.java:257) >>> 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:228) >>> at >>> org.hibernate.tool.hbm2x.GenericExporter.exportPersistentClass(GenericExporter.java:135) >>> at >>> org.hibernate.tool.hbm2x.GenericExporter$2.process(GenericExporter.java:41) >>> 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:195) >>> 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:261) >>> at >>> org.appfuse.mojo.HibernateExporterMojo.execute(HibernateExporterMojo.java:138) >>> at >>> org.appfuse.mojo.exporter.AppFuseGeneratorMojo.execute(AppFuseGeneratorMojo.java:210) >>> at >>> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:451) >>> at >>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:558) >>> at >>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:512) >>> at >>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:482) >>> at >>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:330) >>> at >>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:291) >>> at >>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142) >>> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336) >>> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129) >>> at org.apache.maven.cli.MavenCli.main(MavenCli.java:287) >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>> at >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >>> at >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>> at java.lang.reflect.Method.invoke(Method.java:585) >>> at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) >>> at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) >>> at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) >>> at org.codehaus.classworlds.Launcher.main(Launcher.java:375) >>> Caused by: freemarker.core.InvalidReferenceException: Expression >>> field.value.typeName is undefined on line 53, column 22 in >>> appfuse/web/tapestry/web-tests.ftl. >>> at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124) >>> at >>> freemarker.core.ComparisonExpression.isTrue(ComparisonExpression.java:121) >>> at freemarker.core.OrExpression.isTrue(OrExpression.java:68) >>> at freemarker.core.IfBlock.accept(IfBlock.java:80) >>> at freemarker.core.Environment.visit(Environment.java:196) >>> at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79) >>> at freemarker.core.Environment.visit(Environment.java:196) >>> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160) >>> at freemarker.core.Environment.visit(Environment.java:351) >>> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95) >>> at freemarker.core.Environment.visit(Environment.java:196) >>> at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79) >>> at freemarker.core.Environment.visit(Environment.java:196) >>> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160) >>> at freemarker.core.Environment.visit(Environment.java:351) >>> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95) >>> 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:232) >>> at >>> org.hibernate.tool.hbm2x.TemplateHelper.processTemplate(TemplateHelper.java:251) >>> ... 34 more >>> [INFO] >>> ------------------------------------------------------------------------ >>> [INFO] Total time: 10 seconds >>> [INFO] Finished at: Tue Apr 28 14:32:33 CST 2009 >>> [INFO] Final Memory: 20M/254M >>> [INFO] >>> ------------------------------------------------------------------------ >>> >>> >> >> >