You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ja...@apache.org on 2015/01/15 11:09:19 UTC

svn commit: r1652026 - in /felix/trunk/http: base/ base/src/main/java/org/apache/felix/http/base/internal/context/ base/src/main/java/org/apache/felix/http/base/internal/handler/ base/src/test/java/org/apache/felix/http/base/internal/context/ bridge/ b...

Author: jawi
Date: Thu Jan 15 10:09:19 2015
New Revision: 1652026

URL: http://svn.apache.org/r1652026
Log:
FELIX-4550 - Upgrade to Jetty 9:

- applied patch from Stefan Seifert (= the improved patch from
  Chetan Mehrotra);
- once again bumped Jetty version to latest: 9.2.6;
- bumped versions of individual projects;
- to do is checking whether JDK 1.7 is necessary for all sub-
  projects.


Modified:
    felix/trunk/http/base/pom.xml
    felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/context/ServletContextImpl.java
    felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/handler/FilterHandler.java
    felix/trunk/http/base/src/test/java/org/apache/felix/http/base/internal/context/ServletContextImplTest.java
    felix/trunk/http/bridge/pom.xml
    felix/trunk/http/bundle/pom.xml
    felix/trunk/http/cometd/pom.xml
    felix/trunk/http/itest/pom.xml
    felix/trunk/http/itest/src/test/java/org/apache/felix/http/itest/HttpJettyConnectorTest.java
    felix/trunk/http/itest/src/test/java/org/apache/felix/http/itest/RequestDispatchTest.java
    felix/trunk/http/jetty/pom.xml
    felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/ConnectorFactory.java
    felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/ConnectorFactoryTracker.java
    felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/JettyConfig.java
    felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/JettyLogger.java
    felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/JettyService.java
    felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/MBeanServerTracker.java
    felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/WebAppBundleContext.java
    felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/package-info.java
    felix/trunk/http/jetty/src/main/resources/OSGI-INF/metatype/metatype.properties
    felix/trunk/http/jetty/src/main/resources/OSGI-INF/metatype/metatype.xml
    felix/trunk/http/jetty/src/test/java/org/apache/felix/http/jetty/internal/JettyServiceTest.java
    felix/trunk/http/parent/pom.xml
    felix/trunk/http/samples/bridge/pom.xml
    felix/trunk/http/samples/cometd/pom.xml
    felix/trunk/http/samples/filter/pom.xml
    felix/trunk/http/samples/whiteboard/pom.xml
    felix/trunk/http/servlet-api/pom.xml
    felix/trunk/http/sslfilter/pom.xml
    felix/trunk/http/sslfilter/src/test/java/org/apache/felix/http/sslfilter/internal/SslFilterResponseTest.java
    felix/trunk/http/whiteboard/pom.xml

Modified: felix/trunk/http/base/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/http/base/pom.xml?rev=1652026&r1=1652025&r2=1652026&view=diff
==============================================================================
--- felix/trunk/http/base/pom.xml (original)
+++ felix/trunk/http/base/pom.xml Thu Jan 15 10:09:19 2015
@@ -28,7 +28,7 @@
 
     <name>Apache Felix Http Base</name>
     <artifactId>org.apache.felix.http.base</artifactId>
-    <version>2.3.3-SNAPSHOT</version>
+    <version>2.4.0-SNAPSHOT</version>
     <packaging>jar</packaging>
 
     <scm>
@@ -76,7 +76,7 @@
         <dependency>
             <groupId>${project.groupId}</groupId>
             <artifactId>org.apache.felix.http.api</artifactId>
-            <version>${project.version}</version>
+            <version>${http.api.version}</version>
         </dependency>
     </dependencies>
 

Modified: felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/context/ServletContextImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/context/ServletContextImpl.java?rev=1652026&r1=1652025&r2=1652026&view=diff
==============================================================================
--- felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/context/ServletContextImpl.java (original)
+++ felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/context/ServletContextImpl.java Thu Jan 15 10:09:19 2015
@@ -140,6 +140,10 @@ public class ServletContextImpl implemen
         this.context.declareRoles(roleNames);
     }
 
