[jboss-svn-commits] JBoss Common SVN: r3967 - in shrinkwrap/trunk: extension-jetty and 22 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat Jan 30 15:30:20 EST 2010


Author: ALRubinger
Date: 2010-01-30 15:30:19 -0500 (Sat, 30 Jan 2010)
New Revision: 3967

Added:
   shrinkwrap/trunk/extension-jetty/
   shrinkwrap/trunk/extension-jetty/pom.xml
   shrinkwrap/trunk/extension-jetty/src/
   shrinkwrap/trunk/extension-jetty/src/main/
   shrinkwrap/trunk/extension-jetty/src/main/java/
   shrinkwrap/trunk/extension-jetty/src/main/java/org/
   shrinkwrap/trunk/extension-jetty/src/main/java/org/jboss/
   shrinkwrap/trunk/extension-jetty/src/main/java/org/jboss/shrinkwrap/
   shrinkwrap/trunk/extension-jetty/src/main/java/org/jboss/shrinkwrap/jetty/
   shrinkwrap/trunk/extension-jetty/src/main/java/org/jboss/shrinkwrap/jetty/api/
   shrinkwrap/trunk/extension-jetty/src/main/java/org/jboss/shrinkwrap/jetty/api/ShrinkWrapWebAppContext.java
   shrinkwrap/trunk/extension-jetty/src/main/resources/
   shrinkwrap/trunk/extension-jetty/src/main/resources/META-INF/
   shrinkwrap/trunk/extension-jetty/src/main/resources/META-INF/services/
   shrinkwrap/trunk/extension-jetty/src/main/resources/META-INF/services/org.jboss.shrinkwrap.jetty.api.ShrinkWrapWebAppContext
   shrinkwrap/trunk/extension-jetty/src/test/
   shrinkwrap/trunk/extension-jetty/src/test/java/
   shrinkwrap/trunk/extension-jetty/src/test/java/org/
   shrinkwrap/trunk/extension-jetty/src/test/java/org/jboss/
   shrinkwrap/trunk/extension-jetty/src/test/java/org/jboss/shrinkwrap/
   shrinkwrap/trunk/extension-jetty/src/test/java/org/jboss/shrinkwrap/jetty/
   shrinkwrap/trunk/extension-jetty/src/test/java/org/jboss/shrinkwrap/jetty/servlet/
   shrinkwrap/trunk/extension-jetty/src/test/java/org/jboss/shrinkwrap/jetty/servlet/JspForwardingServlet.java
   shrinkwrap/trunk/extension-jetty/src/test/java/org/jboss/shrinkwrap/jetty/test/
   shrinkwrap/trunk/extension-jetty/src/test/java/org/jboss/shrinkwrap/jetty/test/JettyDeploymentIntegrationUnitTestCase.java
   shrinkwrap/trunk/extension-jetty/src/test/resources/
   shrinkwrap/trunk/extension-jetty/src/test/resources/jsp/
   shrinkwrap/trunk/extension-jetty/src/test/resources/jsp/requestParamEcho.jsp
   shrinkwrap/trunk/extension-jetty/src/test/resources/webxml/
   shrinkwrap/trunk/extension-jetty/src/test/resources/webxml/servletForwardingToJsp.xml
Modified:
   shrinkwrap/trunk/pom.xml
Log:
[SHRINKWRAP-125] First pass at functional Jetty integration


Property changes on: shrinkwrap/trunk/extension-jetty
___________________________________________________________________
Name: svn:ignore
   + svn:ignore
target
.classpath
.project
.settings
bin


