From 2d1eedc2436244b879cba423a42a4fc2c57f7468 Mon Sep 17 00:00:00 2001 From: Julien HENRY Date: Tue, 26 Mar 2013 15:43:46 +0100 Subject: [PATCH] SONAR-4157 Upgrade the embedded Jetty to version 8.1 --- pom.xml | 4 ++-- .../org/sonar/application/JettyEmbedder.java | 24 ++++++++++++------- sonar-ws-client/pom.xml | 5 ++-- .../java/org/sonar/wsclient/SonarTest.java | 15 ++++++++---- 4 files changed, 30 insertions(+), 18 deletions(-) diff --git a/pom.xml b/pom.xml index 2f233609a5d..df4d49b726f 100644 --- a/pom.xml +++ b/pom.xml @@ -1029,8 +1029,8 @@ - org.mortbay.jetty - jetty-servlet-tester + org.eclipse.jetty + test-jetty-servlet ${jetty.version} diff --git a/sonar-application/src/main/java/org/sonar/application/JettyEmbedder.java b/sonar-application/src/main/java/org/sonar/application/JettyEmbedder.java index b6ca00e5c1f..6774d34cafa 100644 --- a/sonar-application/src/main/java/org/sonar/application/JettyEmbedder.java +++ b/sonar-application/src/main/java/org/sonar/application/JettyEmbedder.java @@ -81,21 +81,29 @@ public class JettyEmbedder { private Server configureProgrammatically() throws URISyntaxException { configureServer(); - HandlerCollection handlers = new HandlerCollection(); - WebAppContext context = new WebAppContext(getPath("/war/sonar-server"), contextPath); - String filenamePattern = configuration.getProperty("sonar.web.jettyRequestLogs"); - RequestLogHandler requestLogHandler = configureRequestLogHandler(filenamePattern); + + List handlers = new ArrayList(); + String shutdownCookie = System.getProperty("sonar.shutdownToken"); if (shutdownCookie != null && !"".equals(shutdownCookie)) { System.out.println("Registering shutdown handler"); ShutdownHandler shutdownHandler = new ShutdownHandler(server, shutdownCookie); shutdownHandler.setExitJvm(true); - handlers.setHandlers(new Handler[] {shutdownHandler, context, requestLogHandler}); + handlers.add(shutdownHandler); } - else { - handlers.setHandlers(new Handler[] {context, requestLogHandler}); + + WebAppContext context = new WebAppContext(getPath("/war/sonar-server"), contextPath); + handlers.add(context); + + String filenamePattern = configuration.getProperty("sonar.web.jettyRequestLogs"); + if (filenamePattern != null) { + handlers.add(configureRequestLogHandler(filenamePattern)); } - server.setHandler(handlers); + + HandlerCollection handler = new HandlerCollection(); + handler.setHandlers(handlers.toArray(new Handler[handlers.size()])); + server.setHandler(handler); + return server; } diff --git a/sonar-ws-client/pom.xml b/sonar-ws-client/pom.xml index 06e24d43d77..e0b7dc6febb 100644 --- a/sonar-ws-client/pom.xml +++ b/sonar-ws-client/pom.xml @@ -72,9 +72,8 @@ test - org.mortbay.jetty - jetty-servlet-tester - 6.1.6 + org.eclipse.jetty + test-jetty-servlet test diff --git a/sonar-ws-client/src/test/java/org/sonar/wsclient/SonarTest.java b/sonar-ws-client/src/test/java/org/sonar/wsclient/SonarTest.java index 49ce5918fef..36d55ec09b1 100644 --- a/sonar-ws-client/src/test/java/org/sonar/wsclient/SonarTest.java +++ b/sonar-ws-client/src/test/java/org/sonar/wsclient/SonarTest.java @@ -19,15 +19,20 @@ */ package org.sonar.wsclient; +import org.eclipse.jetty.testing.ServletTester; import org.junit.AfterClass; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; -import org.mortbay.jetty.testing.ServletTester; import org.sonar.wsclient.connectors.ConnectionException; import org.sonar.wsclient.connectors.HttpClient3Connector; import org.sonar.wsclient.connectors.HttpClient4Connector; -import org.sonar.wsclient.services.*; +import org.sonar.wsclient.services.Metric; +import org.sonar.wsclient.services.MetricQuery; +import org.sonar.wsclient.services.Query; +import org.sonar.wsclient.services.RuleQuery; +import org.sonar.wsclient.services.Server; +import org.sonar.wsclient.services.ServerQuery; import org.sonar.wsclient.unmarshallers.UnmarshalException; import java.util.Arrays; @@ -68,9 +73,9 @@ public class SonarTest { baseUrl = tester.createSocketConnector(true); tester.start(); - return Arrays.asList(new Object[][]{ - {new Sonar(new HttpClient4Connector(new Host(baseUrl)))}, - {new Sonar(new HttpClient3Connector(new Host(baseUrl)))} + return Arrays.asList(new Object[][] { + {new Sonar(new HttpClient4Connector(new Host(baseUrl)))}, + {new Sonar(new HttpClient3Connector(new Host(baseUrl)))} }); }