+    public String getVirtualServerName() {
+        return context.getVirtualServerName();
+    }
+
     public Object getAttribute(String name)
     {
         return (this.attributes != null) ? this.attributes.get(name) : this.context.getAttribute(name);

Modified: felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/handler/FilterHandler.java
URL: http://svn.apache.org/viewvc/felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/handler/FilterHandler.java?rev=1652026&r1=1652025&r2=1652026&view=diff
==============================================================================
--- felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/handler/FilterHandler.java (original)
+++ felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/handler/FilterHandler.java Thu Jan 15 10:09:19 2015
@@ -111,7 +111,7 @@ public final class FilterHandler extends
         {
             // FELIX-3988: If the response is not yet committed and still has the default 
             // status, we're going to override this and send an error instead.
-            if (!res.isCommitted() && res.getStatus() == SC_OK)
+            if (!res.isCommitted() && (res.getStatus() == SC_OK || res.getStatus() == 0))
             {
                 res.sendError(SC_FORBIDDEN);
             }

Modified: felix/trunk/http/base/src/test/java/org/apache/felix/http/base/internal/context/ServletContextImplTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/http/base/src/test/java/org/apache/felix/http/base/internal/context/ServletContextImplTest.java?rev=1652026&r1=1652025&r2=1652026&view=diff
==============================================================================
--- felix/trunk/http/base/src/test/java/org/apache/felix/http/base/internal/context/ServletContextImplTest.java (original)
+++ felix/trunk/http/base/src/test/java/org/apache/felix/http/base/internal/context/ServletContextImplTest.java Thu Jan 15 10:09:19 2015
@@ -185,6 +185,10 @@ public class ServletContextImplTest
         {
         }
 
+        public String getVirtualServerName() {
+            return null;
+        }
+
         public Object getAttribute(String name)
         {
             return attributes.get(name);

Modified: felix/trunk/http/bridge/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/http/bridge/pom.xml?rev=1652026&r1=1652025&r2=1652026&view=diff
==============================================================================
--- felix/trunk/http/bridge/pom.xml (original)
+++ felix/trunk/http/bridge/pom.xml Thu Jan 15 10:09:19 2015
@@ -28,7 +28,7 @@
 
     <name>Apache Felix Http Bridge</name>
     <artifactId>org.apache.felix.http.bridge</artifactId>
-    <version>2.3.3-SNAPSHOT</version>
+    <version>2.4.0-SNAPSHOT</version>
     <packaging>jar</packaging>
 
     <scm>
@@ -84,12 +84,12 @@
         <dependency>
             <groupId>${project.groupId}</groupId>
             <artifactId>org.apache.felix.http.api</artifactId>
-            <version>${project.version}</version>
+            <version>[2.0,3)</version>
         </dependency>
         <dependency>
             <groupId>${project.groupId}</groupId>
             <artifactId>org.apache.felix.http.base</artifactId>
-            <version>${project.version}</version>
+            <version>[2.4.0-SNAPSHOT,2.5)</version>
         </dependency>
     </dependencies>
 

Modified: felix/trunk/http/bundle/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/http/bundle/pom.xml?rev=1652026&r1=1652025&r2=1652026&view=diff
==============================================================================
--- felix/trunk/http/bundle/pom.xml (original)
+++ felix/trunk/http/bundle/pom.xml Thu Jan 15 10:09:19 2015
@@ -107,22 +107,22 @@
         <dependency>
             <groupId>${project.groupId}</groupId>
             <artifactId>org.apache.felix.http.bridge</artifactId>
-            <version>${project.version}</version>
+            <version>[2.4.0-SNAPSHOT,2.5)</version>
         </dependency>
         <dependency>
             <groupId>${project.groupId}</groupId>
             <artifactId>org.apache.felix.http.cometd</artifactId>
-            <version>${project.version}</version>
+            <version>[2.4.0-SNAPSHOT,2.5)</version>
         </dependency>
         <dependency>
             <groupId>${project.groupId}</groupId>
             <artifactId>org.apache.felix.http.jetty</artifactId>
-            <version>${project.version}</version>
+            <version>[3.0.0-SNAPSHOT,3.1)</version>
         </dependency>
         <dependency>
             <groupId>${project.groupId}</groupId>
             <artifactId>org.apache.felix.http.whiteboard</artifactId>
-            <version>${project.version}</version>
+            <version>[2.4.0-SNAPSHOT,2.5)</version>
         </dependency>
     </dependencies>
 </project>

Modified: felix/trunk/http/cometd/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/http/cometd/pom.xml?rev=1652026&r1=1652025&r2=1652026&view=diff
==============================================================================
--- felix/trunk/http/cometd/pom.xml (original)
+++ felix/trunk/http/cometd/pom.xml Thu Jan 15 10:09:19 2015
@@ -28,7 +28,7 @@
 
     <name>Apache Felix Http Cometd</name>
     <artifactId>org.apache.felix.http.cometd</artifactId>
-    <version>2.3.3-SNAPSHOT</version>
+    <version>2.4.0-SNAPSHOT</version>
     <packaging>jar</packaging>
 
     <scm>
@@ -148,7 +148,7 @@
         <dependency>
             <groupId>${project.groupId}</groupId>
             <artifactId>org.apache.felix.http.base</artifactId>
-            <version>${project.version}</version>
+            <version>[2.4.0-SNAPSHOT,2.5)</version>
         </dependency>
 
     <!-- The dependencies below are newer versions of the transitive 

Modified: felix/trunk/http/itest/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/http/itest/pom.xml?rev=1652026&r1=1652025&r2=1652026&view=diff
==============================================================================
--- felix/trunk/http/itest/pom.xml (original)
+++ felix/trunk/http/itest/pom.xml Thu Jan 15 10:09:19 2015
@@ -1,99 +1,87 @@
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you 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.
--->
-<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">
-
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>org.apache.felix.http.parent</artifactId>
-        <version>5-SNAPSHOT</version>
-        <relativePath>../parent/pom.xml</relativePath>
-    </parent>
-
-    <name>Apache Felix Http Integration Tests</name>
-    <artifactId>org.apache.felix.http.itest</artifactId>
-    <version>0.0.3-SNAPSHOT</version>
-    <packaging>jar</packaging>
-
-    <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/felix/trunk/http/sslfilter</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/felix/trunk/http/sslfilter</developerConnection>
-        <url>http://svn.apache.org/viewvc/felix/trunk/http/sslfilter/</url>
-    </scm>
-    
-    <properties>
+<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor 
+	license agreements. See the NOTICE file distributed with this work for additional 
+	information regarding copyright ownership. The ASF licenses this file to 
+	you 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. -->
+<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">
+
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.apache.felix</groupId>
+		<artifactId>org.apache.felix.http.parent</artifactId>
+		<version>5-SNAPSHOT</version>
+		<relativePath>../parent/pom.xml</relativePath>
+	</parent>
+
+	<name>Apache Felix Http Integration Tests</name>
+	<artifactId>org.apache.felix.http.itest</artifactId>
+	<version>0.0.3-SNAPSHOT</version>
+	<packaging>jar</packaging>
+
+	<scm>
+		<connection>scm:svn:http://svn.apache.org/repos/asf/felix/trunk/http/sslfilter</connection>
+		<developerConnection>scm:svn:https://svn.apache.org/repos/asf/felix/trunk/http/sslfilter</developerConnection>
+		<url>http://svn.apache.org/viewvc/felix/trunk/http/sslfilter/</url>
+	</scm>
+
+	<properties>
 		<pax.exam.version>2.6.0</pax.exam.version>
 		<pax.exam.plugin.version>1.2.4</pax.exam.plugin.version>
 		<pax.url.aether.version>2.1.0</pax.url.aether.version>
 		<pax.swissbox.version>1.7.0</pax.swissbox.version>
 		<pax.runner.version>1.7.6</pax.runner.version>
-    </properties>
+	</properties>
+
+	<dependencies>
+		<dependency>
+			<groupId>org.osgi</groupId>
+			<artifactId>org.osgi.core</artifactId>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.osgi</groupId>
+			<artifactId>org.osgi.compendium</artifactId>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>${project.groupId}</groupId>
+			<artifactId>org.apache.felix.http.api</artifactId>
+			<version>[2.0,3.0)</version>
+		</dependency>
+		<dependency>
+			<groupId>${project.groupId}</groupId>
+			<artifactId>org.apache.felix.http.servlet-api</artifactId>
+			<version>[1.0,1.2)</version>
+		</dependency>
+		<dependency>
+			<groupId>${project.groupId}</groupId>
+			<artifactId>org.apache.felix.http.jetty</artifactId>
+			<version>[3.0.0-SNAPSHOT,3.1)</version>
+		</dependency>
+		<dependency>
+			<groupId>${project.groupId}</groupId>
+			<artifactId>org.apache.felix.configadmin</artifactId>
+			<version>1.8.0</version>
+		</dependency>
 
-    <dependencies>
-        <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>javax.servlet-api</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>org.osgi.core</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>org.osgi.compendium</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.http.api</artifactId>
-            <version>2.3.3-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.http.servlet-api</artifactId>
-            <version>1.0.2-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.http.jetty</artifactId>
-            <version>2.3.3-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.configadmin</artifactId>
-            <version>1.8.0</version>
-        </dependency>
-
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.8.2</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.mockito</groupId>
-            <artifactId>mockito-all</artifactId>
-            <version>1.8.2</version>
-            <scope>test</scope>
-        </dependency>
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<version>4.8.2</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.mockito</groupId>
+			<artifactId>mockito-all</artifactId>
+			<version>1.8.2</version>
+			<scope>test</scope>
+		</dependency>
 		<dependency>
 			<groupId>org.ops4j.pax.exam</groupId>
 			<artifactId>pax-exam-junit4</artifactId>
@@ -154,36 +142,28 @@
 			<version>1.6.0</version>
 			<scope>compile</scope>
 		</dependency>
-    </dependencies>
+	</dependencies>
 
 	<build>
 		<plugins>
 			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-compiler-plugin</artifactId>
-				<configuration>
-					<target>1.6</target>
-					<source>1.6</source>
-				</configuration>
+				<groupId>org.apache.felix</groupId>
+				<artifactId>maven-bundle-plugin</artifactId>
+				<extensions>true</extensions>
 			</plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-            <plugin>
-                <groupId>org.ops4j.pax.exam</groupId>
-                <artifactId>maven-paxexam-plugin</artifactId>
+			<plugin>
+				<groupId>org.ops4j.pax.exam</groupId>
+				<artifactId>maven-paxexam-plugin</artifactId>
 				<version>1.2.4</version>
-                <executions>
-                    <execution>
-                        <id>generate-config</id>
-                        <goals>
-                            <goal>generate-depends-file</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
+				<executions>
+					<execution>
+						<id>generate-config</id>
+						<goals>
+							<goal>generate-depends-file</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
 		</plugins>
 	</build>
 

Modified: felix/trunk/http/itest/src/test/java/org/apache/felix/http/itest/HttpJettyConnectorTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/http/itest/src/test/java/org/apache/felix/http/itest/HttpJettyConnectorTest.java?rev=1652026&r1=1652025&r2=1652026&view=diff
==============================================================================
--- felix/trunk/http/itest/src/test/java/org/apache/felix/http/itest/HttpJettyConnectorTest.java (original)
+++ felix/trunk/http/itest/src/test/java/org/apache/felix/http/itest/HttpJettyConnectorTest.java Thu Jan 15 10:09:19 2015
@@ -20,13 +20,13 @@ package org.apache.felix.http.itest;
 
 import static org.junit.Assert.assertTrue;
 
-import java.io.IOException;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
 import org.apache.felix.http.jetty.ConnectorFactory;
-import org.eclipse.jetty.server.AbstractConnector;
 import org.eclipse.jetty.server.Connector;
+import org.eclipse.jetty.server.LocalConnector;
+import org.eclipse.jetty.server.Server;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.junit.JUnit4TestRunner;
@@ -47,39 +47,24 @@ public class HttpJettyConnectorTest exte
         ConnectorFactory factory = new ConnectorFactory()
         {
             @Override
-            public Connector createConnector()
+            public Connector createConnector(Server server)
             {
-                return new AbstractConnector()
+                return new LocalConnector(server)
                 {
                     @Override
-                    public void open() throws IOException
+                    public void doStart() throws Exception
                     {
                         openLatch.countDown();
+                        super.doStart();
                     }
 
                     @Override
-                    public int getLocalPort()
-                    {
-                        return 8070;
-                    }
-
-                    @Override
-                    public Object getConnection()
-                    {
-                        return null;
-                    }
-
-                    @Override
-                    public void close() throws IOException
+                    public void doStop() throws Exception
                     {
                         closeLatch.countDown();
+                        super.doStop();
                     }
 
-                    @Override
-                    protected void accept(int acceptorID) throws IOException, InterruptedException
-                    {
-                        // nop
-                    }
                 };
             }
         };

Modified: felix/trunk/http/itest/src/test/java/org/apache/felix/http/itest/RequestDispatchTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/http/itest/src/test/java/org/apache/felix/http/itest/RequestDispatchTest.java?rev=1652026&r1=1652025&r2=1652026&view=diff
==============================================================================
--- felix/trunk/http/itest/src/test/java/org/apache/felix/http/itest/RequestDispatchTest.java (original)
+++ felix/trunk/http/itest/src/test/java/org/apache/felix/http/itest/RequestDispatchTest.java Thu Jan 15 10:09:19 2015
@@ -94,7 +94,7 @@ public class RequestDispatchTest extends
                     assertEquals("quu=qux", req.getQueryString());
                 }
 
-                resp.getWriter().println("FORWARD");
+                resp.getWriter().print("FORWARD\n");
             }
         };
 
