Skip to content

Commit

Permalink
WELD-584, and make sure tests use the docs recommendations for config
Browse files Browse the repository at this point in the history
  • Loading branch information
pmuir committed Aug 16, 2010
1 parent b44bedf commit b51125a
Show file tree
Hide file tree
Showing 13 changed files with 163 additions and 112 deletions.
40 changes: 37 additions & 3 deletions docs/reference/src/main/docbook/en-US/environments.xml
Expand Up @@ -62,7 +62,7 @@ $> mvn -Pupdate-jboss-as</programlisting>
<title>Servlet containers (such as Tomcat or Jetty)</title>

<para>
While JSR-299 does not require support for servlet environments, Weld can be used in any servlet container,
While JSR-299 does not require support for servlet environments, Weld can be used in a servlet container,
such as Tomcat 6.0 or Jetty 6.1.
</para>

Expand Down Expand Up @@ -183,8 +183,9 @@ $> mvn -Pupdate-jboss-as</programlisting>
<title>Jetty</title>

<para>
Like Tomcat, Jetty has a read-only JNDI, so Weld can't automatically bind the Manager. To bind the Manager
to JNDI, you should populate <literal>WEB-INF/jetty-env.xml</literal> with the following contents:
Like Tomcat, Jetty has a read-only JNDI, so Weld can't automatically bind the BeanManager. To
bind the BeanManager to JNDI in Jetty 6, you should populate <literal>WEB-INF/jetty-env.xml</literal> with
the following contents:
</para>

<programlisting role="XML"><![CDATA[<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN"
Expand All @@ -203,6 +204,39 @@ $> mvn -Pupdate-jboss-as</programlisting>
</New>
</Configure>]]></programlisting>

<para>
Jetty 7 has moved to the Eclipse Foundation; if you are using Jetty 7 put the following in your
<literal>WEB-INF/jetty-env.xml</literal>:
</para>

<programlisting role="XML"><![CDATA[<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN"
"http://www.eclipse.org/jetty/configure.dtd">
<Configure id="webAppCtx" class="org.eclipse.jetty.webapp.WebAppContext">
<New id="BeanManager" class="org.eclipse.jetty.plus.jndi.Resource">
<Arg> <Ref id="webAppCtx"/> </Arg>
<Arg>BeanManager</Arg>
<Arg>
<New class="javax.naming.Reference">
<Arg>javax.enterprise.inject.spi.BeanManager</Arg>
<Arg>org.jboss.weld.resources.ManagerObjectFactory</Arg>
<Arg/>
</New>
</Arg>
</New>
</Configure> ]]></programlisting>

<para>
Just like in Tomcat, you need to make it available to your deployment by adding this to the bottom of <literal>web.xml</literal>:
</para>

<programlisting role="XML"><![CDATA[<resource-env-ref>
<resource-env-ref-name>BeanManager</resource-env-ref-name>
<resource-env-ref-type>
javax.enterprise.inject.spi.BeanManager
</resource-env-ref-type>
</resource-env-ref>]]></programlisting>

<para>
Notice that Jetty doesn't not have built-in support for an <literal>javax.naming.spi.ObjectFactory</literal>
like Tomcat, so it's necessary to manually create the <literal>javax.naming.Reference</literal> to wrap
Expand Down
Expand Up @@ -2,6 +2,7 @@

import static org.jboss.weld.environment.servlet.test.util.Deployments.CONTEXT_PATH;
import static org.jboss.weld.environment.servlet.test.util.Deployments.baseDeployment;
import static org.jboss.weld.environment.servlet.test.util.Deployments.extendDefaultWebXml;

import javax.servlet.http.HttpServletResponse;

