The spec EE 8.3.1 does not specify if the classes in EJB module should be visible for WAR.  But the spec does say app should not depend on such EJB and WEB module classloading relationship.   I think the case is breaking the rule.

Anyway,  in geronimo impl,  the content of ejb is visible to war so that we are fine with the case reqirement.

On Thu, Jun 2, 2011 at 11:38 AM, Kevan Miller <kevan.miller@gmail.com> wrote:

On Jun 1, 2011, at 11:14 PM, Shawn Jiang wrote:

> It's quite tricky because the war and ejb module have the same name,  Hence,  they have the same hashcode because we are returning name.hashCode()  in Module.hashCode().
>
> r1130391  Change to moduleURI.hashCode() will fix this because the URI can identify a module.    It should be fixed, I will trigger a G JCDI tck to see.

Interesting. So, is this the error you were getting?

org.testng.TestNGException:
Cannot find class in classpath: org.jboss.jsr299.tck.tests.definition.qualifier.enterprise.EnterpriseQualifierDefinitionTest
       org.testng.xml.XmlClass.getSupportClass(XmlClass.java:55)
       org.testng.internal.Utils.xmlClassesToClasses(Utils.java:79)
       org.testng.TestRunner.initMethods(TestRunner.java:289)
       org.testng.TestRunner.init(TestRunner.java:235)
       org.testng.TestRunner.init(TestRunner.java:197)
       org.testng.TestRunner.<init>(TestRunner.java:141)
       org.testng.SuiteRunner$DefaultTestRunnerFactory.newTestRunner(SuiteRunner.java:488)
       org.testng.SuiteRunner.privateRun(SuiteRunner.java:250)
       org.testng.SuiteRunner.run(SuiteRunner.java:204)
       org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:912)
       org.testng.TestNG.runSuitesLocally(TestNG.java:876)
       org.testng.TestNG.run(TestNG.java:784)
       org.jboss.testharness.impl.runner.TestRunner.run(TestRunner.java:61)
       org.jboss.testharness.impl.runner.servlet.ServletTestRunner.doGet(ServletTestRunner.java:77)
       javax.servlet.http.HttpServlet.service(HttpServlet.java:575)
       javax.servlet.http.HttpServlet.service(HttpServlet.java:668)

Can someone refresh my memory as to *why* a class in org.jboss.jsr299.tck.tests.definition.qualifier.enterprise.EnterpriseQualifierDefinitionTest.jar should be visible, in this app?

--kevan



--
Shawn