@@ -111,9 +111,9 @@ public class RequestDispatchTest extends
                 assertEquals("/test/foo", req.getRequestURI());
                 assertEquals("bar=qux&quu", req.getQueryString());
 
-                resp.getWriter().println("NOT_SEND");
+                resp.getWriter().print("NOT_SEND\n");
                 req.getRequestDispatcher("/forward").forward(req, resp);
-                resp.getWriter().println("NOT_SEND");
+                resp.getWriter().print("NOT_SEND\n");
             }
         };
 
@@ -162,7 +162,7 @@ public class RequestDispatchTest extends
                     assertEquals("/test/foo", req.getAttribute(FORWARD_REQUEST_URI));
                     assertEquals("bar=qux&quu", req.getAttribute(FORWARD_QUERY_STRING));
 
-                    resp.getWriter().println("FORWARD");
+                    resp.getWriter().print("FORWARD\n");
                 }
                 else
                 {
@@ -172,7 +172,7 @@ public class RequestDispatchTest extends
                     assertEquals("/test/foo", req.getRequestURI());
                     assertEquals("bar=qux&quu", req.getQueryString());
 
-                    resp.getWriter().println("NOT_SEND");
+                    resp.getWriter().print("NOT_SEND\n");
 
                     // ServletContext#getRequestDispatcher only takes absolute paths...
                     RequestDispatcher disp = req.getServletContext().getRequestDispatcher("forward");
@@ -182,7 +182,7 @@ public class RequestDispatchTest extends
                     assertNotNull("ServletRequest returned NO RequestDispatcher for relative path?!", disp);
 
                     disp.forward(req, resp);
-                    resp.getWriter().println("NOT_SEND");
+                    resp.getWriter().print("NOT_SEND\n");
                 }
             }
         };
@@ -238,7 +238,7 @@ public class RequestDispatchTest extends
                     assertEquals("quu=qux", req.getQueryString());
                 }
 
-                resp.getWriter().println("INCLUDE");
+                resp.getWriter().print("INCLUDE\n");
             }
         };
 
@@ -255,9 +255,9 @@ public class RequestDispatchTest extends
                 assertEquals("/test/foo", req.getRequestURI());
                 assertEquals("bar=qux&quu", req.getQueryString());
 
-                resp.getWriter().println("BEFORE");
+                resp.getWriter().print("BEFORE\n");
                 req.getRequestDispatcher("/include").include(req, resp);
-                resp.getWriter().println("AFTER");
+                resp.getWriter().print("AFTER\n");
             }
         };
 
@@ -306,7 +306,7 @@ public class RequestDispatchTest extends
                     //                    assertEquals("/test/include", req.getAttribute(INCLUDE_REQUEST_URI));
                     assertEquals(null, req.getAttribute(INCLUDE_QUERY_STRING));
 
-                    resp.getWriter().println("INCLUDE");
+                    resp.getWriter().print("INCLUDE\n");
                 }
                 else
                 {
@@ -316,7 +316,7 @@ public class RequestDispatchTest extends
                     //                    assertEquals("/test/foo", req.getRequestURI());
                     assertEquals("bar=qux&quu", req.getQueryString());
 
-                    resp.getWriter().println("BEFORE");
+                    resp.getWriter().print("BEFORE\n");
 
                     // ServletContext#getRequestDispatcher only takes absolute paths...
                     RequestDispatcher disp = req.getServletContext().getRequestDispatcher("include");
@@ -326,7 +326,7 @@ public class RequestDispatchTest extends
                     assertNotNull("ServletRequest returned NO RequestDispatcher for relative path?!", disp);
 
                     disp.include(req, resp);
-                    resp.getWriter().println("AFTER");
+                    resp.getWriter().print("AFTER\n");
                 }
             }
         };
@@ -399,7 +399,7 @@ public class RequestDispatchTest extends
                     assertEquals("quu=qux", req.getQueryString());
                 }
 
-                resp.getWriter().println("FORWARD");
+                resp.getWriter().print("FORWARD\n");
             }
         };
 