Added: shrinkwrap/trunk/extension-jetty/pom.xml
===================================================================
--- shrinkwrap/trunk/extension-jetty/pom.xml	                        (rev 0)
+++ shrinkwrap/trunk/extension-jetty/pom.xml	2010-01-30 20:30:19 UTC (rev 3967)
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+  <!--
+  vi:ts=2:sw=2:expandtab:
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <!-- Parent -->
+  <parent>
+    <groupId>org.jboss.shrinkwrap</groupId>
+    <artifactId>shrinkwrap-build</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
+    <relativePath>../build/pom.xml</relativePath>
+  </parent>
+
+  <!-- Model Version -->
+  <modelVersion>4.0.0</modelVersion>
+
+  <!-- Artifact Configuration -->
+  <artifactId>shrinkwrap-extension-jetty</artifactId>
+  <name>ShrinkWrap Jetty Integration Extension</name>
+  <description>ShrinkWrap integration extension for the Jetty Project</description>
+
+
+  <!-- Properties -->
+  <properties>
+  
+    <!-- Versioning -->
+    <version.org.mortbay.jetty_jetty>6.1.22</version.org.mortbay.jetty_jetty>
+    <version.org.apache.httpcomponents_httpclient>4.0.1</version.org.apache.httpcomponents_httpclient>
+
+  </properties>
+
+  <!-- Dependencies -->
+  <dependencies>
+
+    <!-- 
+    org.jboss.shrinkwrap    
+     -->
+    <dependency>
+      <groupId>org.jboss.shrinkwrap</groupId>
+      <artifactId>shrinkwrap-api</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.shrinkwrap</groupId>
+      <artifactId>shrinkwrap-impl-base</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+
+    <!-- 
+    External Projects
+     -->
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+    
+    <!-- org.mortbay.jetty --> 
+    <dependency>
+      <groupId>org.mortbay.jetty</groupId>
+      <artifactId>jetty</artifactId>
+      <version>${version.org.mortbay.jetty_jetty}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.mortbay.jetty</groupId>
+      <artifactId>jsp-2.1-jetty</artifactId>
+      <version>${version.org.mortbay.jetty_jetty}</version>
+      <scope>provided</scope>
+    </dependency> 
+    
+    <!-- org.apache.httpcomponents -->
+    <dependency>
+      <groupId>org.apache.httpcomponents</groupId>
+      <artifactId>httpclient</artifactId>
+      <version>${version.org.apache.httpcomponents_httpclient}</version>
+      <scope>test</scope>
+    </dependency>
+
+  </dependencies>
+
+  <!-- Build Configuration -->
+  <build>
+  
+    <plugins>
+
+    </plugins>
+    
+  </build>
+  
+</project>
+

Added: shrinkwrap/trunk/extension-jetty/src/main/java/org/jboss/shrinkwrap/jetty/api/ShrinkWrapWebAppContext.java
===================================================================
--- shrinkwrap/trunk/extension-jetty/src/main/java/org/jboss/shrinkwrap/jetty/api/ShrinkWrapWebAppContext.java	                        (rev 0)
+++ shrinkwrap/trunk/extension-jetty/src/main/java/org/jboss/shrinkwrap/jetty/api/ShrinkWrapWebAppContext.java	2010-01-30 20:30:19 UTC (rev 3967)
@@ -0,0 +1,157 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.shrinkwrap.jetty.api;
+
+import java.io.File;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+import java.util.logging.Logger;
+
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.Assignable;
+import org.jboss.shrinkwrap.api.exporter.ZipExporter;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.mortbay.jetty.Server;
+import org.mortbay.jetty.webapp.WebAppContext;
+
+/**
+ * Jetty's {@link WebAppContext} backed by a ShrinkWrap
+ * {@link Archive}; capable of being deployed into 
+ * the Embedded Jetty {@link Server}
+ * 
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision: $
+ */
+public class ShrinkWrapWebAppContext extends WebAppContext implements Assignable
+{
+
+   //-------------------------------------------------------------------------------------||
+   // Class Members ----------------------------------------------------------------------||
+   //-------------------------------------------------------------------------------------||
+
+   /**
+    * Logger
+    */
+   private static final Logger log = Logger.getLogger(ShrinkWrapWebAppContext.class.getName());
+
+   /**
+    * System property denoting the name of the temp directory
+    */
+   private static final String SYSPROP_KEY_TMP_DIR = "java.io.tmpdir";
+
+   /**
+    * Temporary directory into which we'll extract the {@link WebArchive}s
+    */
+   private static final File TMP_DIR;
+   static
+   {
+      TMP_DIR = new File(AccessController.doPrivileged(new PrivilegedAction<String>()
+      {
+
+         @Override
+         public String run()
+         {
+            return System.getProperty(SYSPROP_KEY_TMP_DIR);
+         }
+
+      }));
+      // If the temp location doesn't exist or isn't a directory
+      if (!TMP_DIR.exists() || !TMP_DIR.isDirectory())
+      {
+         throw new IllegalStateException("Could not obtain temp directory \"" + TMP_DIR.getAbsolutePath() + "\"");
+      }
+   }
+
+   /**
+    *  /
+    */
+   private static final char ROOT = '/';
+
+   //-------------------------------------------------------------------------------------||
+   // Instance Members -------------------------------------------------------------------||
+   //-------------------------------------------------------------------------------------||
+
+   /**
+    * Underlying delegate
+    */
+   private final Archive<?> archive;
+
+   //-------------------------------------------------------------------------------------||
+   // Constructor ------------------------------------------------------------------------||
+   //-------------------------------------------------------------------------------------||
+
+   /**
+    * Creates a new {@link ShrinkWrapWebAppContext} using the 
+    * specified underlying archive
+    * 
+    * @throws IllegalArgumentException If the archive is not specified
+    */
+   public ShrinkWrapWebAppContext(final Archive<?> archive) throws IllegalArgumentException
+   {
+      // Invoke super
+      super();
+
+      // Precondition checks
+      if (archive == null)
+      {
+         throw new IllegalArgumentException("archive must be specified");
+      }
+
+      // Flush to file
+      final String name = archive.getName();
+      final File exported = new File(TMP_DIR, name);
+      archive.as(ZipExporter.class).exportZip(exported);
+
+      // Mark to delete when we come down
+      exported.deleteOnExit();
+
+      // Add the context
+      final URL url;
+      try
+      {
+         url = exported.toURI().toURL();
+      }
+      catch (final MalformedURLException e)
+      {
+         throw new RuntimeException("Could not obtain URL of File " + exported.getAbsolutePath(), e);
+      }
+      log.info("Webapp location: " + url);
+
+      // Set properties regarding the webbapp
+      this.setWar(url.toExternalForm());
+      this.setContextPath(ROOT + name);
+
+      // Remember the archive from which we're created
+      this.archive = archive;
+   }
+
+   //-------------------------------------------------------------------------------------||
+   // Required Implementations -----------------------------------------------------------||
+   //-------------------------------------------------------------------------------------||
+
+   /**
+    * {@inheritDoc}
+    * @see org.jboss.shrinkwrap.api.Assignable#as(java.lang.Class)
+    */
+   @Override
+   public <TYPE extends Assignable> TYPE as(final Class<TYPE> clazz)
+   {
+      return archive.as(clazz);
+   }
+}

