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#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...