@@ -416,9 +416,9 @@ public class RequestDispatchTest extends
                 assertEquals("/context/test/foo", req.getRequestURI());
                 assertEquals("bar=qux&quu", req.getQueryString());
 
-                resp.getWriter().println("NOT_SEND");
+                resp.getWriter().print("NOT_SEND\n");
                 req.getRequestDispatcher("/forward").forward(req, resp);
-                resp.getWriter().println("NOT_SEND");
+                resp.getWriter().print("NOT_SEND\n");
             }
         };
 
@@ -475,7 +475,7 @@ public class RequestDispatchTest extends
                     assertEquals("quu=qux", req.getQueryString());
                 }
 
-                resp.getWriter().println("INCLUDE");
+                resp.getWriter().print("INCLUDE\n");
             }
         };
 
@@ -492,9 +492,9 @@ public class RequestDispatchTest extends
                 assertEquals("/context/test/foo", req.getRequestURI());
                 assertEquals("bar=qux&quu", req.getQueryString());
 
-                resp.getWriter().println("BEFORE");
+                resp.getWriter().print("BEFORE\n");
                 req.getRequestDispatcher("/include").include(req, resp);
-                resp.getWriter().println("AFTER");
+                resp.getWriter().print("AFTER\n");
             }
         };
 

Modified: felix/trunk/http/jetty/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/http/jetty/pom.xml?rev=1652026&r1=1652025&r2=1652026&view=diff
==============================================================================
--- felix/trunk/http/jetty/pom.xml (original)
+++ felix/trunk/http/jetty/pom.xml Thu Jan 15 10:09:19 2015
@@ -28,7 +28,7 @@
 
     <name>Apache Felix Http Jetty</name>
     <artifactId>org.apache.felix.http.jetty</artifactId>
-    <version>2.3.3-SNAPSHOT</version>
+    <version>3.0.0-SNAPSHOT</version>
     <packaging>jar</packaging>
     
     <scm>
@@ -132,12 +132,12 @@
         <dependency>
             <groupId>org.apache.felix</groupId>
             <artifactId>org.apache.felix.http.api</artifactId>
-            <version>${project.version}</version>
+            <version>[2.0,3.0)</version>
         </dependency>
         <dependency>
             <groupId>org.apache.felix</groupId>
             <artifactId>org.apache.felix.http.base</artifactId>
-            <version>${project.version}</version>
+            <version>[2.4.0-SNAPSHOT,2.5)</version>
         </dependency>
     </dependencies>
 

Modified: felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/ConnectorFactory.java
URL: http://svn.apache.org/viewvc/felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/ConnectorFactory.java?rev=1652026&r1=1652025&r2=1652026&view=diff
==============================================================================
--- felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/ConnectorFactory.java (original)
+++ felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/ConnectorFactory.java Thu Jan 15 10:09:19 2015
@@ -21,6 +21,7 @@ package org.apache.felix.http.jetty;
 import org.eclipse.jetty.server.Connector;
 
 import aQute.bnd.annotation.ConsumerType;
+import org.eclipse.jetty.server.Server;
 
 /**
  * The <code>ConnectorFactory</code> is a service interface which allows
@@ -54,5 +55,5 @@ public interface ConnectorFactory
      *
      * @return A configured Jetty {@code Connector} instance.
      */
-    Connector createConnector();
+    Connector createConnector(Server server);
 }

Modified: felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/ConnectorFactoryTracker.java
URL: http://svn.apache.org/viewvc/felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/ConnectorFactoryTracker.java?rev=1652026&r1=1652025&r2=1652026&view=diff
==============================================================================
--- felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/ConnectorFactoryTracker.java (original)
+++ felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/ConnectorFactoryTracker.java Thu Jan 15 10:09:19 2015
@@ -51,7 +51,7 @@ public class ConnectorFactoryTracker ext
     public Object addingService(ServiceReference reference)
     {
         ConnectorFactory factory = (ConnectorFactory) super.addingService(reference);
-        Connector connector = factory.createConnector();
+        Connector connector = factory.createConnector(server);
         try
         {
             this.server.addConnector(connector);

Modified: felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/JettyConfig.java
URL: http://svn.apache.org/viewvc/felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/JettyConfig.java?rev=1652026&r1=1652025&r2=1652026&view=diff
==============================================================================
--- felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/JettyConfig.java (original)
+++ felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/JettyConfig.java Thu Jan 15 10:09:19 2015
@@ -82,12 +82,6 @@ public final class JettyConfig
     /** Felix specific property to control whether to want or require HTTPS client certificates. Valid values are "none", "wants", "needs". Default is "none". */
     private static final String FELIX_HTTPS_CLIENT_CERT = "org.apache.felix.https.clientcertificate";
 
-    /** Felix specific property to control whether Jetty uses NIO or not for HTTP. Valid values are "true", "false". Default is true */
-    public static final String FELIX_HTTP_NIO = "org.apache.felix.http.nio";
-
-    /** Felix specific property to control whether Jetty uses NIO or not for HTTPS. Valid values are "true", "false". Default is the value of org.apache.felix.http.nio */
-    public static final String FELIX_HTTPS_NIO = "org.apache.felix.https.nio";
-
     /** Felix specific property to configure the session timeout in minutes (same session-timout in web.xml). Default is servlet container specific */
     public static final String FELIX_SESSION_TIMEOUT = "org.apache.felix.http.session.timeout";
 
@@ -350,11 +344,6 @@ public final class JettyConfig
         return useHttp && getHttpPort() > 0;
     }
 
-    public boolean isUseHttpNio()
-    {
-        return getBooleanProperty(FELIX_HTTP_NIO, true);
-    }
-
     public boolean isSendServerHeader()
     {
         return getBooleanProperty(FELIX_JETTY_SEND_SERVER_HEADER, true);
@@ -371,11 +360,6 @@ public final class JettyConfig
         return useHttps && getHttpsPort() > 0;
     }
 
-    public boolean isUseHttpsNio()
-    {
-        return getBooleanProperty(FELIX_HTTPS_NIO, isUseHttpNio());
-    }
-
     public void reset()
     {
         update(null);
@@ -507,8 +491,9 @@ public final class JettyConfig
             }
         }
     }
-    
-    private int getSocketPort(int i) {
+
+    private int getSocketPort(int i)
+    {
         int port = -1;
         ServerSocket ss = null;
         try
@@ -549,7 +534,7 @@ public final class JettyConfig
         if (value instanceof String)
         {
             final String stringVal = ((String) value).trim();
-            if ( stringVal.length() > 0 )
+            if (stringVal.length() > 0)
             {
                 return new String[] { stringVal };
             }
@@ -558,14 +543,14 @@ public final class JettyConfig
         {
             final String[] stringArr = (String[]) value;
             final List<String> list = new ArrayList<String>();
-            for(final String stringVal : stringArr)
+            for (final String stringVal : stringArr)
             {
-                if ( stringVal.trim().length() > 0 )
+                if (stringVal.trim().length() > 0)
                 {
                     list.add(stringVal.trim());
                 }
             }
-            if ( list.size() > 0 )
+            if (list.size() > 0)
             {
                 return list.toArray(new String[list.size()]);
             }
@@ -581,7 +566,7 @@ public final class JettyConfig
                     conv.add(String.valueOf(object));
                 }
             }
-            if ( conv.size() > 0 )
+            if (conv.size() > 0)
             {
                 return conv.toArray(new String[conv.size()]);
             }

Modified: felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/JettyLogger.java
URL: http://svn.apache.org/viewvc/felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/JettyLogger.java?rev=1652026&r1=1652025&r2=1652026&view=diff
==============================================================================
--- felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/JettyLogger.java (original)
+++ felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/JettyLogger.java Thu Jan 15 10:09:19 2015
@@ -70,6 +70,12 @@ public final class JettyLogger implement
         }
     }
 
