[jboss-user] [JBoss Tools (users)] - Launch Files: Real control of Seam-Gen
luxspes
do-not-reply at jboss.com
Fri Jul 4 00:15:53 EDT 2008
Hi!
Hi!
We (in my project) have heavily modified and enhanced the functionality of seam-gen, but I think we are hitting a hard limit: we can not say "do not generate the EntityEdit.xhtml" because that is read-only. No matter what we do, all the *.ftl templates get called for all the our entites.
We use JBossTools 2.1.1 and store our seam-gen configurations in Eclipse .launch files (and call them using the Code Generation Launcher).
The initial from database to entities configuration is in a file named:projectname-generate-entities.launch, after that I create a file named: projectname-generate-pages.launch that creates from the entities to the pages .
The difference is that projectname-generate-entities.launch only uses 1 exporter, the Domain code exporter (extract of projectname-generate-entities.launch):
| <booleanAttribute key="org.hibernate.tools.exporters.hbmtemplate0"
| value="true" />
| <stringAttribute
| key="org.hibernate.tools.exporters.hbmtemplate0.extension_id"
| value="org.hibernate.tools.hbm2java" />
| <mapAttribute
| key="org.hibernate.tools.exporters.hbmtemplate0.properties">
| <mapEntry key="template_path"
| value="\seam-templates\hibernate-tools" />
| </mapAttribute>
|
On the other hand projectname-generate-pages.launch is much larger (here is only the part that generates the EntityEdit.xhtml:
| <mapAttribute
| key="org.hibernate.tools.exporters.hbmtemplate4.properties">
| <mapEntry key="outputdir" value="/applicationName/WebContent/" />
| <mapEntry key="for_each" value="entity" />
| <mapEntry key="template_name" value="view/edit.xhtml.ftl" />
| <mapEntry key="file_pattern" value="{class-name}Edit.xhtml" />
| <mapEntry key="hibernatetool.util.toolclass"
| value="org.hibernate.eclipse.launch.SeamUtil" />
| </mapAttribute>
|
As you can see, the exporter configuration for EntityEdit.xhtml is very different, and one of themain differences is that it has a :
| <mapEntry key="for_each" value="entity" />
|
now, i would like to extend this mechanism to make it possible to generate the EntityEdit.xhtml only for... for example non-readonly entities (or any other criteria that I choose):
<mapEntry key="for_each" value="readonly-entity" />
|
(And then create my own custom @ReadOnlyEntity annotation to control generation)
My plan to achieve that effect was to create my own exporter, to do that, I need to configure a Generic Hibernate metamodel exporter and create my own exporter class (inheriting I think)... but here is my problem... the docs only explain how to set the exporter class for ant:
| <hbmtemplate
| filepattern="{package-name}/{class-name}.ftl"
| template="somename.ftl"
| exporterclass="Exporter classname"
| />
|
Docs do not explain how to configure the exporterclass in a eclipse *.launch file (or if is even possible)...
How can I do that? (Do I need to modify the Eclipse Jboss Tools code? or this features is available but undocumented?)
Thanks
Regards,
P.D. Sorry for cross posting, but I posted this question at SeamFramework.org and nobody answered, and I am starting to think that maybe that is because this forum is a better match for this kind of question because it is more related to JBoss Tools than Seam
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4162426#4162426
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4162426
More information about the jboss-user
mailing list