This is an automated email from the ASF dual-hosted git repository.

mgrigorov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/wicket.git


The following commit(s) were added to refs/heads/master by this push:
     new 315611f  WICKET-6887 Merge wicket-http2 into wicket-core
315611f is described below

commit 315611f7b674cef9bcb2e150671f52805b3207fc
Author: Martin Tzvetanov Grigorov <[email protected]>
AuthorDate: Tue May 18 09:40:37 2021 +0300

    WICKET-6887 Merge wicket-http2 into wicket-core
    
    Move the classes from wicket-http2-core and wicket-http2-servlet4 to 
wicket-core.
    Delete the Tomcat/Jetty/Undertow specific classes.
---
 .../wicket/markup/head/http2/IPushBuilder.java     |   4 +-
 .../wicket/markup/head/http2/PushBuilder.java      |  11 +--
 .../wicket/markup/head/http2}/PushHeaderItem.java  |  31 +++---
 .../apache/wicket/markup/head/http2}/PushItem.java |   6 +-
 .../markup/head/http2}/PushItemHeaderValue.java    |   2 +-
 wicket-experimental/pom.xml                        |   1 -
 wicket-experimental/wicket-http2/pom.xml           |  41 --------
 .../wicket-http2/wicket-http2-core/pom.xml         |  46 ---------
 .../org/apache/wicket/http2/Http2Settings.java     | 108 ---------------------
 .../wicket/http2/markup/head/NoopPushBuilder.java  |  60 ------------
 .../util/license/ApacheLicenceHeaderTest.java      |  34 -------
 .../wicket-http2/wicket-http2-jetty/pom.xml        |  51 ----------
 .../http2/markup/head/jetty/Initializer.java       |  44 ---------
 .../http2/markup/head/jetty/Jetty9PushBuilder.java |  69 -------------
 .../services/org.apache.wicket.IInitializer        |   1 -
 .../util/license/ApacheLicenceHeaderTest.java      |  34 -------
 .../wicket-http2/wicket-http2-servlet4/pom.xml     |  50 ----------
 .../http2/markup/head/servlet4/Initializer.java    |  44 ---------
 .../services/org.apache.wicket.IInitializer        |   1 -
 .../util/license/ApacheLicenceHeaderTest.java      |  34 -------
 .../wicket-http2/wicket-http2-tomcat/pom.xml       |  61 ------------
 .../http2/markup/head/tomcat/Initializer.java      |  44 ---------
 .../markup/head/tomcat/Tomcat85PushBuilder.java    |  68 -------------
 .../services/org.apache.wicket.IInitializer        |   1 -
 .../util/license/ApacheLicenceHeaderTest.java      |  34 -------
 .../wicket-http2/wicket-http2-undertow/pom.xml     |  61 ------------
 .../http2/markup/head/undertow/Initializer.java    |  46 ---------
 .../markup/head/undertow/UndertowPushBuilder.java  |  71 --------------
 .../services/org.apache.wicket.IInitializer        |   1 -
 .../util/license/ApacheLicenceHeaderTest.java      |  34 -------
 30 files changed, 27 insertions(+), 1066 deletions(-)

diff --git 
a/wicket-experimental/wicket-http2/wicket-http2-core/src/main/java/org/apache/wicket/http2/markup/head/PushBuilder.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/head/http2/IPushBuilder.java
similarity index 94%
rename from 
wicket-experimental/wicket-http2/wicket-http2-core/src/main/java/org/apache/wicket/http2/markup/head/PushBuilder.java
rename to 
wicket-core/src/main/java/org/apache/wicket/markup/head/http2/IPushBuilder.java
index 246b091..c7733e5 100644
--- 
a/wicket-experimental/wicket-http2/wicket-http2-core/src/main/java/org/apache/wicket/http2/markup/head/PushBuilder.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/head/http2/IPushBuilder.java
@@ -14,14 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.wicket.http2.markup.head;
+package org.apache.wicket.markup.head.http2;
 
 import jakarta.servlet.http.HttpServletRequest;
 
 /**
  * Used to delegate the push call to the vendor specific push builder API
  */
