I didn&#39;t know they &quot;warped&quot; the apache jars.&nbsp; (off topic, I think Sun once did something similar w/ Xerces).&nbsp; Well, that is good to know.&nbsp; <br><br>On legal, I know that redistributing apache jars is a piece of cake, due to the non-viral nature of the license.&nbsp; But is there anything extra if JSFUnit distributes the jars in a changed form (move packages or stripped classes).&nbsp; I would imagine that answer is &quot;No&quot;.
<br><br>Dennis Byrne<br><br><div><span class="gmail_quote">On 10/29/07, <b class="gmail_sendername">Stan Silvert</b> &lt;<a href="mailto:ssilvert@redhat.com">ssilvert@redhat.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Dennis Byrne wrote:<br>&gt; I think we agree then that there *has* to be a common model for XML<br>&gt; based and annotation based configuration details.&nbsp;&nbsp;Similar to how the<br>&gt; AnnonationConfiguration extends Configuration in hibernate 3.
<br>&gt;<br>&gt; Unfortunately there is no way to rip out clogging.&nbsp;&nbsp;Myfaces and Digester<br>&gt; both have binary dependencies on it.&nbsp;&nbsp;I agree that logging is not needed<br>&gt; by us - just let it rip.&nbsp;&nbsp;I felt the same about performance when I wrote
<br>&gt; the code.<br>&gt;<br>&gt; I thought about using JAXB as an alternative also but that only covers<br>&gt; JSF 1.2 conf files (JAXB requires an XSD, JSF 1.1 used a DTD).&nbsp;&nbsp;Maybe if<br>&gt; we can determine if all JSF 
1.1 documents could conform to the new JSF<br>&gt; 1.2 schema, I could just do a string replace on the XML and replace DTD<br>&gt; processing instruction w/ an schema reference ... then send it through JAXB.<br>&gt;<br>&gt; BTW, what does the RI use for this task?&nbsp;&nbsp;I remember them having very
<br>&gt; few dependencies.<br><br>Well, yes and no.&nbsp;&nbsp;They forked beanutils, collections, digester, and<br>even commons logging.&nbsp;&nbsp;They just changed the package names to<br>com.sun.org.apache.whatever.&nbsp;&nbsp;So what you end up with is just two jars,
<br>jsf-api.jar and jsf-impl.jar.&nbsp;&nbsp;The impl jar has all the forked apache<br>commons stuff in it.<br><br>Every project in the world seems to need these four commons packages<br>these days.&nbsp;&nbsp;So I don&#39;t think it&#39;s a big issue to add them.
<br><br>Is there still something you want me to ping the attorney about?&nbsp;&nbsp;What<br>was the exact question?<br><br>&gt;<br>&gt; Still thinking.<br>&gt;<br>&gt; Dennis Byrne<br>&gt;<br>&gt; On 10/29/07, *Stan Silvert* &lt;<a href="mailto:ssilvert@redhat.com">
ssilvert@redhat.com</a><br>&gt; &lt;mailto:<a href="mailto:ssilvert@redhat.com">ssilvert@redhat.com</a>&gt;&gt; wrote:<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; I&#39;ve been working on a reply to this for awhile.&nbsp;&nbsp;I&#39;ll post what I have<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; so far, which I know does not answer the question.&nbsp;&nbsp;I&#39;m still<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; working on<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; it though.<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; --------------------------------------------------------------<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; So at the end of the day, what do you have?&nbsp;&nbsp;It would be really great if
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; you had all the composite config info accessible through a simple API.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; I&#39;m talking about the result of all the faces-config files in the<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; application.&nbsp;&nbsp;Plus a report that you can spit out to see all of your
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; configuration.&nbsp;&nbsp;Bonus points if it also shows the config that results<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; from Seam annotations.&nbsp;&nbsp;Everybody would love that.<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Right now, you have managed bean definitions coming from scads of
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; thrid-party libraries, factory declarations, etc.&nbsp;&nbsp;For instance, which<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; FacesContextFactory won the battle?&nbsp;&nbsp;Can I see the whole chain of<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; factories?<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Same goes for web.xml
.&nbsp;&nbsp;I know that MyFaces parses the web.xml.&nbsp;&nbsp;Even<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; having an API that can tell me how the FacesServlet is mapped would be<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; very useful.<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; So I hope that&#39;s where you are going with this, but unfortunately it
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; doesn&#39;t answer your questions.<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; How hard would it be to at least get rid of commons logging?&nbsp;&nbsp;Right now<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; everything in JSFUnit just lets the exceptions bubble all the way up.
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Then the application developer can decide if/how they are logged.&nbsp;&nbsp;I<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; think this is a good approach for JUnit tests because in a test you<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; usually just let the exceptions bubble up and allow JUnit to report a
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; failure.<br>&gt;<br>&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Dennis Byrne wrote:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; I took MyFaces 1.2.0 and stripped somewhere around 80% of the<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; classes.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; Pretty much ripped out everything but 
org.apache.myfaces.config<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; package.&nbsp;&nbsp;Doing this gives you just enough to parse versions 1.0, 1.1<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; and 1.2 of faces-config files using two lines of code.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; ByteArrayInputStream bais = new
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; ByteArrayInputStream(testFacesConfig.getBytes());<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; dispenser.feed(unmarshaller.getFacesConfig(bais, null));<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; Here are the costs of going this route.&nbsp;&nbsp;This introduces a
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; dependency on<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; digestor, commons logging, beanutils and commons collections.&nbsp;&nbsp;It<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; also<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; means we have to maintain the myfaces-stripped jar until the config<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; stuff gets moved into the new myfaces commons project (which
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; probably<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; won&#39;t be released before JSFUnit).&nbsp;&nbsp;It also means we have to ping a<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; lawyer because I have never done this before (change ASF artifact,<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; release under LGPL).
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; Let me know your thoughts.&nbsp;&nbsp;I timeboxed this at an hour so I<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; don&#39;t have<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; a lot of emotions behind going this route.&nbsp;&nbsp;Part of me feels like<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; just
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; benching this until after the release.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; --<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; Dennis Byrne<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; ------------------------------------------------------------------------
<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; _______________________________________________<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; jsfunit-dev mailing list<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; <a href="mailto:jsfunit-dev@lists.jboss.org">jsfunit-dev@lists.jboss.org
</a> &lt;mailto:<a href="mailto:jsfunit-dev@lists.jboss.org">jsfunit-dev@lists.jboss.org</a>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; <a href="https://lists.jboss.org/mailman/listinfo/jsfunit-dev">https://lists.jboss.org/mailman/listinfo/jsfunit-dev
</a><br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; _______________________________________________<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; jsfunit-dev mailing list<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; <a href="mailto:jsfunit-dev@lists.jboss.org">jsfunit-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:jsfunit-dev@lists.jboss.org">
jsfunit-dev@lists.jboss.org</a>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; <a href="https://lists.jboss.org/mailman/listinfo/jsfunit-dev">https://lists.jboss.org/mailman/listinfo/jsfunit-dev</a><br>&gt;<br>&gt;<br>&gt;<br>&gt;<br>&gt; --<br>&gt; Dennis Byrne
<br>&gt;<br>&gt;<br>&gt; ------------------------------------------------------------------------<br>&gt;<br>&gt; _______________________________________________<br>&gt; jsfunit-dev mailing list<br>&gt; <a href="mailto:jsfunit-dev@lists.jboss.org">
jsfunit-dev@lists.jboss.org</a><br>&gt; <a href="https://lists.jboss.org/mailman/listinfo/jsfunit-dev">https://lists.jboss.org/mailman/listinfo/jsfunit-dev</a><br><br>_______________________________________________<br>jsfunit-dev mailing list
<br><a href="mailto:jsfunit-dev@lists.jboss.org">jsfunit-dev@lists.jboss.org</a><br><a href="https://lists.jboss.org/mailman/listinfo/jsfunit-dev">https://lists.jboss.org/mailman/listinfo/jsfunit-dev</a><br></blockquote></div>
<br><br clear="all"><br>-- <br>Dennis Byrne