Added: shrinkwrap/trunk/extension-jetty/src/main/resources/META-INF/services/org.jboss.shrinkwrap.jetty.api.ShrinkWrapWebAppContext
===================================================================
--- shrinkwrap/trunk/extension-jetty/src/main/resources/META-INF/services/org.jboss.shrinkwrap.jetty.api.ShrinkWrapWebAppContext	                        (rev 0)
+++ shrinkwrap/trunk/extension-jetty/src/main/resources/META-INF/services/org.jboss.shrinkwrap.jetty.api.ShrinkWrapWebAppContext	2010-01-30 20:30:19 UTC (rev 3967)
@@ -0,0 +1 @@
+org.jboss.shrinkwrap.jetty.api.ShrinkWrapWebAppContext
\ No newline at end of file

Added: shrinkwrap/trunk/extension-jetty/src/test/java/org/jboss/shrinkwrap/jetty/servlet/JspForwardingServlet.java
===================================================================
--- shrinkwrap/trunk/extension-jetty/src/test/java/org/jboss/shrinkwrap/jetty/servlet/JspForwardingServlet.java	                        (rev 0)
+++ shrinkwrap/trunk/extension-jetty/src/test/java/org/jboss/shrinkwrap/jetty/servlet/JspForwardingServlet.java	2010-01-30 20:30:19 UTC (rev 3967)
@@ -0,0 +1,106 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.shrinkwrap.jetty.servlet;
+
+import java.io.IOException;
+import java.util.logging.Logger;
+
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * JspForwardingServlet
+ * 
+ * Servlet which forwards to a JSP as requested
+ *
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision: $
+ */
+public class JspForwardingServlet extends HttpServlet
+{
+
+   //-------------------------------------------------------------------------------------||
+   // Class Members ----------------------------------------------------------------------||
+   //-------------------------------------------------------------------------------------||
+
+   /**
+    * Logger
+    */
+   private static final Logger log = Logger.getLogger(JspForwardingServlet.class.getName());
+
+   /**
+    * serialVersionUID
+    */
+   private static final long serialVersionUID = 1L;
+
+   /**
+    * Name of the request parameter denoting which JSP to forward
+    */
+   public static final String REQ_PARAM_JSP = "jsp";
+
+   /**
+    * Context root
+    */
+   private static final char ROOT = '/';
+
+   /**
+    * Content type to use in forwarding
+    */
+   private static final String CONTENT_TYPE_TEXT_PLAIN = "text/plain";
+
+   //-------------------------------------------------------------------------------------||
+   // Overridden Implementations ---------------------------------------------------------||
+   //-------------------------------------------------------------------------------------||
+
+   /**
+    * Forwards the request to a JSP denoted by the request parameter "jsp", 
+    * returning a status of 400/Bad Request if not specified 
+    * 
+    * @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
+    */
+   @Override
+   protected void doGet(final HttpServletRequest request, final HttpServletResponse response) throws ServletException,
+         IOException
+   {
+      // Log
+      log.info("Request: " + request);
+
+      // Get the target JSP page
+      final String jsp = request.getParameter(REQ_PARAM_JSP);
+
+      // Handle unspecified
+      if (jsp == null)
+      {
+         // HTTP 400 and return
+         response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
+         return;
+      }
+
+      // Set the content-type to text
+      response.setContentType(CONTENT_TYPE_TEXT_PLAIN);
+
+      // Forward
+      final String resolvedLocation = ROOT + jsp;
+      log.info("Forwarding to: " + resolvedLocation);
+      final RequestDispatcher dispatcher = request.getRequestDispatcher(resolvedLocation);
+      dispatcher.forward(request, response);
+   }
+
+}

