OK, after looking at this, it appears the first major stumbling block for the AS7 work is
our usage of SEAM and how we can run in AS7.
Here's the issue - it appears we are using an older version of SEAM that does not work
on AS7. We simply can't use the SEAM we were using. This is not surprising at all (see
example threads of similar issues we have or will have:
https://community.jboss.org/message/608573#608573 -
https://community.jboss.org/blogs/marek-novotny/2011/12/16/dvdstore-migra...
).
What I think we need to consider is one of the following:
a) rip out SEAM entirely and all code in RHQ using it/depending on it (this includes
mainly core/gui and enterprise/gui/portal-war modules but also this content_http thing
that i dont think we need/should have/is used)
or
b) refactor our GUI code (portal war) to either not use SEAM or to make use of a newer
SEAM that can be deployed inside of AS7
Now - if we do b) it means there will be a lot of effort wasted for very little gain. Most
of portal-war isn't even used anymore - our GWT UI handles the vast majority of UI
features now. So if we do b) its merely work that isn't even going to be used - it
will be just so we can successfully deploy the RHQ ear only to later rip out portal war at
some point anyway. Now, I can't say how much effort it will take to do b), but
clearly, the new SEAM isn't backward compatible with the old - I'm seeing missing
classes and things like that at startup. We'd have to integrate with the latest SEAM
libraries and all that would entail (e.g. refactoring code perhaps)
But we can't blindly do a) either - all of portal-war is not obsolete - there still
are small portions still used (graphing and the content UI are the two main areas that I
know still use portal-war - there is also that old content_http servlet thing). Graphing
pages, IIRC, are actually still on the old struts stuff - so I'm not even sure if JSF
is even used, let alone SEAM. We'd have to investigate that. The content UI I think
does use code that relies on SEAM. So ripping out portal-war isn't going to be like
ripping off a band-aid - it will still require some delicate maneuvering.
The third option I would like to discuss is porting the rest of portal-war to GWT. Rather
than waste time doing b), I think we can take that time and do more useful things that
have to get done anyway - that is, port over the final pages in portal war to GWT. Thus,
when we do that, I think we can do a) more quickly and without worrying about doing too
much damage. The only thing that I think we'd have to look out for are simple things
like StartupServlet (which we can easily port into a startup servlet in the GWT app or
make a singleton EJB, which is new in EJB 3.1 and is now supported because we'd be on
AS7)
Thoughts?