I have been making a war project. It is currently just one maven2
project. Up to now, my components have been hand built. Since I am
using Trinidad, I have been either extending UIX/Core components or
creating my own with Type support. Since maven-faces-plugin was
available, I though I would try to integrate it into my project. I
have it technically working, but there are problems and I have some
questions. Hopefully someone has some solutions.

1) I have to run maven 2 times. The first time the XML files are put
into the target. The second time the components are actually generated
and compiled. I think this is because I have just one project.

2) I have code that was using one of the components. Here was the structure:
UIInclude : UIXComponentBase references UINavigableRoot
UINavigableRoot : UIViewRoot references UIInclude
CustomViewHandler : FaceletsViewHandler references UIInclude
IncludeHandler : TrinidadComponentHandler references UIInclude

The obvious problems in making UIInclude generated is that the code
that currently refer to it won't compile until the code generator has
built the class. For the time being, I created a "public abstract
class UIIncludeBase" that has all the methods and properties stubbed
out that the other classes need, but I'm not sure if there isn't a
better way.

3) The annotations on my UIIncludeTemplate are not carried to the
generated UIInclude. I can do without this, but it would be really
good to have this functionality.

4) If I move UIInclude to a new project, I have to move all the
classes that it references, which is a very large refactoring step.

Are there any recommendations on how to minimize my refactoring,
fixing the compile twice problem and be able to use the Trinidad
plugin?

Thank you,
Andrew

Reply via email to