WIP: Versuch den StaticTest zu reparieren...
authorKai Moritz <kai@coolibri.de>
Mon, 11 Jun 2012 22:31:50 +0000 (00:31 +0200)
committerKai Moritz <kai@coolibri.de>
Thu, 2 Aug 2012 07:03:26 +0000 (09:03 +0200)
examples/pom.xml
examples/static/src/main/webapp/WEB-INF/web.xml
pom.xml
test/pom.xml
test/src/main/java/de/halbekunst/juplo/test/HttpTestCase.java
test/src/main/java/de/halbekunst/juplo/test/LoggingHttpServletResponseWrapper.java

index 2dd33ce..cf45de5 100644 (file)
       <plugin>
         <groupId>org.mortbay.jetty</groupId>
         <artifactId>jetty-maven-plugin</artifactId>
-        <version>8.0.1.v20110908</version>
+        <version>${jetty.version}</version>
         <configuration>
           <connectors>
             <connector implementation="org.eclipse.jetty.server.nio.BlockingChannelConnector">
index 9e0b504..288754d 100644 (file)
     <url-pattern>/static</url-pattern>
   </filter-mapping>
 
+
+  <!-- Servlet-Definitions -->
+
+  <servlet>
+    <servlet-name>default</servlet-name>
+    <servlet-class>org.eclipse.jetty.servlet.DefaultServlet</servlet-class>
+  </servlet>
+
+
+  <!-- Servlet-Mappings -->
+
+  <servlet-mapping>
+    <servlet-name>default</servlet-name>
+    <url-pattern>/</url-pattern>
+  </servlet-mapping>
+
 </web-app>
diff --git a/pom.xml b/pom.xml
index 97cb6a2..cc305ec 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -38,6 +38,7 @@
     <aspectj.version>1.6.11</aspectj.version>
     <httpunit.version>1.7.1</httpunit.version>
     <jasper.version>6.0.29</jasper.version>
+    <jetty.version>8.1.4.v20120524</jetty.version>
     <jpa.version>1.0</jpa.version>
     <jstl.version>1.2</jstl.version>
     <junit.version>4.8.1</junit.version>
index d13cdbf..7c3a4b4 100644 (file)
       <version>${springframework.version}</version>
       <scope>provided</scope>
     </dependency>
+    <dependency>
+      <groupId>org.eclipse.jetty</groupId>
+      <artifactId>jetty-servlet</artifactId>
+      <version>${jetty.version}</version>
+    </dependency>
 
     <!-- hidden dependencies -->
     <dependency>
index 76c4646..cbf9946 100644 (file)
@@ -8,6 +8,7 @@ import java.io.File;
 import java.util.Enumeration;
 import javax.servlet.http.HttpServletRequest;
 import org.junit.Before;
+import org.eclipse.jetty.servlet.DefaultServlet;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -38,6 +39,7 @@ public abstract class HttpTestCase {
   @Before
   public void init() throws Exception {
     sr = new ServletRunner(config, ""); // Dies ist der einzige Konstruktor, der die Context-Root der Webapp im Testfall korrekt initialisiert :/
+    sr.registerServlet("default", DefaultServlet.class.getName());
     client = sr.newClient();
   }
 
index f654f2a..075e6a7 100644 (file)
@@ -3,6 +3,7 @@ package de.halbekunst.juplo.test;
 import java.io.IOException;
 import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
+import java.util.Collection;
 import java.util.Date;
 import java.util.Locale;
 import javax.servlet.ServletOutputStream;
@@ -283,6 +284,54 @@ public class LoggingHttpServletResponseWrapper implements HttpServletResponse {
     return locale;
   }
 
+  @Override
+  public int getStatus() {
+    Integer status = response.getStatus();
+    log.trace("{} -- status: {}", no, status);
+    return status;
+  }
+
+  @Override
+  public String getHeader(String name) {
+    String value = response.getHeader(name);
+    log.trace("{} -- header \"{}\": {}", new Object[] { no, name, value });
+    return value;
+  }
+
+  @Override
+  public Collection<String> getHeaders(String name) {
+    Collection<String> values = response.getHeaders(name);
+    if (log.isTraceEnabled()) {
+      StringBuilder builder = new StringBuilder();
+      builder.append(no);
+      builder.append(" -- headers \"");
+      builder.append(name);
+      builder.append("\":");
+      for (String value : values) {
+        builder.append(' ');
+        builder.append(value);
+      }
+      log.trace(builder.toString());
+    }
+    return values;
+  }
+
+  @Override
+  public Collection<String> getHeaderNames() {
+    Collection<String> values = response.getHeaderNames();
+    if (log.isTraceEnabled()) {
+      StringBuilder builder = new StringBuilder();
+      builder.append(no);
+      builder.append(" -- header-names:");
+      for (String value : values) {
+        builder.append(' ');
+        builder.append(value);
+      }
+      log.trace(builder.toString());
+    }
+    return values;
+  }
+
 
   class CountingServletOutputStream extends ServletOutputStream {