Expand All @@ -16,7 +17,7 @@
public class FilterInjectionTestBase
{

public static final Asset WEB_XML = new ByteArrayAsset(("<web-app><listener><listener-class>org.jboss.weld.environment.servlet.Listener</listener-class></listener> <filter><filter-name>Cat Filter</filter-name><filter-class>" + CatFilter.class.getName() + "</filter-class></filter><filter-mapping><filter-name>Cat Filter</filter-name><url-pattern>/cat</url-pattern></filter-mapping> <servlet><servlet-name>Wolverine Servlet</servlet-name><servlet-class>" + WolverineServlet.class.getName() + "</servlet-class></servlet> <servlet-mapping><servlet-name>Wolverine Servlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping></web-app>").getBytes());
public static final Asset WEB_XML = new ByteArrayAsset(extendDefaultWebXml("<filter><filter-name>Cat Filter</filter-name><filter-class>" + CatFilter.class.getName() + "</filter-class></filter><filter-mapping><filter-name>Cat Filter</filter-name><url-pattern>/cat</url-pattern></filter-mapping> <servlet><servlet-name>Wolverine Servlet</servlet-name><servlet-class>" + WolverineServlet.class.getName() + "</servlet-class></servlet> <servlet-mapping><servlet-name>Wolverine Servlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping>").getBytes());

public static WebArchive deployment()
{
Expand Down
Expand Up @@ -2,6 +2,7 @@

import static org.jboss.weld.environment.servlet.test.util.Deployments.CONTEXT_PATH;
import static org.jboss.weld.environment.servlet.test.util.Deployments.baseDeployment;
import static org.jboss.weld.environment.servlet.test.util.Deployments.extendDefaultWebXml;

import javax.servlet.http.HttpServletResponse;

Expand All @@ -17,7 +18,7 @@
public class ListenerInjectionTestBase
{

public static final Asset WEB_XML = new ByteArrayAsset(("<web-app> <listener><listener-class>org.jboss.weld.environment.servlet.Listener</listener-class></listener> <listener><listener-class>" + BatListener.class.getName() + "</listener-class></listener> <servlet><servlet-name>Bat Servlet</servlet-name><servlet-class>org.jboss.weld.test.tomcat.lookup.BatServlet</servlet-class></servlet> <servlet-mapping><servlet-name>Bat Servlet</servlet-name><url-pattern>/bat</url-pattern></servlet-mapping> </web-app>").getBytes());
public static final Asset WEB_XML = new ByteArrayAsset(extendDefaultWebXml("<listener><listener-class>" + BatListener.class.getName() + "</listener-class></listener> <servlet><servlet-name>Bat Servlet</servlet-name><servlet-class>" + BatServlet.class.getName() + "</servlet-class></servlet> <servlet-mapping><servlet-name>Bat Servlet</servlet-name><url-pattern>/bat</url-pattern></servlet-mapping>").getBytes());

public static WebArchive deployment()
{
Expand Down
Expand Up @@ -2,6 +2,7 @@

import static org.jboss.weld.environment.servlet.test.util.Deployments.CONTEXT_PATH;
import static org.jboss.weld.environment.servlet.test.util.Deployments.baseDeployment;
import static org.jboss.weld.environment.servlet.test.util.Deployments.extendDefaultWebXml;

import javax.servlet.http.HttpServletResponse;

Expand All @@ -16,7 +17,7 @@
public class ServletInjectionTestBase
{

public static final Asset WEB_XML = new ByteArrayAsset(("<web-app> <listener><listener-class>org.jboss.weld.environment.servlet.Listener</listener-class></listener> <servlet><servlet-name>Rat Servlet</servlet-name><servlet-class>" + RatServlet.class.getName() + "</servlet-class></servlet> <servlet-mapping><servlet-name>Rat Servlet</servlet-name><url-pattern>/rat</url-pattern></servlet-mapping> </web-app>").getBytes());
public static final Asset WEB_XML = new ByteArrayAsset(extendDefaultWebXml("<servlet><servlet-name>Rat Servlet</servlet-name><servlet-class>" + RatServlet.class.getName() + "</servlet-class></servlet> <servlet-mapping><servlet-name>Rat Servlet</servlet-name><url-pattern>/rat</url-pattern></servlet-mapping>").getBytes());

public static WebArchive deployment()
{
Expand Down
Expand Up @@ -11,7 +11,10 @@ public class Deployments
public static final String WELD_SERVLET_ARTIFACT_NAME = "org.jboss.weld.servlet:weld-servlet";
public static final String CONTEXT_PATH = "http://localhost:8888/test";

public static final Asset ARQUILLIAN_WEB_XML = new ByteArrayAsset("<web-app> <servlet><servlet-name>ServletTestRunner</servlet-name><servlet-class>org.jboss.arquillian.protocol.servlet_3.ServletTestRunner</servlet-class></servlet> <servlet-mapping><servlet-name>ServletTestRunner</servlet-name><url-pattern>/ArquillianServletRunner</url-pattern></servlet-mapping> <listener><listener-class>org.jboss.weld.environment.servlet.Listener</listener-class></listener> </web-app>".getBytes());
private static final String DEFAULT_WEB_XML_PREFIX = "<web-app> <servlet><servlet-name>ServletTestRunner</servlet-name><servlet-class>org.jboss.arquillian.protocol.servlet_3.ServletTestRunner</servlet-class></servlet> <servlet-mapping><servlet-name>ServletTestRunner</servlet-name><url-pattern>/ArquillianServletRunner</url-pattern></servlet-mapping> <listener><listener-class>org.jboss.weld.environment.servlet.Listener</listener-class></listener> <resource-env-ref><resource-env-ref-name>BeanManager</resource-env-ref-name><resource-env-ref-type>javax.enterprise.inject.spi.BeanManager</resource-env-ref-type></resource-env-ref> ";
private static final String DEFAULT_WEB_XML_SUFFIX = "</web-app>";

public static final Asset DEFAULT_WEB_XML = new ByteArrayAsset((DEFAULT_WEB_XML_PREFIX + DEFAULT_WEB_XML_SUFFIX).getBytes());

public static WebArchive baseDeployment(BeansXml beansXml, Asset webXml)
{
Expand All @@ -20,17 +23,28 @@ public static WebArchive baseDeployment(BeansXml beansXml, Asset webXml)

public static WebArchive baseDeployment(BeansXml beansXml)
{
return baseDeployment(beansXml, ARQUILLIAN_WEB_XML);
return baseDeployment(beansXml, DEFAULT_WEB_XML);
}

public static WebArchive baseDeployment()
{
return baseDeployment(new BeansXml(), ARQUILLIAN_WEB_XML);
return baseDeployment(new BeansXml(), DEFAULT_WEB_XML);
}

public static WebArchive baseDeployment(Asset webXml)
{
return baseDeployment(new BeansXml(), webXml);
}

/**
* Inserts the extension into the end of the default web.xml (just before closing web-app)
*
* @param extension
* @return
*/
public static String extendDefaultWebXml(String extension)
{
return DEFAULT_WEB_XML_PREFIX + extension + DEFAULT_WEB_XML_SUFFIX;
}

}
@@ -1,25 +1,25 @@
package org.jboss.weld.environment.servlet.test.tomcat.lookup;

import static org.jboss.arquillian.api.RunModeType.AS_CLIENT;
import static org.jboss.weld.environment.servlet.test.util.JettyDeployments.JETTY_ENV;
import static org.jboss.weld.environment.servlet.test.util.JettyDeployments.JETTY_WEB;

import org.jboss.arquillian.api.Deployment;
import org.jboss.arquillian.api.Run;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.jboss.weld.environment.servlet.test.injection.FilterInjectionTestBase;
import org.junit.runner.RunWith;

@RunWith(Arquillian.class)
@Run(AS_CLIENT)
public class FilterInjectionTest extends FilterInjectionTestBase
{

@Deployment
public static WebArchive deployment()
{
return FilterInjectionTestBase.deployment().addWebResource(JETTY_ENV, "jetty-env.xml").addWebResource(JETTY_WEB, "jetty-web.xml");
}

}
package org.jboss.weld.environment.servlet.test.injection;

import static org.jboss.arquillian.api.RunModeType.AS_CLIENT;
import static org.jboss.weld.environment.servlet.test.util.JettyDeployments.JETTY_ENV;
import static org.jboss.weld.environment.servlet.test.util.JettyDeployments.JETTY_WEB;

import org.jboss.arquillian.api.Deployment;
import org.jboss.arquillian.api.Run;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.jboss.weld.environment.servlet.test.injection.FilterInjectionTestBase;
import org.junit.runner.RunWith;

@RunWith(Arquillian.class)
@Run(AS_CLIENT)
public class FilterInjectionTest extends FilterInjectionTestBase
{

@Deployment
public static WebArchive deployment()
{
return FilterInjectionTestBase.deployment().addWebResource(JETTY_ENV, "jetty-env.xml").addWebResource(JETTY_WEB, "jetty-web.xml");
}

}
@@ -1,25 +1,25 @@
package org.jboss.weld.environment.servlet.test.tomcat.lookup;

import static org.jboss.arquillian.api.RunModeType.AS_CLIENT;
import static org.jboss.weld.environment.servlet.test.util.JettyDeployments.JETTY_ENV;
import static org.jboss.weld.environment.servlet.test.util.JettyDeployments.JETTY_WEB;

import org.jboss.arquillian.api.Deployment;
import org.jboss.arquillian.api.Run;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.jboss.weld.environment.servlet.test.injection.ListenerInjectionTestBase;
import org.junit.runner.RunWith;

@RunWith(Arquillian.class)
@Run(AS_CLIENT)
public class ListenerInjectionTest extends ListenerInjectionTestBase
{

@Deployment
public static WebArchive deployment()
{
return ListenerInjectionTestBase.deployment().addWebResource(JETTY_ENV, "jetty-env.xml").addWebResource(JETTY_WEB, "jetty-web.xml");
}

}
package org.jboss.weld.environment.servlet.test.injection;

import static org.jboss.arquillian.api.RunModeType.AS_CLIENT;
import static org.jboss.weld.environment.servlet.test.util.JettyDeployments.JETTY_ENV;
import static org.jboss.weld.environment.servlet.test.util.JettyDeployments.JETTY_WEB;

import org.jboss.arquillian.api.Deployment;
import org.jboss.arquillian.api.Run;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.jboss.weld.environment.servlet.test.injection.ListenerInjectionTestBase;
import org.junit.runner.RunWith;

@RunWith(Arquillian.class)
@Run(AS_CLIENT)
public class ListenerInjectionTest extends ListenerInjectionTestBase
{

@Deployment
public static WebArchive deployment()
{
return ListenerInjectionTestBase.deployment().addWebResource(JETTY_ENV, "jetty-env.xml").addWebResource(JETTY_WEB, "jetty-web.xml");
}

}
@@ -1,4 +1,4 @@
package org.jboss.weld.environment.servlet.test.tomcat.lookup;
package org.jboss.weld.environment.servlet.test.injection;



Expand Down
@@ -1,4 +1,4 @@
package org.jboss.weld.environment.servlet.test.tomcat.lookup;
package org.jboss.weld.environment.servlet.test.injection;

import static org.jboss.arquillian.api.RunModeType.AS_CLIENT;
import static org.jboss.weld.environment.servlet.test.util.JettyDeployments.JETTY_ENV;
Expand Down
@@ -1,24 +1,24 @@
package org.jboss.weld.environment.servlet.test.tomcat.lookup;

import static org.jboss.arquillian.api.RunModeType.AS_CLIENT;
import static org.jboss.weld.environment.servlet.test.util.TomcatDeployments.CONTEXT_XML;

import org.jboss.arquillian.api.Deployment;
import org.jboss.arquillian.api.Run;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.jboss.weld.environment.servlet.test.injection.FilterInjectionTestBase;
import org.junit.runner.RunWith;

@RunWith(Arquillian.class)
@Run(AS_CLIENT)
public class FilterInjectionTest extends FilterInjectionTestBase
{

@Deployment
public static WebArchive deployment()
{
return FilterInjectionTestBase.deployment().add(CONTEXT_XML, "META-INF/context.xml");
}

}
package org.jboss.weld.environment.servlet.test.injection;

import static org.jboss.arquillian.api.RunModeType.AS_CLIENT;
import static org.jboss.weld.environment.servlet.test.util.TomcatDeployments.CONTEXT_XML;

import org.jboss.arquillian.api.Deployment;
import org.jboss.arquillian.api.Run;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.jboss.weld.environment.servlet.test.injection.FilterInjectionTestBase;
import org.junit.runner.RunWith;

@RunWith(Arquillian.class)
@Run(AS_CLIENT)
public class FilterInjectionTest extends FilterInjectionTestBase
{

@Deployment
public static WebArchive deployment()
{
return FilterInjectionTestBase.deployment().add(CONTEXT_XML, "META-INF/context.xml");
}

}
@@ -1,25 +1,25 @@
package org.jboss.weld.environment.servlet.test.tomcat.lookup;

import static org.jboss.arquillian.api.RunModeType.AS_CLIENT;
import static org.jboss.weld.environment.servlet.test.util.TomcatDeployments.CONTEXT_XML;

import org.jboss.arquillian.api.Deployment;
import org.jboss.arquillian.api.Run;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.jboss.weld.environment.servlet.test.injection.ListenerInjectionTestBase;
import org.junit.runner.RunWith;


@RunWith(Arquillian.class)
@Run(AS_CLIENT)
public class ListenerInjectionTest extends ListenerInjectionTestBase
{

@Deployment
public static WebArchive deployment()
{
return ListenerInjectionTestBase.deployment().add(CONTEXT_XML, "META-INF/context.xml");
}

}
package org.jboss.weld.environment.servlet.test.injection;

import static org.jboss.arquillian.api.RunModeType.AS_CLIENT;
import static org.jboss.weld.environment.servlet.test.util.TomcatDeployments.CONTEXT_XML;

import org.jboss.arquillian.api.Deployment;
import org.jboss.arquillian.api.Run;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.jboss.weld.environment.servlet.test.injection.ListenerInjectionTestBase;
import org.junit.runner.RunWith;


@RunWith(Arquillian.class)
@Run(AS_CLIENT)
public class ListenerInjectionTest extends ListenerInjectionTestBase
{

@Deployment
public static WebArchive deployment()
{
return ListenerInjectionTestBase.deployment().add(CONTEXT_XML, "META-INF/context.xml");
}

}
@@ -1,4 +1,4 @@
package org.jboss.weld.environment.servlet.test.tomcat.lookup;
package org.jboss.weld.environment.servlet.test.injection;



Expand Down
@@ -1,4 +1,4 @@
package org.jboss.weld.environment.servlet.test.tomcat.lookup;
package org.jboss.weld.environment.servlet.test.injection;

import static org.jboss.arquillian.api.RunModeType.AS_CLIENT;
import static org.jboss.weld.environment.servlet.test.util.TomcatDeployments.CONTEXT_XML;
Expand Down

0 comments on commit b51125a

Please sign in to comment.