-public interface PushBuilder
+public interface IPushBuilder
 {
        /**
         * Pushes the given paths with the push builder received from the http 
servlet request
diff --git 
a/wicket-experimental/wicket-http2/wicket-http2-servlet4/src/main/java/org/apache/wicket/http2/markup/head/servlet4/Servlet4PushBuilder.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/head/http2/PushBuilder.java
similarity index 82%
rename from 
wicket-experimental/wicket-http2/wicket-http2-servlet4/src/main/java/org/apache/wicket/http2/markup/head/servlet4/Servlet4PushBuilder.java
rename to 
wicket-core/src/main/java/org/apache/wicket/markup/head/http2/PushBuilder.java
index a706417..214c3e6 100644
--- 
a/wicket-experimental/wicket-http2/wicket-http2-servlet4/src/main/java/org/apache/wicket/http2/markup/head/servlet4/Servlet4PushBuilder.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/head/http2/PushBuilder.java
@@ -14,14 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.wicket.http2.markup.head.servlet4;
+package org.apache.wicket.markup.head.http2;
 
 import jakarta.servlet.http.HttpServletRequest;
 
-import org.apache.wicket.http2.markup.head.PushBuilder;
-import org.apache.wicket.http2.markup.head.PushItem;
-import org.apache.wicket.http2.markup.head.PushItemHeaderValue;
-import org.apache.wicket.http2.markup.head.PushItemHeaderValue.HeaderOperation;
+import org.apache.wicket.markup.head.http2.PushItemHeaderValue.HeaderOperation;
 import org.apache.wicket.request.Request;
 import org.apache.wicket.request.cycle.RequestCycle;
 import org.slf4j.Logger;
@@ -32,9 +29,9 @@ import org.slf4j.LoggerFactory;
  * 
  * @author Tobias Soloschenko
  */
-public class Servlet4PushBuilder implements PushBuilder
+public class PushBuilder implements IPushBuilder
 {
-       private static final Logger LOG = 
LoggerFactory.getLogger(Servlet4PushBuilder.class);
+       private static final Logger LOG = 
LoggerFactory.getLogger(PushBuilder.class);
 
        @Override
        public void push(HttpServletRequest httpServletRequest, PushItem... 
pushItems)
diff --git 
a/wicket-experimental/wicket-http2/wicket-http2-core/src/main/java/org/apache/wicket/http2/markup/head/PushHeaderItem.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/head/http2/PushHeaderItem.java
similarity index 94%
rename from 
wicket-experimental/wicket-http2/wicket-http2-core/src/main/java/org/apache/wicket/http2/markup/head/PushHeaderItem.java
rename to 
wicket-core/src/main/java/org/apache/wicket/markup/head/http2/PushHeaderItem.java
index aabfb27..acdb2f3 100644
--- 
a/wicket-experimental/wicket-http2/wicket-http2-core/src/main/java/org/apache/wicket/http2/markup/head/PushHeaderItem.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/head/http2/PushHeaderItem.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.wicket.http2.markup.head;
+package org.apache.wicket.markup.head.http2;
 
 import java.io.IOException;
 import java.net.URL;
@@ -31,10 +31,8 @@ import java.util.TreeSet;
 import java.util.concurrent.ConcurrentHashMap;
 
 import jakarta.servlet.http.HttpServletRequest;
-import org.apache.wicket.Application;
 import org.apache.wicket.Page;
 import org.apache.wicket.WicketRuntimeException;
-import org.apache.wicket.http2.Http2Settings;
 import org.apache.wicket.markup.head.HeaderItem;
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.protocol.http.WebApplication;
@@ -48,6 +46,7 @@ import org.apache.wicket.request.http.WebResponse;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.request.mapper.parameter.PageParametersEncoder;
 import org.apache.wicket.request.resource.ResourceReference;
+import org.apache.wicket.util.lang.Args;
 
 /**
  * A push header item to be used in the http/2 context and to reduce the 
latency of the web
@@ -113,6 +112,8 @@ public class PushHeaderItem extends HeaderItem
         */
        private Page page;
 
+       private final IPushBuilder pushBuilder;
+
        /**
         * Creates a push header item based on the given page and the 
corresponding page request / page
         * response. To get the request and response
@@ -127,17 +128,22 @@ public class PushHeaderItem extends HeaderItem
         */
        public PushHeaderItem(Page page, Request pageRequest, Response 
pageResponse)
        {
-               if (page == null || !(page instanceof WebPage) || pageResponse 
== null ||
-                       !(pageResponse instanceof WebResponse))
+               this(page, pageRequest, pageResponse, new PushBuilder());
+       }
+
+       public PushHeaderItem(Page page, Request pageRequest, Response 
pageResponse, IPushBuilder pushBuilder)
+       {
+               if (!(page instanceof WebPage) || !(pageRequest instanceof 
WebRequest) || !(pageResponse instanceof WebResponse))
                {
                        throw new WicketRuntimeException(
-                               "Please hand over the web page, the web request 
and the web response to the push header item like \"new PushHeaderItem(this, 
yourWebPageRequest, yourWebPageResponse)\" - " +
-                                       "The webPageResponse / webPageRequest 
can be obtained via \"getRequestCycle().getRequest()\" / 
\"getRequestCycle().getResponse()\" and placed into the page as fields " +
+                               "Please hand over the web page, the web request 
and the web response to the push header item like \"new PushHeaderItem(page, 
webRequest, webResponse)\" - " +
+                                       "The webResponse / webRequest can be 
obtained via \"getRequestCycle().getRequest()\" / 
\"getRequestCycle().getResponse()\" and placed into the page as fields " +
                                        "\"private transient Response 
webPageResponse;\" / \"private transient Request webPageRequest;\"");
                }
                this.pageWebRequest = (WebRequest)pageRequest;
                this.pageWebResponse = (WebResponse)pageResponse;
                this.page = page;
+               this.pushBuilder = Args.notNull(pushBuilder, "pushBuilder");
        }
 
        /**
@@ -146,7 +152,7 @@ public class PushHeaderItem extends HeaderItem
        @Override
        public Iterable<?> getRenderTokens()
        {
-               Set<String> tokens = new TreeSet<String>();
+               Set<String> tokens = new TreeSet<>();
                for (PushItem pushItem : pushItems)
                {
                        tokens.add(pushItem.getUrl() + TOKEN_SUFFIX);
@@ -303,10 +309,7 @@ public class PushHeaderItem extends HeaderItem
         */
        protected void push(HttpServletRequest request)
        {
-               // Receives the vendor specific push builder
-               Http2Settings http2Settings = 
Http2Settings.Holder.get(Application.get());
-               PushBuilder pushBuilder = http2Settings.getPushBuilder();
-               pushBuilder.push(request, pushItems.toArray(new 
PushItem[pushItems.size()]));
+               pushBuilder.push(request, pushItems.toArray(new PushItem[0]));
        }
 
        /**
@@ -333,7 +336,7 @@ public class PushHeaderItem extends HeaderItem
                                                "Please provide an object to 
the items to be pushed, so that the url can be created for the given 
resource.");
                                }
 
-                               CharSequence url = null;
+                               CharSequence url;
                                if (object instanceof ResourceReference)
                                {
                                        url = 
requestCycle.urlFor((ResourceReference)object, parameters);
@@ -385,7 +388,7 @@ public class PushHeaderItem extends HeaderItem
                                        filterPath = filterPath.substring(0, 
filterPath.length() - 1);
                                }
                                partialUrl.append(filterPath);
-                               partialUrl.append(url.toString());
+                               partialUrl.append(url);
 
                                // Set the url the resource is going to be 
pushed with
                                pushItem.setUrl(partialUrl.toString());
diff --git 
a/wicket-experimental/wicket-http2/wicket-http2-core/src/main/java/org/apache/wicket/http2/markup/head/PushItem.java
 b/wicket-core/src/main/java/org/apache/wicket/markup/head/http2/PushItem.java
similarity index 95%
rename from 
wicket-experimental/wicket-http2/wicket-http2-core/src/main/java/org/apache/wicket/http2/markup/head/PushItem.java
rename to 
wicket-core/src/main/java/org/apache/wicket/markup/head/http2/PushItem.java
index 1e73af9..54a6e4e 100644
--- 
a/wicket-experimental/wicket-http2/wicket-http2-core/src/main/java/org/apache/wicket/http2/markup/head/PushItem.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/head/http2/PushItem.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.wicket.http2.markup.head;
+package org.apache.wicket.markup.head.http2;
 
 import java.io.Serializable;
 import java.util.HashMap;
@@ -157,7 +157,7 @@ public class PushItem implements Serializable
        /**
         * Gets the URL composed within the push header item
         *
-        * @see {@link 
org.apache.wicket.http2.markup.head.PushHeaderItem#push(List)}
+        * @see {@link PushHeaderItem#push(List)}
         * @return the URL to be pushed
         */
        public String getUrl()