+    @Override
+    public void debug(String msg, long value)
+    {
+        debug(msg, value);
+    }
+
     public void debug(String msg, Throwable throwable)
     {
         if (this.debugEnabled)

Modified: felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/JettyService.java
URL: http://svn.apache.org/viewvc/felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/JettyService.java?rev=1652026&r1=1652025&r2=1652026&view=diff
==============================================================================
--- felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/JettyService.java (original)
+++ felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/JettyService.java Thu Jan 15 10:09:19 2015
@@ -44,21 +44,24 @@ import org.apache.felix.http.base.intern
 import org.apache.felix.http.base.internal.EventDispatcher;
 import org.apache.felix.http.base.internal.HttpServiceController;
 import org.apache.felix.http.base.internal.logger.SystemLogger;
+import org.eclipse.jetty.http.HttpVersion;
 import org.eclipse.jetty.security.HashLoginService;
 import org.eclipse.jetty.server.Connector;
+import org.eclipse.jetty.server.ConnectorStatistics;
+import org.eclipse.jetty.server.HttpConfiguration;
+import org.eclipse.jetty.server.HttpConnectionFactory;
+import org.eclipse.jetty.server.SecureRequestCustomizer;
 import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.ServerConnector;
 import org.eclipse.jetty.server.SessionManager;
-import org.eclipse.jetty.server.bio.SocketConnector;
+import org.eclipse.jetty.server.SslConnectionFactory;
 import org.eclipse.jetty.server.handler.ContextHandlerCollection;
 import org.eclipse.jetty.server.handler.StatisticsHandler;
-import org.eclipse.jetty.server.nio.SelectChannelConnector;
-import org.eclipse.jetty.server.ssl.SslConnector;
-import org.eclipse.jetty.server.ssl.SslSelectChannelConnector;
-import org.eclipse.jetty.server.ssl.SslSocketConnector;
 import org.eclipse.jetty.servlet.ServletContextHandler;
 import org.eclipse.jetty.servlet.ServletHolder;
 import org.eclipse.jetty.util.component.AbstractLifeCycle;
 import org.eclipse.jetty.util.component.LifeCycle;
+import org.eclipse.jetty.util.ssl.SslContextFactory;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.BundleEvent;
@@ -237,10 +240,6 @@ public final class JettyService extends
             this.server = new Server();
             this.server.addLifeCycleListener(this);
 
-            // HTTP/1.1 requires Date header if possible (it is)
-            this.server.setSendDateHeader(true);
-            this.server.setSendServerVersion(this.config.isSendServerHeader());
-
             this.server.addBean(new HashLoginService("OSGi HTTP Service Realm"));
 
             this.parent = new ContextHandlerCollection();
@@ -314,55 +313,62 @@ public final class JettyService extends
 
     private boolean initializeHttp()
     {
-        Connector connector = this.config.isUseHttpNio() ? new SelectChannelConnector() : new SocketConnector();
+        HttpConnectionFactory connFactory = new HttpConnectionFactory();
+        configureHttpConnectionFactory(connFactory);
+        ServerConnector connector = new ServerConnector(server, connFactory);
         configureConnector(connector, this.config.getHttpPort());
         return startConnector(connector);
     }
 
     private boolean initializeHttps()
     {
-        SslConnector connector = this.config.isUseHttpsNio() ? new SslSelectChannelConnector() : new SslSocketConnector();
+        HttpConnectionFactory connFactory = new HttpConnectionFactory();
+        configureHttpConnectionFactory(connFactory);
+
+        SslContextFactory sslContextFactory = new SslContextFactory();
+        configureSslContextFactory(sslContextFactory);
+
+        ServerConnector connector = new ServerConnector(server, new SslConnectionFactory(sslContextFactory, HttpVersion.HTTP_1_1.toString()), connFactory);
+        connFactory.getHttpConfiguration().addCustomizer(new SecureRequestCustomizer());
         configureConnector(connector, this.config.getHttpsPort());
-        configureSslConnector(connector);
         return startConnector(connector);
     }
 
-    @SuppressWarnings("deprecation")
-    private void configureSslConnector(final SslConnector connector)
+    private void configureSslContextFactory(final SslContextFactory connector)
     {
         if (this.config.getKeystoreType() != null)
         {
-            connector.setKeystoreType(this.config.getKeystoreType());
+            connector.setKeyStoreType(this.config.getKeystoreType());
         }
 
         if (this.config.getKeystore() != null)
         {
-            connector.setKeystore(this.config.getKeystore());
+            connector.setKeyStorePath(this.config.getKeystore());
         }
 
         if (this.config.getPassword() != null)
         {
-            connector.setPassword(this.config.getPassword());
+            connector.setKeyStorePassword(this.config.getPassword());
         }
 
         if (this.config.getKeyPassword() != null)
         {
-            connector.setKeyPassword(this.config.getKeyPassword());
+            connector.setKeyManagerPassword(this.config.getKeyPassword());
         }
 
         if (this.config.getTruststoreType() != null)
         {
-            connector.setTruststoreType(this.config.getTruststoreType());
+            connector.setTrustStoreType(this.config.getTruststoreType());
         }
 
         if (this.config.getTruststore() != null)
         {
-            connector.setTruststore(this.config.getTruststore());
+            connector.setTrustStorePath(this.config.getTruststore());
         }
 
         if (this.config.getTrustPassword() != null)
         {
-            connector.setTrustPassword(this.config.getTrustPassword());
+            connector.setTrustStorePassword(this.config.getTrustPassword());
         }
 
         if ("wants".equalsIgnoreCase(this.config.getClientcert()))
@@ -386,25 +392,45 @@ public final class JettyService extends
 
         if (this.config.getIncludedProtocols() != null)
         {
-            connector.getSslContextFactory().setIncludeProtocols(this.config.getIncludedProtocols());
+            connector.setIncludeProtocols(this.config.getIncludedProtocols());
         }
 
         if (this.config.getExcludedProtocols() != null)
         {
-            connector.getSslContextFactory().setExcludeProtocols(this.config.getExcludedProtocols());
+            connector.setExcludeProtocols(this.config.getExcludedProtocols());
         }
     }
 
-    private void configureConnector(final Connector connector, int port)
+    private void configureConnector(final ServerConnector connector, int port)
     {
-        connector.setMaxIdleTime(this.config.getHttpTimeout());
-        connector.setRequestHeaderSize(this.config.getHeaderSize());
-        connector.setRequestBufferSize(this.config.getRequestBufferSize());
-        connector.setResponseHeaderSize(this.config.getHeaderSize());
-        connector.setResponseBufferSize(this.config.getResponseBufferSize());
         connector.setPort(port);
         connector.setHost(this.config.getHost());
-        connector.setStatsOn(this.config.isRegisterMBeans());
+        connector.setIdleTimeout(this.config.getHttpTimeout());
+
+        if (this.config.isRegisterMBeans())
+        {
+            connector.addBean(new ConnectorStatistics());
+        }
+    }
+
+    private void configureHttpConnectionFactory(HttpConnectionFactory connFactory)
+    {
+        HttpConfiguration config = connFactory.getHttpConfiguration();
+        config.setRequestHeaderSize(this.config.getHeaderSize());
+        config.setResponseHeaderSize(this.config.getHeaderSize());
+        config.setOutputBufferSize(this.config.getResponseBufferSize());
+
+        // HTTP/1.1 requires Date header if possible (it is)
+        config.setSendDateHeader(true);
+        config.setSendServerVersion(this.config.isSendServerHeader());
+        config.setSendXPoweredBy(this.config.isSendServerHeader());
+
+        connFactory.setInputBufferSize(this.config.getRequestBufferSize());
+
+        //Changed from 8.x to 9.x
+        //maxIdleTime -> ServerConnector.setIdleTimeout
+        //requestBufferSize -> HttpConnectionFactory.setInputBufferSize
+        //statsOn -> ServerConnector.addBean(new ConnectorStatistics());
     }
 
     private void configureSessionManager(final ServletContextHandler context)
@@ -414,7 +440,7 @@ public final class JettyService extends
         manager.setMaxInactiveInterval(this.config.getSessionTimeout() * 60);
         manager.setSessionIdPathParameterName(this.config.getProperty(SessionManager.__SessionIdPathParameterNameProperty, SessionManager.__DefaultSessionIdPathParameterName));
         manager.setCheckingRemoteSessionIdEncoding(this.config.getBooleanProperty(SessionManager.__CheckRemoteSessionEncoding, true));
-        manager.setSessionTrackingModes(Collections.singleton(SessionTrackingMode.COOKIE)); // XXX
+        manager.setSessionTrackingModes(Collections.singleton(SessionTrackingMode.COOKIE));
 
         SessionCookieConfig cookieConfig = manager.getSessionCookieConfig();
         cookieConfig.setName(this.config.getProperty(SessionManager.__SessionCookieProperty, SessionManager.__DefaultSessionCookie));
@@ -465,22 +491,32 @@ public final class JettyService extends
         return getEndpoint(listener, address);
     }
 