Added: shrinkwrap/trunk/extension-jetty/src/test/java/org/jboss/shrinkwrap/jetty/test/JettyDeploymentIntegrationUnitTestCase.java
===================================================================
--- shrinkwrap/trunk/extension-jetty/src/test/java/org/jboss/shrinkwrap/jetty/test/JettyDeploymentIntegrationUnitTestCase.java	                        (rev 0)
+++ shrinkwrap/trunk/extension-jetty/src/test/java/org/jboss/shrinkwrap/jetty/test/JettyDeploymentIntegrationUnitTestCase.java	2010-01-30 20:30:19 UTC (rev 3967)
@@ -0,0 +1,189 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.jboss.shrinkwrap.jetty.test;
+
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.logging.Logger;
+
+import junit.framework.Assert;
+
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpResponse;
+import org.apache.http.NameValuePair;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.utils.URIUtils;
+import org.apache.http.client.utils.URLEncodedUtils;
+import org.apache.http.impl.client.DefaultHttpClient;
+import org.apache.http.message.BasicNameValuePair;
+import org.jboss.shrinkwrap.api.ArchivePath;
+import org.jboss.shrinkwrap.api.ArchivePaths;
+import org.jboss.shrinkwrap.api.Archives;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.jboss.shrinkwrap.jetty.api.ShrinkWrapWebAppContext;
+import org.jboss.shrinkwrap.jetty.servlet.JspForwardingServlet;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.mortbay.jetty.Server;
+import org.mortbay.jetty.servlet.Context;
+
+/**
+ * Ensures that deployment on {@link ShrinkWrapWebAppContext} into
+ * the Jetty {@link Server} works as expected
+ * 
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision: $
+ */
+public class JettyDeploymentIntegrationUnitTestCase
+{
+
+   //-------------------------------------------------------------------------------------||
+   // Class Members ----------------------------------------------------------------------||
+   //-------------------------------------------------------------------------------------||
+
+   /**
+    * Logger
+    */
+   private static final Logger log = Logger.getLogger(JettyDeploymentIntegrationUnitTestCase.class.getName());
+
+   /**
+    * Port to which the HTTP server should bind (above 1024 for *nix non-root environments)
+    */
+   private static final int HTTP_BIND_PORT = 12345;
+
+   /**
+    * Path, relative to the resources base, of the directory containing web.xml descriptor for tests
+    */
+   private static final String PATH_RESOURCE_WEB_XML = "webxml/";
+
+   /**
+    * Path, relative to the resources base, of a test web.xml
+    */
+   private static final String PATH_ACTUAL_WEB_XML = PATH_RESOURCE_WEB_XML + "servletForwardingToJsp.xml";
+
+   /**
+    * Path, relative to the resources base, of a test JSP
+    */
+   private static final String PATH_JSP = "jsp/requestParamEcho.jsp";
+
+   /**
+    * URI Separator
+    */
+   private static final char SEPARATOR = '/';
+
+   /**
+    * Jetty server
+    */
+   private static Server server;
+
+   /**
+    * Servlet Class under test
+    */
+   private static final Class<?> servletClass = JspForwardingServlet.class;
+
+   /**
+    * Name of the web application
+    */
+   private static final String NAME_WEBAPP = "testServletJsp";
+
+   /**
+    * Name to assign to the WAR
+    */
+   private static final String NAME_WAR = NAME_WEBAPP + ".war";
+
+   //-------------------------------------------------------------------------------------||
+   // Lifecycle --------------------------------------------------------------------------||
+   //-------------------------------------------------------------------------------------||
+
+   /**
+    * Configures and starts the Embedded Jetty Server
+    */
+   @BeforeClass
+   public static void createServerAndDeployWebapp() throws Exception
+   {
+      // Create the new server
+      server = new Server(HTTP_BIND_PORT);
+
+      final WebArchive archive = Archives.create(NAME_WAR, WebArchive.class);
+      final ArchivePath targetPathWebXml = ArchivePaths.create("web.xml");
+      archive.addWebResource(PATH_ACTUAL_WEB_XML, targetPathWebXml).addResource(PATH_JSP).addClass(servletClass);
+      log.info(archive.toString(true));
+
+      // Deploy
+      final Context context = archive.as(ShrinkWrapWebAppContext.class);
+      server.addHandler(context);
+
+      // Start the service
+      server.start();
+   }
+
+   /**
+    * Stops the Jetty Server
+    * @throws Exception
+    */
+   @AfterClass
+   public static void stopServer() throws Exception
+   {
+      server.stop();
+   }
+
+   //-------------------------------------------------------------------------------------||
+   // Tests ------------------------------------------------------------------------------||
+   //-------------------------------------------------------------------------------------||
+
+   /**
+    * Doesn't really test anything now; shows end-user view only
+    */
+   @Test
+   public void jetty() throws Exception
+   {
+
+      // Get an HTTP Client
+      final HttpClient client = new DefaultHttpClient();
+
+      // Make an HTTP Request, adding in a custom parameter which should be echoed back to us
+      final String echoValue = "ShrinkWrap>Jetty Integration";
+      final List<NameValuePair> params = new ArrayList<NameValuePair>();
+      params.add(new BasicNameValuePair("jsp", PATH_JSP));
+      params.add(new BasicNameValuePair("echo", echoValue));
+      final URI uri = URIUtils.createURI("http", "localhost", HTTP_BIND_PORT, NAME_WAR + SEPARATOR
+            + servletClass.getSimpleName(), URLEncodedUtils.format(params, "UTF-8"), null);
+      final HttpGet request = new HttpGet(uri);
+
+      // Execute the request
+      log.info("Executing request to: " + request.getURI());
+      final HttpResponse response = client.execute(request);
+      final HttpEntity entity = response.getEntity();
+      if (entity == null)
+      {
+         Assert.fail("Request returned no entity");
+      }
+
+      // Read the result, ensure it's what we're expecting (should be the value of request param "echo")
+      final BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent()));
+      final String line = reader.readLine();
+      Assert.assertEquals("Unexpected response from Servlet", echoValue, line);
+
+   }
+
+}