@@ -168,7 +168,7 @@ public class PushItem implements Serializable
        /**
         * Sets the URL composed within the push header item
         *
-        * @see {@link 
org.apache.wicket.http2.markup.head.PushHeaderItem#push(List)}
+        * @see {@link PushHeaderItem#push(List)}
         * @param url
         *            the URL used to push the resource
         * @return the push item
diff --git 
a/wicket-experimental/wicket-http2/wicket-http2-core/src/main/java/org/apache/wicket/http2/markup/head/PushItemHeaderValue.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/head/http2/PushItemHeaderValue.java
similarity index 97%
rename from 
wicket-experimental/wicket-http2/wicket-http2-core/src/main/java/org/apache/wicket/http2/markup/head/PushItemHeaderValue.java
rename to 
wicket-core/src/main/java/org/apache/wicket/markup/head/http2/PushItemHeaderValue.java
index 2c3c72c..8bcd3e5 100644
--- 
a/wicket-experimental/wicket-http2/wicket-http2-core/src/main/java/org/apache/wicket/http2/markup/head/PushItemHeaderValue.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/head/http2/PushItemHeaderValue.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.wicket.http2.markup.head;
+package org.apache.wicket.markup.head.http2;
 
 /**
  * A push header to be applied when the resource is pushed
diff --git a/wicket-experimental/pom.xml b/wicket-experimental/pom.xml
index 92f9cce..b511652 100644
--- a/wicket-experimental/pom.xml
+++ b/wicket-experimental/pom.xml
@@ -29,7 +29,6 @@
        <name>Wicket-Experimental</name>
        <description>Wicket-Experimental contains experimental Wicket modules 
that may or may not be supported in the future.</description>
        <modules>
-               <module>wicket-http2</module>
                <module>wicket-metrics</module>
        </modules>
 
diff --git a/wicket-experimental/wicket-http2/pom.xml 
b/wicket-experimental/wicket-http2/pom.xml
deleted file mode 100644
index d14a47a..0000000
--- a/wicket-experimental/wicket-http2/pom.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-   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.wicket.experimental.wicket9</groupId>
-               <artifactId>wicket-experimental</artifactId>
-               <version>10.0.0-M1-SNAPSHOT</version>
-               <relativePath>../pom.xml</relativePath>
-       </parent>
-       <artifactId>wicket-http2</artifactId>
-       <version>0.25-SNAPSHOT</version>
-       <packaging>pom</packaging>
-       <name>Wicket Http/2</name>
-       <description>
-               Wicket’s implementation to use the PushBuilder API
-               to serve resource via http/2 with less requests
-       </description>
-       <modules>
-               <module>wicket-http2-core</module>
-               <module>wicket-http2-jetty</module>
-               <module>wicket-http2-servlet4</module>
-               <module>wicket-http2-tomcat</module>
-               <module>wicket-http2-undertow</module>
-       </modules>
-</project>
diff --git a/wicket-experimental/wicket-http2/wicket-http2-core/pom.xml 
b/wicket-experimental/wicket-http2/wicket-http2-core/pom.xml
deleted file mode 100644
index 9d1eb3a..0000000
--- a/wicket-experimental/wicket-http2/wicket-http2-core/pom.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-   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.wicket.experimental.wicket9</groupId>
-               <artifactId>wicket-http2</artifactId>
-               <version>0.25-SNAPSHOT</version>
-               <relativePath>../pom.xml</relativePath>
-       </parent>
-       <artifactId>wicket-http2-core</artifactId>
-       <packaging>bundle</packaging>
-       <name>Wicket Http/2 Core</name>
-       <description>
-               Wicket’s implementation to use the PushBuilder API
-               to serve resource via http/2 with less requests. This
-               is the core implementation which provides the header item
-               that uses the API.
-       </description>
-
-       <properties>
-               
<automatic-module-name>org.apache.wicket.http2.core</automatic-module-name>
-       </properties>
-
-       <dependencies>
-               <dependency>
-                       <groupId>org.apache.wicket</groupId>
-                       <artifactId>wicket-core</artifactId>
-               </dependency>
-       </dependencies>
-</project>
diff --git 
a/wicket-experimental/wicket-http2/wicket-http2-core/src/main/java/org/apache/wicket/http2/Http2Settings.java
 
b/wicket-experimental/wicket-http2/wicket-http2-core/src/main/java/org/apache/wicket/http2/Http2Settings.java
deleted file mode 100644
index dc4ff64..0000000
--- 
a/wicket-experimental/wicket-http2/wicket-http2-core/src/main/java/org/apache/wicket/http2/Http2Settings.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * 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.
- */
-package org.apache.wicket.http2;
-
-import org.apache.wicket.Application;
-import org.apache.wicket.MetaDataKey;
-import org.apache.wicket.http2.markup.head.NoopPushBuilder;
-import org.apache.wicket.http2.markup.head.PushBuilder;
-import org.apache.wicket.util.lang.Args;
-
-/**
- * The http2 settings used to get the vendor specific push builder API
- * 
- * @author Martin Grigorov
- */
-public class Http2Settings
-{
-       /**
-        * The meta data key of the http2 settings
-        */
-       private static final MetaDataKey<Http2Settings> KEY = new 
MetaDataKey<>()
-       {
-               private static final long serialVersionUID = 1L;
-       };
-
-       /**
-        * Holds this Http2Settings in the Application's meta data. This way 
wicket-core module doesn't
-        * have reference to wicket-http2-core
-        */
-       public static final class Holder
-       {
-               /**
-                * Gets the http2 settings from the given application
-                * 
-                * @param application
-                *            the application to get the meta data from
-                * @return the http2 settings
-                */
-               public static Http2Settings get(Application application)
-               {
-                       Http2Settings settings = application.getMetaData(KEY);
-                       if (settings == null)
-                       {
-                               synchronized (application)
-                               {
-                                       if (settings == null)
-                                       {
-                                               settings = new Http2Settings();
-                                               set(application, settings);
-                                       }
-                               }
-                       }
-                       return settings;
-               }
-
-               /**
-                * Sets the given http2 settings to the given application
-                * 
-                * @param application
-                *            the application to set the meta data key to
-                * @param settings
-                *            the http2 settings to be set to the application
-                */
-               public static void set(Application application, Http2Settings 
settings)
-               {
-                       application.setMetaData(KEY, settings);
-               }
-       }
-
-       private PushBuilder pushBuilder = NoopPushBuilder.INSTANCE;
-
-       /**
-        * Sets the push builder that has been initialized
-        * 
-        * @param pushBuilder
-        *            the push builder to be used after the initialization
-        * @return the push builder
-        */
-       public Http2Settings setPushBuilder(PushBuilder pushBuilder)
-       {
-               this.pushBuilder = Args.notNull(pushBuilder, "pushBuilder");
-               return this;
-       }
-
-       /**
-        * Gets the push builder which has been initialized
-        * 
-        * @return the push builder
-        */
-       public PushBuilder getPushBuilder()
-       {
-               return pushBuilder;
-       }
-}
diff --git 
a/wicket-experimental/wicket-http2/wicket-http2-core/src/main/java/org/apache/wicket/http2/markup/head/NoopPushBuilder.java
 