+    private ServerConnector getServerConnector(Connector connector)
+    {
+        if (connector instanceof ServerConnector)
+        {
+            return (ServerConnector) connector;
+        }
+        throw new IllegalArgumentException("Connection instance not of type ServerConnector " + connector);
+    }
+
     private String getEndpoint(final Connector listener, final String hostname)
     {
         final StringBuilder sb = new StringBuilder();
         sb.append("http");
         int defaultPort = 80;
-        if (listener instanceof SslConnector)
+        //SslConnectionFactory protocol is SSL-HTTP1.0
+        if (getServerConnector(listener).getDefaultProtocol().startsWith("SSL"))
         {
             sb.append('s');
             defaultPort = 443;
         }
         sb.append("://");
         sb.append(hostname);
-        if (listener.getPort() != defaultPort)
+        if (getServerConnector(listener).getPort() != defaultPort)
         {
             sb.append(':');
-            sb.append(String.valueOf(listener.getPort()));
+            sb.append(String.valueOf(getServerConnector(listener).getPort()));
         }
         sb.append(config.getContextPath());
 
@@ -517,7 +553,7 @@ public final class JettyService extends
             {
                 final Connector connector = connectors[i];
 
-                if (connector.getHost() == null)
+                if (getServerConnector(connector).getHost() == null)
                 {
                     try
                     {
@@ -554,7 +590,7 @@ public final class JettyService extends
                 }
                 else
                 {
-                    final String endpoint = this.getEndpoint(connector, connector.getHost());
+                    final String endpoint = this.getEndpoint(connector, getServerConnector(connector).getHost());
                     if (endpoint != null)
                     {
                         endpoints.add(endpoint);
@@ -623,7 +659,7 @@ public final class JettyService extends
 
                 try
                 {
-                	context.getServletContext().setAttribute(OSGI_BUNDLE_CONTEXT, webAppBundle.getBundleContext());
+                    context.getServletContext().setAttribute(OSGI_BUNDLE_CONTEXT, webAppBundle.getBundleContext());
 
                     JettyService.this.parent.addHandler(context);
                     context.start();

Modified: felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/MBeanServerTracker.java
URL: http://svn.apache.org/viewvc/felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/MBeanServerTracker.java?rev=1652026&r1=1652025&r2=1652026&view=diff
==============================================================================
--- felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/MBeanServerTracker.java (original)
+++ felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/MBeanServerTracker.java Thu Jan 15 10:09:19 2015
@@ -42,7 +42,7 @@ public class MBeanServerTracker extends
     {
         MBeanServer server = (MBeanServer) super.addingService(reference);
         MBeanContainer mBeanContainer = new MBeanContainer(server);
-        this.server.getContainer().addEventListener(mBeanContainer);
+        this.server.addEventListener(mBeanContainer);
         return mBeanContainer;
     }
 
@@ -50,7 +50,7 @@ public class MBeanServerTracker extends
     public void removedService(ServiceReference reference, Object service)
     {
         MBeanContainer mBeanContainer = (MBeanContainer) service;
-        this.server.getContainer().removeEventListener(mBeanContainer);
+        this.server.removeEventListener(mBeanContainer);
         super.removedService(reference, mBeanContainer.getMBeanServer());
     }
 }

Modified: felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/WebAppBundleContext.java
URL: http://svn.apache.org/viewvc/felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/WebAppBundleContext.java?rev=1652026&r1=1652025&r2=1652026&view=diff
==============================================================================
--- felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/WebAppBundleContext.java (original)
+++ felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/WebAppBundleContext.java Thu Jan 15 10:09:19 2015
@@ -106,7 +106,7 @@ class WebAppBundleContext extends WebApp
         }
 
         @Override
-        public synchronized void release()
+        public synchronized void close()
         {
             if (this._in != null)
             {
@@ -116,7 +116,7 @@ class WebAppBundleContext extends WebApp
                 // "Inflater has been closed"
                 this._in = null;
             }
-            super.release();
+            super.close();
         }
 
         @Override

Modified: felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/package-info.java
URL: http://svn.apache.org/viewvc/felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/package-info.java?rev=1652026&r1=1652025&r2=1652026&view=diff
==============================================================================
--- felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/package-info.java (original)
+++ felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/package-info.java Thu Jan 15 10:09:19 2015
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-@Version("1.0")
+@Version("2.0")
 package org.apache.felix.http.jetty;
 
 import aQute.bnd.annotation.Version;
\ No newline at end of file

Modified: felix/trunk/http/jetty/src/main/resources/OSGI-INF/metatype/metatype.properties
URL: http://svn.apache.org/viewvc/felix/trunk/http/jetty/src/main/resources/OSGI-INF/metatype/metatype.properties?rev=1652026&r1=1652025&r2=1652026&view=diff
==============================================================================
--- felix/trunk/http/jetty/src/main/resources/OSGI-INF/metatype/metatype.properties (original)
+++ felix/trunk/http/jetty/src/main/resources/OSGI-INF/metatype/metatype.properties Thu Jan 15 10:09:19 2015
@@ -91,15 +91,6 @@ clientcertificate.none = No Client Certi
 clientcertificate.wants = Client Certficate Wanted
 clientcertificate.needs = Client Certificate Needed
 
-org.apache.felix.http.nio.name = NIO for HTTP
-org.apache.felix.http.nio.description = Wether or not to use NIO for HTTP. \
- Defaults to true. Only used if HTTP is enabled.
-
-org.apache.felix.https.nio.name = NIO for HTTPS
-org.apache.felix.https.nio.description = Wether or not to use NIO for HTTP. \
- Defaults to the value of the NIO for HTTP property. Only used if HTTPS is \
- enabled.
-
 org.apache.felix.http.mbeans.name = Register MBeans
 org.apache.felix.http.mbeans.description = Whether or not to use register \
  JMX MBeans from the servlet container (Jetty). If this is enabled \

Modified: felix/trunk/http/jetty/src/main/resources/OSGI-INF/metatype/metatype.xml
URL: http://svn.apache.org/viewvc/felix/trunk/http/jetty/src/main/resources/OSGI-INF/metatype/metatype.xml?rev=1652026&r1=1652025&r2=1652026&view=diff
==============================================================================
--- felix/trunk/http/jetty/src/main/resources/OSGI-INF/metatype/metatype.xml (original)
+++ felix/trunk/http/jetty/src/main/resources/OSGI-INF/metatype/metatype.xml Thu Jan 15 10:09:19 2015
@@ -22,11 +22,9 @@
         <AD id="org.apache.felix.http.host" type="String" default="0.0.0.0" name="%org.apache.felix.http.host.name" description="%org.apache.felix.http.host.description"/>
         <AD id="org.apache.felix.http.enable" type="Boolean" default="true" name="%org.apache.felix.http.enable.name" description="%org.apache.felix.http.enable.description"/>
         <AD id="org.osgi.service.http.port" type="Integer" default="8080" name="%org.osgi.service.http.port.name" description="%org.osgi.service.http.port.description"/>
-        <AD id="org.apache.felix.http.nio" type="Boolean" default="true" name="%org.apache.felix.http.nio.name" description="%org.apache.felix.http.nio.description"/>
 	    <AD id="org.apache.felix.http.timeout" type="Integer" default="60000" name="%org.apache.felix.http.timeout.name" description="%org.apache.felix.http.timeout.description"/>
         <AD id="org.apache.felix.https.enable" type="Boolean" default="false" name="%org.apache.felix.https.enable.name" description="%org.apache.felix.https.enable.description"/>
         <AD id="org.osgi.service.http.port.secure" type="Integer" default="433" name="%org.osgi.service.http.port.secure.name" description="%org.osgi.service.http.port.secure.description"/>
-        <AD id="org.apache.felix.https.nio" type="Boolean" default="true" name="%org.apache.felix.https.nio.name" description="%org.apache.felix.https.nio.description"/>
         <AD id="org.apache.felix.https.keystore" type="String" name="%org.apache.felix.https.keystore.name" description="%org.apache.felix.https.keystore.description"/>
         <AD id="org.apache.felix.https.keystore.password" type="String" name="%org.apache.felix.https.keystore.password.name" description="%org.apache.felix.https.keystore.password.description"/>
         <AD id="org.apache.felix.https.keystore.key.password" type="String" name="%org.apache.felix.https.keystore.key.password.name" description="%org.apache.felix.https.keystore.key.password.description"/>

Modified: felix/trunk/http/jetty/src/test/java/org/apache/felix/http/jetty/internal/JettyServiceTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/http/jetty/src/test/java/org/apache/felix/http/jetty/internal/JettyServiceTest.java?rev=1652026&r1=1652025&r2=1652026&view=diff
==============================================================================
--- felix/trunk/http/jetty/src/test/java/org/apache/felix/http/jetty/internal/JettyServiceTest.java (original)
+++ felix/trunk/http/jetty/src/test/java/org/apache/felix/http/jetty/internal/JettyServiceTest.java Thu Jan 15 10:09:19 2015
@@ -86,6 +86,11 @@ public class JettyServiceTest extends Te
         jettyService.start();
     }
 
+    @Override
+    protected void tearDown() throws Exception {
+        jettyService.stop();
+    }
+
     /**
      * 
      * Tests to ensure the osgi-bundlecontext is available for init methods.

Modified: felix/trunk/http/parent/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/http/parent/pom.xml?rev=1652026&r1=1652025&r2=1652026&view=diff
==============================================================================
--- felix/trunk/http/parent/pom.xml (original)
+++ felix/trunk/http/parent/pom.xml Thu Jan 15 10:09:19 2015
@@ -38,13 +38,14 @@
     </prerequisites>
 
     <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    	<jetty.version>8.1.14.v20131031</jetty.version>
+      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    	<jetty.version>9.2.6.v20141205</jetty.version>
     	<cometd.version>2.8.0</cometd.version>
     	<http.service.version>1.2.1</http.service.version>
-    	<servlet.version>3.0.1</servlet.version>
+    	<servlet.version>3.1.0</servlet.version>
 
     	<http.api.version>2.0.4</http.api.version>
+    	<http.base.version>2.4.0</http.base.version>
     </properties>
 
     <scm>
@@ -58,9 +59,9 @@
             <plugin>
                 <artifactId>maven-compiler-plugin</artifactId>
                 <configuration>
-                    <source>1.5</source>
-                    <target>1.5</target>
-                    <compilerVersion>1.5</compilerVersion>
+                    <source>1.7</source>
+                    <target>1.7</target>
+                    <compilerVersion>1.7</compilerVersion>
                 </configuration>
             </plugin>
         </plugins>

Modified: felix/trunk/http/samples/bridge/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/http/samples/bridge/pom.xml?rev=1652026&r1=1652025&r2=1652026&view=diff
==============================================================================
--- felix/trunk/http/samples/bridge/pom.xml (original)
+++ felix/trunk/http/samples/bridge/pom.xml Thu Jan 15 10:09:19 2015
@@ -28,7 +28,7 @@
 
     <name>Apache Felix Http Samples - Bridge</name>
     <artifactId>org.apache.felix.http.samples.bridge</artifactId>
-    <version>2.3.3-SNAPSHOT</version>
+    <version>2.4.0-SNAPSHOT</version>
     <packaging>war</packaging>
 
     <scm>
@@ -124,18 +124,18 @@
         <dependency>
             <groupId>${project.groupId}</groupId>
             <artifactId>org.apache.felix.http.proxy</artifactId>
-            <version>${project.version}</version>
+            <version>[2.3,2.4)</version>
         </dependency>
         <dependency>
             <groupId>${project.groupId}</groupId>
             <artifactId>org.apache.felix.http.bridge</artifactId>
-            <version>${project.version}</version>
+            <version>[2.4.0-SNAPSHOT,2.5)</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>${project.groupId}</groupId>
             <artifactId>org.apache.felix.http.samples.filter</artifactId>
-            <version>${project.version}</version>            
+            <version>[2.3,2.4)</version>            
             <scope>provided</scope>
         </dependency>
         <dependency>

Modified: felix/trunk/http/samples/cometd/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/http/samples/cometd/pom.xml?rev=1652026&r1=1652025&r2=1652026&view=diff
==============================================================================
--- felix/trunk/http/samples/cometd/pom.xml (original)
+++ felix/trunk/http/samples/cometd/pom.xml Thu Jan 15 10:09:19 2015
@@ -28,7 +28,7 @@
 
     <name>Apache Felix Http Samples - Cometd</name>
     <artifactId>org.apache.felix.http.samples.cometd</artifactId>
-    <version>2.3.3-SNAPSHOT</version>
+    <version>2.4.0-SNAPSHOT</version>
     <packaging>jar</packaging>
 
     <scm>
@@ -94,7 +94,7 @@
         <dependency>
             <groupId>${project.groupId}</groupId>
             <artifactId>org.apache.felix.http.cometd</artifactId>
-            <version>${project.version}</version>
+            <version>[2.4.0-SNAPSHOT,2.5)</version>
         </dependency>
     </dependencies>
 

Modified: felix/trunk/http/samples/filter/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/http/samples/filter/pom.xml?rev=1652026&r1=1652025&r2=1652026&view=diff
==============================================================================
--- felix/trunk/http/samples/filter/pom.xml (original)
+++ felix/trunk/http/samples/filter/pom.xml Thu Jan 15 10:09:19 2015
@@ -90,7 +90,7 @@
         <dependency>
             <groupId>${project.groupId}</groupId>
             <artifactId>org.apache.felix.http.api</artifactId>
-            <version>${project.version}</version>
+            <version>[2.0,3.0)</version>
         </dependency>
     </dependencies>
 

Modified: felix/trunk/http/samples/whiteboard/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/http/samples/whiteboard/pom.xml?rev=1652026&r1=1652025&r2=1652026&view=diff
==============================================================================
--- felix/trunk/http/samples/whiteboard/pom.xml (original)
+++ felix/trunk/http/samples/whiteboard/pom.xml Thu Jan 15 10:09:19 2015
@@ -73,8 +73,9 @@
 
     <dependencies>
         <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>javax.servlet-api</artifactId>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>org.apache.felix.http.servlet-api</artifactId>
+            <version>[1.0,1.2)</version>
             <scope>provided</scope>
         </dependency>
         <dependency>

Modified: felix/trunk/http/servlet-api/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/http/servlet-api/pom.xml?rev=1652026&r1=1652025&r2=1652026&view=diff
==============================================================================
--- felix/trunk/http/servlet-api/pom.xml (original)
+++ felix/trunk/http/servlet-api/pom.xml Thu Jan 15 10:09:19 2015
@@ -21,7 +21,7 @@
     <name>Apache Felix Servlet API</name>
     <description>Provides the Servlet API for use by applications</description>
     <artifactId>org.apache.felix.http.servlet-api</artifactId>
-    <version>1.0.2-SNAPSHOT</version>
+    <version>1.1.0-SNAPSHOT</version>
     <packaging>bundle</packaging>
 
     <scm>
@@ -48,7 +48,12 @@
                             javax.servlet.annotation;
                             javax.servlet.descriptor;
                             javax.servlet.http;
-                                version=3.0
+                                version=3.0,
+                            javax.servlet;
+                            javax.servlet.annotation;
+                            javax.servlet.descriptor;
+                            javax.servlet.http;
+                                version=3.1
                         </Export-Package>
                     </instructions>
                 </configuration>
@@ -60,7 +65,7 @@
         <dependency>
             <groupId>org.apache.tomcat</groupId>
             <artifactId>tomcat-servlet-api</artifactId>
-            <version>7.0.8</version>
+            <version>8.0.9</version>
         </dependency>
     </dependencies>
 

Modified: felix/trunk/http/sslfilter/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/http/sslfilter/pom.xml?rev=1652026&r1=1652025&r2=1652026&view=diff
==============================================================================
--- felix/trunk/http/sslfilter/pom.xml (original)
+++ felix/trunk/http/sslfilter/pom.xml Thu Jan 15 10:09:19 2015
@@ -44,13 +44,6 @@
     <build>
         <plugins>
             <plugin>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>1.5</source>
-                    <target>1.5</target>
-                </configuration>
-            </plugin>
-            <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
                 <extensions>true</extensions>
@@ -66,7 +59,7 @@
                         </Import-Package>
                         <DynamicImport-Package>
                             org.osgi.service.cm;version="[1.2,2)"
-                        </DynamicImport-Package>)
+                        </DynamicImport-Package>
                     </instructions>
                 </configuration>
             </plugin>
@@ -75,12 +68,6 @@
 
     <dependencies>
         <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.http.servlet-api</artifactId>
-            <version>1.0.0</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.core</artifactId>
             <scope>provided</scope>
@@ -91,9 +78,15 @@
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.apache.felix</groupId>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>org.apache.felix.http.servlet-api</artifactId>
+            <version>[1.0,1.2)</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
             <artifactId>org.apache.felix.http.api</artifactId>
-            <version>2.3.3-SNAPSHOT</version>
+            <version>[2.0,3)</version>
         </dependency>
 
         <!-- Test Dependencies -->

Modified: felix/trunk/http/sslfilter/src/test/java/org/apache/felix/http/sslfilter/internal/SslFilterResponseTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/http/sslfilter/src/test/java/org/apache/felix/http/sslfilter/internal/SslFilterResponseTest.java?rev=1652026&r1=1652025&r2=1652026&view=diff
==============================================================================
--- felix/trunk/http/sslfilter/src/test/java/org/apache/felix/http/sslfilter/internal/SslFilterResponseTest.java (original)
+++ felix/trunk/http/sslfilter/src/test/java/org/apache/felix/http/sslfilter/internal/SslFilterResponseTest.java Thu Jan 15 10:09:19 2015
@@ -42,7 +42,7 @@ public class SslFilterResponseTest
 {
     private static final String BACKEND_SERVER = "backend.server";
     private static final String OTHER_SERVER = "other.server";
-    
+
     private static final String PATH = "http://localhost:8080/";
 
     private static final String DEFAULT_HTTP_PORT = "80";
@@ -212,6 +212,11 @@ public class SslFilterResponseTest
         {
             throw new UnsupportedOperationException();
         }
+
+        public void setContentLengthLong(long len)
+        {
+            throw new UnsupportedOperationException();
+        }
 
         public void setCharacterEncoding(String charset)
         {

Modified: felix/trunk/http/whiteboard/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/http/whiteboard/pom.xml?rev=1652026&r1=1652025&r2=1652026&view=diff
==============================================================================
--- felix/trunk/http/whiteboard/pom.xml (original)
+++ felix/trunk/http/whiteboard/pom.xml Thu Jan 15 10:09:19 2015
@@ -28,7 +28,7 @@
 
     <name>Apache Felix Http Whiteboard</name>
     <artifactId>org.apache.felix.http.whiteboard</artifactId>
-    <version>2.3.3-SNAPSHOT</version>
+    <version>2.4.0-SNAPSHOT</version>
     <packaging>jar</packaging>
 
     <scm>
@@ -75,15 +75,15 @@
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.apache.felix</groupId>
+            <groupId>${project.groupId}</groupId>
             <artifactId>org.apache.felix.http.api</artifactId>
-            <version>${project.version}</version>
+            <version>[2.0,3)</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.apache.felix</groupId>
+            <groupId>${project.groupId}</groupId>
             <artifactId>org.apache.felix.http.base</artifactId>
-            <version>${project.version}</version>
+            <version>[2.4.0-SNAPSHOT,2.5)</version>
             <scope>provided</scope>
         </dependency>
         <dependency>