Added: shrinkwrap/trunk/extension-jetty/src/test/resources/jsp/requestParamEcho.jsp
===================================================================
--- shrinkwrap/trunk/extension-jetty/src/test/resources/jsp/requestParamEcho.jsp	                        (rev 0)
+++ shrinkwrap/trunk/extension-jetty/src/test/resources/jsp/requestParamEcho.jsp	2010-01-30 20:30:19 UTC (rev 3967)
@@ -0,0 +1 @@
+${param.echo}
\ No newline at end of file

Added: shrinkwrap/trunk/extension-jetty/src/test/resources/webxml/servletForwardingToJsp.xml
===================================================================
--- shrinkwrap/trunk/extension-jetty/src/test/resources/webxml/servletForwardingToJsp.xml	                        (rev 0)
+++ shrinkwrap/trunk/extension-jetty/src/test/resources/webxml/servletForwardingToJsp.xml	2010-01-30 20:30:19 UTC (rev 3967)
@@ -0,0 +1,13 @@
+<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+  version="2.5">
+  <servlet>
+    <servlet-name>JspForwardingServlet</servlet-name>
+    <servlet-class>org.jboss.shrinkwrap.jetty.servlet.JspForwardingServlet
+    </servlet-class>
+  </servlet>
+  <servlet-mapping>
+    <servlet-name>JspForwardingServlet</servlet-name>
+    <url-pattern>/JspForwardingServlet</url-pattern>
+  </servlet-mapping>
+</web-app>

Modified: shrinkwrap/trunk/pom.xml
===================================================================
--- shrinkwrap/trunk/pom.xml	2010-01-30 07:08:44 UTC (rev 3966)
+++ shrinkwrap/trunk/pom.xml	2010-01-30 20:30:19 UTC (rev 3967)
@@ -69,8 +69,8 @@
     <module>build</module>
     <module>impl-base</module>
     <module>spi</module>
-
     <module>extension-glassfish</module>
+    <module>extension-jetty</module>
   </modules>
 
 </project>



More information about the jboss-svn-commits mailing list