I've been working on a reply to this for awhile. I'll post what I have
so far, which I know does not answer the question. I'm still working on
it though.
--------------------------------------------------------------
So at the end of the day, what do you have? It would be really great if
you had all the composite config info accessible through a simple API.
I'm talking about the result of all the faces-config files in the
application. Plus a report that you can spit out to see all of your
configuration. Bonus points if it also shows the config that results
from Seam annotations. Everybody would love that.
Right now, you have managed bean definitions coming from scads of
thrid-party libraries, factory declarations, etc. For instance, which
FacesContextFactory won the battle? Can I see the whole chain of factories?
Same goes for web.xml. I know that MyFaces parses the web.xml. Even
having an API that can tell me how the FacesServlet is mapped would be
very useful.
So I hope that's where you are going with this, but unfortunately it
doesn't answer your questions.
How hard would it be to at least get rid of commons logging? Right now
everything in JSFUnit just lets the exceptions bubble all the way up.
Then the application developer can decide if/how they are logged. I
think this is a good approach for JUnit tests because in a test you
usually just let the exceptions bubble up and allow JUnit to report a
failure.
Dennis Byrne wrote:
I took MyFaces 1.2.0 and stripped somewhere around 80% of the
classes.
Pretty much ripped out everything but org.apache.myfaces.config
package. Doing this gives you just enough to parse versions 1.0, 1.1
and 1.2 of faces-config files using two lines of code.
ByteArrayInputStream bais = new
ByteArrayInputStream(testFacesConfig.getBytes());
dispenser.feed(unmarshaller.getFacesConfig(bais, null));
Here are the costs of going this route. This introduces a dependency on
digestor, commons logging, beanutils and commons collections. It also
means we have to maintain the myfaces-stripped jar until the config
stuff gets moved into the new myfaces commons project (which probably
won't be released before JSFUnit). It also means we have to ping a
lawyer because I have never done this before (change ASF artifact,
release under LGPL).
Let me know your thoughts. I timeboxed this at an hour so I don't have
a lot of emotions behind going this route. Part of me feels like just
benching this until after the release.
--
Dennis Byrne
------------------------------------------------------------------------
_______________________________________________
jsfunit-dev mailing list
jsfunit-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jsfunit-dev