b/wicket-experimental/wicket-http2/wicket-http2-core/src/main/java/org/apache/wicket/http2/markup/head/NoopPushBuilder.java
deleted file mode 100644
index 52dffa9..0000000
--- 
a/wicket-experimental/wicket-http2/wicket-http2-core/src/main/java/org/apache/wicket/http2/markup/head/NoopPushBuilder.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * 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.
- */
-package org.apache.wicket.http2.markup.head;
-
-import jakarta.servlet.http.HttpServletRequest;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * The noop push builder is used to inform the dev to place in a vendor 
specific jar to support the
- * push builder API
- * 
- * @author Martin Grigorov
- *
- */
-public class NoopPushBuilder implements PushBuilder
-{
-       private static final Logger LOG = 
LoggerFactory.getLogger(NoopPushBuilder.class);
-
-       /**
-        * An instance of the push builder
-        */
-       public static final NoopPushBuilder INSTANCE = new NoopPushBuilder();
-
-       /**
-        * Creates the noop push builder
-        */
-       private NoopPushBuilder()
-       {
-               // NOOP
-       }
-
-       /**
-        * Warns the dev to provide a vendor specific push builder API.
-        * <p>
-        * {@inheritDoc}
-        * </p>
-        */
-       @Override
-       public void push(HttpServletRequest httpServletRequest, PushItem... 
pushItems)
-       {
-               LOG.warn(
-                       "This PushBuilder does nothing. Please use one of the 
other implementations - Jetty9 or Tomcat8.5+");
-       }
-}
diff --git 
a/wicket-experimental/wicket-http2/wicket-http2-core/src/test/java/org/apache/wicket/util/license/ApacheLicenceHeaderTest.java
 
b/wicket-experimental/wicket-http2/wicket-http2-core/src/test/java/org/apache/wicket/util/license/ApacheLicenceHeaderTest.java
deleted file mode 100644
index 7efc3af..0000000
--- 
a/wicket-experimental/wicket-http2/wicket-http2-core/src/test/java/org/apache/wicket/util/license/ApacheLicenceHeaderTest.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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.
- */
-package org.apache.wicket.util.license;
-
-/**
- * Test that the license headers are in place in this project. The tests are 
run from
- * {@link ApacheLicenseHeaderTestCase}, but you can add project specific tests 
here if needed.
- * 
- * @author Frank Bille Jensen (frankbille)
- */
-public class ApacheLicenceHeaderTest extends ApacheLicenseHeaderTestCase
-{
-       /**
-        * Construct.
-        */
-       public ApacheLicenceHeaderTest()
-       {
-               // addHeaders = true;
-       }
-}
diff --git a/wicket-experimental/wicket-http2/wicket-http2-jetty/pom.xml 
b/wicket-experimental/wicket-http2/wicket-http2-jetty/pom.xml
deleted file mode 100644
index 0725ac3..0000000
--- a/wicket-experimental/wicket-http2/wicket-http2-jetty/pom.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-   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.wicket.experimental.wicket9</groupId>
-               <artifactId>wicket-http2</artifactId>
-               <version>0.25-SNAPSHOT</version>
-               <relativePath>../pom.xml</relativePath>
-       </parent>
-       <artifactId>wicket-http2-jetty</artifactId>
-       <packaging>bundle</packaging>
-       <name>Wicket Http/2 Jetty 9.3+</name>
-       <description>
-               Wicket’s implementation to use the PushBuilder API
-               to serve resource via http/2 with less requests. This
-               is the jetty implementation to resolve the PushBuilder API and
-               provide the IInitializer.
-       </description>
-
-       <properties>
-               
<automatic-module-name>org.apache.wicket.http2.jetty</automatic-module-name>
-       </properties>
-
-       <dependencies>
-               <dependency>
-                       <groupId>org.eclipse.jetty</groupId>
-                       <artifactId>jetty-server</artifactId>
-                       <scope>provided</scope>
-               </dependency>
-               <dependency>
-                       
<groupId>org.apache.wicket.experimental.wicket9</groupId>
-                       <artifactId>wicket-http2-core</artifactId>
-               </dependency>
-       </dependencies>
-</project>
diff --git 
a/wicket-experimental/wicket-http2/wicket-http2-jetty/src/main/java/org/apache/wicket/http2/markup/head/jetty/Initializer.java
 
b/wicket-experimental/wicket-http2/wicket-http2-jetty/src/main/java/org/apache/wicket/http2/markup/head/jetty/Initializer.java
deleted file mode 100644
index 265be8c..0000000
--- 
a/wicket-experimental/wicket-http2/wicket-http2-jetty/src/main/java/org/apache/wicket/http2/markup/head/jetty/Initializer.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * 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.
- */
-package org.apache.wicket.http2.markup.head.jetty;
-
-import org.apache.wicket.Application;
-import org.apache.wicket.IInitializer;
-import org.apache.wicket.http2.Http2Settings;
-
-/**
- * Initializes the jetty specific push builder API and makes it available 
through the HTTP2
- * settings
- */
-public class Initializer implements IInitializer
-{
-       /**
-        * Initializes the push builder API of Jetty 9.3+
-        */
-       @Override
-       public void init(Application application)
-       {
-               Http2Settings http2Settings = 
Http2Settings.Holder.get(application);
-               http2Settings.setPushBuilder(new Jetty9PushBuilder());
-       }
-
-       @Override
-       public void destroy(Application application)
-       {
-               // NOOP
-       }
-}
diff --git 
a/wicket-experimental/wicket-http2/wicket-http2-jetty/src/main/java/org/apache/wicket/http2/markup/head/jetty/Jetty9PushBuilder.java
 
b/wicket-experimental/wicket-http2/wicket-http2-jetty/src/main/java/org/apache/wicket/http2/markup/head/jetty/Jetty9PushBuilder.java
deleted file mode 100644
index ebabba6..0000000
--- 
a/wicket-experimental/wicket-http2/wicket-http2-jetty/src/main/java/org/apache/wicket/http2/markup/head/jetty/Jetty9PushBuilder.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * 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.
- */
-package org.apache.wicket.http2.markup.head.jetty;
-
-import jakarta.servlet.http.HttpServletRequest;
-
-import org.apache.wicket.http2.markup.head.PushBuilder;
-import org.apache.wicket.http2.markup.head.PushItem;
-import org.apache.wicket.http2.markup.head.PushItemHeaderValue;
-import org.apache.wicket.http2.markup.head.PushItemHeaderValue.HeaderOperation;
-import org.apache.wicket.request.Request;
-import org.apache.wicket.request.cycle.RequestCycle;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Allows to push resources with the Jetty 9.3+ specific push builder API
- * 
- * @author Tobias Soloschenko
- */
-public class Jetty9PushBuilder implements PushBuilder
-{
-       private static final Logger LOG = 
LoggerFactory.getLogger(Jetty9PushBuilder.class);
-
-       @Override
-       public void push(HttpServletRequest httpServletRequest, PushItem... 
pushItems)
-       {
-               Request request = RequestCycle.get().getRequest();
-               HttpServletRequest httpRequest = (HttpServletRequest) 
request.getContainerRequest();
-               // FIXME Wicket 10
-               final jakarta.servlet.http.PushBuilder pushBuilder = 
null;//org.eclipse.jetty.server.Request.getBaseRequest(httpRequest).getPushBuilder();
-               if (pushBuilder != null)
-               {
-                       for (PushItem pushItem : pushItems)
-                       {
-                               pushBuilder.path(pushItem.getUrl());
-                               
pushItem.getHeaders().entrySet().stream().forEach(pushHeader -> {
-                                       String key = pushHeader.getKey();
-                                       PushItemHeaderValue value = 
pushHeader.getValue();
-                                       if(value.getOperation() == 
HeaderOperation.ADD){
-                                               pushBuilder.addHeader(key, 
value.getValue());
-                                       }else{
-                                               pushBuilder.setHeader(key, 
value.getValue());
-                                       }
-                               });
-                               pushBuilder.push();
-                       }
-               }
-               else
-               {
-                       LOG.warn("Attempted to use HTTP2 Push but it is not 
supported for the current request: {}!",
-                                       httpRequest);
-               }
-       }
-}
diff --git 
a/wicket-experimental/wicket-http2/wicket-http2-jetty/src/main/resources/META-INF/services/org.apache.wicket.IInitializer
 
b/wicket-experimental/wicket-http2/wicket-http2-jetty/src/main/resources/META-INF/services/org.apache.wicket.IInitializer
deleted file mode 100644
index 5fb7d70..0000000
--- 
a/wicket-experimental/wicket-http2/wicket-http2-jetty/src/main/resources/META-INF/services/org.apache.wicket.IInitializer
+++ /dev/null
@@ -1 +0,0 @@
-org.apache.wicket.http2.markup.head.jetty.Initializer
diff --git 
a/wicket-experimental/wicket-http2/wicket-http2-jetty/src/test/java/org/apache/wicket/util/license/ApacheLicenceHeaderTest.java
 
b/wicket-experimental/wicket-http2/wicket-http2-jetty/src/test/java/org/apache/wicket/util/license/ApacheLicenceHeaderTest.java
deleted file mode 100644
index 7efc3af..0000000
--- 
a/wicket-experimental/wicket-http2/wicket-http2-jetty/src/test/java/org/apache/wicket/util/license/ApacheLicenceHeaderTest.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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.
- */
-package org.apache.wicket.util.license;
-
-/**
- * Test that the license headers are in place in this project. The tests are 
run from
- * {@link ApacheLicenseHeaderTestCase}, but you can add project specific tests 
here if needed.
- * 
- * @author Frank Bille Jensen (frankbille)
- */
-public class ApacheLicenceHeaderTest extends ApacheLicenseHeaderTestCase
-{
-       /**
-        * Construct.
-        */
-       public ApacheLicenceHeaderTest()
-       {
-               // addHeaders = true;
-       }
-}
diff --git a/wicket-experimental/wicket-http2/wicket-http2-servlet4/pom.xml 
b/wicket-experimental/wicket-http2/wicket-http2-servlet4/pom.xml
deleted file mode 100644
index 39cd579..0000000
--- a/wicket-experimental/wicket-http2/wicket-http2-servlet4/pom.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-   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.wicket.experimental.wicket9</groupId>
-               <artifactId>wicket-http2</artifactId>
-               <version>0.25-SNAPSHOT</version>
-               <relativePath>../pom.xml</relativePath>
-       </parent>
-       <artifactId>wicket-http2-servlet4</artifactId>
-       <packaging>bundle</packaging>
-       <name>Wicket Http/2 Servlet 4</name>
-       <description>
-               Wicket’s implementation to use the PushBuilder API
-               to serve resource via http/2 with less requests. This
-               is the Servlet 4 implementation to resolve the PushBuilder API 
and
-               provide the IInitializer.
-       </description>
-
-       <properties>
-               
<automatic-module-name>org.apache.wicket.http2.servlet4</automatic-module-name>
-       </properties>
-
-       <dependencies>
-               <dependency>
-                   <groupId>jakarta.servlet</groupId>
-                   <artifactId>jakarta.servlet-api</artifactId>
-               </dependency>
-               <dependency>
-                       
<groupId>org.apache.wicket.experimental.wicket9</groupId>
-                       <artifactId>wicket-http2-core</artifactId>
-               </dependency>
-       </dependencies>
-</project>
diff --git 
a/wicket-experimental/wicket-http2/wicket-http2-servlet4/src/main/java/org/apache/wicket/http2/markup/head/servlet4/Initializer.java
 
b/wicket-experimental/wicket-http2/wicket-http2-servlet4/src/main/java/org/apache/wicket/http2/markup/head/servlet4/Initializer.java
deleted file mode 100644
index 172e27b..0000000
--- 
a/wicket-experimental/wicket-http2/wicket-http2-servlet4/src/main/java/org/apache/wicket/http2/markup/head/servlet4/Initializer.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * 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.
- */
-package org.apache.wicket.http2.markup.head.servlet4;
-
-import org.apache.wicket.Application;
-import org.apache.wicket.IInitializer;
-import org.apache.wicket.http2.Http2Settings;
-
-/**
- * Initializes the servlet 4 specific push builder API and makes it available 
through the HTTP2
- * settings
- */
-public class Initializer implements IInitializer
-{
-       /**
-        * Initializes the push builder API of Servlet 4
-        */
-       @Override
-       public void init(Application application)
-       {
-               Http2Settings http2Settings = 
Http2Settings.Holder.get(application);
-               http2Settings.setPushBuilder(new Servlet4PushBuilder());
-       }
-
-       @Override
-       public void destroy(Application application)
-       {
-               // NOOP
-       }
-}
diff --git 
a/wicket-experimental/wicket-http2/wicket-http2-servlet4/src/main/resources/META-INF/services/org.apache.wicket.IInitializer
 
b/wicket-experimental/wicket-http2/wicket-http2-servlet4/src/main/resources/META-INF/services/org.apache.wicket.IInitializer
deleted file mode 100644
index 644ee65..0000000
--- 
a/wicket-experimental/wicket-http2/wicket-http2-servlet4/src/main/resources/META-INF/services/org.apache.wicket.IInitializer
+++ /dev/null
@@ -1 +0,0 @@
-org.apache.wicket.http2.markup.head.servlet4.Initializer
diff --git 
a/wicket-experimental/wicket-http2/wicket-http2-servlet4/src/test/java/org/apache/wicket/util/license/ApacheLicenceHeaderTest.java
 
b/wicket-experimental/wicket-http2/wicket-http2-servlet4/src/test/java/org/apache/wicket/util/license/ApacheLicenceHeaderTest.java
deleted file mode 100644
index 7efc3af..0000000
--- 
a/wicket-experimental/wicket-http2/wicket-http2-servlet4/src/test/java/org/apache/wicket/util/license/ApacheLicenceHeaderTest.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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.
- */
-package org.apache.wicket.util.license;
-
-/**
- * Test that the license headers are in place in this project. The tests are 
run from
- * {@link ApacheLicenseHeaderTestCase}, but you can add project specific tests 
here if needed.
- * 
- * @author Frank Bille Jensen (frankbille)
- */
-public class ApacheLicenceHeaderTest extends ApacheLicenseHeaderTestCase
-{
-       /**
-        * Construct.
-        */
-       public ApacheLicenceHeaderTest()
-       {
-               // addHeaders = true;
-       }
-}
diff --git a/wicket-experimental/wicket-http2/wicket-http2-tomcat/pom.xml 
b/wicket-experimental/wicket-http2/wicket-http2-tomcat/pom.xml
deleted file mode 100644
index 5ae51bd..0000000
--- a/wicket-experimental/wicket-http2/wicket-http2-tomcat/pom.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-   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.wicket.experimental.wicket9</groupId>
-               <artifactId>wicket-http2</artifactId>
-               <version>0.25-SNAPSHOT</version>
-               <relativePath>../pom.xml</relativePath>
-       </parent>
-       <artifactId>wicket-http2-tomcat</artifactId>
-       <packaging>bundle</packaging>
-       <name>Wicket Http/2 Tomcat 8.5+</name>
-       <description>
-               Wicket’s implementation to use the PushBuilder API
-               to serve resource via http/2 with less requests. This
-               is the Apache Tomcat 8.5+ implementation to resolve the 
PushBuilder API and
-               provide the IInitializer.
-       </description>
-
-       <properties>
-               
<automatic-module-name>org.apache.wicket.http2.tomcat</automatic-module-name>
-       </properties>
-
-       <dependencyManagement>
-               <dependencies>
-                       <dependency>
-                               <groupId>org.apache.tomcat</groupId>
-                               <artifactId>tomcat-catalina</artifactId>
-                               <version>8.5.51</version>
-                               <scope>provided</scope>
-                       </dependency>
-               </dependencies>
-       </dependencyManagement>
-
-       <dependencies>
-               <dependency>
-                       <groupId>org.apache.tomcat</groupId>
-                       <artifactId>tomcat-catalina</artifactId>
-               </dependency>
-               <dependency>
-                       
<groupId>org.apache.wicket.experimental.wicket9</groupId>
-                       <artifactId>wicket-http2-core</artifactId>
-               </dependency>
-       </dependencies>
-</project>
diff --git 
a/wicket-experimental/wicket-http2/wicket-http2-tomcat/src/main/java/org/apache/wicket/http2/markup/head/tomcat/Initializer.java
 
b/wicket-experimental/wicket-http2/wicket-http2-tomcat/src/main/java/org/apache/wicket/http2/markup/head/tomcat/Initializer.java
deleted file mode 100644
index 76373c9..0000000
--- 
a/wicket-experimental/wicket-http2/wicket-http2-tomcat/src/main/java/org/apache/wicket/http2/markup/head/tomcat/Initializer.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * 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.
- */
-package org.apache.wicket.http2.markup.head.tomcat;
-
-import org.apache.wicket.Application;
-import org.apache.wicket.IInitializer;
-import org.apache.wicket.http2.Http2Settings;
-
-/**
- * Initializes the tomcat specific push builder API and makes it available 
through the HTTP2
- * settings
- */
-public class Initializer implements IInitializer
-{
-       /**
-        * Initializes the push builder API of tomcat
-        */
-       @Override
-       public void init(Application application)
-       {
-               Http2Settings http2Settings = 
Http2Settings.Holder.get(application);
-               http2Settings.setPushBuilder(new Tomcat85PushBuilder());
-       }
-
-       @Override
-       public void destroy(Application application)
-       {
-               // NOOP
-       }
-}
diff --git 
a/wicket-experimental/wicket-http2/wicket-http2-tomcat/src/main/java/org/apache/wicket/http2/markup/head/tomcat/Tomcat85PushBuilder.java
 
b/wicket-experimental/wicket-http2/wicket-http2-tomcat/src/main/java/org/apache/wicket/http2/markup/head/tomcat/Tomcat85PushBuilder.java
deleted file mode 100644
index b5e9a1e..0000000
--- 
a/wicket-experimental/wicket-http2/wicket-http2-tomcat/src/main/java/org/apache/wicket/http2/markup/head/tomcat/Tomcat85PushBuilder.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * 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.
- */
-package org.apache.wicket.http2.markup.head.tomcat;
-
-import jakarta.servlet.http.HttpServletRequest;
-
-import org.apache.catalina.core.ApplicationPushBuilder;
-import org.apache.wicket.http2.markup.head.PushBuilder;
-import org.apache.wicket.http2.markup.head.PushItem;
-import org.apache.wicket.http2.markup.head.PushItemHeaderValue;
-import org.apache.wicket.http2.markup.head.PushItemHeaderValue.HeaderOperation;
-import org.apache.wicket.request.Request;
-import org.apache.wicket.request.cycle.RequestCycle;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Allows to push resources with the Tomcat 8.5+ specific push builder API
- */
-public class Tomcat85PushBuilder implements PushBuilder
-{
-       private static final Logger LOG = 
LoggerFactory.getLogger(Tomcat85PushBuilder.class);
-
-       @Override
-       public void push(HttpServletRequest httpServletRequest, PushItem... 
pushItems)
-       {
-               Request request = RequestCycle.get().getRequest();
-               HttpServletRequest httpRequest = (HttpServletRequest) 
request.getContainerRequest();
-               org.apache.catalina.connector.RequestFacade tomcatRequest = 
(org.apache.catalina.connector.RequestFacade) httpRequest;
-               ApplicationPushBuilder pushBuilder = (ApplicationPushBuilder) 
tomcatRequest.newPushBuilder();
-               if (pushBuilder != null)
-               {
-                       for (PushItem pushItem : pushItems)
-                       {
-                               pushBuilder.path(pushItem.getUrl());
-                               
pushItem.getHeaders().entrySet().stream().forEach(pushHeader -> {
-                                       String key = pushHeader.getKey();
-                                       PushItemHeaderValue value = 
pushHeader.getValue();
-                                       if(value.getOperation() == 
HeaderOperation.ADD){
-                                               pushBuilder.addHeader(key, 
value.getValue());
-                                       }else{
-                                               pushBuilder.setHeader(key, 
value.getValue());
-                                       }
-                               });
-                               pushBuilder.push();
-                       }
-               }
-               else
-               {
-                       LOG.warn("Attempted to use HTTP2 Push but it is not 
supported for the current request: {}!",
-                                               httpRequest);
-               }
-       }
-}
diff --git 
a/wicket-experimental/wicket-http2/wicket-http2-tomcat/src/main/resources/META-INF/services/org.apache.wicket.IInitializer
 
b/wicket-experimental/wicket-http2/wicket-http2-tomcat/src/main/resources/META-INF/services/org.apache.wicket.IInitializer
deleted file mode 100644
index 87b9d76..0000000
--- 
a/wicket-experimental/wicket-http2/wicket-http2-tomcat/src/main/resources/META-INF/services/org.apache.wicket.IInitializer
+++ /dev/null
@@ -1 +0,0 @@
-org.apache.wicket.http2.markup.head.tomcat.Initializer
diff --git 
a/wicket-experimental/wicket-http2/wicket-http2-tomcat/src/test/java/org/apache/wicket/util/license/ApacheLicenceHeaderTest.java
 
b/wicket-experimental/wicket-http2/wicket-http2-tomcat/src/test/java/org/apache/wicket/util/license/ApacheLicenceHeaderTest.java
deleted file mode 100644
index 7efc3af..0000000
--- 
a/wicket-experimental/wicket-http2/wicket-http2-tomcat/src/test/java/org/apache/wicket/util/license/ApacheLicenceHeaderTest.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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.
- */
-package org.apache.wicket.util.license;
-
-/**
- * Test that the license headers are in place in this project. The tests are 
run from
- * {@link ApacheLicenseHeaderTestCase}, but you can add project specific tests 
here if needed.
- * 
- * @author Frank Bille Jensen (frankbille)
- */
-public class ApacheLicenceHeaderTest extends ApacheLicenseHeaderTestCase
-{
-       /**
-        * Construct.
-        */
-       public ApacheLicenceHeaderTest()
-       {
-               // addHeaders = true;
-       }
-}
diff --git a/wicket-experimental/wicket-http2/wicket-http2-undertow/pom.xml 
b/wicket-experimental/wicket-http2/wicket-http2-undertow/pom.xml
deleted file mode 100644
index 7826ddd..0000000
--- a/wicket-experimental/wicket-http2/wicket-http2-undertow/pom.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-   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.wicket.experimental.wicket9</groupId>
-               <artifactId>wicket-http2</artifactId>
-               <version>0.25-SNAPSHOT</version>
-               <relativePath>../pom.xml</relativePath>
-       </parent>
-       <artifactId>wicket-http2-undertow</artifactId>
-       <packaging>bundle</packaging>
-       <name>Wicket Http/2 Undertow 2+</name>
-       <description>
-               Wicket’s implementation to use the PushBuilder API
-               to serve resource via http/2 with less requests. This
-               is the Undertow 2+ implementation to resolve the PushBuilder 
API and
-               provide the IInitializer.
-       </description>
-
-       <properties>
-               
<automatic-module-name>org.apache.wicket.http2.undertow</automatic-module-name>
-       </properties>
-
-       <dependencyManagement>
-               <dependencies>
-                       <dependency>
-                               <groupId>io.undertow</groupId>
-                               <artifactId>undertow-servlet</artifactId>
-                               <version>2.0.29.Final</version>
-                               <scope>provided</scope>
-                       </dependency>
-               </dependencies>
-       </dependencyManagement>
-
-       <dependencies>
-               <dependency>
-                       <groupId>io.undertow</groupId>
-                       <artifactId>undertow-servlet</artifactId>
-               </dependency>
-               <dependency>
-                       
<groupId>org.apache.wicket.experimental.wicket9</groupId>
-                       <artifactId>wicket-http2-core</artifactId>
-               </dependency>
-       </dependencies>
-</project>
diff --git 
a/wicket-experimental/wicket-http2/wicket-http2-undertow/src/main/java/org/apache/wicket/http2/markup/head/undertow/Initializer.java
 
b/wicket-experimental/wicket-http2/wicket-http2-undertow/src/main/java/org/apache/wicket/http2/markup/head/undertow/Initializer.java
deleted file mode 100644
index 4d95930..0000000
--- 
a/wicket-experimental/wicket-http2/wicket-http2-undertow/src/main/java/org/apache/wicket/http2/markup/head/undertow/Initializer.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * 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.
- */
-package org.apache.wicket.http2.markup.head.undertow;
-
-import org.apache.wicket.Application;
-import org.apache.wicket.IInitializer;
-import org.apache.wicket.http2.Http2Settings;
-
-/**
- * Initializes the undertow specific push builder API and makes it available 
through the http2
- * settings
- * 
- * @author Tobias Soloschenko
- */
-public class Initializer implements IInitializer
-{
-       /**
-        * Initializes the push builder API of undertow
-        */
-       @Override
-       public void init(Application application)
-       {
-               Http2Settings http2Settings = 
Http2Settings.Holder.get(application);
-               http2Settings.setPushBuilder(new UndertowPushBuilder());
-       }
-
-       @Override
-       public void destroy(Application application)
-       {
-               // NOOP
-       }
-}
diff --git 
a/wicket-experimental/wicket-http2/wicket-http2-undertow/src/main/java/org/apache/wicket/http2/markup/head/undertow/UndertowPushBuilder.java
 
b/wicket-experimental/wicket-http2/wicket-http2-undertow/src/main/java/org/apache/wicket/http2/markup/head/undertow/UndertowPushBuilder.java
deleted file mode 100644
index abf6738..0000000
--- 
a/wicket-experimental/wicket-http2/wicket-http2-undertow/src/main/java/org/apache/wicket/http2/markup/head/undertow/UndertowPushBuilder.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * 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.
- */
-package org.apache.wicket.http2.markup.head.undertow;
-
-import jakarta.servlet.http.HttpServletRequest;
-
-import org.apache.wicket.http2.markup.head.PushBuilder;
-import org.apache.wicket.http2.markup.head.PushItem;
-import org.apache.wicket.http2.markup.head.PushItemHeaderValue;
-import org.apache.wicket.http2.markup.head.PushItemHeaderValue.HeaderOperation;
-import org.apache.wicket.request.Request;
-import org.apache.wicket.request.cycle.RequestCycle;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Allows to push resources with the Undertow 2+ specific push builder API
- * 
- * @author Tobias Soloschenko
- */
-public class UndertowPushBuilder implements PushBuilder
-{
-       private static final Logger LOG = 
LoggerFactory.getLogger(UndertowPushBuilder.class);
-
-       @Override
-       public void push(HttpServletRequest httpServletRequest, PushItem... 
pushItems)
-       {
-               Request request = RequestCycle.get().getRequest();
-               HttpServletRequest httpRequest = (HttpServletRequest) 
request.getContainerRequest();
-               // FIXME Wicket 10
-               io.undertow.servlet.spec.HttpServletRequestImpl undertowRequest 
= null;// (io.undertow.servlet.spec.HttpServletRequestImpl) httpRequest;
-               // Added explicit cast here to ensure this is the 
implementation of undertow
-               io.undertow.servlet.spec.PushBuilderImpl pushBuilder = 
(io.undertow.servlet.spec.PushBuilderImpl)undertowRequest.newPushBuilder();
-               if (pushBuilder != null)
-               {
-                       for (PushItem pushItem : pushItems)
-                       {
-                               pushBuilder.path(pushItem.getUrl());
-                               
pushItem.getHeaders().entrySet().stream().forEach(pushHeader -> {
-                                       String key = pushHeader.getKey();
-                                       PushItemHeaderValue value = 
pushHeader.getValue();
-                                       if(value.getOperation() == 
HeaderOperation.ADD){
-                                               pushBuilder.addHeader(key, 
value.getValue());
-                                       }else{
-                                               pushBuilder.setHeader(key, 
value.getValue());
-                                       }
-                               });
-                               pushBuilder.push();
-                       }
-               }
-               else
-               {
-                       LOG.warn("Attempted to use HTTP2 Push but it is not 
supported for the current request: {}!",
-                                       httpRequest);
-               }
-       }
-}
diff --git 
a/wicket-experimental/wicket-http2/wicket-http2-undertow/src/main/resources/META-INF/services/org.apache.wicket.IInitializer
 
b/wicket-experimental/wicket-http2/wicket-http2-undertow/src/main/resources/META-INF/services/org.apache.wicket.IInitializer
deleted file mode 100644
index 052174b..0000000
--- 
a/wicket-experimental/wicket-http2/wicket-http2-undertow/src/main/resources/META-INF/services/org.apache.wicket.IInitializer
+++ /dev/null
@@ -1 +0,0 @@
-org.apache.wicket.http2.markup.head.undertow.Initializer
diff --git 
a/wicket-experimental/wicket-http2/wicket-http2-undertow/src/test/java/org/apache/wicket/util/license/ApacheLicenceHeaderTest.java
 
b/wicket-experimental/wicket-http2/wicket-http2-undertow/src/test/java/org/apache/wicket/util/license/ApacheLicenceHeaderTest.java
deleted file mode 100644
index 7efc3af..0000000
--- 
a/wicket-experimental/wicket-http2/wicket-http2-undertow/src/test/java/org/apache/wicket/util/license/ApacheLicenceHeaderTest.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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.
- */
-package org.apache.wicket.util.license;
-
-/**
- * Test that the license headers are in place in this project. The tests are 
run from
- * {@link ApacheLicenseHeaderTestCase}, but you can add project specific tests 
here if needed.
- * 
- * @author Frank Bille Jensen (frankbille)
- */
-public class ApacheLicenceHeaderTest extends ApacheLicenseHeaderTestCase
-{
-       /**
-        * Construct.
-        */
-       public ApacheLicenceHeaderTest()
-       {
-               // addHeaders = true;
-       }
-}

Reply via email to